Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ruby on Rails Overview

768 views

Published on

This presentation stands for overview to describe Ruby on Rails.

Published in: Technology
  • Be the first to comment

Ruby on Rails Overview

  1. 1. Ruby on RailsOverviewKoki Shimizu(u2daijibrother@gmail.com)13年4月18日木曜日
  2. 2. What is Rails?Rails is a web application developmentframework written in the Ruby.13年4月18日木曜日
  3. 3. The Rails philosophy includesseveral guiding principles•DRY (Don’t Repeat Yourself)•CoC (Convention over Configuration)•REST(REpresentational State Transfer)Railsはソフトウェア開発上重要な、いくつかの設計実装手法、考え方を元に作成されている。13年4月18日木曜日
  4. 4. DRYEvery piece of knowledge must have asingle, unambiguous, authoritativerepresentation within a system.すべての知識はシステム内において、単一、かつ明確な、そして信頼できる表現になっていなければならない。13年4月18日木曜日
  5. 5. DRY• Documents and Code• Code Comments• State• Class/Utlity13年4月18日木曜日
  6. 6. CoCDesign paradigm to decrease thenumber of decisions that developersneed to make, gaining simplicity, but notnecessarily losing flexibility.設定より規約。規約に従った実装を行い、開発者に決定させるべきことを少なくし、単純さを維持する。13年4月18日木曜日
  7. 7. CoC• Mapping File ( Class to DB Table )• Class Name/ Method Name• Folder Structure/ Namespace Design• Template Method/ Class Design13年4月18日木曜日
  8. 8. RESTREST is an architectural style and thebest pattern for web application.RESTは、アーキテクチャスタイルの一つであり、良いWEBアプリケーションのためのパターンである。13年4月18日木曜日
  9. 9. RESTResource ResourceEach request includes all of theinformation.HTTPThe set of operations supportedby the web service using HTTPmethods as known well-defined-interface (e.g., GET, PUT, POST, orDELETE).Uniform InterfaceStatelessHTML,XML or JSON etcHTML,XML or JSON etcResponse is cacheable toimproving scalability andperformance.CacheableKEY GOALS of REST include:•Scalability of component interactions•Generality of interfaces•Independent deployment of components•Intermediary components to reduce latency, enforce security and encapsulatelegacy systems13年4月18日木曜日
  10. 10. MVCModel-View-Controller• Isolation of business Logic from the user interface• Ease of keeping code DRY• Making it clear where different types of code belong foreasier maintenance13年4月18日木曜日
  11. 11. MVCModel-View-Controller• Isolation of business Logic from the user interface• Ease of keeping code DRY• Making it clear where different types of code belong foreasier maintenanceControllerView Model Storage13年4月18日木曜日
  12. 12. MVCModel-View-Controller• Isolation of business Logic from the user interface• Ease of keeping code DRY• Making it clear where different types of code belong foreasier maintenance①ControllerView Model StorageRequest to controller from user interface13年4月18日木曜日
  13. 13. MVCModel-View-Controller• Isolation of business Logic from the user interface• Ease of keeping code DRY• Making it clear where different types of code belong foreasier maintenance①②ControllerView Model StorageRequest to controller from user interfaceController calls Model and gets results13年4月18日木曜日
  14. 14. MVCModel-View-Controller• Isolation of business Logic from the user interface• Ease of keeping code DRY• Making it clear where different types of code belong foreasier maintenance①②③ControllerView Model StorageRequest to controller from user interfaceController calls Model and gets resultsController puts View the results13年4月18日木曜日
  15. 15. MVCModel-View-Controller• Isolation of business Logic from the user interface• Ease of keeping code DRY• Making it clear where different types of code belong foreasier maintenance①②③④ControllerView Model StorageRequest to controller from user interfaceController calls Model and gets resultsController puts View the resultsView is rendered user interface13年4月18日木曜日
  16. 16. MVC on Rails13年4月18日木曜日
  17. 17. MVC on RailsControllerView Model DB13年4月18日木曜日
  18. 18. MVC on RailsControllerView Model DBRouter13年4月18日木曜日
  19. 19. MVC on Rails①ControllerView Model DBRouterBrowser posts request to Router13年4月18日木曜日
  20. 20. MVC on Rails①ControllerView Model DBRouter discovers controller to execute and Rails executes the controllerRouter②Browser posts request to Router13年4月18日木曜日
  21. 21. MVC on Rails①③ControllerView Model DBRouter discovers controller to execute and Rails executes the controllerController calls Model and gets resultsRouter②Browser posts request to Router13年4月18日木曜日
  22. 22. MVC on Rails①③④ControllerView Model DBRouter discovers controller to execute and Rails executes the controllerController calls Model and gets resultsController puts View the resultsRouter②Browser posts request to Router13年4月18日木曜日
  23. 23. MVC on Rails①③④⑤ControllerView Model DBRouter discovers controller to execute and Rails executes the controllerController calls Model and gets resultsController puts View the resultsView is rendered user interfaceRouter②Browser posts request to Router13年4月18日木曜日
  24. 24. Model13年4月18日木曜日
  25. 25. View•eRuby•Sassy-CSS•JavaScript(CoffeeScript)•AJAX•JQuery13年4月18日木曜日
  26. 26. Controller•Redirect•Session Manager13年4月18日木曜日
  27. 27. Development Flowon RailsControllerViewModelScaffoldMigrationOne Iteration13年4月18日木曜日

×