ひさびさにデプロイしたら色々忘れてるのでメモ
DBの作成は、
- コントロールパネルでMySQL管理を開き、
- DBを追加して、
- ユーザを割り当てる。
- 初期データ投入はphpMyAdminとかからも出来る。
DBの初期化は、プロダクション環境なら以下を1行で実行。
RAILS_ENV=production rake migrate
ログインエンジンの初期化
RAILS_ENV=production rake engine_migrate ENGINE=login
・・・なぜ動かん(泣
RubyのContinuation
Continuationは慣れるととても自然な概念だ。本当に、「ここから先の残り」「続き」だから。続きを保存しておいて制御を一時的に余所へやりたいときに便利である。
へえええ。←夜中に大声。
トランザクションの例で絶句。ループの状態まで保存されるですか。どんな使い方ができるかなぁ。
たとえば、数万件あるデータをDBに入れるときに
- 1000件ずつ小分けにコミットしつつ、
- コミットが終わった分をその都度にユーザへ通知。
WebアプリならContinuationのタイミングでCometを使ってバシバシ送りつけてプログレスバーを伸ばしてやるとか。
普通書くと結構ごちゃごちゃしたコードになりそうだけど、Continuationを使うと、
- コードを主な意図に沿って自然に書ける。(ここでデータを確定する!)
- 制御レベルのコードを業務ロジックと別にできる。(1000件ごとにプログレスバーを伸ばす!)
となるのが利点かな。
あ、簡易AOPとして使えるか?この休みで実験してみよう。*1
*1:と書いておけばやる気がでるかも・・・