ITPro Challenge! 2008 見てきた
去年も面白かったけど、今年も面白かったな。
印象に残ってるのは、
- 川崎氏の「意図的にシステムの弱い部分を作っておいて、そこがダメになりそうだったらスケールアップする」という話
- あぁ、そういうやり方もあるんだなぁと思った。確かに全部潰れることは回避できるかもと。
- 奥地氏の「できないから、やらない」ではない「やらないから、できない」
- まさに自分のことを言われてる感じだった
- 宮川氏の「What are you coding?」
- 金子氏の「プログラミングしただけで犯罪」
- 話の内容自体も面白かったけど、このことについて懸念してるのが良くわかった。やっぱり研究者なんだなぁと
- ライトニングトークではひげぽん氏の「パフォーマンスを工数に入れる」
- これはよく実感することなので「グラフにする」ってことも含めて実際にやりたいなと思う
という感じかな。
あとは、弾さんと吉岡さんの微妙にかみ合ってない感が面白かったです。
来年もやるといいな。モチベーション上がっていい。
セミナー聞く→モチベーション上がる→プログラミング→もっと書けるようになりたいなぁでちょっと落ち込む→セミナー聞く
のループだ。
以下はメモ。
あとで動画配信されたらまた見よう
モバゲータウンをこうして作った - 川崎修平氏(ディ・エヌ・エー)
- モバゲーの話というより生い立ち
- パソコン少年だった
- ファミコンとかゲーム好き
- 大学時代にunixとwebの世界を知り、パソコンに再度ハマる
- フリープログラマとして
- ここで開発スピードと危機回避能力がついた
- オークション統計ページ(仮)を作成(現aucfan.com)
- 自分で作ったサービスで喜んでもらえるのは嬉しい
- 企業サイトと違って
- 奥さんの家に光を勝手に引いたり、ペンギンの筐体のPCを置いたり
- 「ペンギンかわいいから置いていいよね」的な感じで8台くらいに増えた
- フリープログラマとして
- その後
- ビッダーズ社員からメールで呼び出されそのままバイト
- 最初は分析とパフォーマンス
- 10個中1個当たればいいかという感じで3つくらい作った
- モバオク、モバゲー
- ビッダーズ社員からメールで呼び出されそのままバイト
モバオク
- 今の取締役「守安氏」に携帯用オークション作ってと言われた
- ゼロから作っていいよと言われたのでやる気up
- 開発に当たって
- 自分の好きなことをどんどん取り入れたかった
- サービスが成功してもヤフオクに流れないように
- 開発内容
- 絵文字の使い方が困難だった
- フレームワークから作成した
- SHM(shared momery)を使った高速リスティングの実装
- 困ったこと
- サービス開始当初は全然客が来なかった
- あてがあったのだけど、そっちからの送客もなかった
- 流行り始めたらサーバ増設が追いつかなかった
- 携帯特有のトラフィックでネットワーク危機が限界
- CDNで対応
- サービス開始当初は全然客が来なかった
- 驚いたこと
- ケータイユーザはものすごくページを見る
- ユーザと運営者の距離が近く、反応もすごく早い
- 問い合わせをtailしておいて、本番反映したらそこに不具合情報があがってくるとか
- 新規サービス開発の進め方
- 基本的に自宅開発で深夜作業
- 作業中は基本的に連絡もとらない
- 自宅サーバ上で開発中のサービスを公開しているので、他のメンバーはそこを見る
- ドキュメントなし、引き継ぎはソース見ろ
- 基本的に自宅開発で深夜作業
- 開発スタイル
- 運用の工夫
- 意図的に弱い部分を作っておく
- Apache1台に負荷をかけておいて、そいつがダメになったらサーバ増やすかという感じ
- 意図的に弱い部分を作っておく
ポケロト
- あんまり記憶にない
ポケットアフィリエイト
- 2週間くらいで開発
- 基本方針は自分が使いたいやつ
- 開発内容
- 安定
- 1年ぐらいは手を入れてない
- サーバはバックアップを入れて2台
- モバゲーの足がかりになった
- 安定
サービス作りの心がけ
- 自分が作りたいものを作る
- ユーザが使いたいサービスと一致するように訓練
- 初めに想定しておいて、実際そう使われたかどうかをフィードバックで確認
- こんなサービスが目の前に現れたらワクワクするという高揚感
- これができたら自分はすごいという問題設定
技術について
- ハッカーじゃない(なりたいけど)
- 自分のものづくりのために技術を習得
- 何かを思いついたらすぐに設計が頭に浮かんで実装できるようにしておく
- 枯れた技術で作れる部分は、枯れた技術で作る
- モジュール、ライブラリはできるだけ自分で書く
- すぐに対応できるように全体を把握しておきたい
ひとり開発だと
- 楽な点
- イメージ通りのものが作れる
- イマイチかもしれない機能も自分で作れるから試せる
- 辛い点
- ひとりよがりになる危険
- だんだん飽きてきて寂しくなる
こんな環境で作れるのが理想
- 作家と編集者のような関係
- 作る側:実績、信頼、愛情、責任感
- 任せる側:任せられるどうかを判断できる能力、適切なインプットと判断力
- 自分は集客力のあるサービスを作ることに専念して、苦手な所は専門家に任せられる
- サポートや営業など
質問など
- セキュリティは?
- iPhone対応は?
- 今「ここから先はケータイで」ってなるのが面白いのでとりあえずそのままでいいかなと
- LAN経由とかでも来るのでメアド認証になるから一段セキュリティのレベルが下がる
- これ以上は今はあんまり言えない
- モバオク、モバゲーの文化作りが大変と言ったけどどうだったの?
- モバオクはPCを混ぜないということで文化を作った
- モバゲーは、モバオクの気持ちのいいコミュニケーションを取ってくれるユーザに「新しいサービスできたよ」と案内して、気持ちいいコミュニケーションの土台を作った
- どうして成功したと思いますか?
- ケータイはランキングとか口コミが基本
- 友達紹介時にポイント付けたりとか
- モバオクは商品の質が良かったので、ある程度見てくれれば広まると思ってた
- モバゲーはよくわからない
- ケータイはランキングとか口コミが基本
- 他の技術社員は?
- 自分の作った物をメンテナンスしてくれる
- 新しいサービスも作ってる
オープンソースで育つエンジニアリング・スキル - 奥地秀則氏(nexedi)
- 一端のエンジニアになるには新しいことに挑戦しよう
- 注意事項
- 発表内容はあくまで一つの考え方
- 色んな人が居るから優越はつけられない
- 発表内容はあくまで一つの考え方
- 表のプロフィール
- 裏のプロフィール
- 1993年高校三年のときに初めてコンピュータに触れる
- センター試験前に先生に追い出された→ゲーセン通い
- 京大マイコンクラブ(KMC)で遊ぶ
- 1998年GNUプロジェクトに参加
- 2003年GRUB2を開始
貴重な人材になる方法
- あなたの存在が重要であるということ
- あなたの代わりを見つけるのが簡単ではないということ
- 方法その一:専門家路線
- 一芸に秀でる
- 条件:天才であること
- 短所:中途半端だと干される、理解されないことが多い
- 方法その二:複合路線
- 数種の分野に卓越する
- 条件:あきらめが良いこと
- 長所:安定しやすい
- 短所:立ち位置が微妙
- 方法その三:オールラウンダー路線
- 数多くの領域に精通する
- 短所:雑用係になる可能性
- 方法その四:汚れ仕事路線
- 誰もやりたくないことをやる
- 長所:案外儲かる
- 短所:やりたいことはまずできない
私の哲学
エンジニアへの適性
- エンジニアに必要な要素
- 優れたシステムを提供したいという熱意
- コンピュータの仕組みに関する知識
- プログラミング能力がなくては理解することはできない
- 実用性のあるシステムを構築する
オープンソースがスキルに与える効果
質問等
- フランスに行くきっかけ
- 知人の紹介でやりたいことと合致してた
- オープンソースばかりやってる会社だった
- 知人の紹介でやりたいことと合致してた
- 保険はなんだったの?
- 大学院やめたときはプログラミングで食べて行けるネタはあった
- 外国で働くことの苦労は?
- 外国で働くことよりもギークと働くということが大変だった
- 自分がすごいということをアピールしないと認められない
- ギャグ一つとっても言って良いかどうかわからないプレッシャーがあった
- 外国で働くことよりもギークと働くということが大変だった
- コンピュータから経営の方に興味が出たきっかけは?
- 自分はコンピュータにガッツリだった人間ではなく変化が色々あったからすんなり入った
- 新しいことができることの方が嬉しい
- 自分はコンピュータにガッツリだった人間ではなく変化が色々あったからすんなり入った
- 経営としての考え方は頭の動かし方が違う?
- 基本的にはモノの考え方は変わらない
- ルールがあって、例外があって、それを処理して
- 基本的にはモノの考え方は変わらない
- コンピュータは決まりきった動きしかしないし感情もないから人間とは違うよね?
- (コンピュータも感情あるかもしれないって雑談になった)
Why open matters - 宮川達彦氏(Six Apart)
- 自己紹介(ホームかアウェイかよくわからなかったので)
- サンフランシスコに住んでる
- でも車とかもないしシリコンバレーとかとはまた別
- エンジニア20人(うち日本人3人)、全体は100人くらい?
- 2006.11に引っ越し
- サンフランシスコに住んでる
- Agenda
- スピリチュアル系の講演をやってるはてなのid:naoya氏の去年の内容を見て、昔話などをすると良いかなと思った
- Open Source
- Open Community
- Open Platform
- Open Web
Open Sourceに出会うまで
- 1977神奈川県横浜生まれ
- naoya氏や、Six Apartの2人と同い年
- あんまり子供時代はコンピュータに触れなかった
- 父親が元プログラマだったからコンピュータはあった
- 1996に東京大学理科一類
- 1998情報科学科に最低点で進学
- 1999夏大学院入試落ちる
- ほぼ落ちることない試験
- 一日の数学全くできなくて二日目行かなかった
- ほぼ落ちることない試験
- 2000.03わざと1単位落として留年
- さっきの話(奥地氏)の「保険」をかけた
- 2000.04にオン・ザ・エッヂのデスマ案件
- 2000.11 CPAN Authorになる
- 初めにアップしたのは弾さんが作ったモジュールを汎用的にしてアップ
- MacIE用のモジュール(あんまり使ってる人いなかったけど堀江さんが使ってた)
- Linux Conferenceに参加
- 初めにアップしたのは弾さんが作ったモジュールを汎用的にしてアップ
- 2001.01にテクニカルディレクターとして入社
- 2002春 Sledge開発(2003年オープンソース化)
- バージョン1.1が4年に出てる安定したもの
- オープンソース化について
- モチベーションについて - CodeReposというmicro blogサービス(ネタ)
- What are you coding?
- Twitterで発言してるのと同じだと思う
- 言葉かコードの違いだけ
- 人間は自分のものを見てもらいたいというエゴがある
- 2003 CPAN#1 Authorになる(現在は3位)
- Software = People Credit counts
- こうやってガンガン出してくと「何か面白いやついるぞ」ってことになる
- 評価され信頼性が増える
Open Community/Communication
- 2002冬 第0次ブログブーム
- Movable Type
- Impressive clean code & pluggable architecture
- 他のアプリに比べてとても奇麗でpluginとかもよく考えられていた
- Causual use of XML and RESTy APIs
- トラックバックとか
- 自分もpluginとかのコードを送ったりした
- 2003.04 Shibuya.pm
- 2003冬 livedoor Blog
- 自分は1行も関わってない
- 2004 Blog Hacks
- その前にブログについて話して欲しいとnaoya氏に依頼したのがきっかけ
- それまでオンラインの付き合いんだった
- livedoor / Nifty 同業他社での共著
- 同業他社で繋がってるということが不思議な感じだった
- Open Communication Beyond Just Code
- その前にブログについて話して欲しいとnaoya氏に依頼したのがきっかけ
- 2004 October Six ApartのBenと食事
- 履歴書置くってと言われてCPANのURLを送った
- 次の日の朝に「コード全部見たから入って」と言われた
- 履歴書置くってと言われてCPANのURLを送った
- 2005 Jan. Six Apartに入った
- YAPCでの集まり
- Community = People Get involved.
- コードを書いて人と関われた
- Community = People Get involved.
Open Platform
まとめ
- 現在おかれてる環境にとらわれないで
- コードはあなた自信を変える(世界を変えるだと他で言ってるので)
- オープンな議論が財産になって行く
- CODING IS NOT A CRIME. NOT CODING IS A CRIME.
- コードを書くのは犯罪ではないって言葉があるけど、ちょっと言い換えて「コードを書かないのは罪だよ」と。
質問等
- ライトニングトークはどこでも行われるようになったね
シミュレーション的発想によるプログラミング - 金子勇氏(Dreamboat)
- 色んな所でWinnyの話はしたので生い立ちとか
自己紹介
- Winny作者
- プログラム作っただけで逮捕された人
- プログミングは本来趣味
- パソコンとの付き合いは長いけど仕事にはしてなかった
- ちょっとしたフリーソフト公開
- ここから発展して仕事
- 経歴
いったい何者?
- プログラマではない
- 英語が話せても翻訳家ではないのと同じ
- プログラムはアイディアの表現方法
- シミュレーション屋
シミュレーションとは?
- シミュレーション物理学
- 第三の物理学
- 複雑系などの検証(カオス系)
- 理論物理学:実験結果と矛盾しない理論作り
- 実験物理学:実験をして理論の検証
- 第三の物理学
発想の根源
- 自然科学的発想
- 簡単なモデルから複雑な事象生成を好む
- 仕様通りに動くのは楽しめない
- 自分で作ったものがどのように動くかが楽しい
- 簡単なモデルから複雑な事象生成を好む
- 作るプログラムは以外にシンプル
プログミラング方針
- 初期設計はあまり重視しない
- ベースとなる理屈は最も重要
- 基本モデルは簡単な方が良い
- そこから生み出される結果は複雑な方が良い
- 予想外の結果を重視
- 楽しい
- バグはバグじゃない
- 試行錯誤を重視
- やってみると動く
- 細かいパラメータをチューニングに落とし込む
- テストプログラムは捨ててもいい
- アプリ例
まとめ
- シミュレーションの面白さ
- 予想外の結果が出てくること
- その割に作るのが簡単
- シミュレーション的プログラミング
- 流れ
- 思いついたアイデアを最低限で実装
- テストラン
- 小変更(パラメータ)
- 大変更(根本)
- 離れた概念を組み合わせると面白いことができる
- 流れ
- 少しでも先に進むことが重要
- 一気に飛び越えようと無理をしない
- 初めに作るのは最低限のシンプルなもので良い
- 無駄なことをしない
- 如何に手抜きできるかが重要
- ポイントとなる箇所だけは手を抜かない
- プログラムの速度最適化と似ている
- 本来は何か思いついたらこまめに公開すべき
- フィードバックで色々変えられる
- 自由に公開できたら良いのだけど。。
- プログラムは表現手法
- 検閲しないようにしてもらいたい
- 自分の仕事は裁判に勝って「プログラムするだけで逮捕」という状況をなくしたい
質問等
- 今ゲームではシミュレーションが当たり前になってるけど何かネタはありますか?
- if文とかで判定せず、人工知能が面白い
ライトニングトーク
シンプルWEB基盤技術 - 柳瀬隆敏氏
- ブラウザのウィンドウは簡単に画面が切り替えられる
- GUIは簡単に変えられないからマルチウィンドウになってる
- JavaApplet + Swingで実装できる
Cutter - 須藤功平氏
ホワイトボード型CMS「SaasBoard」 - 久保田秀和氏
- Webをフリーレイアウト
- 文字や絵や画像が書ける
- Sprite
- マイクロコンテンツを統一的な方法で自由に配置
- idのついたdivに子要素のdivの入れ子
- コンテンツの参照方法はx,yをパラメータで持つ(固定URLも可能)
ギーク図書館 - 阪本真一(quill3)氏
- 引っ越し先に大きな図書館があって、そこに技術書がたくさん置いてあった
- 図書館のUIが最悪だった
- 3000件結果があるのに1000件までしか表示してくれないとか
- 機能
- 図書館のデータをぶっこ抜いてきて、Amazonから検索(画像とかも)
- タグ検索とか
- 新着図書のRSS配信
- これから
- 大阪府立図書館にしか対応してないので他の図書館にも対応したい
- 学んだこと
- 他人に文句言うくらいなら自分尾手を動かす
- 自分専用のサービスを作って公開
- 小さく作って大きく育てる
パフォーマンスチューニングの基礎の基礎 - 蓑輪(ひげぽん)氏
- Moshの開発絵の苦労した経験を元に
- 結論
- むやみに良いデザインを壊すな
- 最初にゴールを決める
- 計測
- パフォーマンスを工数に入れる
- やってはいけないこと
- パフォーマンスを後回しにすると作ってから使い物にならないとかある
- 「ここがいかにも遅そうだから」はダメ。計測して確かめる
- 短いサイクルをまわす
- 開発時は良いデザイン、良いコードに専念
- 計測
- チューニング
- 計測を半自動化して楽しくする
- グラフを描くと一目瞭然
- いつから遅くなったか、いつから早くなったかがわかる
エロ目ジェネレータのすべて - 原田均氏
- 顔写真をエロ目にするWebサービス
- OpenCV+PythonのCGI
ならべて/narabeでの英語サービス挑戦 - 秋元裕樹氏
- 日米同時リリース
- やってみたかった
- 成功よりもやってみたかった
- ganchiku.comの世界をまわるフリーランス大野氏が開発
- 日米リリースについて
- 開発はsymfonyの機能で補完
- 文化の違いを気をつけた○とチェックとか
コモンズ・マーカーができるまで - 星暁雄氏
- 任意のページにコメントを付けられて、そこに自動スクロールしてくれる
弾さん
- まとまらない感をみなさん持ち帰ってください
吉岡さん
- 技術は教えれるけど、スタイルや気持ちはコピーできないからそういうところを押さえてくれればいいな