O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Rails4       / Takayuki Kyowa    Kakaku.com,Inc
About me• @tkyowa /• 2007 3    • Rails•• tabepad      3    ••                  (tkbb)
•• iPhone• Ruby 1.9.2 / Rails 3.0 • Web
About tabelog•• 4 5000 PV 2900 UU / month (PC + Mobile)•                Rails• Rails 2.3 / Ruby 1.8.6
Alexa Ranking    vs Cookpad
Alexa Ranking    vs Cookpad
About tabelog•• 4 5000 PV 2900 UU / month (PC + Mobile)•                Rails• Rails 2.3 / Ruby 1.8.6
About tabelog•• 4 5000 PV 2900 UU / month (PC + Mobile)•                Rails• Rails 2.3 / Ruby 1.8.6
••
••
TiDD•    •         2    ••    • No Ticket , No Commit        •    •
Workflow  new                        Developmentassigned   in_work    committed                             Testing ready  ...
Problem•                  2•    •    ••    • Redmine Plugin
Redmine Plugin••    •        • False Negative → False Positive    •    •
Future•    •• Git    •    ••    •
••
Architecture                                   Load Balancer                 PC                                 Mobile    ...
Architecture•   Ruby 1.8.6•   Rails 2.3•   Passenger 3.0•   BackgrounDRb / TabelogAsync•   MySQL 5.1•   memcached•   FAST(...
Architecture•             Web    ••    •
2007.10 PV    3000      4    5000   1500%Code   2             10      500%       30         300        1000%       25     ...
2007.10PV     3000      4    5000   1500%Code   2             10      500%       30         300        1000%       25     ...
10
10
10• Fat Model
10• Fat Model• Fat Controller
10• Fat Model• Fat Controller•Fat Helper
10• Fat Model• Fat Controller•Fat Helper•Fat View
.
APIController Helper  View  Model Library  Rails
•           Rails    ••    •        •           …    •        •
Controller   Helper        Controller    Helper  View       Model             View      Model Library      Rails          ...
- Howto•            →   →   →     → OK!    •                     orz•    •        ••    • View•
- Result• Pros  • • •• Cons  •     • •
2.
ActiveRecord
MVC          ControllerModel                        ViewRDB     Searcher       KVS      Web API
MVC - Rails                           ActionController                  ControllerActiveRecord                         Act...
ActiveRecord• Model ORM •• Controller• Model         Confusing• View     AR• RDB
Backend Divide - PHASE                              ActionController                     ControllerTabelog::Service       ...
Backend Divide - PHASE• ActiveRecord Model• Controller/View •                   RDB• ActiveRecord ORM• Tabelog::Service  •...
Backend Divide - PHASE 2            Frontend-App                  HTTP            Backend-AppRDB    Searcher          KVS ...
Backend Divide - PHASE 2Rails(without ActiveRecord)                              Frontend-App              Cobqlo::Request...
Backend Divide - PHASE 2•    •                          API• Cobqlo    •       API        • EventMachine        • JSON/Mes...
Backend Divide -•             2•         Rails    •     API    •    •• Rails 3.0    • ActiveModel Arel•         Rails 3.0
Rails• Rails    •              ≒    ••                      Java    • Rails        • PofEAA
Rails       2• Rails 3    • Modularity    • Pluggable•••
Any questions?
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
Próximos SlideShares
Carregando em…5
×

大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会

12.770 visualizações

Publicada em

Publicada em: Tecnologia, Educação
  • Seja o primeiro a comentar

大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会

  1. 1. Rails4 / Takayuki Kyowa Kakaku.com,Inc
  2. 2. About me• @tkyowa /• 2007 3 • Rails•• tabepad 3 •• (tkbb)
  3. 3. •• iPhone• Ruby 1.9.2 / Rails 3.0 • Web
  4. 4. About tabelog•• 4 5000 PV 2900 UU / month (PC + Mobile)• Rails• Rails 2.3 / Ruby 1.8.6
  5. 5. Alexa Ranking vs Cookpad
  6. 6. Alexa Ranking vs Cookpad
  7. 7. About tabelog•• 4 5000 PV 2900 UU / month (PC + Mobile)• Rails• Rails 2.3 / Ruby 1.8.6
  8. 8. About tabelog•• 4 5000 PV 2900 UU / month (PC + Mobile)• Rails• Rails 2.3 / Ruby 1.8.6
  9. 9. ••
  10. 10. ••
  11. 11. TiDD• • 2 •• • No Ticket , No Commit • •
  12. 12. Workflow new Developmentassigned in_work committed Testing ready tested checked Releasedeployed released closed
  13. 13. Problem• 2• • •• • Redmine Plugin
  14. 14. Redmine Plugin•• • • False Negative → False Positive • •
  15. 15. Future• •• Git • •• •
  16. 16. ••
  17. 17. Architecture Load Balancer PC Mobile Front Front PC BOT Mobile Application Application Application PC BOT MobileMaster DB Slave DB Slave DB Slave DB
  18. 18. Architecture• Ruby 1.8.6• Rails 2.3• Passenger 3.0• BackgrounDRb / TabelogAsync• MySQL 5.1• memcached• FAST(Full Text Searcher)• Solr, MongoDB
  19. 19. Architecture• Web •• •
  20. 20. 2007.10 PV 3000 4 5000 1500%Code 2 10 500% 30 300 1000% 25 800 3200%
  21. 21. 2007.10PV 3000 4 5000 1500%Code 2 10 500% 30 300 1000% 25 800 3200%
  22. 22. 10
  23. 23. 10
  24. 24. 10• Fat Model
  25. 25. 10• Fat Model• Fat Controller
  26. 26. 10• Fat Model• Fat Controller•Fat Helper
  27. 27. 10• Fat Model• Fat Controller•Fat Helper•Fat View
  28. 28. .
  29. 29. APIController Helper View Model Library Rails
  30. 30. • Rails •• • • … • •
  31. 31. Controller Helper Controller Helper View Model View Model Library Rails Library RailsController Helper View Model Library Rails ...etc
  32. 32. - Howto• → → → → OK! • orz• • •• • View•
  33. 33. - Result• Pros • • •• Cons • • •
  34. 34. 2.
  35. 35. ActiveRecord
  36. 36. MVC ControllerModel ViewRDB Searcher KVS Web API
  37. 37. MVC - Rails ActionController ControllerActiveRecord ActionView Model View RDB Searcher KVS Web API
  38. 38. ActiveRecord• Model ORM •• Controller• Model Confusing• View AR• RDB
  39. 39. Backend Divide - PHASE ActionController ControllerTabelog::Service ActionView Model ViewActiveRecord RDB Searcher KVS Web API
  40. 40. Backend Divide - PHASE• ActiveRecord Model• Controller/View • RDB• ActiveRecord ORM• Tabelog::Service •• Controller
  41. 41. Backend Divide - PHASE 2 Frontend-App HTTP Backend-AppRDB Searcher KVS Web API
  42. 42. Backend Divide - PHASE 2Rails(without ActiveRecord) Frontend-App Cobqlo::Requester HTTPCobqlo(Tabelog’s Framework) Backend-App RDB Searcher KVS Web API
  43. 43. Backend Divide - PHASE 2• • API• Cobqlo • API • EventMachine • JSON/MessagePack• Cobqlo::Requester • HTTP
  44. 44. Backend Divide -• 2• Rails • API • •• Rails 3.0 • ActiveModel Arel• Rails 3.0
  45. 45. Rails• Rails • ≒ •• Java • Rails • PofEAA
  46. 46. Rails 2• Rails 3 • Modularity • Pluggable•••
  47. 47. Any questions?

×