Create  Edit  Diff  FrontPage  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

Rails' Wiki - RailsMeetingKansai-0007 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

! 第 7 回 [[RailsMeetingKansai]](運営:[[Ruby 関西|http://jp.rubyist.net/?RubyKansai]])

!! 勉強会
:日時:2007 年 3 月 17 日 (土) 13:00〜17:00 (受付開始 12:50)
:場所:[[大阪府立女性総合センター(ドーンセンター)|http://www.dawncenter.or.jp/]] 大会議室 3
:費用:学生の方 女性社会人の方 500円・男性社会人の方1000円(予定:会場代、講師の交通費、配布物の印刷代等の実費負担です)
:定員:72 名

!! 懇親会
:日時:2007 年 3 月 17 日 (土) 17:30〜
:場所:[[うまいもの処 くねんぼ|http://www.kunenbo.co.jp/]]
// :コース:予算は、満腹コース 2,000円 + ドリンク飲み放題で 3,000円。
:会費:およそ社会人:学生 = 2:1 の比率でご負担ください。
:締切:2007 年 3 月 16 日 (金) 17:00 まで

!! 勉強会のお題

!!! 「Rails for Ruby1.9」 by moriq さん
:発表資料:http://www.moriq.com/ruby/RailsMeetingKansai-0007/

!!! 「ライブラリとしてのWebサービス」by 氏久さん
:発表資料:
* {{attach_anchor('webservice_as_library_by_ujihisa_2007-03-17.ppt')}}
* {{attach_anchor('webservice_as_library_by_ujihisa_2007-03-17.odp')}}
* {{attach_anchor('public_ura.txt')}}
:int.comの実装:http://int.jitor.net/

!!! 「RailsでPDF帳票にチャレンジ」 by モバイル通信兵さん
:発表資料:
* {{attach_anchor('RailsでPDF帳票にチャレンジ.pdf')}}

!!! 「作ってみようRailsアプリ」 by Ruby関西
いつもの初級者レッスンではなく、「作る、手を動かす」ことを重視したセッションです。

* できるだけ、Rails環境を用意してきてください。
* グループごとにTAが付きます。
* [[前回|RailsMeetingKansai-0006]]の資料は目を通しておいてください。
** 実際に作っていたりすると、今回やることがわかりやすくなると思います。
* 資料はありません

!! レポート
!!! 「Rails for Ruby1.9」 by moriq さん (レポート:cuzicさん)

あとで書く

!!! 「ライブラリとしてのWebサービス」by 氏久さん (レポート:あきぴーさん)

●氏久さん


*【ライブラリとしてのWebサービス】
**お気楽なお話です

**APIが公開されたWebサービス
***GoogleMaps

**ライブラリの大切な所
***基本的機能を再発明不要
***汎用性

**Webサービスの大事な所
***クライアントはデータを持たなくていい
***クライアントーサーバーで分業

**新時代の実行環境
***Plagger
***Yahoo Pipes

**いかに混在させるか?
***クライアント、サーバー
**コンパイルではなくインタプリタ
 
**Webサービスのインタプリタ
***サーバーサイドでインタプリタ

**半分ネタなWebサービス

**LiveCoding(2/24)で1人20分で作ってみました
**クライアントの実行環境を一切考慮しない
***ネット環境のみ
***HTTPリクエストでプログラムを送り、HTTPレスポンスで結果を得る
**int.com
***整数演算のみ取り扱うWebサービス
 
*** http://int.jitor.net/add/3/5
 
**同様に、str.com
**こんなことしていいの?
***どうみても無駄
***VMやインタプリタも最初は無駄と言われていた

**これは、エンタープライズRailsではなく、エンターテイメントRailsだ!

*【裏話】シリコンバレーに行ってきました
**シリコンバレーでRuby度調査
**この1年でRubyが大流行
**しかし仕事でRubyを使っている人は少ない
**Ruby使いはMacユーザーが多い
**Macでいいこと:
***Unixである
***デザインがいい
**但しMacBookは2kgもあって重い

*【最後】
***int.comのメンテナンスやる人絶賛募集中(^^)


!!! 「RailsでPDF帳票にチャレンジ」 by モバイル通信兵さん(レポート:中尉さん)

*考えられる3つの方法の特徴を比較。無料だが日本語が弱い libraries、日本語に強く直感的だが費用が高い Adobe Acrobat Prof. を避け、TeX を利用して PDF を作成。…極力お金をかけずに構築したい、という気持ちは一般的だと思われる。
*demonstration は連邦軍の「アムロ・レイ」、ジオン公国の「シャア・アズナブル」の履歴書作成。殆ど scaffold のみで構築。シャアが大佐に昇進してもすぐに履歴書が作り直せる。
*TeX の中身は、文書の論理構造などを脇においといて位置指定のみにすることによって開発時間を短縮している。(TeX source に最初から枠を入れようとすると大変。)
*Rails 上の処理の中心は gsub。template がしっかりしていればこれだけでいい。
*Acrobat を使う方法は、具体的にどうやるのだろうか。
*会場から : もし実運用するなら file name 決めうちではなく secure な名前でTeX 生成できる方がよい。〔他の話は記録しきれませんでした〕 同じような課題に対して同じような結論に行くんだなぁ。
*会場から : PDF 文書への font の埋め込みはどうしたらいいか。
*会場から : 外部 command で error 処理はどうやっているのか。…考慮していない。
*会場から : background で動かす方がいいのではないか。
*会場から : TeX.com とか作れないか。数式を渡したら画像として返してくれる、など。

!!! 「作ってみようRailsアプリ」 by Ruby関西

あとで書く?

* Rails install班、お薦めplugin班、前回に続きBBS作成班等6〜8班ぐらいに判れて活動。
** お薦めplugin班では ajax scaffold, backgroundrb 等が話題になっていた模様。

!!!!(題目ド忘れ)ここで困った/詰まったRails Q&A(レポート:一歩)

*主題からして当然なのですが、もうものすごく役に立ちました。有難う御座います感謝感激です。
*氏久さんを班長に、基本は(Q役1名+A役1名)x2組で活動しました。
**各キーワードには探した範囲で関連URIを示しますが、より適切なものがあれば付け替え、不足があれば追加して下さい。
*Q: paginate :include するとデータが凄い量になってるんですが?
**A: それでいいんです。気にしない。
*Q: paginate で DISTINCT を使うと数がおかしいのですが?
**A: そういうものですから諦めましょう。
**A: 項数を引数指定する [[will_paginate|http://errtheblog.com/post/929]] だと大丈夫かも。
*Q: 多言語対応はどうするのが通常でしょう?
**A: [[GetText|http://blog.masuidrive.jp/articles/2006/07/03/gettext]] 一択。
**A: 多言語化じゃなくて日本語化のみが求められるケースは多い。それなら GetText はオーバースペック。素直に scaffold 後それを日本語化編集で充分。(懇親会にて)
**A: ↑もうちょっと楽をしたかったら、jascaffoldとかactive_heartとか。
*Q: 2つ以上の model を同時に更新する時、その validate-error を1つにまとめて処理できませんか? (注:このQ&Aはロガーはよく判っていません)
**A: その状況ではおそらく(habtm 等)model 間に関係がある。ので、関係テーブルを作った上でその validate を利用しろ。(例: has_many :through の through-table)
**A: model の(column の)validate でなく controller 内で評価しろ。
**A: 対応するDB-table の存在しない model を作成し、それを利用する手もある。
*Q: 上記に関係するが、 DB-table の存在しない model の存在価値は?
**A: validateの為。
**A: それなら [[active_form|http://blog.matake.jp/archives/railsactiveform.html]] でやる方が妥当であり、そんな空 model は作るべきでない。
*Q: auto_complete 等の ajax で 1秒毎更新とか指定する option frequency があるが、あれを可変に出来ますか?(監視カメラ映像の自動更新等)
**A: html に meta-tag refresh 等を加えて対処。
**A: JavaScript で自分を timeout で呼び出す関数(引数に frequency を取る)を作る。
**A: [[Comet|http://blog.japan.cnet.com/kenn/archives/003149.html]]を[[利用する|http://recompile.net/2006/10/_ruby_on_railscomet_http_polli.html]]。
*Q: has_many に :primary_key option は無いですか? つまり、Book(id,isbn,title), Review(id,isbn,comment)に対して Book; has_many :reviews, :primary_key=>:isbn, foreign_key=>:isbn とする。set_primary_key :isbn は駄目なはず。(set_primary_key の対象は integer かつ単調増分な項目でないと駄目という噂)
**A: 素直にRailsの規約に従い Book(id,isbn,title), Review(id,book_id,comment)と作った上で Book; has_many :reviews としなさい。(えぇー。それはそうなんだけどさあ。)
*Q: [[acts_as_taggable|http://wiki.rubyonrails.org/rails/pages/ActsAsTaggablePluginHowto]]で :include が使えませんか? つまり Data.find :all :include=>:tags, Data.find :all :include=>:taggings ができずエラーになるのですが。
**A: 私の環境ではそれでできてるけど?(作り直して試すと本当にOKだった。何故エラー?ver?)
*Q: (SBSとか考えると) acts_as_taggable で各 model に user_id column を付けたいがいい方法はないですか?
**A: plugin 内部の Data.taggings 部分を Tagging.find(...).update に変更の上で、 controller 内部では with_scope で括る。
*Q: acts_as_taggable や has_many :through で taggings-table(through-table) に関係性以外の情報を書く時の通常の方法は?
**A: 特別な記法やそれ用の plugin はないのでは? つまり、 Data.tags << Tag.create ではなく、Tagging.create, Tag.create のように書く。
**A: [[has_many_polymorphs|http://blog.evanweaver.com/pages/has_many_polymorphs]] が使えるかも。 (RailsChatにて)
***↑ざっと見、acts_as_taggableの別思想版であり、Tag追加ついでに関係性テーブルにも情報付記という品ではなさそう。
*Q: デフォルトの scaffold がかなり貧弱なのですが? [[phpmyadmin|http://www.phpmyadmin.net/]] レベルにソートと検索と表示 column の選択はせめて欲しい。
**A: [[ajax_scaffold|http://blog.masuidrive.jp/articles/2006/02/24/ajax-scaffold-generator]][[(ref)|http://www.ajaxscaffold.com/]] を使いましょう。scaffold版と plugin版があるが、scaffold版なら数行変更するとLIKE検索程度なら付けれます。ソートはどちらも有り。
*Q: 表=テーブル=2次元データ(つまり has_many :through な情報で、主眼が through-table の付帯情報に有るもの)用の優れた汎用 controller/view(つまりそれ用scaffold)は無いですか? 宴会の出欠表や集金表やスケジュール表等々、活躍の場は多いと思うのですが。また、それに伴い2軸の paginate とか。
**A: 2次元といわず多次元のデータを扱う plugin がある。(名称不明)
*Q: cotroller のテストってどんなものを作るのですか?
**A: model を操作する為のユニットと位置づけ、例えば、delete-action では Data.find(1)=>true, Data.find(1).destroy, Data.find(1)=>false をテストする。
**A: routes, redirect 等の確認をする。
**A: 正規表現(+htmlパース)を駆使し、view のテスト(結果 view 内に適切な要素/タグが含まれているか)をする。
**A: 半ば余談だが gem install cheat すると [[cheat|http://d.hatena.ne.jp/babie/20061031/1162298845]] というコマンドで一覧がひける。

!! コメント
{{comment}}

!! 反応リンク集
//{{trackback}}
SPAMが多いのでtrackback停止中。必要な方は「編集」でコメントアウトを解除してくださいませ。

* trackback : [[Rails 勉強会@関西 第7回 (ふぇみにん日記)|http://kazuhiko.tdiary.net/20070317.html#p01]] (2007-03-21 (Wed) 15:16:22)
""「作ってみようRailsアプリ」は、前回までやっていたRails初級者レッスンが無理だったので、代りに出てきた企画です。
""東京のRails勉強会のようなオープンセッションでいくつかのテーマのグループに分かれてやりましたが、結果としてはなかなかいい感じだったように思いました。

* trackback : [[Rails 勉強会@関西 第7回 (3 日坊主日記)|http://moriq.tdiary.net/20070318.html#p04]] (2007-03-18 (Sun) 18:24:37)
""
""Rails for Ruby 1.9。一般受けしなさそうなネタをどうしようかと思って、ユーザから見て気になるであろう Ruby 1.9 の変更点を紹介してみた。
""時間が余らなくて良かった。
""発表資料。
""Ruby 1.9 の売りは速度のほか何があるだろう。
""組み込み breakpoint があると嬉しいかも。
""rake が動かないバグは GC.stress で見つかるかもしれない (znz ..

* http://octave007.blog96.fc2.com/blog-entry-10.html

// !! 持ってきてほしいもの
// * ノート PC(あれば)(Rails環境が入っていればさらによいです)
// * 名札(あれば)
// * ケーブルタップ。二股等。(電源コンセントは大量に足りないと予想されるので、多めに持ってきてください)
// * USBメモリ(あれば)
//
// !! 参加登録
//
// 参加を希望される方は、以下の手順でお願いします。
//
// # [[Rubyist SNS|http://jp.rubyist.net/sns/]] にアカウントを作成してログインする。
// # 「[[Ruby関西|http://jp.rubyist.net/sns/?m=pc&a=page_c_home&target_c_commu_id=1]]」というコミュニティに参加する。
// # 「Ruby関西」コミュニティに、「[[Rails 勉強会@関西 第7回|http://jp.rubyist.net/sns/?m=pc&a=page_c_event_detail&target_c_commu_topic_id=44]]」と「[[Rails 勉強会@関西 第7回 懇親会|http://jp.rubyist.net/sns/?a=page_c_event_detail&target_c_commu_topic_id=43]]」という二つのイベントがあるので、それぞれに参加登録をする('''勉強会と懇親会は別イベントでの登録です''')。
//
// '''Rubyist SNS への参加や Ruby 関西コミュニティへの参加だけではイベント登録は完了していませんのでご注意ください。'''