SlideShare a Scribd company logo
1 of 25
Разрушаем негативные мифы про руби и рельсы что изменилось с выходом новых версий
Равиль Байрамгалин @brainopia brainopia@evilmartians.com
Почему Rails? ,[object Object]
Культура кода
Сообщество
Не способствует изобретению велосипедов,[object Object]
Количество библиотек
Количество проектов на гитхабе
Миф 2 Rails – нестандартные вещи тяжело интегрировать
Пример: подключаем MongoDB Rails 3.x – указать название в файле зависимостей и все
Миф 3 Минорные релизы ломают плагины
В Rails 3 есть официальный апи для разработчиков плагинов
Миф 4 Rails – мало документации
Rails 3 – весь код снабжен подробными комментами apidock.com/rails –API доки с кармой и комментами guides.rubyonrails.org – 28 официальныхруководств, покрывающих все аспекты рельс railscasts.com – 263 бесплатных скринкаста, каждую неделю новый Уже 10 книг для rails 3, в том числе и бесплатные доступные онлайн
Миф 5 Ruby is slooooooooooooooooow
Ruby 1.9, JRuby В среднем в 3.5 раза быстрее ruby 1.8, на отдельных тестах на порядки быстрее. Есть C-API, который позволяет просто реализовать узкие места на C Для JRuby есть дополнительнаявозможность легко использовать java
Миф 6 Rails is slooooooooooooow too
Предварительная оптимизация – зло  Но бывают распространенные затычки, например, работа с базой данных и рендеринг темплейтов
Рендеринг темплейтов в Rails 3 до 10 раз быстрее
Затычка при работе с базой На стороне руби: Объединять запросы в одном (встроенный механизм eager loading, в Rails 3 можно составить sql запрос любой сложности в рамках руби API) Identity Map в Rails 3.1
Миф 7 Rails doesn’t scale
Вертикальное и горизонтальное масштабирование не зависят от фреймворка или языка
Что обычно имеют в виду, то что треды в руби зеленые и мапятся на один нативный тред =>запуск нескольких процессов для использования нескольких ядер
Ruby 1.9 Частично решил эту проблему – зеленые треды мапятся на несколько нативных, есть GIL, но он не ставится для системных вызовов, для IO и C-расширений, сообщающих ему об этом JRuby, Rubinius Нативные треды
Асинхронное программирование, как альтернатива тредам для приложений, у которых затычка в IO

More Related Content

Viewers also liked

Ruby on Rails at HackDay in Saint Petersburg
Ruby on Rails at HackDay in Saint PetersburgRuby on Rails at HackDay in Saint Petersburg
Ruby on Rails at HackDay in Saint PetersburgAlexander Krass
 
Ruby On Rails: Web-разработка по-другому!
Ruby On Rails: Web-разработка по-другому!Ruby On Rails: Web-разработка по-другому!
Ruby On Rails: Web-разработка по-другому!Constantin Kichinsky
 
Ruby: интерпретируемый, динамичный, человеколюбивый
Ruby: интерпретируемый, динамичный, человеколюбивыйRuby: интерпретируемый, динамичный, человеколюбивый
Ruby: интерпретируемый, динамичный, человеколюбивыйAlex Mikitenko
 
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
 
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"railsclub
 
1000 запросов в секунду на rails (Макс Лапшин)
1000 запросов в секунду на rails (Макс Лапшин)1000 запросов в секунду на rails (Макс Лапшин)
1000 запросов в секунду на rails (Макс Лапшин)Ontico
 
Как сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsКак сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsYaroslav Markin
 
Призма24 - Маркетплейсы.
Призма24 - Маркетплейсы.Призма24 - Маркетплейсы.
Призма24 - Маркетплейсы.Vitalii Tytskyi
 
Когда технологий много - iForum 2013
Когда технологий много - iForum 2013Когда технологий много - iForum 2013
Когда технологий много - iForum 2013Andrey Listochkin
 
Фронтенд для рубиста
Фронтенд для рубистаФронтенд для рубиста
Фронтенд для рубистаKir Shatrov
 
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
 
Debbug Rails Application For Dummies
Debbug Rails Application For DummiesDebbug Rails Application For Dummies
Debbug Rails Application For DummiesAndrey Subbota
 
I18n ruby-приложений
I18n ruby-приложенийI18n ruby-приложений
I18n ruby-приложенийAndrey Sitnik
 
Александр Тищенко - "Антикризисная презентация"
Александр Тищенко - "Антикризисная презентация"Александр Тищенко - "Антикризисная презентация"
Александр Тищенко - "Антикризисная презентация"railsclub
 

Viewers also liked (20)

Ruby on Rails at HackDay in Saint Petersburg
Ruby on Rails at HackDay in Saint PetersburgRuby on Rails at HackDay in Saint Petersburg
Ruby on Rails at HackDay in Saint Petersburg
 
Ruby On Rails: Web-разработка по-другому!
Ruby On Rails: Web-разработка по-другому!Ruby On Rails: Web-разработка по-другому!
Ruby On Rails: Web-разработка по-другому!
 
Ruby: интерпретируемый, динамичный, человеколюбивый
Ruby: интерпретируемый, динамичный, человеколюбивыйRuby: интерпретируемый, динамичный, человеколюбивый
Ruby: интерпретируемый, динамичный, человеколюбивый
 
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.
 
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"
 
1000 запросов в секунду на rails (Макс Лапшин)
1000 запросов в секунду на rails (Макс Лапшин)1000 запросов в секунду на rails (Макс Лапшин)
1000 запросов в секунду на rails (Макс Лапшин)
 
Oleg Gorbunov Action cable
Oleg Gorbunov Action cableOleg Gorbunov Action cable
Oleg Gorbunov Action cable
 
RSpec. Part 2
RSpec. Part 2RSpec. Part 2
RSpec. Part 2
 
Как сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsКак сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on Rails
 
Призма24 - Маркетплейсы.
Призма24 - Маркетплейсы.Призма24 - Маркетплейсы.
Призма24 - Маркетплейсы.
 
RSpec. Part 3
RSpec. Part 3RSpec. Part 3
RSpec. Part 3
 
Когда технологий много - iForum 2013
Когда технологий много - iForum 2013Когда технологий много - iForum 2013
Когда технологий много - iForum 2013
 
Фронтенд для рубиста
Фронтенд для рубистаФронтенд для рубиста
Фронтенд для рубиста
 
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
 
Rails Concerns
Rails ConcernsRails Concerns
Rails Concerns
 
Debbug Rails Application For Dummies
Debbug Rails Application For DummiesDebbug Rails Application For Dummies
Debbug Rails Application For Dummies
 
I18n ruby-приложений
I18n ruby-приложенийI18n ruby-приложений
I18n ruby-приложений
 
R18n
R18nR18n
R18n
 
Ruby on Rails for noobs
Ruby on Rails for noobsRuby on Rails for noobs
Ruby on Rails for noobs
 
Александр Тищенко - "Антикризисная презентация"
Александр Тищенко - "Антикризисная презентация"Александр Тищенко - "Антикризисная презентация"
Александр Тищенко - "Антикризисная презентация"
 

Similar to Разрушаем негативные мифы Ruby, Rails.

Alex Dmitriev презентация для рит (12 14 апреля)
Alex Dmitriev презентация для рит (12 14 апреля)Alex Dmitriev презентация для рит (12 14 апреля)
Alex Dmitriev презентация для рит (12 14 апреля)rit2010
 
Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)Viacheslav Eremin
 
Rails без ActiveRecord: старая-добрая рельса или инвалид c костылями?
Rails без ActiveRecord: старая-добрая рельса или инвалид c костылями?Rails без ActiveRecord: старая-добрая рельса или инвалид c костылями?
Rails без ActiveRecord: старая-добрая рельса или инвалид c костылями?Ruslan Sharipov
 
Ruby on Rails. Пользовательский интерфейс
Ruby on Rails. Пользовательский интерфейсRuby on Rails. Пользовательский интерфейс
Ruby on Rails. Пользовательский интерфейсDigital-агентство Мэйк
 
Разработка веб-сервисов осень 2013 лекция 8
Разработка веб-сервисов осень 2013 лекция 8Разработка веб-сервисов осень 2013 лекция 8
Разработка веб-сервисов осень 2013 лекция 8Technopark
 
IronRuby: внутренности и примеры использования
IronRuby: внутренности и примеры использованияIronRuby: внутренности и примеры использования
IronRuby: внутренности и примеры использованияAlexander Byndyu
 
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
 
10 reasons I love RubyOnRails
10 reasons I love RubyOnRails10 reasons I love RubyOnRails
10 reasons I love RubyOnRailsPavel Gabriel
 
Ruby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработкиRuby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработкиMedia Gorod
 
“Чем хорош Erlang вообще и для веб-разработки в частности?”

“Чем хорош Erlang вообще и для веб-разработки в частности?”
“Чем хорош Erlang вообще и для веб-разработки в частности?”

“Чем хорош Erlang вообще и для веб-разработки в частности?”
Olga Lavrentieva
 
Как сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsКак сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsАлександр Ежов
 
AVITO. Решардинг Redis без даунтайма. DevConf 2012
AVITO. Решардинг Redis без даунтайма. DevConf 2012AVITO. Решардинг Redis без даунтайма. DevConf 2012
AVITO. Решардинг Redis без даунтайма. DevConf 2012Roman Pavlushko
 
Open Source − это не больно (Сергей Нартымов)
Open Source − это не больно (Сергей Нартымов)Open Source − это не больно (Сергей Нартымов)
Open Source − это не больно (Сергей Нартымов)Olga Lavrentieva
 

Similar to Разрушаем негативные мифы Ruby, Rails. (20)

Первые страницы на Ruby on Rails
Первые страницы на Ruby on Rails Первые страницы на Ruby on Rails
Первые страницы на Ruby on Rails
 
Rails for dummies
Rails for dummiesRails for dummies
Rails for dummies
 
Alex Dmitriev презентация для рит (12 14 апреля)
Alex Dmitriev презентация для рит (12 14 апреля)Alex Dmitriev презентация для рит (12 14 апреля)
Alex Dmitriev презентация для рит (12 14 апреля)
 
Erlang&rails
Erlang&railsErlang&rails
Erlang&rails
 
Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)
 
Invisible
InvisibleInvisible
Invisible
 
Rails без ActiveRecord: старая-добрая рельса или инвалид c костылями?
Rails без ActiveRecord: старая-добрая рельса или инвалид c костылями?Rails без ActiveRecord: старая-добрая рельса или инвалид c костылями?
Rails без ActiveRecord: старая-добрая рельса или инвалид c костылями?
 
Ruby on Rails. Пользовательский интерфейс
Ruby on Rails. Пользовательский интерфейсRuby on Rails. Пользовательский интерфейс
Ruby on Rails. Пользовательский интерфейс
 
Разработка веб-сервисов осень 2013 лекция 8
Разработка веб-сервисов осень 2013 лекция 8Разработка веб-сервисов осень 2013 лекция 8
Разработка веб-сервисов осень 2013 лекция 8
 
IronRuby: внутренности и примеры использования
IronRuby: внутренности и примеры использованияIronRuby: внутренности и примеры использования
IronRuby: внутренности и примеры использования
 
Архитектура ROS
Архитектура ROSАрхитектура ROS
Архитектура ROS
 
Migrate!
Migrate!Migrate!
Migrate!
 
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 ...
 
10 reasons I love RubyOnRails
10 reasons I love RubyOnRails10 reasons I love RubyOnRails
10 reasons I love RubyOnRails
 
Ruby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработкиRuby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработки
 
Erlang ruby
Erlang rubyErlang ruby
Erlang ruby
 
“Чем хорош Erlang вообще и для веб-разработки в частности?”

“Чем хорош Erlang вообще и для веб-разработки в частности?”
“Чем хорош Erlang вообще и для веб-разработки в частности?”

“Чем хорош Erlang вообще и для веб-разработки в частности?”

 
Как сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on RailsКак сделать контрибут в Ruby on Rails
Как сделать контрибут в Ruby on Rails
 
AVITO. Решардинг Redis без даунтайма. DevConf 2012
AVITO. Решардинг Redis без даунтайма. DevConf 2012AVITO. Решардинг Redis без даунтайма. DevConf 2012
AVITO. Решардинг Redis без даунтайма. DevConf 2012
 
Open Source − это не больно (Сергей Нартымов)
Open Source − это не больно (Сергей Нартымов)Open Source − это не больно (Сергей Нартымов)
Open Source − это не больно (Сергей Нартымов)
 

Разрушаем негативные мифы Ruby, Rails.