デブサミ2010
二日目だけ、参加してきました
強く印象に残ったところだけ書きます。
当日の発表資料は下記にどんどん追加されていくようです*1。
【19-B-3】三周遅れのXP -僕とドワンゴのXP-
id:Yoshiori さんのTDDの話。個人的に一番刺さったのはこの発表でした。
- タイトルについて
- 1週目はケントベックが道を作った
- 2週目は角谷さんたちが道を広めた
- そして今僕たちは三週目(だから正確にはタイトルは間違っていて、二週遅れ)
- 3週目の僕たちは高速道路を作る
- 「XPの4つの価値」を実現するための方法
- コミュニケーション(チームで気軽にコミュニケーションできるように"おやつ神社"というのがある)
- シンプルさ
- フィードバック
- 勇気
- TDDとは(極端に言えば)
- 開発手法であって、テスト手法ではない
- リファクタリングできれいなコードにしていくための手法
- 結果として(副作用として)品質もあがる
- 参考:
- TDD で伝わりにくいこと
- UnitTest になってしまって、網羅的にテストケースを書いてしまう
- 自分の不安な箇所に対してテストコードを書いてテストしていくので、UnitTestではないよ
- 開発のためのテストであって品質のためのテストではない
- UnitTest になってしまって、網羅的にテストケースを書いてしまう
- 社内でTDD写経会
- ペアプロの有効な点
- コードの共有ができる
- ○○さんが書いたソースだからわからない><というのはナシ。
- コードはチームのものだよ
- コードの指摘は人格批判ではないよ(指摘されると凹むけどそれは良くするための指摘だよ)
- とはいえソースを晒すのは結構大変
- 新人にはブログを書かせる
- 晒しなれ(?)させる
- 返信とかもブログでやる
- CIの話
- Hudson使ってるよ
- SLOW TEST 問題(テストケースの完了までにとても時間が掛かる問題)
- (DB周りで圧倒的に重くなったので)ローカルでのDBのはオンメモリDB*2にすることで緩和
- insert や update でのテスト以外はテーブルのリセットをしないようにした
- 実DBのテストは CI でテストすることでやることにしてる
- 見積もりと計画
- イテレーション
- 進捗管理
- ホワイトボードにタスクの付箋を貼る
- Tracにも書くけど、一目でわかるように、紙の付箋とホワイトボードで実践
- 自分の仕掛り中のタスクを自分の名前のところに移す。(ここのタスクがずっと残っている場合は見積もりが間違っているかハマッているかがわかる)
- バーンダウンチャートで時間を可視化
- 正直に書く(ちょっとここらへんもう少し詳しく聞きたい)
- その他
あと、スライド内のこのセリフが突き刺さりました(別のサイトから引用)。
「わたしは“結果”だけを求めてはいない。“結果”だけを求めていると、人は近道をしたがるものだ…近道した時真実を見失うかもしれない。やる気も次第に失せていく。大切なのは『真実に向かおうとする意志』だと思っている。向かおうとする意志さえあれば、たとえ今回は犯人が逃げたとしても、いつかはたどり着くだろう?向かっているわけだからな…違うかい?」(殉職した警官)第59巻
ジョジョ・名セリフ集
だから!ぼくは!三週目・・・もしかしたら4週目を走るであろうぼくからはッ!この言葉を送りたいッ!
「ミスタあなたの『覚悟』はこの登りゆく朝日よりも明るい輝きで『道』を照らしている。そして我々がこれから『向うべき…正しい道』をもッ!」(ジョルノ)第55巻
ジョジョ・名セリフ集
【19-B-6】実践Cucumber 〜ユーザの視点でシステムの振る舞いをテストしよう
id:moro さんによる Cucumber の話。
Cucumber In Practice
View more presentations from Kyosuke MOROHASHI.
【19-B-7】次世代Web標準 HTML5 最新動向
HTML5の話。
- なぜHTML5 なのか
- Webの使われ方が大きく変わった(動的なページの更新など)
- プラットフォームが安定していなかった(実装がブラウザによって異なる><)
- 新しい機能
- マークアップ編
- cnvas, audio, video, ...etc
- DOCTYPE や charset を簡略化(古いブラウザでもちゃんと動く!)
- フォームが拡張された
- input の型(textとかpassword)が増えた
- 属性が拡張された(autofocusとか、"検索項目を入力してください"みたいな、テキストフィールドに灰色で書いてるヤツとかが実装されるとか)
- 入力項目のバリデーションなど
- canvas タグ + 2D Context でJSで描画できるようにるようになった
- 描画されたオブジェクトはImmedietable なので画像と同じ感じになる(描画後のオブジェクトをグリグリ動かせない)
- アニメーション等の場合は毎回描画する必要がある
- でも 2DContext は軽いから結構イケる
- audio, video は img と同じ感じで動画などを表示できるように
- API編
- WebStrage
- localStrage(永続的に保存される)
- sessionStorage(セッションが終わったら消える)
- web Worker
- 別スレッドで動く感じの機能
- DOMは直接触れない(逆に、ロジックと描画部分を分離しやすくなる)
- Application Cache, online/offline
- どのファイルはキャッシュしないか、というキャッシュの設定ファイルを作り、タグからその設定ファイルを読み込ませるだけ
- window.online = function... とか、 window.onffline = function で、オンライン時とオフライン時の挙動を変えられる
- WebSocket
- 全二重の双方向通信が可能
- WebStrage
- 今とこれから
- LTのまとめ(若干ついていけなかった)
- その他
- FireFox3.6 では File API で複数のファイルを選択できる(input タグに multiple を付ける)
- 竹迫さんのLTの安定感は異常w
まとめ
デブサミに参加して今年で4年目になりました。月並みな言葉ですが、ものすごい刺激というかパワーというか、そーいうのを貰ってます。
参加した事ない人はぜひ、来年は参加してほしい。本当に思う!