Rails勉強会@東京第58回

Rails勉強会@東京第58回の参加レポートです。
間違いなど修正点がありましたら@hamaknまでご連絡ください。


開催概要

時間と場所

2010年12月18日(土) 13:00〜
永和システムマネジメント@御徒町

参加料金

無料、感謝(-人-)
せめてレポートぐらいうpしないとバチが当たる…

セッション
  1. 前セッション: 今年のRails振り返り/RSpec, autotest
  2. 中セッション: Rails3のプラグインについて
  3. 後セッション: heroku, GAE/ActiveSupportソースコードリーディング

自分は前に書いた方に参加

まとめ

  • 今年のRailsを振り返るとやっぱりRails3。
  • 認証系を書く時はOmniAuthやDeviseプラグインが便利。
  • 今ならrubyistにはGAEよりheroku。特にRailsの勉強用にはすばらしい。

感想

  • 丁度oauth2やfacebook_oauthを使って接続のテストだけした段階だったので、OmniAuthの話を聞けて良かったです。
  • Rails振り返りは短時間で今年の流れを押さえるには非常にありがたく、herokuは初めの一歩を踏み出す大きな後押しになりました。
  • 今回が初参加でしたがまた参加したいと思います。よろしくお願いします。<(_ _)>


時系列順のメモ書き

  • 13:00〜自己紹介
    • 30人弱。初参加5人ぐらい
    • 反省:Ruby会議のストラップ持ってくればよかった
  • セッション候補リスト
  • 2回の投票でセッション決定
前セッション:2010年Rails振り返り
  • やっぱり今年はRails3
    • Rails2系から3への移行、結構ハマる
    • ファイル名が変わったり、移行TIPSを書こうにもやることが膨大になりがち
    • snowman-meltdown 文字コードの話
    • テスト文化が今年来たかどうかは人によってまちまち
前セッション:Cucumber, autotest
  • まとめだけ
    • Q.どうやってテスト文化を根付かせるか?
    • A.CI tool, Rcovを使う。後は地道にペアプロ
中セッション:Rails3のプラグインについて
  • 前半@irohirokiさん司会
    • 後記:@irohirokiさんのブログ記事が詳しいです
    • OmniAuth: OmniAuth is a flexible authentication system utilizing Rack middleware. / サードパーティ認証インタフェース
    • Devise: 人気の認証プラグイン。好きな機能だけ使える。
    • TwitterのOAuthを使ったアプリを作る際に、テストのたびにTwitterにアクセスしたくない
    • WebMockでTwitterのスタブを作る
    • fakewebでも同じようなことができる?
  • 後半@ikmさん司会
    • OmniAuthのstrategies/twitter.rbを参考に、hatena.rbを作成する
    • 権限の所注意(書き込み権限/読み込み権限とか、Facebookだとemail/offline_accessとかなるところ)
  • Deviseあれこれ
    • @d6rkaizさんによるDeviseのサンプルのデモ
      • 関係ないけどiPad+ワイヤレスキーボードの環境、いいな
    • Deviseの実装、plugableでいいんだけど、abstructが多くて読むのがたいへん、書くのもたいへん
    • Railsの認証周りは色々な実装がある
    • ユーザの認証はcookieだけど、管理者はbasic認証で、みたいに要求も色々ある
    • Deviseはその中でもてんこもりの方
    • Deviseが流行ったのはRails2でも3でも動くから
    • DeviseとOmniAuthのサンプルはRailsCastにあるから見てみるのが良い
      • でも実装だけで特殊なパターンが多くて微妙という意見も
    • twitterやりたいだけなら #241 Simple OmniAuthが良い
    • DeviseにはOAuthのService Providerになる機能は無い
      • OAuth Consumerになる場合に比べて、OAuth Service Providerになるケースは少ない。自サービスの情報を外に出したい場合ぐらい。
後セッション:heroku, GAE
  • 発音
    • ヘロク, ハーウォーク
    • 伝わればいいんじゃね?
  • herokuの基本的な説明
    • 公式サイトのHow it worksを利用 http://heroku.com/how/architecture
    • GAEとの最大の違いは、RDBMS(Postgres)が使えること
    • 壁にぶち当たるのはファイルの扱い。全部DBかMemcacheに乗せないといけない
    • GAEでRailsは最近あきらめ気味?
    • herokuと比べて、GAEで作ってしまうと他に引っ越すのがたいへん
    • Addon、どんどん増えてる、見るたびに増えてる
      • MongoHQのプランが良い。無料で16MB使えて、これはherokuデフォルトの5MBより大きい、ただbetaなのは注意
      • パフォーマンスモニタはNew Relicでできる
      • WebSolrもある
      • jsondbもあるけど…大丈夫なのかこれ?
    • 簡単にデプロイできるので、Railsの勉強用にはベスト
    • メールサーバは無い。外のsmtpを叩くのはOK
    • 固定IPにできない。テスト用のサービスをIPアドレスでフィルタできないのでちょっと不便。
    • 料金プランゴジラとかガンダムで顧客説明時に困るwww
    • Hero Scaleというサービスも現れた。dynosやworkerの上限が無い
  • herokuを使っているサービス
  • herokuとrubyのバージョン
    • 1.8.6~1.9.2選択可能
    • dynoの説明だとrackの上に乗るからRailsは2.3系以降な気もするがFAQによるとWe support Rails 1.2.x, 2.x and 3.0.X.
  • 利用時の注意点
    • 現状サーバが東海岸にあるので、はてなとか、日本のAPIを叩こうとすると通信遅延が激しい
    • 上記はAPI連携の話であって、Webサーバとして使う分には大丈夫
    • 今後どうなるかはSalesForce次第(無料止めたらOracleコース?)
    • ReadOnlyFileSysytem
    • ログの見方、help通りに動かない-n 100とか-fとか
    • 料金的にはちょっと高いので他(EC2とか)との比較必要
      • ネットワーク転送量への課金が無い所は良い
      • EC2の1年間無料のやつもS3に強く依存しなければ(1年後の引っ越し前提で作れば)悪くない
反省会
  • 反省会あるのがすごく良い
  • 次回は1/15 or 1/22
  • @mark ITさんがRailsHubというのを12/22に立ち上げるらしい