アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


2013-02-01から1ヶ月間の記事一覧

FlaskでmongoDBを使うチュートリアルをやってみた & チュートリアル和訳 (かなり雑ですが)

mongoDBを使ってWEBアプリケーション作ってみたくて、 でもDjango1.4はまだmongoDBに対応してないということで、 別のフレームワーク、flaskを使ってやってみることに。 いい資料無いかなーと探してたらチュートリアルがあったので、 これをやってみることに…

Python最高!って話とPython初心者ならPyCharmを使うのがオススメって話

Pythonを触り始めて半年くらいになりますが、 小規模なWEBアプリケーションやサーバサイドプログラムなら自力で作れるようになりました。 もともとフロントエンド(Flash、Objective-c、HTML/CSSなど)をずっとやってきた人間ですが、 昔から興味があったサー…

DjangoでファイルストレージにAmazon S3を使う

Django + Herokuでファイルをアップしてそれを使うみたいな仕組みは Herokuの仕様でNGになってます。 なので、アップされたファイルはAmazon S3に置く、というのがよさそうです。 リクエストや容量がそれなりにならなければ、基本無料ですし、 必要になった…

Django1.4の日本語ドキュメント

Django1.0の日本語ドキュメントはググればすぐ見つかるのですが、 Django1.4のはぐぐっても中々出てこず、見つけにくいです。 リンクメモ +SEO的に支援 ということで。 Django1.4の日本語ドキュメント http://docs.djangoproject.jp/ja/latest/contents.html

PyCharmで新しい仮想環境 (virtualenv) を作成

Preference (環境設定) メニューから Python Interpreters へ行く。 Pythonのゴロマークをポチッと押すと、virtualenv作成用のウィンドウが出る。 virtualenv環境名、インタプリタを選んでOKを押すとvirtualenvが作成されます。

PyCharmで使うvirtualenv環境とターミナルで使うvirtualenv環境を一緒にしたい

基本的なことですが、ちょっと迷ったのでメモ。 virtualenvが参照しているディレクトリを PyCharmが参照しているディレクトリに書き換えればOKですね。 これは .zshrc (もしくは .bashrc) で設定されています。 vim .zshrc で編集画面に入り、 export WORKON…

facebook SDK for iOS を落としたのに FacebookSDK.frameworkがリンク切れしてる!という場合の対処法

ターミナルでfacebook-ios-sdk-masterディレクトリに入り、 scripts/build_framework.sh コマンドを叩くと、FacebookSDK.frameworkが生成されます。

Heroku のDjangoアプリケーションに便利なパフォーマンス監視ツール "New Relic" を導入する

アプリケーションのパフォーマンスを調べるために、 超ベンリだと評判のパフォーマンス監視ツールNew Relicを入れてみました。 ブラウザのページロードの時間、アプリケーションのレスポンスタイムなど 色んなパフォーマンスがグラフで見れるので便利。しか…

Heroku の時間設定を日本時間にする

ターミナルとかで以下を叩けばおk。 heroku config:add TZ=Asia/Tokyo

Heroku で定期的にジョブを実行する - cronではなく「Heroku Scheduler」Add-onで

Herokuにログインし、ダッシュボードからアプリケーションを選ぶ 「Resouces」タブを選択する(普通はデフォルトで選択されてます) + Get Add-ons ボタンを押す 「scheduler」とかで検索 -> Heroku scheduler を選択 「Select app」で対象のアプリケーショ…

ローカルのDjangoアプリケーションをHerokuにデプロイする手順

基本はHeroku公式 Getting Started with Django on Heroku を見ながらやればいいのですが、 過去にHerokuにデプロイした事があってHeroku用の環境は整ってるんだけど、 別のアプリを作ってデプロイしたい時に毎度「あれ、、どっからやればいいんだっけ、、、…

DjangoでModelの内容からXMLやJSONを出力する

超簡単です。 基本的にはserializerに'json'か'xml'と、クエリセット渡してあげればOK。 jsonのところでゴニョゴニョやってるのは文字化け対策です。 from django.http import HttpResponse from django.core import serializers items = モデル名.objects.a…

sqlite基礎的なコマンド

コマンドラインで DBの作成 sqlite3 hogehoge.sqlite3 hogehoge.sqlite3 が存在するならそれに接続。 していなければ作成して接続。 テーブルを作成 create table テーブル名 (カラム名, カラム名); 全てのテーブルを確認 .tables # "テーブル名" が出力 テ…

DjangoでModelの内容を変更した時にDB側も変更する

Djangoでモデルを定義して python manage.py syncdb したあと、モデルに変更を加えたい場合があります。 しかし、変更を加えた後に再び syncdbしても、 反映されません。 これはDjangoの仕様によるものです。 一応、 python manage.py reset python manage.p…

Pythonのタプル、リストの違い

listはいわゆる配列。 tuple(タプル) は、変更できないlist。 list = ['a', 'b', 'c'] print list[0] # 出力 : a tuple = ['a', 'b', 'c'] print tuple[0] # 出力 : a list[1] = 'E' tuple[1] = 'E' # エラーが出る

Djangoでアプリ外からモデルを操作する

Djangoアプリケーションを作成する際、 例えば毎日深夜に自動で他サイトをクロールした結果を モデルに反映させたい場合、 scraper.py みたいなファイルを作って、 cronで毎日自動実行すればいいと思うんですが、 scraper.pyからモデルを参照するためにどう…

Djangoでフォーム内の複数のチェックボックスから値を受け取るには

例えば以下のようなフォームがあったとして <input type="checkbox" name="test" value="hoge1" checked="checked" /> <input type="checkbox" name="test" value="hoge2" checked="checked" /> 受け取り側のviewなどで checked_list = request.POST.getlist('test') とすれば、リストで受け取れる。

Pythonで日本語を使う

ファイルの頭に # -*- coding: utf-8 -*- を書けばおk! 参考リンク Pythonで日本語を使う

Djangoで相対っぽくパスを指定する (Django1.4.3)

Djangoで開発やってると、ローカルでテストした後にサーバでテストする際、 templateディレクトリとかのパスがローカルとサーバで違うから、 いちいち指定するのがめんどくさいっす。 対処法 Pythonのosモジュールを使って解決します。 # setting.py import …

Pythonの正規表現まとめ

文字 内容 マッチする例 . 改行以外の任意の文字にマッチ t.nakat●naka ^ 文字列の先頭とマッチ ^tata●●●... $ 文字列の末尾、または文字列の末尾の改行の直前にマッチ ka$...●●●ka * 直前の要素を任意の個数(0個以上)続けたものにマッチ。 ab*a, ab, abbbb.…

Python(Django) でdatetimeオブジェクトをdateオブジェクトに変換する

以下でdatetimeオブジェクトを取得したとして now = datetime.datetime.now() 以下でdateオブジェクトを取得できる。 today = now.date() Djangoでtimezone.now() を日付オブジェクトに変換 from django.utils import timezone timezone.now().date() これで…

pipでパッケージをアップグレード

Djangoを最新版にアップデートした。 メモ。 install に -U オプションをつければおk。 pip install パッケージ名 -U ちなみに削除したい時は pip uninstall パッケージ名

pythonzをインストール

今までPythonのバージョン管理にはpythonbrewを使っていましたが、 「これからはpythonzの方がいいぜ!」とbrewの作者さん自身が言っていたので、 pythonzに切り替える事にしました。 筆者環境 MaxOSX10.7 (lion) pythonzの設定 curl -kL https://raw.github…