2006-01-29
rails勉強会議事メモ - 後半セッション〜懇親会
第二回rails勉強会の後半から感想にかけてです。懇親会は楽しかったんですが、結構酔っ払ってたので、きちんとした文章にまとめずらいです。
今回もいろんな方とお話できてすごく楽しかったです。次回以降もよろしくお願いします。
後半セッションはあとで書く
後半は自分がオーナーになってた「Lighttpd&Apacheの設定いろいろ」がポシャったこともあり、id:secondlifeさん主催のRESTWikiの実装とGizaにいってきました。
で、JavaScriptへの理解がたらない私としては、理解しきれなかった部分のソースを読みながら復習しようと思ってました。が、どうもセッションのときに画面で見た内容とhttp://rails2u.com/misc/restwiki_0.1.tar.gzで落とせるのが違っているような気が。。
ということで詳細に付いてはあとで書く、で。
RESTWikiのソースを一通り眺めたあとは、JavaScriptというかAjaxの使いどころなんかの話をしました。なんでもAjaxにしてしまうのが必ずしもよいことではない*1、『戻る』ボタンも使えないし。
対して、ちょっとした項目の修正とか複数ページの遷移とか、そういったところにAjaxを使うと、ユーザにとってもハッピーになれるし、開発者も作んなきゃいけないUIが少なくなって楽じゃない?というお話をしました。はてぶのコメント欄のところとか、まさにAjaxを使うためにあるようなシチュエーションです。
rails under production もあとで書く。
流れちゃったんですが、せっかく作った資料を放置するもしのびないのであとで再度まとめます。OOoのimpressの使いかたを覚えたのは収穫でした。
懇親会
ガンダムなカクテルの出るお店に行きました。微妙なネーミングとカクテル自体の見た目が面白かったです。あとは後半の座席が寒かった。なんか風が来るなぁと思っていたら換気扇の真下でした。
本業がJava屋さんという方もたくさんいたので、日頃疑問に思っていたことをいろいろ聞いてみました。abstractでstaticなメソッドがないのはなぜ?とか。
二次回ではデザインとはどうあるべきか、というような話をしてすごく楽しかった&ためになったんですが、うまくまとめられません。写実的なデザインや絵画が必ずしもよいわけではない、という話をしていました。あとはひどい絡まれかたをしていた方が一人。帰りの電車の仲間でそんな調子で、気の毒にと思いながらもウケました。すみません
rails勉強会議事メモ - 前半セッション SwitchTowerの光と影
rails勉強会いってきました。今回もいろいろ勉強になった&刺激を受けることが山盛りでした。とりあえず覚えてる範囲での議事メモを。
前半セッションではSwitchTowerの光と影ということで、id:secondlifeさんが某企業での体験を元に、SwitchTowerの実装のダサいところと、大規模システムでのdeployツールとしてSwitchTowerを使った場合の落し穴をいろいろ紹介してくださいました。
- SwitchTowerの実装の影
- 大規模で使うときの影
- まとめとか感想とか
SwitchTowerの実装の影
- rakeから呼び出せるようにlib/tasks/switchtower.rakeでSwitchTowerを呼び出すためだけのタスクを足している。冗長でダサい。
- その上、switchtowerコマンドを決め打ちしているので、switchtowerのコマンドが備えている柔軟性*2すらをあえて殺している。
- 決め打ちが多い。サーバ上で実行されるコマンドとか内部の作りとか。deploy時にsvn coしか使えないというのは改善された(参考id:moro:20060112)けど、似たような決め打ち問題が多い。
- そのため、rails以外のシステムをdeployしようとしたり、ちょっと凝ったことをやるとソース書き換えが必要。
- SwitchTower使用時に入力したパスワードが画面にエコーされてしまう、というのはtermiosをインストールすると解消できる*3。が、そういうのを知るためにソースを読まなきゃいけないというのはどうかと。
大規模で使うときの影
- 定義できるサーバがAPとWebとDBと、三種類しかない。開発用の環境と、結合テスト環境と、システム全体のテスト環境と、プレ本番環境と。。。という風に複数の環境があるのが普通だが、そのへんが考慮されていない。
- サーバ側での用意が多い。100台規模の環境にdeployするのは大変過ぎ。
- sshでログインできるようにしておかなきゃいけないとか
- そのログインパスフレーズ(とかauthorized_keysとか)はあわせておかなきゃいけないとか
- ここでAppleの営業の人がNetInfo/OpenDirectoryだといろんな方式の認証を一元管理できて萌えという話をし出して盛り上がりました。
- subversionもインストールしておかなきゃいけないとか
- 複数台のWebサーバを再起動させるのに時間を分けたい(10/100台ずつアップデートしたい)とか、現場で求められる泥くさいタスクを扱うのがうまくないね。
- で、それをなんとかしようとするとソース読め&クラスを書き換えろ、という話になるのがダサい。
まとめとか感想とか
2005-12-18
前半参加セッション『ARの章を読むよ』
AWDwRの14章、"ActiveRecord Basics"を読もう、というセッションだったのですが、本を読むというよりもARよもやま話という感じになりました。
- DynamicFinderの仕組み
- method_missingを多用。activerecord-1.13.2/lib/active_record/base.rb # 970行目くらいからマジックが始まってる。
- ARClass.find_by_A_and_B(a_item,b_item)はできるが、ARClass.find_by_A_or_Bはできない。(1000行目付近construct_conditions_from_argumentsを参照。
def construct_conditions_from_arguments(attribute_names, arguments)
(略)
[ conditions.join(" AND "), *arguments[0...attribute_names.length] ]
end
- IDの付け方
- validateのタイミング
- 入力項目が多いときに、複数画面を遷移しながら入力する作りにすることがある(アンケートとか)。画面遷移をするときにその画面内での入力項目へのvalidateをしたい、というのが与件。
2005-11-06
Rails勉強会@懇親会
懇親会で思い付いたネタとか、話にあがったネタとか、お礼とかもいろいろありました。
なによりもOSS界隈で活躍してる方々、OSSに興味を持ってる方々とはじめてお会いすることができました。。私にとっては今回あつまりの一番の収穫です。これからもよろしくお願いします>みなさま
- ねんがんのgmailアカウントをてにいれたぞ*1。高橋メソッドの高橋さん(id:takahasim)にいただきました。ありがとうございます。プレゼン本とrails本、それぞれ楽しみにしています〜。
- 項目を簡単に追加/削除可能なCMSをRailsで作れないかなぁ、という雑談をしました。ActiveRecord::Migrationを使えば、DBスキーマを操作することはできるのでは、と思っていたんですが、二次回にて「RDBでやることじゃないんでね?」というツッコミをいただき、なるほど。と。
- メールリーダが欲しいなぁ、と思ってます。普通に読むというよりは、通勤途中に京ぽんでだらだらと読むのに最適化されたメールリーダが欲しいです。rep2みたいなイメージで読めると、地下鉄の中で暇をしないなぁ、と。
- メモ環境(紙)をそろえている人がすごく多かったことが印象に残りました。飲んでる最中でも普通にメモを取り出したり、マインドマップを書いていたりしてましたし。ということで、わたしもさっそくよういしたわけですが、あとはアイディアの神様を(略。
*1:moronatural@gmail.com




