YAPC::Asia 2015 に行ってきた
YAPC::Asia 2015 の前夜祭と2日目に行ってきた。
前夜祭
技術ブログを書くことについて語るときに僕の語ること
ブログでブクマ数を稼ぐには、という話だった。
なるほど、という感じでとてもおもしろかった。
-
ブログはタイトルが大事
-
投稿タイミングも大事
- 平日の朝が良い
- 金曜の夜にテンション高く書き上げても、すぐに公開せずに一旦寝かせる
- 平日の朝が良い
1日目
不参加
2日目
ISUCONの勝ち方
isucon のための tips や チューニング方法についてのお話。
とても勉強になった。isucon 出たい。
-
準備
- 同僚や元同僚など、一緒に働いたことがあるエンジニア同士でチームを組んだ方が良い
- sysctl.conf や my.cnf などの秘伝のタレは、どこかに手順と一緒にまとめておくなりして、すぐに適用できるようにしておく
- できればプライベートリポジトリを用意しておく
-
当日について
- 7時間は意外と短い
- 最初の1時間は、課題、レギュレーション、アプリケーションを理解し、戦略を立てることに使う
- 最後の30分で、サーバを再起動しても動作する事を確認しておく
- 最初の状態をまず git に push しておく
- こまめに commit して、問題が起きたらすぐに戻れるようにしておく
- 諦めたら、そこで終了ですよ
-
チューニング
- sysctl の修正は基本的に最初にやっちゃう
- web サーバのログを解析して、ベンチマークツールの動きを知る
- アクセスが少ないポイントを頑張ってチューニングしても効果は少ない
- どれだけエラーは許容されるのかを把握する
- mysql のデータ構造 B+Tree を頭でイメージする
- strace, tcpdump, top, iftop, iotop などのコマンドを使えるようになっておく
- 特にスペックの低めなマシンの場合は、 apache よりも nginx の方が CPU のコンテキストスイッチが少なく済むので向いている
我々はどのように冗長化を失敗したのか
式年遷宮アーキテクチャの思想を持ってシステム構築して、最終的にどうなったのか、という話。
試行錯誤した体験を発表されていて、すごく良い話だった。
インフラの話は本当におもしろい。
Speaker Deck にすでにスライドが上がってるので、それが詳しい。
Adventures in Refactoring
GitHub の中の人による、リファクタリングの話。
とにかくためになった。
-
正しい振る舞いを keep していくことが大切
-
コードを減らすのが、良いリファクタリング
- 10行減ったら、それだけバグが減る :hocho:
-
リファクタリングの理由
- Developer の Happiness のため
- 性能向上
- 将来の作業に向けての自信を得る
- developer の教育
-
メソッド名(動詞)を名詞にしてクラスにするというアイデア
-
メソッド名にアンダースコアが入っていたら、それはオブジェクトにできるかもしれない
pull.branch_valid?
->pull.branch.valid?
-
既存のバグ
- リファクタリングをやっている時にバグを直すべきではない
-
大きなリファクタリングはリスク
- 細かく区切っていくことが大切
-
Deprecate
- _oldとか作る
- 後方互換を持たせる
- たとえば gmail が AB テストしている時に、古いデザインに戻れる機能をユーザに提供しているように
- github/scientist を使う
-
feature の開発とリファクタリング、どちらを優先するかの基準は?
- リファクタリングせずに、その feature の開発をすることに自信がもてるかどうかで、どちらを優先するか決まると思う
-
テストが無い時は、まずテスト書いてからリファクタリングするべき
Profiling & Optimizing in Go
Google の中の人による Go の話。
emacs でコードを書いてターミナルでコマンド結果を見ながらの発表という感じだった。
自分の知識不足でわからないことが結構あって、 Go もっと勉強したいと思った。
- ベンチマークの取得
- Go には
benchcmp
というコマンドが同梱されていて、それを使ってベンチマーク結果を比較してどれだけ改善したかを見れるらしい
- Go には
Lightning Talks Day 2
どれも面白くて、LTらしくて勢いがあって良かった。
まとめ
今年は1日目に参加しなかったので、昨年に比べて、あっという間に終わった感じだった。
今年は会場が東京ビッグサイトで、去年の慶応日吉キャンパスとはまた違う雰囲気だった。
YAPC::Asia 今年で最後ということで残念だけど、今年も楽しかったし、聴いたセッションは全てとても勉強になるものだったので満足。
最後に運営の皆様、本当にお疲れ様でした!