SlideShare a Scribd company logo
Что не так с Rails?
Андрей Колешко @ka8725
Вступил в ряды Rails разработчиков
Полон надежд. Готов изучить “серебряную пулю” от
корки до корки
Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»
Повторяющиеся неудачи
Почему?
• Уровень разработчиков слабоват?
• Неадекватный заказчик?
• Нехватка кофе?
• Печенек?
• Не та фаза луны?
Ваши задачи решаются не
теми инструментами
Rails - не серебряная
пуля
Rails - MVC
Корень всех бед
Данная модель работает на небольших проектах с прямолинейными
пользовательскими сценариями (например, простые формы CRUD)
ActiveRecord подталкивает
к нарушению всех
принципов SOLID
В жизни присутствуют сценарии
использования (use cases)
Добавляем слой бизнес логики
Добавление нового слоя для бизнес логики облегчает
жизнь
Добавляем слой для view
Теперь слой представления не зависит от структуры
объектов ActiveRecord
API
WebAndroidiOS
View Data
Controller
User
Business Logic
Model
Database
Router
Структура современного проекта
Инструменты
К чему приводит программирование на
Rails
К чему приводит программирование с
помощью подходящих инструментов
Подходящие инструменты
для нашего проекта
• PostgreSQL (hstore, JSON)
• Ruby
• Virtus
• Grape
• Rails (частичное использование некоторых компонентов)
• AngularJS
• ui-router
• Restangular
Выводы
• Не нарушайте принципы SOLID
• Подбирайте правильные инструменты под
задачи
• Соблюдение лучших практик Rails не позволит
избежать от написания большого
количества кода в реальных проектах
Полезные ссылки
• https://goo.gl/iTU7ss - SOLID Object-Oriented
Design by Sandi Metz
• https://goo.gl/8vGBtF - Architecture the Lost
Years by Robert Martin
• http://railsguides.net - мой блог и контакты

More Related Content

PPTX
Эдуард Клементьев «Использование Scala для backend задач»
e-Legion
 
PDF
Rapid API development
Vladislav Melanitskiy
 
PPT
Введение в Django
Илья Барышев
 
PDF
A Basic Django Introduction
Ganga Ram
 
PDF
Введение в Python и Django
Taras Lyapun
 
PPTX
IOP202 Redis in Azure
mourhoon
 
PDF
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Alexey Zinoviev
 
PDF
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
Омские ИТ-субботники
 
Эдуард Клементьев «Использование Scala для backend задач»
e-Legion
 
Rapid API development
Vladislav Melanitskiy
 
Введение в Django
Илья Барышев
 
A Basic Django Introduction
Ganga Ram
 
Введение в Python и Django
Taras Lyapun
 
IOP202 Redis in Azure
mourhoon
 
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Alexey Zinoviev
 
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
Омские ИТ-субботники
 

Similar to Андрей Колешко «Что не так с Rails» (20)

PDF
Корпоративное приложение на Rails
Andrei Kaleshka
 
PPTX
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Dmitry Lazarenko
 
PPTX
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Fwdays
 
PPTX
Александр Ланин, Наталья Семичева, R-Style
Diana Dymolazova
 
PDF
Поддержка NoSQL и платформ MongoDB, Hive и Teradata в продуктах Embarcadero
Andrew Sovtsov
 
PPTX
Record. Краткий обзор
Rafael Valiullin
 
PPTX
Компетенции Адеква
ADEKVA
 
PDF
Диагностика производительности корпоративных приложений (Малышев)
КРОК
 
PPT
Ruby on Rails снижаем стоимость разработки
Media Gorod
 
PDF
Agile days `16 summary
Anton Zhukov
 
PPTX
NoSQL databases and CouchDB
GetDev.NET
 
PDF
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
GeeksLab Odessa
 
PPTX
Как попасть на следующий уровень карьеры и зарплаты в C#
geekfamilyrussia
 
PPTX
Рейтинг навыков .NET-разработчика
SkillsWiki
 
PPTX
Рейтинг навыков .NET-разработчика
geekfamilyrussia
 
PDF
Что такое облачные вычисления и почему о них так много говорят
КРОК
 
PDF
Docker in Production with AWS ECS
Dmitry Kataev
 
PDF
Нереляционный SQL / Андрей Николаенко (IBS)
Ontico
 
PDF
Нереляционный SQL
Andrei Nikolaenko
 
PPTX
NoSQL - World IT Planet, Saint Petersburg 2015
Shamim bhuiyan
 
Корпоративное приложение на Rails
Andrei Kaleshka
 
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Dmitry Lazarenko
 
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Fwdays
 
Александр Ланин, Наталья Семичева, R-Style
Diana Dymolazova
 
Поддержка NoSQL и платформ MongoDB, Hive и Teradata в продуктах Embarcadero
Andrew Sovtsov
 
Record. Краткий обзор
Rafael Valiullin
 
Компетенции Адеква
ADEKVA
 
Диагностика производительности корпоративных приложений (Малышев)
КРОК
 
Ruby on Rails снижаем стоимость разработки
Media Gorod
 
Agile days `16 summary
Anton Zhukov
 
NoSQL databases and CouchDB
GetDev.NET
 
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
GeeksLab Odessa
 
Как попасть на следующий уровень карьеры и зарплаты в C#
geekfamilyrussia
 
Рейтинг навыков .NET-разработчика
SkillsWiki
 
Рейтинг навыков .NET-разработчика
geekfamilyrussia
 
Что такое облачные вычисления и почему о них так много говорят
КРОК
 
Docker in Production with AWS ECS
Dmitry Kataev
 
Нереляционный SQL / Андрей Николаенко (IBS)
Ontico
 
Нереляционный SQL
Andrei Nikolaenko
 
NoSQL - World IT Planet, Saint Petersburg 2015
Shamim bhuiyan
 
Ad

More from Olga Lavrentieva (20)

PPTX
15 10-22 altoros-fact_sheet_st_v4
Olga Lavrentieva
 
PPTX
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Olga Lavrentieva
 
PPTX
Андрей Козлов (Altoros): Оптимизация производительности Cassandra
Olga Lavrentieva
 
PDF
Владимир Иванов (Oracle): Java: прошлое и будущее
Olga Lavrentieva
 
PPTX
Brug - Web push notification
Olga Lavrentieva
 
PDF
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Olga Lavrentieva
 
PPTX
Максим Жилинский: "Контейнеры: под капотом"
Olga Lavrentieva
 
PPTX
Александр Протасеня: "PayPal. Различные способы интеграции"
Olga Lavrentieva
 
PPTX
Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Olga Lavrentieva
 
PPTX
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Olga Lavrentieva
 
PDF
Егор Воробьёв: «Ruby internals»
Olga Lavrentieva
 
PDF
Дмитрий Савицкий «Ruby Anti Magic Shield»
Olga Lavrentieva
 
PPTX
Сергей Алексеев «Парное программирование. Удаленно»
Olga Lavrentieva
 
PPTX
«Почему Spark отнюдь не так хорош»
Olga Lavrentieva
 
PPTX
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
Olga Lavrentieva
 
PPTX
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
Olga Lavrentieva
 
PPTX
«Дизайн продвинутых нереляционных схем для Big Data»
Olga Lavrentieva
 
PPTX
«Обзор возможностей Open cv»
Olga Lavrentieva
 
PPTX
«Нужно больше шин! Eventbus based framework vertx.io»
Olga Lavrentieva
 
PDF
«Работа с базами данных с использованием Sequel»
Olga Lavrentieva
 
15 10-22 altoros-fact_sheet_st_v4
Olga Lavrentieva
 
Сергей Ковалёв (Altoros): Practical Steps to Improve Apache Hive Performance
Olga Lavrentieva
 
Андрей Козлов (Altoros): Оптимизация производительности Cassandra
Olga Lavrentieva
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Olga Lavrentieva
 
Brug - Web push notification
Olga Lavrentieva
 
Александр Ломов: "Reactjs + Haskell + Cloud Foundry = Love"
Olga Lavrentieva
 
Максим Жилинский: "Контейнеры: под капотом"
Olga Lavrentieva
 
Александр Протасеня: "PayPal. Различные способы интеграции"
Olga Lavrentieva
 
Сергей Черничков: "Интеграция платежных систем в .Net приложения"
Olga Lavrentieva
 
Антон Шемерей «Single responsibility principle в руби или почему instanceclas...
Olga Lavrentieva
 
Егор Воробьёв: «Ruby internals»
Olga Lavrentieva
 
Дмитрий Савицкий «Ruby Anti Magic Shield»
Olga Lavrentieva
 
Сергей Алексеев «Парное программирование. Удаленно»
Olga Lavrentieva
 
«Почему Spark отнюдь не так хорош»
Olga Lavrentieva
 
«Cassandra data modeling – моделирование данных для NoSQL СУБД Cassandra»
Olga Lavrentieva
 
«Практика построения высокодоступного решения на базе Cloud Foundry Paas»
Olga Lavrentieva
 
«Дизайн продвинутых нереляционных схем для Big Data»
Olga Lavrentieva
 
«Обзор возможностей Open cv»
Olga Lavrentieva
 
«Нужно больше шин! Eventbus based framework vertx.io»
Olga Lavrentieva
 
«Работа с базами данных с использованием Sequel»
Olga Lavrentieva
 
Ad

Андрей Колешко «Что не так с Rails»