Your SlideShare is downloading. ×
Rails for dummies
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Rails for dummies

377
views

Published on


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

No Downloads
Views
Total Views
377
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. OnRuby On RailsДля самых маленьких
  • 2. Ruby and Ruby On Rails Кратко о Ruby; Кратко о Ruby On Rails; Почему Ruby и почему Ruby On Rails? Ответ на волнующий вопрос: откуда столько шума, и почему это круто?
  • 3. Краткая история Ruby Разработан японцем Юкихиро Мацумото; Вышел в свет в 1995 году; Что хотел создатель:  Более мощный язык, чем Perl;  Более ООП язык, чем Python. Об итогах далее. Матц следит за вами…
  • 4. The Ruby Way Просто, но не слишком просто; Принцип наименьшего удивления; Вторичность скорости работы программы; Динамичность; Простые строгие правила, выполнение которых не доходит до педантизма; Потребность создавать полезные и красивые программы, как причина программирования.
  • 5. Почему Ruby – это круто? Высокая скорость разработки; Практикуется TDD и BDD; Практикуется применение паттернов и следования принципу DRY; Мощные средства для написания DSL (Domain Specific Language); Большое сообщество движимое чувством прекрасного, любовью к красивому коду и хорошему софту.
  • 6. Поговорим о минусах… Высокий порог вхождения; Много магии (которая становится вполне понятной при познании Дзена Ruby); В России Ruby только набирает популярность (текущая популярность языка только самое начало – дальше больше); Низкая скорость работы; Высокое потребление памяти.
  • 7. Развитие языка В феврале запланирован выход версии 2.0; Канонической реализацией является MRI Ruby; Существующие реализации:  Rubynius (LLVM-интерпретатор написанный на Ruby; родственный проект PyPy);  Elixir (диалект Ruby для Erlang VM);  JRuby (Java powered Ruby);  IronRuby (.NET powered Ruby);  MagLev;  MacRuby.
  • 8. Краткая история Ruby On Rails Создан Давидом Хейнемейером Ханссоном из 37signals (извлечен из кода Basecamp); 23 декабря 2008 года – объединение с Merb; 25 мая 2010 – выход версии 2.3.8; 29 августа 2010 года – выход версии 3.0; 31 августа 2011 года – выход версии 3.1; 20 января 2012 года – выход версии 3.2. “Я знаю как сделать ХОРОШО!”
  • 9. The Rails Way Don’t Repeat Yourself; Convention over Configuration; Предположение о том, что есть лучший способ что-то сделать (в некоторых случаях препятствует альтернативам); Требует понимания The Rails Way, и карает тех, кто тащит старые привычки в Ruby On Rails; Используется ряд допущений о том, что нужно каждому разработчику для создания нового проекта.
  • 10. Ruby On Rails и друзья Ruby On Rails не один:  Sinatra;  Padrino;  Espresso. Повлиял на:  Pylons (Python);  Play! Framework (Java);  Grails (Groovy/Java);  Yii (PHP).
  • 11. From WSGI to Rack Python Web Server Gateway Protocol (WSGI); Ruby Rack;
  • 12. Request/Response model Rails следуют лишь одной модели; Последовательность обработки запроса:  Браузер;  Прокси-сервер (например, nginx);  Веб-вервер (например, Unicorn);  Rack;  Middlewares;  Router;  Controller;  Action.
  • 13. Архитектура Rails Rails – клей + компоненты; Railtie; ActiveSupport; ActiveRecord; ActiveModel; ActionMailer; ActionPack:  ActionController;  ActionDispatch;  ActionView.
  • 14. Railtie Управление загрузкой Rails приложения; Управление интерфейсом командной строки; Предоставление интерфейса генераторов.
  • 15. ActiveSupport Расширение языка; Расширение стандартной библиотеки; Дополнительные утилиты.
  • 16. ActiveRecord Прослойка между приложением и базой данных; Запросы строятся с помощью AREL движка; Независимость от базы данных; Альтернативы:  DataMapper;  Sequel;  Mongoid;  MongoMapper;  CouchPotato и др.
  • 17. ActiveModel Прослойка между ActionPack и данными; Аттрибуты; Обратные вызовы; Слежение за изменениями; Управление ошибками; Интроспекция; Observer; Сериализация; Валидации; Кастомные валидации.
  • 18. ActionController Прослойка между представлением и данными; Обратные вызовы.
  • 19. ActionView Поиск шаблонов; Взаимодействие с движками шаблонов; Предоставление хелперов.
  • 20. ActionDispatch Парсинг информации о запросе; Управление HTTP кэшированием; Cookies и сессии; Роутинг внутри приложения.
  • 21. Также в комплекте Assets Pipelines; Background Jobs (in Rails 4); Консольные утилиты; Генераторы.
  • 22. Если чего-то не хватает? Огромное количество плагинов; Возможность написать свое решение один раз, и использовать его везде; Практически для любой задачи уже есть готовое решение; Если готовое решение не подходит – можно изменить или написать свое (open source в действии).
  • 23. Есть вопросы?