RubyKaigi2008 2日目
眠い。今日は寝坊しちゃった。3日間通して楽しかった。バリエーションは結構あったし、すべてのセッションに思想が継承されているのがいいなと思った。ちょっと間違うと宗教だけど。眠かったので自分の範疇外のセッションで寝てしまった。メモとってないのがそれ。来年も行きたいなと思わせるカンファレンスだった。YAPCはもう行かないと思う。
運営会提供のFreeSpot。b・g/a・n全部そろえて、地図まで明示。あの人数でもバリバリつながったし完璧。
拡張ライブラリの書き方講座(arton)
アドレス操作・割り込み処理・ネイティブAPI
例:メモリの確保とパージを視覚的に見せる
さらに仕事に使うRuby(後藤 謙太郎(ごとけん))
割込仕事が多い
Hikiのフロントページにツールが集約
%sudo cp -pR skelton target/directory で新規作成
redmineのいいところ
カレンダーと工数入力
tracよりユーザとプロジェクトを簡単に使える
伝票管理にKagemai
依頼→見積→受注→検収→請求
カスタマイズ
複数のカラムで決まる状態
Fastladder
→LivedoorReaderclone
Rails。Intranetuse。Nice。
トラッキングシステムは社内・社外Verのそれぞれが必要だったりするよね
erbを偲んで(関将俊)
smalltalkのViewという意味からVIEW=テンプレートという意識になりつつある世の中
htmlとcssと同じようにコードとViewは密接
VIEWはVIEWオブジェクトであるという原点
eRuby?
メモ取り。レッツノート標準バッテリで6時間駆動。素晴らしい。ソフトバンクモバイルは圏外(涙。
発表者のすぐ後ろでIRCが展開される。わかりやすくていい。
matzを説得する方法(田中哲)
YARV
速度以外にRubyに不満のあることとは
バグレポートは通りやすい
新機能は難しい
受け入れる要素
既存仕様意図を尊重
設定がないことがいい設定
必要性が納得できる
具体的・多数が困っている
解決策が妥当
変更が小規模
受け入れられない要素
必要性が納得できない
解決策が疑わしい
独特な解決法=過去を継承しない
余計な事をあわせて言う
他ではどう扱っているか
The future of Ruby in Mac OS X(Laurent Sansonetti)
RubyRubyとCocoa(MacOSXAPI)をブリッジ
期待してたのだけど、期待した内容じゃなくてがっかり。表題から、ストレージをRubyで抽象化した紹介なのかと思った…
Rubyでつくるストレージサービス(福田朋紀)
回線増強か
クオンプと読む
webリリースするらしい
Railsらしい
開発手法に作用するRubyについて
失敗談
メモリ不足
mongrelでメモリいっぱい使う
ファイルアップロード
コントローラーを改修
ファイルダウンロード
X-Sendfileで解決
RMagick
ImageMagickの方がいい
メンテナンス
修正が簡単だけど、コードが汚くなる
メンテナンスのスコープはどこだ
core_extでライブラリ定義が再度書き換わっている
プラグインが強力
だけど影響範囲がどんどん把握しづらくなる
acts_as_*
SQLがいろんなところに分散してメンテしづらくなる
組み合わせると問題が出る
保守の範囲が広がって不幸の相乗効果
大規模システムで保守担当範囲を決める必要が生まれる
RailsMVC
WebAPI
認証のより分けなどフィルタ・コントローラが汚くなっていく
一箇所にまとめるのが難しくなっていく
コントローラ・サービスを別にすることで負荷を分散しないと
コーディング仕方
コーディング標準がまだできてない
高い授業料を払うことになった
無停止メンテナンス
なやんでる
まだとめてる
パフォーマンス
Railsではなく、回線とストレージの方が
REST信者から見たRuby on Rails 2.0(山本陽平)
RESTとRubyて仲良し
OpenURIがRESTFULだった
RESTとRailsて仲良し
RESTifiedRailsController
シンプルなコントローラを目指したらRESTfullに
RESTWebサービスの別案がwithRubyだった
DHHが序文書いてる
REST
WebArchitectural style
リソース指向アーキテクチャ
RESTfulWebサービスにするためのアーキテクチャ
一番重要なのはアドレス可能性
次に接続性
アドレス可能性
リソースを定義してデータを渡す=アドレス可能
リソースとは?=URI
URI駆動開発
URIの設計からはじめる実装
Railsで作るとルーティングはシンプルだがコード構造に依存しがち
URIは設計目標という考え方
RestletとDjangoの割り当て方を観察する
接続性
クライアントアプリの状態を辿らせるServer側という考え=RESTful
リソースとリンクを設計するのがハイパーメディア
リンクをRailsで作ると
シンプル(url_for,link_to)
でもリンクのセマンティクスが意識できれるともっといい
=リンクの意味を意識できれば
クライアントがリンクの意味を理解できるようになっているのが理想
アドレス可能性と接続性を意識すると、よりよいアプリが作れる
全部リソースで考える。GETPUTPOSTでできないならリソースを見直せ
Real-World Enterprise Ruby(CTC 大場光一郎・高井直人)
Rubyを社内に認めさせるための有効な理由
新規案件の獲得・新規顧客の獲得
→小規模ビジネスにフィット
→大規模案件につなげる
教育体制・技術支援体制の確立
開発標準に取り組む
保守運用フェーズサポート
→保守運用ノウハウが個別なのがよくないのかな
→作り人のアレな感じはテストでカバー
→Rubyバージョン差異は実行環境保守部隊でカバー
提案資料の要素テンプレートがあるといい
実績:コミットする
見積:Javaと比較。ファンクションポイント法で規模算出。実績値蓄積。
開発者:開発前トレーニング。3日間。forJava開発者。
技術支援:コードレビュー
開発環境:まったく同じ開発環境を整備。開発標準のひとつ。
運用環境:性能検証
Developing and scaling iKnow!(Zev Blut)
iKnow ソーシャル言語学習サイト
2Week間隔リリース
マイぐれしすぎ
NginxProxyとMonglel
サーバー・LAMP/LNMR構成など。NFS。
3NodeでVM。マスタDBおちるので物理に。
DB8コア早いディスクでRAM16GB
memcachedか
EventualDBSharding
問題点
ActiveRecordでSQLレイヤーの吸収できない仕様で困ったことがある
lengthの誤用でLoadAvarageが…
lengthよりsizeがいいよ
OpenID15%だって
プロバイダにリレイ。プロバイダが遅かったら引っ張られて死ぬ。
Timeoutを切る方法
discover timeout
FS
ext3:3万までしかdirしか作れない
xfs:変更したらウマー
XFS採用した理由。Ruby時々なみだ目。
コアラ(koala)
最新版アップしたよ
Inside Tabelog's Backend(京和崇行)
Win+ASP→Rails
kakaku.comは高速マシンで少ない台数
メモリ問題・大量に食いつぶす
毎日再起動cron(w
Monglelがメモリを大量に使って長い間いたとき
APのスケールアウト
セッションをDBに
複数DBをみるようにActiveRecordが対応してない
MgagicMulti-Connections
だめ:コネクション張りすぎ・1テーブル1コネクション
ActsAsReadonlyable
OK:入れるとFindがスレーブをデフォでみにいく
課題:フェイルオーバーの時に切り離せない
MySQLProxy入れるか
パフォーマンス
Routesはあまり使わない=パフォーマンスが悪いから
mod_rewrite+create_urlで解決
マルチドメインで解決
セッションはマスタのみ参照
ガラパゴスに線路を敷こう: 携帯電話用RailsプラグインJpmobile(しだらようじ)
すげー
Using Ruby to Build a Scalable Startup(Alex Kane, Tunecore.com)
TuneCoreという会社の人
デジタルメディア配布
レーベルスキップサービスかな
PayPalで引き出すらしい
75000ユーザが8億売り上げた
有名アーティストが参加しているのが寄与しているようだ
構成・役割
[Front]
ROR/MySQL
1MonolithicDatabase
Merb?によるUpload
[Back]
エンコ・メタファイル・店サイトにUP
[配布エンジン]
ほとんどRuby
XMLバリデーションがJava
[Que]
優先度をわける
キューはYAMLベース
[VM]
配布エンジン@EC2
メッセージキューから仕事をもらう配布エンジン
仮想サーバー数はキューの大きさで決定する
[Storage]
S3に2TB
Amazonの蔵独活内はデータ転送無料:Cool!
googlecodeで配布してるよ。
Rails症候群の研究(前田修吾)
やたらとprotectedを使う
やたらと既存クラスを再定義
Rubyが何かわかっていない
RailsなしでRubyは動きますか
protectedはまぎらわしいのでいらないかも