デブサミ2008行ってきた

13日、14日と開催されたデベロッパーズサミットに参加してきました。
どの発表も盛況で、イベントの注目度がうかがえました。
以下参加したセッションの簡単なメモ。

一日目

普通のRubyプログラマに贈るRubyプログラミング講座

Ruby本書いたりやRuby標準ライブラリ書いたりしてる青木さんRubyの話。
曖昧にしてるところや知らなかったことが多く、参考になりました。

  1. protected
  2. pとpp
    • pはprintfデバッグ用。ppはその強化版。
    • to_s・・・オブジェクトを文字列に
    • inspect・・・デバッグのために使う
  3. unlessとuntil
    • unlessはif not、untilはwhlie not
    • 選り好みせずいろいろな制御構造を使おう!→意図を正しく伝える
  4. クラスと名前空間
    • ネストは深くしすぎないようにする
  5. ファイル名とクラス名
    • ファイル名はそのファイルの中でもっとも重要なクラス名を使う
    • ネスト構造をディレクトリ構造に反映する
    • 関連するクラスは1つのファイルにまとめる
  6. 大クラス主義
    • いろいろな仕事を1つのクラスにまとめる(ex. Arrayは配列、スタック、キューなどいろいろな用途の機能を持つ)

ここまでが第一部で、第二部は動的プログラミングな話。
Javaで言うところのリフレクションAPIのような感じ。

次世代ウェブフレームワークの幕開け〜ステートフルはじめました/君が僕を望むなら僕は君を忘れない〜

id:Yoshioriさんのステートフルなお話。資料は配る意味があったのか疑問。

Wicketがステートフルを実現した形になっているというのは意識していませんでした。

いよいよ現実となるRIA on Desktop。君はこの流れについてこれるか?

個人的に一番興味があったAdobeの中の人によるAIRの話。
デモの紹介をしたり、Flex Builderとかで簡単に作ったり。
デモのアプリケーションはカッコいいし、いろいろ利用方法が考えられるけど、問題はどうやってカッコいい素材を用意するかですよね。

JavaScript Tips & Technique

id:amachangによるJavaScriptの話。
どんな内容でも話せそうなタイトルにしたとのこと。

  • 初心者向けの言語はもちろんJavaScript
    • 作ってすぐに公開できたり、環境が充実している。
  • JavaScriptは[]と()ですべて表現できるオブジェクト指向言語
  • 関数言語的なこともできるけど、速度的にあんまり意味がない。
  • お勧めのライブラリ
    • JQuery
    • Ext JS・・・大規模向けな硬いライブラリ。GUIに強い

プログラミング言語は哲学といわれることがあるけど、ここまで突き詰めれば確かにそうだと思いました。

二日目

ネット・コミュニケーション2.0

別名「竹迫アワー」。
ネットで先進的なことをやっている人たちがいろいろ話をしてくれました。

  1. ニコニコ動画が生まれたわk」
    • id:koizukaさんによる在宅勤務の話。
    • 現在ドワンゴでも在宅勤務しているけど特例
    • 在宅だとプライベートな誘惑が多いのでどうやって生産性を高めるかというと、やはりコミュニケーション
    • ネットで文字列でコミュニケーションすると情報が欠落する→たまに出社してリアルを補完する
    • ニコニコ動画で大切なのは認識の共有とプロトタイプを常に公開しておくこと
    • コミュニケーションパスが多いと大変なので極力減らす
  2. DeNAモバゲータウン開発の裏側」
    • DeNAの松内さんの「DeNAテクノロジーセミナー行ってきた - public static void main」の内容をもうちょっと浅めにした話
    • エンジニアが疲れているときはメンテナンスさせない→人為的ミスで日記データの1/4が消えたことあり
    • ミニメールの情報を見るツールを作った結果、14,15歳の女の子に一日350通のメールを送る35歳男性を発見
  3. 「Twitで行こう!」
    • CHEEBOWさんによるTwitの開発の話。
    • TwitはDelphi7で作成
    • Twitの歴史はTwitter APIの仕様変更や不具合との戦い
    • Twitter APIに問題があってもTwitが文句を言われる
    • いろいろ裏技的な方法で問題解決を図っている
  4. 「コミュニケーションを加速するコミュニティサイトWassrを高速に開発するためのコミュニケーション技法について」
    • id:tokuhiromさんによるタバコ部屋コミュニケーションをどうやって実現するかの話
    • 毎日帰りの会と名前をつけて1時間いろいろと話をする
    • 毎日社内勉強会
    • Javaと違ってPerlはコーディング規約をぶっちぎる人が多い→コードレビューを行うことで品質を均質に
    • こういう時間を確保することで、共有されていなかった重要な情報が共有できるようになった
  5. 「秋月VFD量産計画によるコミュニケーション促進」
    • yappoの大沢さんによるWiiFitとかのデバイスを使った発表・・・になる予定だった
    • perl ./devsumi2008.plを実行するもなぜか動かず→ターミナルが応答しなくなる→いろいろやってるうちに時間終了
    • 全員の発表が終わってからもう一度発表→会場大受
    • バイスサミット
  6. 「地域コミュニティに国境はないかも」
  7. 「ネットウォッチ2.0」
    • id:otsuneさんによるネットウォッチ術の話。
    • 巡回を手動でやっているとその分寿命が縮む
    • 機械で出来ることは機械に任せる→Plaggerとか
    • エゴサーチで反応を見る
  8. 「Asiajinでみるエンジニアの海外進出」
    • 秋元さんのAsiajinの事例から海外に情報発信するためのノウハウ的な話
    • Asiajin・・・日本のサービスなどを英語で海外に紹介
    • 日本にアルファブロガーはてブがあるように海外にもそういうものがある(digg, del.icio.usなど)
    • この辺りに浮上させることが海外進出する上で重要
    • 日本語がサイトに一文字でも入っていると避けられる
    • ネイティブチェックは重要でない→コミュニケーションをとることが重要
  9. CodeReposにうpすることは恐くないよ」
    • id:cho45さんによるCodeReposを使うことのメリットの話
    • ちんこ演算子でググってください
    • OSS開発で昔、「パッチが送られてきた→放置」となっていたのが、「それコミットしといて」となった
    • 開発に参加するとライブ感が楽しい→参加しないとわからないのでぜひ参加しましょう
  10. 「"involve", NOT "evolve"」
    • あまのりょーさんによる勉強会とかのtips的な話
    • 勉強会をやれる予算のある上司を巻き込む
    • morning bee
    • キャッチーな名前が重要
    • 定期的ではなくゆるくやる

id:youzakaいわく、ネットとリアルの境界が非常に曖昧な空間。
どの話も実践できればもっとネット社会を豊かにしていけると思いました。

全体的な感想

会場によっては携帯やPHSの電波が非常に弱く、Twitterにあまり書き込めませんでした。
スタンプラリーなどで企業やコミュニティのブースを回ったのですが、いろいろ情報が手に入ってよかったです。Sonyさんのテレビ向けウィジェットが、実況やニコニコをテレビにくっつけたりできるのでは、と夢を感じさせてくれました。ToDo:Apache Geronimoの導入検討。
オライリーのTシャツが欲しかったので、2日目に行こうと思っていたのですが、すっかり忘れていました。