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, Rails.

1,632 views

Published on

Published in: Technology
  • Be the first to comment

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

  1. 1. Разрушаем негативные мифы про руби и рельсы<br />что изменилось с выходом новых версий<br />
  2. 2. Равиль Байрамгалин<br />@brainopia<br />brainopia@evilmartians.com<br />
  3. 3. Почему Rails?<br /><ul><li>Ruby
  4. 4. Культура кода
  5. 5. Сообщество
  6. 6. Не способствует изобретению велосипедов</li></li></ul><li>Миф 1<br />Ruby – это что-то новоес неразвитой экосистемой<br />
  7. 7. Количество библиотек<br />
  8. 8. Количество проектов на гитхабе<br />
  9. 9. Миф 2<br />Rails – нестандартные вещи тяжело интегрировать<br />
  10. 10. Пример: подключаем MongoDB<br />Rails 3.x – указать название в файле зависимостей и все<br />
  11. 11. Миф 3<br />Минорные релизы ломают плагины<br />
  12. 12. В Rails 3 есть официальный апи для разработчиков плагинов<br />
  13. 13. Миф 4<br />Rails – мало документации<br />
  14. 14. Rails 3 – весь код снабжен подробными комментами<br />apidock.com/rails –API доки с кармой и комментами<br />guides.rubyonrails.org – 28 официальныхруководств, покрывающих все аспекты рельс<br />railscasts.com – 263 бесплатных скринкаста, каждую неделю новый<br />Уже 10 книг для rails 3, в том числе и бесплатные доступные онлайн<br />
  15. 15. Миф 5<br />Ruby is slooooooooooooooooow<br />
  16. 16. Ruby 1.9, JRuby<br />В среднем в 3.5 раза быстрее ruby 1.8, на отдельных тестах на порядки быстрее.<br />Есть C-API, который позволяет просто реализовать узкие места на C<br />Для JRuby есть дополнительнаявозможность легко использовать java<br />
  17. 17. Миф 6<br />Rails is slooooooooooooow too<br />
  18. 18. Предварительная оптимизация – зло <br />Но бывают распространенные затычки, например, работа с базой данных и рендеринг темплейтов<br />
  19. 19. Рендеринг темплейтов в Rails 3 до 10 раз быстрее<br />
  20. 20. Затычка при работе с базой<br />На стороне руби:<br />Объединять запросы в одном (встроенный механизм eager loading, в Rails 3 можно составить sql запрос любой сложности в рамках руби API)<br />Identity Map в Rails 3.1<br />
  21. 21. Миф 7<br />Rails doesn’t scale<br />
  22. 22. Вертикальное и горизонтальное масштабирование не зависят от фреймворка или языка<br />
  23. 23. Что обычно имеют в виду, то что треды в руби зеленые и мапятся на один нативный тред =>запуск нескольких процессов для использования нескольких ядер<br />
  24. 24. Ruby 1.9<br />Частично решил эту проблему – зеленые треды мапятся на несколько нативных, есть GIL, но он не ставится для системных вызовов, для IO и C-расширений, сообщающих ему об этом<br />JRuby, Rubinius<br />Нативные треды<br />
  25. 25. Асинхронное программирование, как альтернатива тредам для приложений, у которых затычка в IO<br />
  26. 26. Супер простое асинхронное программирование в рельсахGoliath<br />Помимо кучи других альтернатив:<br />Eventmachine, Revactor, Cool.io, Em-Easy, Em-Synchrony<br />
  27. 27. Время для Холивара<br />

×