いたさんのブログ

rails to Niigata

TuneCoreのAlex Kaneさんの事例紹介。

主にインディーズのメディアファイルの配信(iTunes, Amazon MP3 etcへの)ビジネスなのだそうです。

1日に100のアルバムをリリースしているそうです。

フロント(アーティスト側)は通常のアカウンティングサイト。ただし、大きなファイルのアップロードは、mongrelではなくてmerbを使っているとのこと。

配布エンジンはほとんどRuby。ただしエンコード変換は外部、XMLのValidateはJavaだそうです。

メッセージキューをYAML形式で実装しAmazonのサービスを利用。

Amazon EC2を使って配信サーバーを動的に管理している。700のサーバーを起動するのに5分。ストレージはAmazon S3。

前田修吾さんの話。「Rails症候群」

  • protectedの多用(誤用)
  • 既存クラスの再定義をしたがる
  • Rubyが何だか知らない
  • 文字列とシンボルの区別がつかない
  • !の誤用

でも、Rubyのせいかも?

  • protectedは不要?
  • selector namespace/classbox

多様性を保証するためにも言語仕様を。

RubySpecはいいけど、政府調達には…ISO化も考えているとのこと。

Published on 06/22/2008 at 08:00 under . タグ ,

iKnowの開発者Zev Blutさんによる事例報告。

2週間のリリースサイクル。短い。

失敗談:ActiveRecord count/size/lengthの違い

失敗談:OpenIDの認証が遅くなった

失敗談:ファイルシステムext3の限界でキャッシュができない

継続インテグレーションツールKwalaのおまけつき。

食べログの京和さんの事例。

Windows/ASPからRailsへの移行だったのだそうデス。

メモリ喰い対策。

データベースの負荷分散。MMCはダメ。ActsAsReadonlyableで。

クエリーはテーブルを件数、ID、属性の3段階に分けてチューニング。

routeは書いていないがそれほど特別な事はしていない。大規模でも大丈夫。

jpmobileのしだらさん。

携帯向けアプリを作る上での数々の機能を、携帯キャリア・機種によらずAPIで提供。すばらしい。絵文字変換機能まで。

Published on 06/22/2008 at 06:40 under . タグ , ,

山本陽平さんによるRESTの話。

山本さん的にもっとも重要視するのが、アドレス可能性と接続性だそうデス。

リソース設計重要。ステートレスにこだわりすぎる必要はない。だそうで。

CTCの高井さんと大場さんがスーツで登場。

CTCのRuby関係売上は4.3億程度だそうです。

エンタープライズとは何か?業務!

SI会社にRubyを遣わせるためには、「開発者が楽しい」「生産性が高い」ではだめで、「新規顧客・案件の獲得」が武器に。

教育体制、SLCP2007開発標準(ISO/IEC 12207)、保守・運用フェーズサポート。

見積りはFC法で実績収集。Javaより3割から5割効率的。

Java開発者には3日のトレーニング。コードレビューがうまく行く秘訣。

検証センターで実証済み。

役員をパトロンに。

Published on 06/22/2008 at 05:56 under . タグ ,

artonさんによる、拡張ライブラリのためのRailsもどき。テンプレートからのScaffold生成。私は拡張ライブラリを書くことは多分ないと思うけど、便利そうです。

ごとけんさんの「さらに仕事に使うRuby」では、redMine活用に変わっていた点が注目。会社でも使ってみるか?

咳さんは「erbを偲んで」というタイトルは釣りで、GUIにおけるテンプレートとコードの役割についての持論を展開。ベンチマークの話は半分は拍手半分は爆笑。照れ屋の咳さんらしいですね。

途中から多目的ホールに移って、前田KさんのDSL話と、JUDEとRubyをつなぐ野村さんのLuRuJuの話を聞いた後、また大ホールに戻りました。

大ホールに戻ってよかったのがAppleのLaurent SansonettiさんのMac OS XでのRubyの話。RubyCocoaからMacRubyにいたる話は想像通りでしたが、ビックリしたのはMacRuby上でCocoaプログラミングを簡単にするHotCocoaなるライブラリを、*昨日*から開始したよと言う話。RubyCentralのRich Kilmerさんが協力して、一晩で320行のコードを実装。Cocoaを直接呼ぶよりはるかに簡単そうです。

さらにビックリなのが、Q&Aで明かになったこと。MacRubyでは、RubyのArrayやStringなどをObjective-Cのネイティブオブジェクトに置き換えているのですが、そのメソッド再実装などの力業をLaurentが一人でやっているということ。それもフルタイムではなく。

Published on 06/22/2008 at 05:11 under . タグ , ,

東大の増原さん。Ruby「で」プログラミングを教えているという話。

何でRubyか?

大学でのコンピュータサイエンス学科の人気低下。=>ハッカー以外の学生をどう惹きつけるか?

プログラミングを楽しく。(v.s. Java)

Yumi3は企業向けのソフトウェア教育。

「社内でRuby開発者を増やすには」自分たちで教えましょう。

実習はペアプログラミング!

TDD。だけどテストコードは講師が与える。

社内だけでなく、コミュニティでも教育をしましょう。

Yuguiさんは、RSpec によるBDD。

Subversionは共有フォルダ代わりになれさせた。

COM + ASP.NETの火消を諦めて、SeleniumとRSpecをツールにRailsで書き換え。

Yuguiさんたちのお手本がみんなに普及。

Published on 06/21/2008 at 08:02 under . タグ , , , ,

Ruby M17Nについて。

CSI方式<=> UCS Normalization方式

Stringはバイト列のまま、それぞれのStringのインスタンスがエンコーディングを持つ。

様々なRuby1.9のM17N機能の説明。

Martin J Dürstさんのコード変換機能の話。

変換のハブはUTF-8。バイト毎に2つのテーブルを参照。

Encodingを意識しましょう。Encodingに依存しないコードを書きましょう。Magic commentを書きましょう。だそうです。

Published on 06/21/2008 at 06:33 under . タグ , ,

まつもとさんの基調講演は「プログラミング梁山泊」。

LISPは梁山泊だった。

FORTRAN/COBOL/Adaは梁山泊ではない。(仕事の道具。技術より結果)

UNIXも梁山泊。

Smalltalkも梁山泊。

Java(の一部)も梁山泊。(LISPやSmalltalkの技術を吸収しながら進化し続けたJVM)

  • 技術者が集まる
  • 新しい技術が生まれる
  • 世界が変わる

Ruby梁山泊!!!

  • 感性を重視
  • 生産性を重視
  • 俊敏性を重視

多数の実装が生まれている。Smalltalkなどの技術も流れこみ始めている。

互換性はRubySpec。標準規格もつくる。(政府調達に必要!)

楽天との共同研究も紹介。(by 楽天)

ROMA(止まらない・成長する分散ハッシュ)

fairy(スケーラブルで妥当な速度の使いやすい分散処理)(MapReduceの真似ではない新しいもの)

Published on 06/21/2008 at 05:34 under . タグ , , ,

Evan PhoenixのRubinius。

ルーズでファンなコミュニティを心がけているとか。


class Rubinius < Smalltalk
  include Ruby::Syntax
  include Ruby::Behavior
  include GoogleSearch("crazy cs papers")
end

だそうです。

コンパイラをRubyで実装しているのが特徴ですが、コードもデータ(S式)に変換してコンパイルするのだそうです。

また、コンパイラにプラグインがかけるというのもおもしろい所。

コンパイラが出力したバイトコードをデコードして確認できる所が、実験的は便利そうです。

Cでかかれた拡張ライブラリをサポートするAPIを持っていますが、CRubyと違って別に管理されるオブジェクトだそうです。GCで移動加納というメリットはありますが、その代わり遅い。

マルチVMも実装済み。

Published on 06/21/2008 at 03:11 under . タグ , ,

JRubyはCharles Nutter。

デモ中心だそうで。

JRuby 1.1.3は30%高速化するとか。でもその話はさわりだけ。

JRubyでSwingプログラミングが簡単に。MonkeyBarsの紹介。

Java OpenGLを使った2D グラフィックライブラリの紹介。

音声に反応するグラフィックスのデモも、Javaのライブラリで簡単と。

最後にWebアプリの話。JRubyでもっと速くできると。

Deployはwarblerでwarにするのは簡単。GlassFishにデプロイするのもコマンド一発というデモ。Merbも同じようにデプロイ可能だそうです。

GlassFishのgemのデモも。

Published on 06/21/2008 at 02:41 under . タグ , ,

高橋会長の開会宣言は、今年のテーマの「多様性」。

The Day Zero(ビジネスデイ)もその一つだそうです。

午前中の司会はなんとまつもとさん。Rubyの『3大実装」の話です。

トップバッターはRuby1.9のささださんです。実装コアのはなし。

1.9.0-2リリース。毎月スナップショットを出すとのこと。1.9.1は12月20日を予定するということです。(クリスマスはゆっくりというまつもとさんの希望だそうで)

並列実行の取り組みやMVMについての研究を簡単に紹介。

RubyをCにコンパイル。学生さんの研究でもうすぐリリースされるとか。

並列分散プログラミングの研究とか。

Atomic Ruby(カスタマイズ可能なRubyの軽量処理系だそうで)の研究とか。

メモリ管理の見直しとか。GCとか。

Published on 06/21/2008 at 02:11 under . タグ

Powered by Typo – Thème Frédéric de Villamil | Photo Glenn