投稿者: yanoshin

  • なぜかアクセス増大

    きのう6月9日だけ、なぜかこのブログのアクセス数が増えている… なんでだろう

    特別なにかエントリーしたわけでもないし。うーん、わからん。

  • 参考:「Google のエンジニアはどうやって開発しているのか?」

    へ?たのめも」 さんとこのエントリーにあった「Google のソフトウェア・エンジニアリング 」を発見。Google Developer Day Tokyo での鵜飼さんのプレゼンがわかりやすくまとめられていました。

    最近、あるきっかけで異様にGoogleへの興味が沸いてきているのですが、その理由はおそらく企業としての興味というよりも中の人たちの文化的な部分に対する興味なんだろうな、と実感。

    いくつか注目した点をピックアップ。

    Google のプロジェクト・チーム

    • 開発はデザイン、コーディング、テスト、改善、デモの運用まで上流から下流まで同じチーム(同じ人)が全部やる
    • チームは少人数 (2?6人)。これ以上に増えると、プロジェクトのフォーカスを絞ってチームを分割

    2?6人っていうのがバランスがよさそう。なるべくフォーカスは絞ってシンプルでコンパクトにってことですね。

    Google のソフトウェア・ライフ・サイクル

    • アイデアが出たら、Design Doc と呼ばれるドキュメントを書く

    Design Doc

    • Google で必ず書くことになっているドキュメント
    • プロジェクト立ち上げ時の 1?2週間をかけて書く。ある程度ポイントが書けたら、もうコーディングへ。
    • 一般的にはあんまり長くない。詳細を書かなきゃいけなくなったら、それはまた別プロジェクトになることが多い
    • Design Doc の内容
      • プロジェクトの背景、目的
      • おおまかな設計(コードを見ただけでは判らないような、アーキテクチャ)
      • プロジェクトの参加者(このプロジェクトに関して、誰に連絡を取ればいいのか)
      • セキュリティやプライバシーについての考察(問題と対処方法)
      • テスト、モニタープラン(運用時の考慮。障害の発見と復旧手法など)
      • レポジトリ上の位置やサーバのアドレスなど
    • コードを書いていると解離していくので、できるだけ解離しないようにアップデート

    ふむふむ。 自分達はいままで「企画書」と呼んでいた部類のドキュメントのことですね。ひとりで取り組むことが最近多いけど、それでもやっぱりDocを書いて残す習慣付けをしていた方が、今後会社を大きくしていくためにも良さそうだ。

    自分の社内のプロジェクト管理に限らず、ちょうさん達とやっている「わくわくオープンラボ」にもうまく取り入れていけないかな。

    Google のコーディング

    鵜飼さんは普段、毎週 0?20個のパッチを書く。年間 3万5千行くらい。シニア・エンジニアやフェローになると、もっと書いていて、Google では、偉い人ほどコードを書きまくっている。

    ハンパねぇ?

    • ユニット・テストは必須。ユニット・テストを自動で実行するシステムもあり、テストが通らなくなると「直せ」 とメールが飛んでくる
    • "testing on the toilet"。テストに関する intergrouplet が、トイレの壁に 「テストのコツ」を書いて貼っている。単体テスト普及活動の一環。

    ユニットテストは大事。 おろそかにしてしまうことが多いけど、継続していくシステムの場合はユニット単位でのシステムのクオリティが重要だと実感。

    Google の開発方針

    • パフォーマンス重視(まず計測、とにかく計測、良いアルゴリズムの採用、コーディング・テクニックの積み重ね)。 Google グラフ書くのが好き。数値化重要。
    • スケーラビリティ重要(いずれは Google Product になるのだから当然)。 たくさんのマシンで並列化できるように
    • 信頼性(Google はマシンが大量にあるので、ハードウェアは毎日壊れる。レプリカを作ってデータは多重に持つ。 障害監視と自動的な障害復旧に力を注ぐ)

    模索中ではあるのだけど、シンプルで汎用的に使える数値化の基準とか、可視化の方法がないかとここんところ悩み中。 Googleくらいになるとノウハウが詰まってそうだから、こんど知人にノウハウを聞いてみよう。

  • ホッチリ

     

    電車の中で同じ車両だったおっさん、頼むから「レッド・ホット・チリ・ペッパーズ」
    のことを

    「ホッチリ」

    と呼ぶのはやめてくれ。

    それ「レッチリ」だ。

     

  • インパクって、どうなったの?

    2001年だっけか、政府主導で開催された「インターネット博覧会」略してインパク。 記憶からほとんど消えつつあったのだけど、
    ふとしたことで思い出してしまい。

    あれって、結局どうなったんだっけ? たしか110億円もの国家予算をつぎ込んだ挙句、「くだらね?」
    というネガティブインパクトだけ喰らわせてくれた記憶がある。
    結局、あれの終焉がどんなもんだったのかと。

    我々スタッフ一生懸命探しました。そしてね、見つかりましたよ、お母さん。URLが。
    http://www.inpaku.go.jp/

    …無ぇ(唖然)
    をぃをぃ、ネットって後々にも情報を参照できるってことがメリットなんじゃないのか?
     政府主導でネットに対する無知をさらけ出しておりますな。

    そんなときには、ドラえも?ん、タイムマシーン♪
    困ったときの”Wayback Machine”で調べたところ、見つかりましたよ(こんどは本当)
    http://web.archive.org/web/*/http://www.inpaku.go.jp/

    たしか、インパクが終わったのは2001年の12月31日のはずだから、
    ほぼ最後の状況ということで2001年12月1日のスナップショットを見てみた。

    http://web.archive.org/web/20011201043042/http://www.inpaku.go.jp/index.html

    (エンコードをシフトJISにしてね)

    …ショボ。

    とりあえず、目的は達成できたので、これでひとまず良しとする。(終了)

     

  • [メモ]iTunesでいま聴いている曲名/アーティスト名をSkypeのステータスに表示するtips

    MSNメッセンジャーでは「再生中の曲を表示」する機能があるのですが、
    その他のインスタントメッセンジャーに同類のものが無いことが不満でした。

    ググってみれば見つかるもので、Going My WayさんとFuck道場さんにまさにビンゴな情報がエントリーされていたので、
    お礼にご紹介。

    Going My Way:iTunes 聞いている曲を Skype のステータスメッセージに表示する方法
    Fuck道場:[Javascript]SkypeにiTunesで再生してる曲名表示

    基本的に、紹介されているJSスクリプトそのままなのですが、若干自分好みにカスタマイズ。
    曲が変わるたびに表示されるポップアップを非表示にしたのと、ステータスの表示の先頭に「♪[iTunes]」が付くように変更しました。

    var skype =
    newComObject(“Skype4Com.Skype”);
    var it = newComObject(“iTunes.Application”);
    var me = skype.CurrentUserProfile;
    while(true){
    with(it.CurrentTrack)
    //[変更]音楽を聴いてることがわかるように「♪[iTunes]」先頭に追加
    me.MoodText = “♪[iTunes]” + [Name,” /
    “,Artist].join(“”);
    //[変更]ポップアップ画面は非表示
    //print(me.MoodText);
    WScript.Sleep(60000);
    }
    function newComObject(lib){
    var obj;
    try { obj =
    WScript.CreateObject(lib) }
    catch(e){ obj = new ActiveXObject(lib) }
    return obj;
    }
    function print(s){ WScript.Echo(s); }