いつでも発展途上

猫と珈琲とゲームが大好きです。ITエンジニアらしいです。メモ代わりにいろいろ書いています。

2011年は、Rails3を使おう!〜masuidriveに学ぶ に行ってきました

1/12 に開催されました 2011年は、Rails3を使おう!〜masuidriveに学ぶ に行ってきました。
Rails3 について概要がざっくりわかり、なかなか良かったです。懇親会には出られませんでしたが…
追記:当日のつぶやきをまとめました。http://togetter.com/li/88929

以下、自分用メモです。ちっともまとまっていません。

1. Rails3情報源の歩き方 @knsmr

  • ASCII, @IT, Matzの追っかけ, Google, そしてRails
  • 英語圏だと情報がすごく多い
  • エンジニアはもちろん英語を読めたほうがいい。TOEICはペースメーカー。800点後半で講演がわかるなど
  • まずは公式サイト, Screencasts おもしろい, Document/Guides 他の本はいらない?! APIリファレンス, 公式アナウンス
  • EdgeRails はちょっと更新が止まってる
  • もっと追いたい人は公式リポジトリ github rails/rails
  • 公式BTSはスパムが増えて追いづらい
  • Githubは宇宙! Rubyコミュニティはつながる。PHP島宇宙
  • ウォッチャー数とフォーク数が人気度の指標
  • よさげなプラグインは Asakusa.rb できく
  • Ruby Toolbox ジャンル別に検索できる
  • それってRails3で動くの? メジャーなものはけっこういける
  • Screencast が豊富。Railscasts は毎日更新, 文字で読みたい人は ASCIIcasts, 公式サイトにRails3で変わったことガイドがあるので必見!
  • Rails for Zombies
  • Rails3 cheat sheets
  • Ruby on Rails Turorial PDFのほうが読みやすい
  • 公式 Rails Wiki 和訳は追いついてない
  • Confreaks カンファレンスをウォッチする
    • RubyConf, RailsConf, RubyKaigi RuRuKo
  • OSSは人が作る
    • Railsコアチーム紹介。Ruby Commiters (yaml)
    • DHHは面白い。地元で愛されるイタリア料理店を目指せ
    • Matzにっきではうっかり重要情報が。。
    • Yehuda Katz 熱いパッション
  • 海外のオンライン媒体。RubyInside おすすめ。Engine Yard ブログ, 息抜きにRuby Quicktips
  • はてダのRuby, RailsRSSに登録するのもいい
  • るびま
  • ML: Ruby on Rails Talk 流量多いので検索する
  • StackOverflow もよい
  • RailsBridge コミュニティ?
  • Rails勉強会東京, 関西
  • 日本語による情報は少ない!@ITRails Hub でやっていく

2. Rails3を使おう! @masuidrive

  • おさらい, Railsの歴史
  • Rails の特徴 CoC, DRY, MVC, Full stack, Generator : Write less code
  • Rails 1 から 2 になって使う人が増えた。1のころはRubyプログラマ自体が少なかった。
  • Rails 2 で変わったこと: RESTful, JSON, security (えらい先生に吊るし上げられる), 多言語対応, パフォーマンス改善
  • Rails 2 の問題。複雑すぎる(コードが多い)、遅い、プラグインがすぐ非互換になる、環境構築(レンタルサーバにない、依存関係が厳しいなど)
  • 2のあとの流れ。Yet another Rails 的な
    • Sinatra シンプル
    • Merb + DataMapper モジュール差し替えの自由があるが不安定(非実用)
  • Merb gets merged into Rails in 2008. モジュール構造、Plugin API, MatzRuby以外でも動作する
  • Passenger: Apache モジュール。1サーバで複数Railsアプリの管理もかんたん
  • Heroku: Railsクラウド. Railsを基盤としてビジネスする人の増加(米)
  • そして Rails3
    • Sexy になった = きれいに書けるようになった。hash 渡し→メソッドチェーン
    • フルスタックだがモジューラブル
    • Arel: ActiveRecordの新しいクエリエンジン。SQLのところを抽象化
    • Bundler: gemの管理。
  • Rails 2 を Rails 3 へあげるべきか?
    • 最新のRailsは一番いいRailsプラグイン対応、安定性、マイナーバージョンを飛ばしてあげるのは大変 2.3→3.0のうちにやるべし
    • 3.0.3以降で安定してきた by アーロン
    • モジュール構造になるとメソッド呼び出し回数が増え、どうしても遅くなる。3.0.2以降で改善
    • ActiveRecord: ActiveModel, SQLAdapter, Arel(ここだけいじって速度をあげた。モジュール化の恩恵)
  • 2からのコード書き換え
    • テスト書いてないなら諦める(会場、私もふくめ、意外にテスト書いてない人が多い)
    • まず 2.3.8 にupgrade。ここでつまづくなら諦める
    • プラグインがRails3に対応してるか?を確認する。未対応で書き換えできないと難しい。製作者にバグレポート出すなど
    • config/*, config/routes.rb, app/models/*
    • 書き換えに役立つ資料。Rails3 Upgrade Handbook
    • 達人出版会で「はじめる!Rails3」を出すらしい @takahashim
  • Rails 3 でかわったところ
    • User.find --> User.where
    • 表記の省略がおおい。すっきり書ける
    • Bundler 簡単にコマンド1つでインストール。関連gemを全部いれてくれたり
    • ERb: default HTML escape
    • ActionMailer の位置づけ
    • script/* ---> rails *
    • respond_to :html, :json, respond_with(@hoge)
    • ActiveRecord の lazy loading
    • 3でプラグイン非互換が減るかも、とかいろいろ期待される
  • Titanium mobile の宣伝がありつつ終了
  • 質疑応答
    • Q.Ruby のバージョンは? A. 1.8.7 (1.9 も試してはいる)
    • Q.Rails1 で動かしてるのはなぜ? A.終了したプロジェクトで工数をかけられない

3. Rails技術者認定試験のご案内

  • 日本には100万人のITエンジニアがいる。うち Rails は2.8%, 希望者 24% ギャップは最大
  • Ruby の成長率は高いが仕事数は Java よりまだ低い
  • ITトレメに模擬問題を出す予定
  • Rails のバージョンアップは早いので書籍は出さない(赤字になるから)
  • Rails 試験がほしいという声が多いらしい
  • Web上の教材を Rails Hub にのせる予定

年頭のご挨拶。

少し遅ればせながら、明けましておめでとうございます。
とかいいつつ、今年は、あんまり新年という感じがしていません。
むしろ、去年の激動が、まだまだ継続中な気がします。
なので、このまま走っていきます。今年も、どうかよろしくお願いいたします。

今年は、いろいろありました

気づけばもう年の瀬。
2010年は、激動の一年でした。
公私共に、いままでのルールが通用しなくなる出来事がいくつも起こり、そのたびに戦術の変更を迫られました。そして、自分がいかに戦略なく生きてきたか思い知る一年でもありました。
一方で、たくさんの新しい出会いがあり、そして旧交の大切さも知ることができました。
人との繋がり、そして戦略。
これらがいざというとき、いかに支えになるか。
それを知ったこと、それが2010年に私が世界から得たものです。
お世話になった皆様、ありがとうございました。まだ見ぬ来年も、どうぞよろしくお願いいたします。

DevLOVE HangarFlight に参加してきました

12/18 の DevLOVE HangarFlight - Winter Sortie - (Togetter) に行ってきました。
年末の総決算?ということで、とっても中身の濃いセッションが詰まっておりました。私が参加してきたのはこちら。

ユーザー系システム子会社での内製化の取り組み

個人的にもっとも興味深かったセッションです。「システムのことを何も知らない、そんなシステム子会社に存在意義があるのか」というおはなしをされていましたが、存在意義を問われているのはむしろ SIer のほうだと感じました。意識の高いユーザ系子会社が増えることで、より厳しい競争にさらされることになるのでしょう。

Pragmatic Excel Technics - モダンなExcel活用の原則と技法

Excel を嫌うのはやめよう、ツールは使いよう、というお話。ロジックとデータを分離する話、DSLExcel 方眼紙を使いやすく、など濃いお話山盛りでした。質問できなかったのが少し心残りですが、Excel に対する見方が変わりそうな良いお話でした。

Google App Engineの勘所

GAEでシステム構築するときにハマりそうなことの共有。GAEについてはあまりよく知らなかったので、全編ためになるお話でした。「中小や個人が大規模エンタープライズにリーチできるよ」という夢のあるお話が印象的。

ビアバッシュ+LT大会

全部で20本近いLTがありましたが、どれも熱い内容ばかり。DevLOVEの恐怖を思い知ることに・・・僭越ながら、私も1つ(英語の技術文書を読む会のこと)お話させていただきました。ありがとうございました。

まとめ?

結構tsudaったので詳細は Togetter を見ていただきたいのですが、年末を締めくくるにふさわしい中身の濃い内容だったように思います。今年は DevLOVE のおかげでとても有意義な経験をさせていただきましたし、通常では決して得られない人との繋がりを得ることもできました。
本日の参加者、およびスタッフのみなさまのフライトがぶじに成功しますように。
BGM: The Sky Crawlers - final sortie

英語の技術文書を読む会 を開きました

言いだしっぺとなったので、会場を取って開催させていただきました。参加してくださったみなさん!ほんとうにありがとうございました。
ちなみに開催の動機は、

  • 英語が苦手なので技術者としてやばい気がする
  • 何か学習のきっかけがほしい
  • そして、せっかくなので、実際に読みながら慣れていきたい
  • それには読書会が最適ではなかろうか!

ということです。
記念すべき(?)第一回のお題は、Android Developers Guide - User Interface でした。進行は、

  • 事前に和訳のたたき台を用意しておく(今回は私が実施しました)
  • 1パラグラフずつ読む
  • 読んだことを話し合う。意味のわからないところを質問したり、たたき台について突っ込んだり

という感じで行いました。
で、やってみての感想ですが、やはり一人で読むよりも大勢で読んだほうが、ずっと理解が早く、深くなりますね。特に今回は Android エキスパートと英語構文に強い方がいたため、とても助けられました。また、たたき台掲載用 Wiki を用意してくれた方がいたため、事前にたたき台を参加者が把握でき、かつ当日の成果を共有できましたし、積極的に進行をしてくれる方もいたりで、ほんとに自分は場所を用意しただけという…(笑)
また、陰ながら支えてくださった DevLOVE のみなさまにも、多謝を。

こうして少しずつ、我々はまだ見ぬ世界に踏み出していくのですぞ。

DevLOVE Agile Development in Action に参加してきた

11/18 に DevLOVE: Change The Future「Agile Development in Action」 に参加してきました。
詳細はリンク先を見ていただきたいのですが、アジャイル開発の「事例」に関する2つのたいへん興味深い講演を聞くことができる会でした。ちなみにわたし個人のアジャイル経験はたいへん乏しく、

  • 10年前に、XP の雑誌記事を頼りにやったペアプログラミング
  • つい最近、知らぬ間に体験していた Scrum っぽい開発(3ヶ月ぐらい)

ぐらいしかなく、普段はアジャイルとは程遠い生活を送っています。なので、今回実際にアジャイル開発を体験されている方のお話が聞けるということで、興味しんしんでした。
Youtube講演動画が見られるようです。以下、個人的感想です。日がたってしまったので、ちょっと記憶があいまいです。。あとで書き足すかも。

Agile66 〜新人研修でガチでアジャイル

66人の新人さんたちにいきなりアジャイルを体験させた、というお話。かじとりは大変だっただろうなぁと思いましたが、期間を重ねるごとに新人さんたちが慣れていくさまが印象的でした。若いうちからアジャイル開発…彼らにまかれた「種」が大きく実ることを願ってやみません。
詳細は、発表者の @daipresents さんの blog を。スライドもあります。

アジャイル開発を始めてみませんか

現実に走るプロジェクトでアジャイルを実践したよ、というレポート。経営層やお客様への説明、メンバーの教育(研修や読書会)、走りだしてからの調整、すべて用意周到に(そして楽しみながら)実践していく…すごく迫力ある現場レポートで、リーダーの @miholovesq さんのアジャイルに対する深い理解を感じました。

アジャイルをテーマにしたLT大会

どれも素晴らしいLTでした。が、スライドなしの飛び入りLTがとくに印象的でした。いきなりアジャイルで見積もってくれ!と言われて調べました…という臨場感のあるお話。飛び入りとは思えない見事な話しぶりで聞き応えがありました。

個人的に得られた収穫

まず、アジャイルは夢物語ではなく現実のものなのだ という確証が得られたこと。これは大きいです。そして、まず自分が勉強しないと現実にアジャイルを浸透させることはできないな、とも実感しました。

IA100読書会に参加してきた

11/16に IA100読書会〜素敵なUIを作るために〜 に参加してきました。(Togetter)
IA100 とは「IA100 ユーザーエクスペリエンスデザインのための情報アーキテクチャ設計」のことで、この本には情報アーキテクチャについての 100 の知見が散りばめられています。よい本なので、4人一組で好きなところを読んでいき、感想を話し合って実際の業務にも生かしましょう、という感じの会です。
一章一章がひとくちサイズで読みやすく、見やすいイラストもあり、おまけに著者の長谷川さんによる熱い解説まで(その場で)いただけて、静かですがかなり充実した読書会でした。主催者のみなさま、ありがとうございました。
以下は、私が座った卓で読んだところと、それに対する個人的メモです。

1. 情報アーキテクチャとは何か

まずは基本をということで。IA とはデータの集まりを「情報」に変える技術。「編集」にも近い。情報をわかりやすく見せることができる人は、情報を把握している人。だから、アーキテクチャ(建築家)と呼んだ。

22. コンテクスチュアル・デザイン

コンテキスト(文脈)に着目したデザイン。ユーザの行動について、10〜20人の関係者にそれぞれ2時間のインタビューを行い把握する。実現は難しそうだが、つぼを押さえて実行すれば「なぜこのUIにしたのか」の根拠を説明するときに使えそう。

41. ユーザーへの提供価値定義

コンセプトをわかりやすく決めておくことの重要性。キャッチコピーを模造紙に書いて貼っておくとか。製作で迷ったら、ここに立ち返る。

55. サイト訪問へのきっかけ

サイトへの入り口はいろいろある。訪問者は、積極的に情報をさがしている人だけではない。ログイン必須かそうでないかでも差がある。

92. Webエコシステムから考えたページデザイン

直前に読んだ 55. の具体例みたいな章。検索エンジンから、RSSから、間違ってくる場合も。それぞれの場合を考えておく。

26. ペルソナ法

データから導きだされるユーザ像をもとにしてデザインする手法。さいきん流行っている。現状のデータに基づくのか、将来的にターゲットとしたいユーザをペルソナにするのか? で議論に。ペルソナを作ることで発見されるユーザも居るかも! 実践している人も話をぜひ聞いてみたい。

42. ロードマップ

Webサイトは一度つくって納品すると終わりなことが多い。二次開発などをにらんで一度に全部つくろうとせず、保守やソース管理も考えるとよい。SIでは当たり前の話が改めて強調されていることに新鮮さを感じた。デザイナーさんの感覚を知るためにも重要なところかも。