Обзор книги "Crafting Rails 4 Applications"
В обзорах Refactoring: Ruby Edition и Confident Ruby я говорил, что это отличные книги которые очень сильно пригодятся новичкам. К сожалению, несмотря на очевидную пользу для неопытных разработчиков, обе книги содержат в себе слишком мало информации полезной разработчикам опытным. Мне лично хоть и было их интересно читать, но каких-то серьезных новых идей почерпнуть для себя не удалось, скорее лишнее закрепление и формализация существующих знаний.
Герой же этого обзора, Crafting Rails 4 Applications, с трудом подойдет тем, кто еще не написал ни одного своего приложения на Ruby on Rails и не сильно разбирается в программировании. Зато эта книга - настоящий кладезь знаний для опытных разработчиков, с годами опыта за спиной, но у которых все еще не было времени разобраться в тонкостях имплементации любимого фреймворка. Или, другими словами, это лучшая прочитанная мной книга по Ruby on Rails.
Автор (один из разработчиков rails) рассказывает о внутреннем устройстве RoR на множестве нетривиальных примеров, показывая насколько рельсы гибкие и расширяемые. Само собой, в книге нет описания вообще всего исходного кода рельсы, но, например, весь процесс рендеринга шаблонов показан от А до Я.
Наконец-то я знаю как переменные из контроллера попадают во вьюхи и как можно "хакнуть" контроллер чтобы он ничего не передавал во вьюху. Еще сходу приходит в голову глава про рендеринг шаблонов из базы данных, вместо файловой системы. В книге рассказывается как написать рендеринг своих форматов файлов и как хранить и вытягивать их из БД: задача, по глупости казавшаяся мне нетривиальной, оказалась очень простой и решаемой стандартными средствами Rails.
Использование Rack, сбор логов, concurrency, бакенд для I18n, Server Sent Events – в Crafting Rails 4 Applications тонна полезной информации, поданой максимально понятным образом. Без этой книги пришлось бы самому читать исходники rails и тратить гораздо больше времени на изучение внутреннего устройства самого лучшего инструмента для веб-разработки.
Must read для всех кто уже давно не junior. Не помешает и разработчикам по-младше, но будьте готовы к большому порогу вхождения в материал.