ロゴ
Jun 25

ここ2日間他の人たちのRubyKaigiの感想を見て、楽しい集まりだったなぁと改めて思った。
運営の人達は本当にお疲れ様でした。楽しかったっす。

というわけで遅くなったけど、以下から2日目のセッション内容のまとめ
あまりメモ残ってなかった…

Ruby構文による構造化データ記述(前田和昭)

途中から聞いたのでJRubyの感想部分しか頭に残ってない、残念…

JRuby

  • 面白いけどruby,javaといったりきたりして混乱する
  • その上、例外おきるとわけわからない
  • RubyからJavaをnewするとなんだか遅い
  • NetBeansだとRuby,Javaの交互のデバッグができて便利

日本Rubyのリファレンスマニュアル2008・初夏(青木峰郎)

kshにまた負けたorz…Rubyのトラウマ
るりまの最新版がここで公開されている!

状況

  • 去年、メソッドエントリー全部そろう
  • メソッドカバー率31.2%!!!
  • tkとsoapぬきだと52.0%!!!ww
  • 組み込みライブラリだけだと97.2%でほとんど終わっている状況
  • sheepman++ 圧倒的なcommit数
  • Redmind導入
  • システム改善
    Ruby言語仕様が表示可能 
    メソッド検索もwebからできるように

予定

  • 6月内に1.8.7対応を出す
  •  

  • 組み込みライブラリを100%
  • クラスリファレンスをtk,soap抜きで100%目指す
  •  

  • rexmlを合宿で撃破
  • C APIリファレンス
    まだ全く対応なし
  • bitclust
    HTTPサーバの立ち上げしないでも静的htmlで見られるようにする
    デザインの改善
  • ライセンス
    今は何かあったらメーリングリストに相談してねっていうライセンスになっている
    何とかする(CC?)

The future of Ruby in Mac OS X(Laurent Sansonetti)

appleの人
一人で、その上フルタイムじゃなくMacRubyを作ってる

hisaさんのRubyCocoa説明

     
  • 暇だったらからMac OS Xを勉強してみよう駆動開発
  •  

  • Cocoaのオブジェクト(NSObject)をrubyでアクセスしたいので拡張ライブラリ作った
  •  

  • なりゆきでRubyでmacオブジェクトを動かすもの(RubyCocoa)ができちゃった

Limechatはなぜrubycocoaなのか

  • ブリッジは使いたくなかったけど、RubyCocoaだけは特別
  • smalltalkから影響を受けているobjCもduck typing.似ているので、混ぜたときに困ったことがなかった
  • 安定して使える
  • objC使う理由はほとんどなく、RubyCocoaやMacRuby使えばいい

Rubycocoaがどう動くのか
Rubyから見えるようにプロキシクラスを作成して返す
objCの動的バインディング効果

  1. Proxyクラスをnew
  2. messageおくる
  3. 型の変換
  4. 例外の変換

で、String->NSStringな感じになる

RubyCocoaの問題

  • ブリッジ
    ruby,objC両方でオブジェクトの管理が必要だからメモリ消費すごくて、ディスパッチが遅い
    オブジェクト、例外が変換が必要
    無駄な複製をさけるためにキャッシュが必要
  • 構文
    objC引数の名前がメソッド名に含まれる
    Rubyと全然違う 
    ブリッジで置き換えてる
  • スレッド
    Rubyがスレッドセーフではないので、objCのスレッドコード使えない
    ネイティブスレッドではないので、スレッドごとにObjCが保存複製される
    -> 遅い上に不安定になる
  • メモリ管理
    RubyのGCがゴミ集めの間、メインスレッドをとめてしまう
    objC2.0のGCを使ったアプリだとRubyを使えない

そこで真打登場!MacRuby

  • objCランライム上のRuby実装な感じ
  • 変換無しでオブジェクト呼ぶから10倍は早いよ!
  • 高速なobjCディスパッチも使えるよ
  • Ruby1.9ベース
  • Rubyライセンス
  • 文字コードもたくさん対応
  • Xcodeで開発できる
  • CoreFundationべーすの実装を完了
  • Rubygems,Rails動くのを目指す
  •  

  • PureRubyなCocoaのAPI(HotCocoa.rb)もある
  • iPhoneだとobjCのGCないので載せるの難しい
  • Leopardにいつ載るかは分からない
  • RubyCocoaに置き換わる予定はなし

Real-World Enterprise Ruby(大場光一郎・高井直人)

いきなり写真撮るわ、スーツのコスプレした漫才やるわで面白かったw
内容自体は、泥のように働くという日本のSierでどのようにRubyを使っていけるようになったかという話
CTCは2006年からRubyに取り組んでいるらしい  

どうやって上を説得したか
× → Rubyをキメると気持ちよくなる、生産性が高い
○ → 新規顧客、案件の獲得

JavaをRubyに変えるだけだと儲けにはならない
Javaで取りこぼしていたものを補えるよと言って説得

実績はどうするか
他社で実案件を通して経験を積んだらしい 

見積もりは?
Javaと同じ方法で見積もり、FP法で規模を算出し実績値を収集して精度を上げていっている

開発者の補充
トレーニングを用意しているらしい。3日くらいでできるって(*´ω`)

技術支援は?
Javaの経験積んだ人であればコードレビューだけで大体大丈夫らしい

開発環境
個人的にはemacsだけど、NetBeans6(インストーラーがあるので)
 
運用の問題は?
データセンターで検証しているので大丈夫

Rubyって大丈夫って言われたら
役員クラスの後援者を見つけよー

その他
導入すると意外とうまくいく
必要なものはすべてお膳立てする
想像ではなくFP値とかデータで説得 
Mongrelはプロセス1個だと負荷どれくらいで落ちるとかなどのデータを出す

Q&A

  • Rubyでっていう客がいる?
    小さいニーズに答えられてないところをついた
    小さい案件もとれるような道具を使いましょうよと説得した
  • 自分の足を撃てるRubyは大丈夫
    動作を保証するのはテストですよと、開発じゃないよと
  • 保守は大丈夫か?verの問題はないか?
    保守部隊がいるから大丈夫 

このエントリをはてなブックマークに登録 このエントリを del.icio.us に登録 このエントリをlivedoorクリップに登録 add to Yahoo Bookmark

Jun 24

ものすごい久しぶり更新
いやー子育てって大変ですねー(言い訳
というわけで、RubyKaigi2008行ってきたので今更ながらAttendeeのロゴ張ってみる

総評としては、行って良かった!!
MacRubyやる!!勉強会行く!!転職s(ryということでした

内容は
はてなブックマーク - タグ rubykaigi2008
みていれば大体チェックできるけども、せっかくメモってたので書いておく
以下は1日目に聞いたセッション内容のまとめ

かなりあやふや+かなりの脳内補完ききまくりなのでごめんなさい
明日にも続きます

基調講演(まつもとゆきひろ)

  • LispもPerlも梁山泊ができていて、Rubyも梁山泊ができつつある(というか既にある?)
    技術者が集まり最高の技術ができていく
  • Rubyでできることは他の言語でもできる
    David ThomasがRubyを選んだように、何かが違うからここにいる
  • Rubyは言語仕様が複雑だから実装がMRIしかないとPython陣営から言われたけど今ではPythonよりも実装多いよ
  • JRubyこわいよ(つд⊂)
  • Perlは化け物w
  • Rubyの今後としては、namespaceやopen classに対応していきたい
    ruby上で動いているRubiniusのようなコンパイラを守るとか
  • また、よりよいプロファイラやイメージベースide、アクターモデルプログラミング(Erlangに対抗)も考えていく
  • 楽天の人からローマとフェアリーの発表
    • ローマは分散処理のシステム
      サーバを追加したら自分のものに取り込む姿がローマっぽかった
    • フェアリーは分散処理
      複数にデータが散らばっていても、grep打つと内容をmergeして返してくれるらしい
      mapreduce作ろうとしたらもっと複雑なものがあるということでこんなんなっちゃったらしい

成功するRuby教育のプラクティス(吉田裕美)

  • 社内勉強会を開けば、自分自身も成長するし社内勉強の習慣が根付いていいよ
  • 実習に関して
    • ペアプログラミングで行う
      個人個人のスキルの差をペアで埋めあいできる
      一人でもくもくコード打つより活気が出る
      悩んだらすぐ相談できるので実習時間が長くならない
    • テスト駆動開発
      最初にクラス単位のRSpecテストコードを与えて、TDDでコーディングを行わせる
      クラス単位なので作った気にもなるし実習時間が長くならないらしい

RSpecによるRailsアプリケーションBDD事例(Yugui)

Railsでちょめちょめなシステムを作り直した話

  • Seasar, Seasar.net,Railsの選択肢の中で、Railsを選んだ理由はyuguiさんがRubyもRailsもソースを見て知っていたから
  • RSpec、Selenium、Selenium IDE
  • ペアプロは火消しには本当に効果ありそう
  • 「お前は何もわからんのだから黙ってろ」

Rubyで快適に連投する11の方法(ujihisa)

  • mixiに連投しまくり
  • vimスクリプト内にrubyのコード書けるよ

Lightning Talks

「JavaからRubyへ」について、どうしても言いたいことがある (桑田 誠)
ソースコードを置き換えるのではなく考え方をRuby式に置き換えろー

dRubyとセキュリティ (西山和広)
$SAFE_LEVELをきちんと設定してセキュリティ対策しよ
DOSは防げないのでRlimitなどで別途対応
写真とりまくりw

RubyとODEでピタゴラ装置 (佐々木竹充)
3Dの発表すごすぎw
全然アーキテクチャとか頭はいらなかった。RubyCocoaでwiiリモコン操作できるようにしているよとかは言ってた気がする

初級者は Enumerator の夢を見るか? (今井伸広)
初心者each使いすぎ
each_slice,each_consとかあるんだから適宜使おうよ

Rubyで楽しむフォークプログラミング (Webアプリじゃないよ蝙) (高山征大 (mootoh))
プラグインを書くと気軽に書けて使ってもらいやすいからいいよ

Ruby.pm - CライブラリとしてのRuby (藤 吾郎)
RubyKaigiなのにPerl(゚∀゚)キタコレ!!
PerlからRubyのオブジェクトを呼び出せるよ
Cygwinでしかまだ動かないけど、Ruby.pmをつかってね
 
toRubyでみつけた Rubyist人生再出発 (池澤一廣)
今回のかくれ主役
ワープロ喫茶->awk->perl->rubyと進んできて?、周りにRubyistが誰もいなくて困っていた末に関さんが同郷だと知りメールを送ってtoRubyを初めて人生が変わった話
なんか泣きそうになった

Ruby 1.9 on Rails 2.1による新時代DBプログラミング (松田明)
DBプログラミングは古代→近代→現代と進んできた
古代:phpで生SQLごりごり
近代:O/Rマッパー(カオス)
現代:ActiveRecord(実際の業務で使うとカオスに)

なう:names_scope登場
   可読性が高くなった
集合演算がDSLで書ける
Rspecも書ける

テストベースコードリーディングのすすめ (遠藤侑介)
コード読むときにgcovとかでカバレッジ実行して読むと、バグつぶせる上に実行したところの
周囲を読めるのでおすすめ
PHPがテストカバレッジ低いからおすすめw

A Jail Web Development with Rails 2008 でわっふるわっふる (竹迫良範)
アプリケーション側でエスケープしてもブラウザ固有の脆弱性とかでXSS防ぐの面倒だから
Apacheモジュールのmod_wafulつくったよーという話
takesakoメソッドw面白い

Industrial-Designed Language: Ruby (斎藤ただし)
壊れて資料映せず口で発表!あつい!
Rubyは良い工業製品
アフォーダンスが素晴らしい
Rubyは名前を付けるのが重要というコミュニティ
Matzの屍を超えていい言語を作りましょうw

このエントリをはてなブックマークに登録 このエントリを del.icio.us に登録 このエントリをlivedoorクリップに登録 add to Yahoo Bookmark