勉強会

日曜にrails勉強会に参加してみました。
思ったほど初心者とマニアの差が大きくなくて安心


MACBOOK大杉

  • 前半はYuumi3氏の初心者向けセッション

参加者は4名でしたが、みなさんそれなりに
プログラム経験があるようで話しはスムーズに

RailsによるアジャイルWebアプリケーション開発』第3版の
βが買えるよ
railsで多対多リレーションは面倒臭い
activerecordがらみで!つけると例外出る

http://api.rubyonrails.org/
http://www.ruby-lang.org/ja/documentation/

ruby script/generate --help で色々generatorの機能が見れる
rake --tasks  rakeコマンド一覧

プロジェクトのvenderフォルダにpluginを置いておく
helperは表示の補助ルーチンだが、基本的にcontrollerとセット
 include的に処理しているので注意
ダックタイピングKOEEEeeee
[:id]indexフィールドは必須

  • 後半は舞波氏のMERB話し

『実践Rails』の方も興味あったのだが
本持ってきていない奴はカエレされたのでMERBの方

activerecordとの対比で話しがあったので
activerecordの理解を進めるのに役に立ちました。
MERBそのものは当初言われていたほど
きれいに作られているわけでなく、拒絶反応
コマンド名が短すぎるのは、ブランクがあると読めなくなるので性に合いません。
長いコマンド名は統合環境にお任せ

  • 初心者向けセッションで気になった点について補足

「日常的にtestしている参加者は一人だけだった話し」
自分はtest sucks assert rules派なのであんまりテストは書きません。
単体テストは書くことがあっても結合テストは滅多に書きません。
GUI絡みのリッチクライアントでは結合テストがそもそもまともに構築するのが難しいからです。
test作っても実環境とメッセージの飛んでくるタイミングがずれたり
ユーザ入力をシミュレートするコードを書くのが骨だったり、
セットアップに時間がかかり過ぎてテストが全然終わらなくなったり、だからです。
それに、危ない使われ方をされやすいメソッドはメソッド内にAssertをおいておけば正しくない使い方をされても直ちに補足できますし、
バグはメソッド内にあるんじゃなくてメソッドの呼び方にあるよってことで、


Assertには増えすぎるとdebug verが遅くなりすぎるという欠点があるが、
どのAssertを有効にするかのスイッチを設けることによってある程度対処です。
rubyのような条件コンパイルできないスクリプト言語は、
条件コンパイル代わりのスクリプト作っておけばどうにかなりますし


「表示のソートの仕方でお里が知れる話し」
解答は
viewにやらせるだろ常考
理由
・sortはmodelの仕事ではない。
・sort結果を一時的にしか使用しないならcontrollerの仕事でもない。
・sortSQLは予期しない結果を引き起こすことが良くある。
  特にデータベースを変えたとき。
  accessとかpoorな経験があると特に
SQL嫌い、超嫌い
C++だと直接書いた方が早いし速い ← ここつっこみどころ
まぁ、IntegerだったらSQLに任せますが、それ以外はちょっと信用できないんですよね。