SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
10 причин


Я             Ruby
            on Rails
Павел Габриель
коуч, программист, agile-евангелист
Вопросы
после выступления
Причины

1. Язык Ruby
2. Философия и ценности Rails
3. Сообщество
4. Тестируемость
5. ...
Brazilian indian chiefs, Kaiapos tribe. Photo: Valter Campanato/ABr. April 17, 2005.
http://www.flickr.com/photos/stijnvogels/330218307/sizes/o/
http://www.flickr.com/photos/grrphoto/152833988/sizes/o/
No Holy Wars
1

    Ruby
С чего все началось?
PHP, ASP.Net, Perl
Yukihiro Matsumoto




Ruby          is designed   for
programmer       productivity
and   fun
Фокус   на людях и общении
        мы чаще читаем код, чем пишем
Удовольствие
Perl
SmallTalk   Ruby
  Lisp
Все - объекты
Расширяемый
Мета-программирование
JRuby IronRuby
Rubinius MacRuby
Open Source
Free!
2

  Философия
и ценности Rails
Convention over
   Configuration
Быстро    делаются


простые вещи
Сложные      вещи

  возможны
Трудно испортить
  если не клинический случай
Много качественной
  документации
3


    Сообщество
Books       Screencasts
                              RDoc
Конференции
         Guides
                  Tutorials
Люди
Качество?
 рост сообщества
4


    Тестируемость
Rails
полное покрытие тестами
Интеграционное
         Функциональное


Модульное           Моки
Selenium
FireFox, IE, Chrome, Safari   Watir



               HtmlUnit
Metric_fu
И это все на Ruby!
нужно 10? 100?
5. Генераторы кода
6. Миграции БД
7. Routes
8. REST
9. Безопасный
10.Open Source
11....
Примеры

• Basecamp
• Twitter
• Github
• Shopify
Спасибо!
 за внимание
Вопросы?
alovak@gmail.com
Ruby/Rails/Emacs/Agile/Scrum/TDD/BDD

Más contenido relacionado

La actualidad más candente

Go в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав БахмутовGo в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав БахмутовYandex
 
Оптицизация: на грани и за
Оптицизация: на грани и заОптицизация: на грани и за
Оптицизация: на грани и заAnton Patrushev
 
«Как ради производительности высоконагруженного приложения мы разработали соб...
«Как ради производительности высоконагруженного приложения мы разработали соб...«Как ради производительности высоконагруженного приложения мы разработали соб...
«Как ради производительности высоконагруженного приложения мы разработали соб...Nata_Churda
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...ScrumTrek
 
UWDC'12, Александр Макаров, О командной разработке и фреймворках
UWDC'12, Александр Макаров, О командной разработке и фреймворкахUWDC'12, Александр Макаров, О командной разработке и фреймворках
UWDC'12, Александр Макаров, О командной разработке и фреймворкахAlexander Makarov
 
Real-time данные на фронтенде
Real-time данные на фронтендеReal-time данные на фронтенде
Real-time данные на фронтендеEXANTE
 
Опыт Автоматизации тестирования
Опыт Автоматизации тестированияОпыт Автоматизации тестирования
Опыт Автоматизации тестированияAgile Ukraine
 
Форум на полном БЭМ-стеке — Николай Ильченко, Яндекс
Форум на полном БЭМ-стеке — Николай Ильченко, ЯндексФорум на полном БЭМ-стеке — Николай Ильченко, Яндекс
Форум на полном БЭМ-стеке — Николай Ильченко, ЯндексYandex
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовYandex
 

La actualidad más candente (11)

Golang
GolangGolang
Golang
 
Go в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав БахмутовGo в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
Go в продакшене Яндекса: отчёт после года использования — Вячеслав Бахмутов
 
Оптицизация: на грани и за
Оптицизация: на грани и заОптицизация: на грани и за
Оптицизация: на грани и за
 
«Как ради производительности высоконагруженного приложения мы разработали соб...
«Как ради производительности высоконагруженного приложения мы разработали соб...«Как ради производительности высоконагруженного приложения мы разработали соб...
«Как ради производительности высоконагруженного приложения мы разработали соб...
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
 
Rails for dummies
Rails for dummiesRails for dummies
Rails for dummies
 
UWDC'12, Александр Макаров, О командной разработке и фреймворках
UWDC'12, Александр Макаров, О командной разработке и фреймворкахUWDC'12, Александр Макаров, О командной разработке и фреймворках
UWDC'12, Александр Макаров, О командной разработке и фреймворках
 
Real-time данные на фронтенде
Real-time данные на фронтендеReal-time данные на фронтенде
Real-time данные на фронтенде
 
Опыт Автоматизации тестирования
Опыт Автоматизации тестированияОпыт Автоматизации тестирования
Опыт Автоматизации тестирования
 
Форум на полном БЭМ-стеке — Николай Ильченко, Яндекс
Форум на полном БЭМ-стеке — Николай Ильченко, ЯндексФорум на полном БЭМ-стеке — Николай Ильченко, Яндекс
Форум на полном БЭМ-стеке — Николай Ильченко, Яндекс
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
 

Destacado

I18n ruby-приложений
I18n ruby-приложенийI18n ruby-приложений
I18n ruby-приложенийAndrey Sitnik
 
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo
 
Как сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsКак сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsYaroslav Markin
 
Александр Тищенко - "Антикризисная презентация"
Александр Тищенко - "Антикризисная презентация"Александр Тищенко - "Антикризисная презентация"
Александр Тищенко - "Антикризисная презентация"railsclub
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)guest40e031
 
Deploy.rb, Ilya Zykin, Rails club2016
Deploy.rb, Ilya Zykin, Rails club2016Deploy.rb, Ilya Zykin, Rails club2016
Deploy.rb, Ilya Zykin, Rails club2016zykin-ilya
 
Когда технологий много - iForum 2013
Когда технологий много - iForum 2013Когда технологий много - iForum 2013
Когда технологий много - iForum 2013Andrey Listochkin
 
Debbug Rails Application For Dummies
Debbug Rails Application For DummiesDebbug Rails Application For Dummies
Debbug Rails Application For DummiesAndrey Subbota
 
Фронтенд для рубиста
Фронтенд для рубистаФронтенд для рубиста
Фронтенд для рубистаKir Shatrov
 
Призма24 - Маркетплейсы.
Призма24 - Маркетплейсы.Призма24 - Маркетплейсы.
Призма24 - Маркетплейсы.Vitalii Tytskyi
 
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...Alexander Dymo
 
Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014Andrey Listochkin
 

Destacado (20)

I18n ruby-приложений
I18n ruby-приложенийI18n ruby-приложений
I18n ruby-приложений
 
Ruby on Rails for noobs
Ruby on Rails for noobsRuby on Rails for noobs
Ruby on Rails for noobs
 
RSpec. Part 1
RSpec. Part 1RSpec. Part 1
RSpec. Part 1
 
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
 
Как сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsКак сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on Rails
 
Александр Тищенко - "Антикризисная презентация"
Александр Тищенко - "Антикризисная презентация"Александр Тищенко - "Антикризисная презентация"
Александр Тищенко - "Антикризисная презентация"
 
Assets Pipeline
Assets PipelineAssets Pipeline
Assets Pipeline
 
R18n
R18nR18n
R18n
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)
 
Deploy.rb, Ilya Zykin, Rails club2016
Deploy.rb, Ilya Zykin, Rails club2016Deploy.rb, Ilya Zykin, Rails club2016
Deploy.rb, Ilya Zykin, Rails club2016
 
RSpec. Part 3
RSpec. Part 3RSpec. Part 3
RSpec. Part 3
 
Когда технологий много - iForum 2013
Когда технологий много - iForum 2013Когда технологий много - iForum 2013
Когда технологий много - iForum 2013
 
Debbug Rails Application For Dummies
Debbug Rails Application For DummiesDebbug Rails Application For Dummies
Debbug Rails Application For Dummies
 
Фронтенд для рубиста
Фронтенд для рубистаФронтенд для рубиста
Фронтенд для рубиста
 
Rails Concerns
Rails ConcernsRails Concerns
Rails Concerns
 
RSpec. Part 2
RSpec. Part 2RSpec. Part 2
RSpec. Part 2
 
Призма24 - Маркетплейсы.
Призма24 - Маркетплейсы.Призма24 - Маркетплейсы.
Призма24 - Маркетплейсы.
 
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...
 
Why does code style matter?
Why does code style matter?Why does code style matter?
Why does code style matter?
 
Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014
 

Similar a 10 reasons I love RubyOnRails

Alex Dmitriev презентация для рит (12 14 апреля)
Alex Dmitriev презентация для рит (12 14 апреля)Alex Dmitriev презентация для рит (12 14 апреля)
Alex Dmitriev презентация для рит (12 14 апреля)rit2010
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.ScrumTrek
 
Top10 доводов против языка Ruby
Top10 доводов против языка RubyTop10 доводов против языка Ruby
Top10 доводов против языка Rubyguest5f907e
 
CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest
 
Если не Drupal 8, то что? Обзор Laravel 5
Если не Drupal 8, то что? Обзор Laravel 5Если не Drupal 8, то что? Обзор Laravel 5
Если не Drupal 8, то что? Обзор Laravel 5DrupalSPB
 
Как сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsКак сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsАлександр Ежов
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiAlexander Makarov
 
13 HappyDev-lite-2015 autumn. Руслан Шарипов. Ruby, making programmers happy.
13 HappyDev-lite-2015 autumn. Руслан Шарипов. Ruby, making programmers happy.13 HappyDev-lite-2015 autumn. Руслан Шарипов. Ruby, making programmers happy.
13 HappyDev-lite-2015 autumn. Руслан Шарипов. Ruby, making programmers happy.HappyDev-lite
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Fwdays
 
12 reasons to love symfony2
12 reasons to love symfony212 reasons to love symfony2
12 reasons to love symfony2Alexei Smolyanov
 
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovReal-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovRuby Meditation
 
Как расширять Robot Framework под свои нужны с помощью Python?
Как расширять Robot Framework под свои нужны с помощью Python? Как расширять Robot Framework под свои нужны с помощью Python?
Как расширять Robot Framework под свои нужны с помощью Python? Mykhailo Poliarush
 
Быстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием PythonБыстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием Pythonautomated-testing.info
 
Open Source − это не больно (Сергей Нартымов)
Open Source − это не больно (Сергей Нартымов)Open Source − это не больно (Сергей Нартымов)
Open Source − это не больно (Сергей Нартымов)Olga Lavrentieva
 
Язык программирования PHP. EasyCode. Стартовая презентация.
Язык программирования PHP. EasyCode. Стартовая презентация.Язык программирования PHP. EasyCode. Стартовая презентация.
Язык программирования PHP. EasyCode. Стартовая презентация.Nikolaj Sarry
 
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Anthony Marchenko
 
Демонизированный PHP - before it was cool
Демонизированный PHP - before it was coolДемонизированный PHP - before it was cool
Демонизированный PHP - before it was coolAndrey Tokarchuk
 

Similar a 10 reasons I love RubyOnRails (20)

Alex Dmitriev презентация для рит (12 14 апреля)
Alex Dmitriev презентация для рит (12 14 апреля)Alex Dmitriev презентация для рит (12 14 апреля)
Alex Dmitriev презентация для рит (12 14 апреля)
 
Migrate!
Migrate!Migrate!
Migrate!
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Первые страницы на Ruby on Rails
Первые страницы на Ruby on Rails Первые страницы на Ruby on Rails
Первые страницы на Ruby on Rails
 
Top10 доводов против языка Ruby
Top10 доводов против языка RubyTop10 доводов против языка Ruby
Top10 доводов против языка Ruby
 
Как разраба
Как разрабаКак разраба
Как разраба
 
CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается Yii
 
Если не Drupal 8, то что? Обзор Laravel 5
Если не Drupal 8, то что? Обзор Laravel 5Если не Drupal 8, то что? Обзор Laravel 5
Если не Drupal 8, то что? Обзор Laravel 5
 
Как сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsКак сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on Rails
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
 
13 HappyDev-lite-2015 autumn. Руслан Шарипов. Ruby, making programmers happy.
13 HappyDev-lite-2015 autumn. Руслан Шарипов. Ruby, making programmers happy.13 HappyDev-lite-2015 autumn. Руслан Шарипов. Ruby, making programmers happy.
13 HappyDev-lite-2015 autumn. Руслан Шарипов. Ruby, making programmers happy.
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
 
12 reasons to love symfony2
12 reasons to love symfony212 reasons to love symfony2
12 reasons to love symfony2
 
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovReal-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
 
Как расширять Robot Framework под свои нужны с помощью Python?
Как расширять Robot Framework под свои нужны с помощью Python? Как расширять Robot Framework под свои нужны с помощью Python?
Как расширять Robot Framework под свои нужны с помощью Python?
 
Быстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием PythonБыстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием Python
 
Open Source − это не больно (Сергей Нартымов)
Open Source − это не больно (Сергей Нартымов)Open Source − это не больно (Сергей Нартымов)
Open Source − это не больно (Сергей Нартымов)
 
Язык программирования PHP. EasyCode. Стартовая презентация.
Язык программирования PHP. EasyCode. Стартовая презентация.Язык программирования PHP. EasyCode. Стартовая презентация.
Язык программирования PHP. EasyCode. Стартовая презентация.
 
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
 
Демонизированный PHP - before it was cool
Демонизированный PHP - before it was coolДемонизированный PHP - before it was cool
Демонизированный PHP - before it was cool
 

Más de Pavel Gabriel

Immutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWSImmutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWSPavel Gabriel
 
Social factors in groups
Social factors in groupsSocial factors in groups
Social factors in groupsPavel Gabriel
 
ActiveRecord::Callbacks. Готовим правильно.
ActiveRecord::Callbacks. Готовим правильно.ActiveRecord::Callbacks. Готовим правильно.
ActiveRecord::Callbacks. Готовим правильно.Pavel Gabriel
 
Successful development without QA
Successful development without QASuccessful development without QA
Successful development without QAPavel Gabriel
 
Обязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППОбязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППPavel Gabriel
 

Más de Pavel Gabriel (7)

Immutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWSImmutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWS
 
Social factors in groups
Social factors in groupsSocial factors in groups
Social factors in groups
 
ActiveRecord::Callbacks. Готовим правильно.
ActiveRecord::Callbacks. Готовим правильно.ActiveRecord::Callbacks. Готовим правильно.
ActiveRecord::Callbacks. Готовим правильно.
 
Pomodoro technique
Pomodoro techniquePomodoro technique
Pomodoro technique
 
Successful development without QA
Successful development without QASuccessful development without QA
Successful development without QA
 
Tdd from the middle
Tdd from the middleTdd from the middle
Tdd from the middle
 
Обязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППОбязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ППП
 

10 reasons I love RubyOnRails