Rails勉強会@東京第26回に行ってきました。

こういった集まりに参加するのは初めてなのでキンチョーしました。

前半 初心者向けRails入門 scaffoldの半歩先へ

id:yuum3 さんによるRails講座。
http://www.ey-office.com/trac/rails/wiki
↑のwikiを見ながらやりました。予習しといてよかった。

  • 先生の環境はcoLinuxの上にUbuntu。エディタはVimcoLinuxVMWareより簡単そうだ。後で試してみよう。
  • Railsのデフォルト設定ではセッション情報をクッキーに持たせているので危険。しかも4KBの制限があるらしい。よくわからなかった。後で調べよう。
  • Railsプラグインというのが色々と公開されているらしい。
  • アイスホッケー面白いよ。
  • Rubyには「シンボル」っていうのがあります。「:unko」←こんなの。ここでは「ちょっと特殊な文字列」だと思ってください。と言っていた。これを説明するのには時間が足りないそうです。気になる。調べよう。
  • 資料の中に「persons」という単語を見つけた。

Railsの勉強したとき

Railsでは命名規約に英語の複数形を使っています。Userの複数形はUsersですが、Boxの複数形はBoxesで、Cityの複数形はCitiesで、Personの複数形はPeopleなので、英語圏以外の人は気をつけて下さい。

みたいな話を聞いた記憶があったんだけど、Rails2ではPersonの複数形はPersonsになったのだろうか。あとで調べよう。


コントローラーで

    @todos = Todo.find :all

ってやって「.erb」ファイルで

<% @todos %>

って具合に参照する。「@」はインスタンス変数の意味。Javaでいう「this.」?


Rails2.0でコントローラーに対応するURLが面白いことになったらしい。
例えばtodosっていうモデルのscaffoldを作ったら、Todo一覧画面のURLは

/todos/list

ではなく

/todos/index

でもなく

/todos

なのだそうだ。
気になったので、scaffoldが生成したTodoコントローラーのソースを見てみたら

画面 Method? URL
一覧画面 GET /todos
詳細画面 GET /todos/1
作成画面初期表示 GET /todos/new
編集画面初期表示 GET /todos/1/edit
作成 POST /todos
編集 PUT /todos/1
削除 DELETE /todos/1

こんなコメントが書いてあった。詳細画面も編集も削除も同じURLだ。メソッドで変えるのかな。HTMLのフォームからPUTメソッドとかDELETEメソッドとか送信できるのか?!
ソースを見たら編集も削除もmethod="POST"って書いてた。POSTメソッドだった。「_method」っていうパラメーターにdeleteとかputとかを渡すようになってるみたい。そりゃそうだよなー。あーびっくりした。


一番びっくりしたのが、scaffoldが生成したTodo一覧画面のURLのお尻に「.xml」ってつけて「/todos.xml」ってやったら、画面に表示されていたTodo達がXML形式で出力された瞬間。
これにはびっくりした。その場でひっくり返っておしっこ漏らしそうになった。これはすごい。えらいこっちゃ。
ゲームの攻略サイトRailsで作られて、それを見た他の誰かがいろんなサイトを横断的に検索できるようなシステムをつくっちゃったりするような未来を思い浮かべて涎が出そうになりました。

後半 Rails開発環境について

  • Vimが大人気。「ビム」って発音するみたいです。おじさんは今日の今日まで「ブイアイ」と呼んでいました。
  • RailsVimでコントロールとモデルを快適にいったり来たり。
  • アプタナ(RadRails) Eclipse上に乗っかったRuby統合開発環境。RDTとは呼ばれていないみたい。
  • NetBeansRuby開発環境というのもあるらしい。
  • でもやっぱりVim大人気。
  • Subversionに突っ込むときは、.ignoreに/tmpと/logを
  • script/generate に -c オプションをつけると、自動生成されたソースがその場でSuvbersionにaddされる。script/destroyにもあるのかな?後で調べよう。


Railsワークショップ。何人かで集まって黙々とお勉強したりコーディングしたりお話したりする会。毎週新橋でやっているらしい。今度行ってみよう。もくもく会

後半の後半 FlexRails

話題がなくなってきたところでFlexに詳しい人がいたので脱線してFlexの話。
Flexについては全く知らなかったのだけど興味が湧いてきた。

  • やっぱりFlashはカッコいい。派手。きらびやか。アドビすごい。アドビのトップページもすごい。
  • 無料で開発する環境は用意できるみたい。
  • MXMLというのがHTMLで、ActionScriptというのがJavaScriptみたいなもの。アドビオリジナルのCSSもある。
  • RESTでサーバーと通信。ここでさっきの「一覧画面がいきなりXML」ってのが効いてくるんだろうなー。
  • 日本語のドキュメントがある。かなり丁寧。アドビすごい。
  • やっぱりきらびやかな画面はインパクトが大きい。
  • フラッシュでもブラウザとかOSによって挙動が異なるらしい。夢のような世界が待っているわけではなかった。トホホ。
  • 開発環境。Fxug FxBuilder FlashDevelop


モングレルってなんだろう?後で調べよう。


Railsで作ったものを公開するには今のところ自宅サーバーとmod_proxyが主流。xreaとかcoreserverRubyが使えるけど、CGIで実行するので速度がちょっと、、、
なんとなく漠然と「Rubyが動くレン鯖なんてゴマンとあるのだろう」と思ってたのだけど、ないのか。そうだったのか。


Flexの勉強会というのが大崎で開催されているらしい。勉強会に出ると他の勉強会の情報も集められるんだなあ。

後で調べるリスト

  • coLinuxUbuntu と RailsVim
  • デフォルトだとよろしくないRailsのセッション管理(セキュリティ)
  • シンボル
  • Persons
  • script/destroy -c
  • モングレル
  • Rubyのレン鯖
  • Railsワークショップ

その他

親睦会行きたかったなー