ikemonn's blog

技術ネタをちょこちょこと

CROSS2014に行ってきました!

CROSS2014について

現場に聞く!テスト/CI/DevOps、実際のところどうなの

概要

cross.md

Webサービス開発現場から / 近頃の開発のやり方 ・・・ Github と Pull Request とコードレビュー

それぞれの会社のCIについて

クックパッド:

  • 2010年ごろはcronでCI
    • コードレビューをやるためのコストがかかってたので殆どやってない
    • テストはこの時からあった
  • 2012にGitHubいれた
    • 「pull reqいれて開発をしたらどうなるんだろう?」って興味からやり始めた
    • GHEも出たこともあり始めた

はてな

  • TDDとかははてなダイアリーの記法のところを作る時に始めた
  • はてブのリニューアルがテストを書き始めた時にあたる(2013年初期にリニューアルされたので、2012年中頃から?)
  • 実装して2分後に本番繁栄とかしていた
  • 開発していくにつれ、テスト全然動かないけれども開発しなくちゃいけない状態になった
    • 昔のテストを全部取り払って新たに書き始めた
    • この段階で皆Jenkins使えばいいと分かってたのでCIも一緒にまわすようになった
    • 「みんなCI回していこうぜ」って風潮がWeb業界にあって、それに刺激されて書き始めた

KAIZEN:

  • CircleCIを使ってる
    • 自社にサーバを持ちたくない
  • CIが当たり前になった人と当たり前になってない人の差はもっと大きくなっていきそう
  • CIの良さは実際にやってみないと分からない

テストについて

テスト考2014 - Hidden in Plain Sight

はてなブログ

クックパッド:

  • 会社でテストの基準について→「全ユーザに影響のある実装に対してのテストは書こう」という基準がある
  • コードレビューの時には「テストで何をしているかが伝わりやすいか?」 「わかりやすいか?」を見るようにしている

KAIZEN:

  • モデル、ビジネスロジックはテストを書くようにしている
  • そろそろE2Eでブラウザを使ったテストをしないといけない(クライアント→サーバ→クライアントまでのテスト)

ブラウザのテストは、cross browser使えばいいのでは?

Cross Browser Testing Tool. 300+ Browsers, Mobile, Real IE. ( http://www.browserstack.com/ )

  • いまどきのWeb関係の仕事はテスト書くの当たり前

クックパッドには開発基盤グループがあってテスト環境の整備などをやっている

  • A/Bテストを簡単にするにはどうしたらよいか?
  • テスト速度の最適化

普通の会社だとCIしたり、テスト書けない

  • CIしたりテスト書いたりする専用の人をおけば良いのでは?
  • テスト書く組織やCIする専用の組織を作るのが良いと思う

「開発者の生産性向上」というミッションを掲げた組織を作ることがこれから大切になってくるのでは?

  • はてなもクックパッドもここ2,3年でテストやCIするようになってきた
    • テストを行うためのツールも揃ってきているので、やりやすくなっている

情報共有について

はてな

  • はてなグループでブログを業務中に書きながら仕事をしている
  • メールすることは殆ど無い
  • 「隣のチームがJenkins使っているらしいぞ」→「ブログをみてこっちでも取り入れよう」という流れがリアルタイムで起こる

クックパッド:

コードレビューCROSS ~ぶつかり稽古2014初場所

概要

はてな

  • 設計をまずやりとりしてからコード書く
  • はてなブログはエンジニア4人(サーバ3人+アプリ1人)
  • ペアプロ、レビューを一緒にする

KAYAC

  • テーブル定義を一旦決めてから実装することが多い
  • ロジック等は不自然ではなければ、指摘しない
  • メソッド名や引数の順番SVOCとかを指摘する
  • サーバ、クライアント共に2,3人くらい
  • インデックス張ってあるか?
  • 1~2年目+ベテランという組み合わせで開発

技術書の未来はどっちだ!

cross2014-compbook-in-future.md

Packt Publishing、The Pragmatic Bookshelfが最先端の技術書を出している。

Packtはオンデマンド印刷:注文があってから1冊ずつ作る →ニッチな技術書が月何十冊とだしている

日本でも受注生産が流行ってくるのではないか? →値段が普通の書籍よりもかかっているので、値段を下げれるかがポイント

電子書籍はお金的には、紙の本と同じかそれ以下になってしまうが自分の意志で出せるのでありでは。 →編集者がいないのでモチベーションを高めるのが大変

達人出版社は開発中だけど、ただのリポジトリじゃなくて本のデータのコミット権やPull Requestをやりとりできるようなのにしたい

オライリーアトラス