PHPでもモダンでスケーラブルな開発を DevLOVE現場甲子園2013発表資料

12,815 views

Published on

0 Comments
23 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
12,815
On SlideShare
0
From Embeds
0
Number of Embeds
45
Actions
Shares
0
Downloads
12
Comments
0
Likes
23
Embeds 0
No embeds

No notes for slide

PHPでもモダンでスケーラブルな開発を DevLOVE現場甲子園2013発表資料

  1. 1. PHPでも モダンで スケーラブルな 開発を E IV L SE EN C. IN S 2013.11.09 DevLOVE甲子園
  2. 2. PHPでも モダンで スケーラブルな 開発を E IV L S SE EN C. IN
  3. 3. PHP全然下火だね ぶっちゃけRailsでしょ∼ だってレガシーコードだよね? なんか人生無駄にしてね?
  4. 4. 圧倒的
  5. 5. var me = { /** * self_introduction.js * * それはソフトウェアを顧客に届ける猛々しきプロフェッショナルだ。 * たとえプロジェクトがきわめて過酷な状況であろうと、 * かつてなく手ごわい期日であろうと、成果をあげる力量を備え、 * しかも品格と平静さを失うことがないのだ。 * * Jonathan Rasumusson『アジャイルサムライ』より */ var profile = { "name": "島川悠太", ! ! ! ! ! ! ! "birthday": "1982年5月7日", "hometown": "千葉県市川市", "location": "千葉県市川市", name : 島川悠太 , "twitter": "@banana_umai", "motto": "Keep It Simple, Stupid!", "message": hello world", twitter : @banana_umai , belogns_to : 株式会社リブセンス ! } "works": [ { "duration": "2005年から2008年", "company": "独立行政法人食品総合研究所", "role": "助手" }, { "duration": "2008年から2013年", "company": "株式会社ぐるなび", "role": "システム開発" } ], "favorite_musicians": [ "渋さ知らズオーケストラ", "七尾旅人", "Zazen Boys", "Giovanni Mirabassi" ], ! "favorite_beer_brewery": [ "ベアードブルーイング", "ヤッホーブルーイング", "木内酒造" ], ! "hobby": null }; !
  6. 6. 現場の話
  7. 7. Livesense Inc.
  8. 8. Livesense Inc.
  9. 9. 企業が人々を選ぶ時代を 人々が企業を選ぶ時代に
  10. 10. 業界最大、クチコミ約225万件 業界最大のクチコミ数で業界独走へ A社 ユーザーが多いサイトにクチコミが集まり、 クチコミが多いサイトにユーザーが集まる。 業界最大のクチコミ数で業界最大のユーザー数を目指す。
  11. 11. Environment
  12. 12. Linux, Apache MySQL, PHP mroonga, memcached
  13. 13. Symfony1.3 (MVC Framework) Lime (Testing Framework)
  14. 14. Process
  15. 15. Planner * 3 Programmer * 3 Frontend Engineer * 1 Designer * 1
  16. 16. Iteration Meeting Daily Standup Weekly Retrospective
  17. 17. Pivotal Tracker でバックログ管理
  18. 18. Confluence でナレッジ/ドキュメント共有
  19. 19. Stashで コードレビュー
  20. 20. Jenkinsで 常時ビルド
  21. 21. デプロイツール ジョニー・デップロイ
  22. 22. Issues
  23. 23. メンバー数の増加と スケーラビリティ
  24. 24. PHPでも モダンで スケーラブルな 開発を E IV L S SE EN C. IN
  25. 25. スケーラブルって?
  26. 26. スケーラビリティ リソースの量に比例して全体のスループッ トが向上するシステムはスケーラブルな (scalable)システムまたはスケーラ ビリティのあるシステムと呼ばれる。
  27. 27. メンバーを投入することで生 じるコミュニケーションコス トを上回って、どれだけ開発 ベロシティを向上させること が出来るだろうか?
  28. 28. KAIZEN
  29. 29. 技術的負債の棚卸と イテレーションサイクルへの組込み
  30. 30. 1. スローテスト 2. ナレッジ共有 3. チーム
  31. 31. スローテストへの対応
  32. 32. CIサーバのハードウェアを高性能なものに変更する CIサーバを複数台で構成する CIサーバのディスクをSSDに変更する テストで利用するデータベースをインメモリDBにする テストスイートを分割する データベースを利用する箇所をモックに変える 外部システムとの連携テストの箇所をモックに変える テストで利用するデータベースを最小データに保つ SeleniumやWatir等のブラウザを通したテストだらけにしない テストの独立性を高める。他のテストに依存させない テストを同一マシン上でも並列で動作するようにする テストケースのsetUpメソッドを効率化する http://www.ryuzee.com/contents/blog/4520
  33. 33. DI可能な設計 Mockフレームワーク利用
  34. 34. Symfony1.xの壁
  35. 35. ナレッジ共有
  36. 36. ドキュメントの改善
  37. 37. 仕様書としてのテスト
  38. 38. Limeの壁
  39. 39. ちょっとした 工夫
  40. 40. Behatによる BDDの導入
  41. 41. チーム
  42. 42. 小さいバッチ 小さいチーム
  43. 43. プランナーと プログラマがタッグになって 同じビジネス目標にコミット
  44. 44. 氏曰く
  45. 45. スクラムからリーンへ
  46. 46. 最後に
  47. 47. Facebook
  48. 48. http://news.mynavi.jp/news/2013/07/09/206/
  49. 49. RubyからPHPへ -エンジニアのための思考移行ガイド- by kuromatu
  50. 50. • PHP5.3.x ◦ 無名関数 ◦ クロージャ ◦ 名前空間をサポート • PHP5.4.x ◦ traitをサポート ◦ 無名関数で$thisが使えるように ◦ arrayリテラル ▪ ['a', 'b', 'c'] === array('a', 'b', 'c') ◦ インスタンス生成文から直接プロパティアクセス ▪ (new Some())->hoge(); ◦ newキーワードでメソッド書けるようになったを • PHP5.5.x ◦ generator ◦ finally句のサポート
  51. 51. PHPでも モダンで スケーラブルな 開発を E IV L S SE EN C. IN
  52. 52. PHPエンジニア 絶賛募集中 E IV L S SE EN C. IN
  53. 53. Rubyエンジニアも 絶賛募集中 E IV L S SE EN C. IN
  54. 54. ご静聴 ありがとうございました

×