Developers Summit 2012: 2日目

Developers Summit 2012: 1日目 - すぎゃーんメモに引き続き、入社3日目だけど(ry
断片メモ

  • 【17-E-2】Ruby PaaS「MOGOK」 〜 ソフトウェアエンジニアのためのクラウドサービス 〜 (藤原 秀一さん)
    • heroku使ってるヒトがそこにシフトする感じもあまりしないしどうなんだろう?
    • herokuとの違いについて直接質問させていただいた
      • 現状ではあまり違いはない
      • IIJの他のサービスと連携しやすい、国内にあるためレイテンシは少ない、など
    • (herokuは日本近辺の場所にサーバ置かないんでしたっけ?)
      • どのように実現するかも含めて現在計画中、とのこと
    • (そこが達成されてしまうとますますMOGOKの優位性が…)
    • (そもそも日本人専用サービスでも無い限り日本に置く必要ないか)
  • 【17-A-3】スマートフォンにおけるHTML5実装の最先端 (@tkihiraさん)
    • 今日はスマートフォンに限った話
    • HTML5: HTML + JavaScript 豊富なAPI
    • 描画能力の向上
      • Flashとほぼ変わらないレベルのアニメーション
    • Webアプリ機能の拡充
      • application Cache, local storage
    • しかしネイティブアプリにはかなわないものも
      • 3D
      • 音楽
        • 制限が多い
          • タイミング調整がシビア
          • タッチされたタイミングでないと再生できない
          • WindowsPhone, iPhoneは同時に2つの音源が鳴らせない
      • 速度
    • 描画手段
      • Canvas
      • SVG
        • Android2系列でサポート外
      • CSS3
        • 基本的にGPU Support
        • 同時に動く物体数が増えると急激に重くなる
        • ブラウザバージョン間、端末間の非互換がひどい(特にAndroid)
    • メリット/デメリット考えて判断
      • Canvas
        • シチュエーションに応じてアニメーションが変わる
        • 同時に動くものが多い
      • CSS3
        • 1枚もののアニメーション
        • 同時に動くものが少ない
    • JavaScriptの実行が重い理由
      • アルゴリズム
        • 設計が悪い
      • JIT
        • eval, クロージャの生成を疑う
        • JSLintなどで発見できるはず
      • GC
        • コレが一番の肝
        • AndroidでFull GCが走ることがある
          • 数秒単位で止まる、シャレにならない
        • V8は世代別GC
          • なるべく新世代のうちに参照を切る
        • iOSは、メモリが足らなくなると落ちる…
    • メモリとの戦い: 王道編
      • 何度も使うものはあらかじめ確保
      • 上限決まっているなら初期化時に上限まで確保しておく
        • GC回数を減らす
      • とはいえ効果の確認が難しい
    • メモリとの戦い: 邪道編
      • 実機上でのメモリ使用量を確認したい
    • 実機でのプロファイル(自作している)
      • 関数単位でのcount, total, self
      • どの関数を対象に取るか指定可
      • タイミングを指定可
      • サーバに結果を送信
    • 実機でのデバッグ
    • ngCore on HTML5 デモ
    • HTML5の将来
      • インストールソフトの時代は終わる
      • 将来あるべき姿は?と常にイメージしよう
        • どのようなコンピュータ世界か?
        • キーボードでの入力は要らなくなる、とか
      • 自分がそれを達成することができなくてもその未来を見据える
      • 10年後にも通用するために
    • Ask The Speaker
      • 初めてtkihiraさんとご挨拶できた
      • ハキハキと喋る、とても爽やかな方でした
  • 【17-C-5】攻めの運用の極意 (@riywoさん)
    • "アプリケーションはインフラであり、インフラはアプリケーションである"
    • 性能管理、メトリクス、監視
    • コンポーネント」で考える
      • 構成管理
        • スペック、役目、ステータス
      • 情報収集
        • "あらゆる"数値がどうなっているか 継続的に集める
      • 設定管理
        • 設定を監視する
      • 可視化
        • あらゆる事項を見やすく
    • Touryo(棟梁)というのを作った
      • 設定管理特化ツール
      • 正しい状態を定義する
      • Chefはデカすぎ、カスタマイズがつらいのでPerl
      • blueprint, attribute
        • xslateテンプレートと、適用すべきパラメータ
      • test書ける, runで実際に走らせる
        • Ukigumoでテスト
      • 構築が容易になった!
    • Touryoを作った背景
      • Chefは良いとは思うが
        • 構成管理を既に別システムで行っていた
        • testしたかった dry-runは欲しい
        • 各clientからでなく中央からキックしたい
      • 自分で作った方が解決に近い場合もある
        • 周りにアプリ書ける人たくさんいるし
    • コンポーネント間を"つなげる"プロトコルを決めよう
      • それを満たせば他をいじらず入れ替えられる
      • 言語に依存しないHTTPベースのAPI
      • 絶賛開発中 どなたか一緒にやりませんか!?
    • アプリケーションはインフラである
      • システムは成長する。作って終わり、は有り得ない
        • そうじゃないと面白くない!
      • 「動くもの」でなはく「動き続けるもの」を作る
      • Velocityというカンファレンス 動画もあるので観てみて
      • Operational Mentality
        • "本当に怖いのは対立じゃなくて無関心"
      • 自分の仕事を無くすことが目標じゃない
        • 「運用しなくていいシステム」よりも「運用が楽しくなるシステム」を作ろう!
      • 開発と運用が同じ文脈で話し合える文化を作る
    • おわりに
      • 「船を造りたいのなら、作業の割り振りなどより前に広大な海を人々の心に伝えること」良い言葉
      • まだまだ海は広い 船は足りない
  • 【17-C-6】ライターズ・フィロソフィー―IT業界で書いて食っていくひとたちの哲学をきこう
    • @g3akkさん
      • 契約の期限、地震などの影響で仕方なくフリーランス
      • 重要なチカラ
        • 基本的な社会人としてのチカラ
        • ゆるくつながるチカラ
        • 仕事を選ぶチカラ
      • クビになるというのはすごくつらいこと
      • プロとして普通に仕事していれば外でも通用するはず
        • そうでないのなら中でも通用していないのでは?
    • @knsmrさん
      • 「記す者」だけの価値は暴落
      • 台頭しているのは「少人数によるブログメディア」「サービスでレバレッジを効かせるメディア」
      • メディア = 容れ物 + コンテンツ
        • 紙 -> Web -> Webサイト(イマココ) -> Webサービス -> Webコンテンツ(?)
      • 「コードの読み書きできないITジャーナリストに未来はあるの?」
      • Railsでサービスを作った
      • 会社でもサービスを作るようになった
      • @ITで新QAサービスを今春リリース!
    • @jniinoさん
      • 米国でブログメディアブーム、年間15000円で立ち上げ 超低コスト!
      • バナー広告などで500万弱の収入
      • 既存のメディアはコストがかかりすぎている
      • 優秀な人が組織を離れてメディアで生活できるようになったらもっと多様性が拡がって楽しくなる
    • パネルディスカッション
      • 「自己プロデュース、してますか?」
        • 会社も「媒体としてもスター記者が育たないと」という意識を持っている
      • 「今後のおれたちはどうなる?」
        • 皆さんも盛り上げてくださいね
        • ライターもみんなフリーランスで良いんじゃない?
          • キャリアパスとか給料とか考えるの大変
          • そういうふうになれるスキル身に付けていくといいですね
        • 10年あれば何かできる!
  • 【17-B-7】ソーシャルコーディングの世界 (@a_matsudaさん)
    • Social Coding
      • githubの標語だしお題が難しいw
      • 最初は"git repository hosting"だった
      • 何故githubはただのリポジトリで終わらなかったか?
        • "Ruby"と出会った
        • カルチャーの相性
          • 人間にフォーカス、などの文化、思想がマッチ
          • 「キメると気持ちいい」(by Matz)という言語的特徴
          • 皆でキメてトランス状態に!w
    • Social Codingのbefore, after
        • before: 人間->コンピュータ の"機械の言葉"
        • after: 人間->人間 の"人間のためのもの"
    • プログラミング言語が自己表現、コミュニケーションの手段に
  • 途中で抜けてC会場へ、、
  • 【17-C-7】From Legacy to Agile 〜レガシー開発からアジャイル開発へ〜 (@regtanさん、@kwappaさん)
    • レガシー開発の現実
      • SIの人けっこう来てる
    • 開発スタイルをレストランに例えると?
      • レガシー <=> アジャイル
      • フルコース <=> お客さんとコックさんが会話しながら一品ずつ
    • レガシーの現実の数々
      • 伝言ゲーム、DocumentDoriven、開発標準
      • "開発は辛いもの"
      • 「失敗する前に」アジャイル
    • Q「結局会社を移ってますよね? レガシーな現場からアジャイルな現場に変えることはできないとお考えですか?」
      • A「変えられると思っています。ただ、それに労力をかけ続けられるほど人生は長くないと考えました」
    • アジャイル誤解あるある
      • 1時間立ちっぱなしstand up meeting
        • 長時間やらないためのstand upなのに
      • ドキュメントは意外と書くよ
      • ペアプロの生産性は?
        • やってことある人にしか分からない
        • 品質を考えれば価値はあるはず
    • 見積もりとスケジュールの話
      • だいたい当たる、というところを目指す
      • 外れたときにどうする、を考えよう
    • 仕様変更は誰が悪い?
      • お客様? マネージャー? エンジニア?
      • そもそも誰も悪くない、そんなことを考えない
    • アジャイル関連書籍 4冊
  • 飲み会
    • 終了後、@t_wadaさんを囲んで@Jxck_さん、@bad_at_mathさん、@vanx2さんたちとしゃぶしゃぶ
    • 色んな人たちが後から合流して色々お話できて楽しかった

感想

近い分野のヒトからあまり関連のない分野のヒトまで色んな人のお話、考えていること、熱意、などを聴けた。すべての内容が将来の自分のためになったかどうかは分からないけど、きっと何かのときに繋がると思うし 会場に行ってそういったことを感じることができて良かった。
自分もこういう場で何かを誰かに伝えることでコミュニティに恩返しできるようになりたい。