ラベル Heroku の投稿を表示しています。 すべての投稿を表示
ラベル Heroku の投稿を表示しています。 すべての投稿を表示

2011年11月29日火曜日

Heroku+Djangoであれこれメモ

Heroku+Djangoを弄ってて分からない単語が
たくさんでてきたので一度整理してみます。

■syncdb
syncdb は、特定のクエリの実行結果を
他のデータベースに保存するためのツール。
元のデータに変更があった際には、
その差分だけを効率よく同期できる。

■psycopg2
PostgreSQLのPythonインターフェース。
似たようなものにpygresqlやpopyがある。
Adapterという単語がどうもしっくりきていないのだけど、
"""
デザインパターンの一種で、
既存のクラスを全く修正せずに、
提供するインターフェースを変更する方法。
(From wikipedia)
"""
ということなので、
デザインパターンの知識がないとピンとこないかな。

■gunicorn
Pythonで作られたWSGIに対応するウェブサーバー。
綴りは'Green Unicorn'を縮めたもの。
"""
Web Server Gateway Interface (WSGI; ウイスキー) は、
WebアプリケーションとWebサーバを接続するための、
簡潔かつ統一されたインタフェース定義である。
プログラミング言語Pythonで使われる。
(From wikipedia)
"""
これにより、対応させたWebアプリケーションは
任意のWebサーバ上で実行することができる。

■Procfile
Herokuアプリの動作方法(プロセスモデル)を指定するもの。
web, worker, clockの3種類がある。

とりあえずここまで、
必要の都度書いていきたい。

2011年11月28日月曜日

Python-Django試行錯誤

まーDjangoのドキュメントを進めているわけです。
いや正確には”進めようと”しているわけなのですが、
「進まない……」

何も考えずに記事の通りにやっていけば進むのかもしれませんが、
ただチュートリアルを進めていくだけじゃ
あまり身につかないだろうなと思い、
「今はPostgreSQLを立てないでHeroku+Djangoでやる」
という目標を立ててやっています。

Proclieって何だ。
gunicornって何だ。
psycopg2って何だ。
つーかDjangoが1.0と1.3でどう違うんだ。
Herokuはどうゆう動きをしているんだ。

と知らないことづくしですが、
それでこそやり甲斐があるってものですかね。
地道に焦らずやっていこうと思います。

2011年11月24日木曜日

HerokuでDjangoしてみました。

Heroku 上で Django を動かす - Twisted Mind 試して見ました。

すると今まで悩んでたのが嘘みたいにあっさりできました。
タイポでこんなエラーもでましたが(焦りすぎ。'pattterns'て何よ)、
しっかり動くようになりましたよ〜。
Top
http://warm-mountain-4083.herokuapp.com/
管理画面
http://warm-mountain-4083.herokuapp.com/admin/


最初は
Getting Started with Python/Django on Heroku/Cedar
を見ながら進めていたんですが、
DBが絡んできたあたりからチュートリアルの通りに進まなくなったため、
「一連の流れを早く体験したい!」
の思いでやってしまいました。

Djangoのチュートリアルと一緒にやってしまったから、
何故かPostgres入れたりして環境がごちゃごちゃにorz


まあ「失敗は成功のもと」と言いますので、
気長にやっていきましょう……
ただ写経しただけだとこのままだと忘れてしまうので、
何故そうしたのか考えながらもう一度試してみようと思います。

2011年11月5日土曜日

Python開発環境-virtualenvと-pip-

virtualenvはPythonの仮想的な開発環境を作るライブラリ。
いろいろな実行環境
(Pythonのバージョンが違う、モジュールが違う、etc)
をごちゃごちゃさせたくない時に便利らしいです。
(参考にしたのはこちら)

pipはPythonにおけるバージョン管理システム。
他にもeasy_installとかdistributeなどがあるらしいのだけど、
将来統合される予定なので好きなモノを使えばいいらしいです。
(ソースはこちら)
今回はHerokuの公式ドキュメントに従ってpipをインストール。


virtualenvとpipをインストールするために、
公式ドキュメントを眺めていたのだが全然ピンとこない。
そこでGoogle先生で調べていたら、
Virtualenv — 清水川 Docs v1.0 documentation
にたどり着きました。

記述の通りに打ち込んだら一発でインストールできました。
New python executable in env1/bin/python
Installing setuptools............................done.
Installing pip.....................done.
あっという間でした。
virtualenv入れるとpipも一緒に入るのね。

今の段階では-distributeオプションをつけていないので、
デフォルトのsetuptoolsになっています。
(virtualenvはvirtualenvwapperを入れると更に便利らしい)


清水川先生のおすすめは
virtualenv + distribute 環境下で buildout + distribute
らしいけど(ソースはこちら)、
とりあえずHerokuの公式ドキュメントを見ながら進めてみよう。

2011年11月4日金曜日

Herokuインストールdone…

公式にはまずRuby1.9系入れるみたいなこと書いてあったけど、
そういえばRubyはXcode入れた時に一緒に入っている!

Rubyはあえてインストールせず、
sudo gem install heroku
したらあっさり入れられました。
バージョンは1.8系なんだね。へー。

Successfully installed term-ansicolor-1.0.7
Successfully installed mime-types-1.17.2
Successfully installed rest-client-1.6.7
Successfully installed addressable-2.2.6
Successfully installed launchy-2.0.5
Successfully installed rubyzip-0.9.4
Successfully installed heroku-2.11.0
7 gems installed
Installing ri documentation for term-ansicolor-1.0.7...
Installing ri documentation for mime-types-1.17.2...
Installing ri documentation for rest-client-1.6.7...
Installing ri documentation for addressable-2.2.6...
Installing ri documentation for launchy-2.0.5...
Installing ri documentation for rubyzip-0.9.4...
Installing ri documentation for heroku-2.11.0...
Installing RDoc documentation for term-ansicolor-1.0.7...
Installing RDoc documentation for mime-types-1.17.2...
Installing RDoc documentation for rest-client-1.6.7...
Installing RDoc documentation for addressable-2.2.6...
Installing RDoc documentation for launchy-2.0.5...
Installing RDoc documentation for rubyzip-0.9.4...
Installing RDoc documentation for heroku-2.11.0...

ふむ…とりあえずインストールまで完了したので、
また公式サイトを探ってちょくちょくいじっていきます。
次はPythonの環境を整えていかないとな〜。

p.s.
sudoつけないでインストールしようとしたら、

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /Library/Ruby/Gems/1.8 directory.

と表示された。
インストールする時は忘れずに、ですねぇ…


2011年11月2日水曜日

Herokuアカウント作ってみた

Gitが使えるようになったので、勢いでアカウント作ってみました。
後で詰まったところをまとめておかないと。

さてHerokuとは…以下のリンクが詳しいですね。
HerokuでWebアプリ開発を始めるなら知っておきたいこと
 (1)無料のスペック - アインシュタインの電話番号☎
第3回 クラウドプラットフォーム「Heroku」の活用 | Think IT

「へー、PythonでいうGAE(Google App Engine)みたいなものか」
という感覚だったのですが、
以下のリンクを見て使ってみようと思いました。
InfoQ: Heroku上でPython と Django
Heroku 上で Django を動かす - Twisted Mind

標題のアカウント作成ですが、めっちゃ簡単でしたね…。
赤いところを押して行って、

メールアドレス入れたらHerokuからメールが届きます。
そこでパスワードの設定をすればもう完了です。はやっ。

  完了したらこんな画面がでてきました。

これからインストールして試してみます。

他の方のBlogとかは参考にしますけど、
それは詰まった時の最終手段としてやってみましょうかね。
英語嫌いじゃないからいけるはず。
(Gitの時は手こずったけど……)
Gitに続きいい英語のリハビリにもなりそうです。