Эффективные Рельсы — более точного названия для книги придумать было бы сложно. Всё содержание описывается этими двумя словами и раскрывается для нас в сотне рецептов на 380+ страницах. В ожидании выхода финальной версии Rails 5, данное чтиво — то, на что стоит потратить время, благо потребуется его не так много. Но данное вложение вернётся колоссальной прибылью знаний и позволит, как говорится на обложке, «создавать Rails-приложения с нечеловеческой скоростью». Да и не только Rails, да и не только Ruby. Первые две главы включают в себя обилие информации по работе с терминалом и СКВ. Подробности под катом.
На семпл главы из тогда ещё готовящейся книги я наткнулся прошлым летом, заинтересовался и подписался на рассылку, чтобы не потерять сиё произведение из виду. На какое-то время произошло затишье, я периодически на всякий случай заходил на сайт книги, но никаких изменений не было. И вот то ли в конце прошлого, то ли в начале нынешнего года мне пришло письмо, радостно сообщающее о завершении работы и скорой публикации.
На дворе май степенно сменял апрель, книга вышла.
Efficient Rails представляет собой сборник рецептов по оптимизации рабочего процесса разработки, которые не описываются явно ни в каких мануалах. Перейдём к содержанию:
Часть 1. Инструментарий — настройка рабочего окружения
Глава 1. Терминал (усовершенствование стандартного терминала и работы с ним)
Глава 2. Git (подходы к работе с git и решение нестандартных ситуаций, встречающихся в ежедневной рутине)
Глава 3. Консоль Rails (скрытый потенциал рельсовой консоли)
Часть 2. Код — методы для оптимизации кода в Rails-проектах
Глава 4. Модели (расставляются акценты на слабо документированные части работы с моделями)
Глава 5. Контроллеры (решение важных на взгляд автора проблем, связанных с контроллерами)
Глава 6. Представления (раздел обязателен к разбору после прочтения доументации или книги а-ля Agile Web Development)
Глава 7. Ассеты (упрощение работы с ассетами в dev-окружении и неочевидные моменты Turbolinks)
Глава 8. Работа с почтой (классные трюки по настройке и тестированию отправки почты)
Часть 3. Техники и приёмы — подходы к тестированию и отладке
Глава 9. Тестирование (раздел о настройке тестового окружения на примере живых Rails-проектов)
Глава 10. Отладка (продвинутая отладка с помощью pry и не только)
Большинство того, что написано в книге узнаётся двумя путями:
- вы реально столкнулись с проблемой и начали перерывать интернет в поисках решения (в книге под 400 страниц, просто представьте сколько времени придется потратить, чтобы найти все);
- от более опытных коллег (иногда вы даже не догадываетесь, что возникшая трудность имеет решение или вообще не понимаете, что перед вами не фича, а самая что ни на есть реальная проблема).
Поэтому, подводя итог выделяются как минимум 3 группы разработчиков, для которых подойдёт книга:
- фрилансеры без прямого доступа к коллегам для обмена опытом;
- молодые специалисты, которые неплохо освоили Rails на тестовых проектах и устраиваются на первое место работы;
- опытные профессионалы, для которых книга станет свежим взглядом на уже давно сформировавшийся собственный набор средств и методик для решения задач.
Ну и конечно же книга подойдёт любопытным Ruby-разработчикам вне зависимости от опыта или сферы деятельности, позволяя сэкономить уйму времени на поиски решений по оптимизации рабочего процесса, найти слабые места и увидеть альтернативы.
Лично для себя я открыл массу новых полезных вещей и узнал о других возможностях в знакомых инструментах, которыми пользуюсь каждый день. Например, zsh и tig — мои давние друзья. Выучив основы первого и используя второго как читалку git-логов, я и подумать не мог сколько всего дельного скрывает первый, и что второй на самом деле — полноценный «консольный GUI-клиент для гита». Идеальная работа с книгой, как вижу я (и как использую для себя) — внимательно пробежавшись по книге целиком, приступить к ежедневному внедрению одной незнакомой техники. Вчера наконец-то почистил старые ветки, сегодня на практике сравню отличия работы tig от git, а завтра… а завтра суббота.
Подводя повествование к завершению, отмечу, что никак не аффилирован с автором, я лишь решил поддержать такую отличную книгу, чтобы вы смогли с пользой потратить сэкономленное время. Я даже не получу никакого процента за продажи книги с этой статьи. Ну а написание рецензии позволило добыть промокод на скидку для Хабра-сообщества, потому что официальная цена на книгу с текущим курсом доллара кусается даже для Rails-разработчиков. Я кстати очень благодарен Эндрю за такую щедрую скидку. Даже если вы не собираетесь покупать книгу, обязательно прочитайте бесплатную главу, она очень полезная.
Купить книгу за $20 (скидка 50%)
Автор книги Andrew Allen
Сайт книги
Всем хороших выходных!
P.S. Пользуясь случаем, хочу сказать, что мы в Месте.ру вдохновляемся хорошим кодом, стараемся находить и применять новые подходы к его улучшению и приглашаем таких же неравнодушных присоединиться к нашей маленькой, уютной команде. Пишите в личку!
Комментарии (16)
Dreyk
06.05.2016 14:44+1обязательно прочитайте бесплатную главу, она очень полезная
это все конечно очень субъективно (как ваша статья, так и мой комментарий), но именно бесплатная статья для меня несет 0 полезной информации. 80% ее связано с zsh (который я не использую, но не об этом речь) и окружением в MacOS (которым я также не пользуюсь), а то, что касается непосредственно Rails для меня было известно.
Получается, что раз из превью я не вынес ничего полезного, то и в книге вряд ли найдуjarosluv
06.05.2016 15:07+1Всё верно. Книга, как я писал в статье, не написана напрямую о Rails, она о рабочих процессах связанных с Rails. В ней описываются приёмы оптимизации и zsh — отличный инструмент, о котором стоит говорить (особенно применительно к Rails-разработке), но субъективно он может вам не нравиться. Большинство всего можно повторить и в Linux-окружении, советы из книги могут дать пищу для размышлений касательно поиска аналогичных приёмов для вашего инструментария, либо о смене окружения на OSX. Вполне возможно, что самыми интересными для вас станут главы про тестирование, дебаггинг или непосредственно вторая часть книги про код. По идее с сайта можно скачать другой ознакомительный кусочек.
Dreyk
06.05.2016 15:16ммм… а как скачать другой кусочек? я нажал Get a Free Chapter и мне на почту пришла та же пдфка
jarosluv
06.05.2016 15:27Видимо автор сменил старый кусочек на новый. Если он у меня остался (вечером будет возможность поискать), смогу куда-нибудь выложить.
jarosluv
06.05.2016 23:07Залил старенький сэмпл главы по дебаггингу. С релизной версией книги не сравнивал, но предполагаю, что она претерпела изменения, однако почитать интересно и полезно.
https://yadi.sk/i/DwwmBjMHrYDqY
TycoooN
06.05.2016 22:35+1Лет 8 уже занимаюсь rails-разработкой, прочитал пробную главу. Многое мне уже было известно, сам использую osx + zsh (правда давно перешел на prezto). Не задумываясь купил книгу, уверен, что почерпну много полезного, т.к. сразу видно, что автор специалист в своем деле.
P.S. Автору спасибо за скидку, 40$ и правда было бы многовато, а так совсем не жалко.jarosluv
06.05.2016 23:12И спасибо доброму человеку, который сумел добыть эту скидку :D
Ваш коммент тоже оказался полезным — теперь точно обращу внимание на prezto (впервые узнал о нём из короткого упоминания в этой книге).
setevik
07.05.2016 22:39+1Книга интересна, как раз сейчас, на новой работе, буду переползать на стек с Ruby, раньше работал с Python.
Есть советы, на что обратить внимание? Интересны как нюансы в разработке, так и отличия при деплое и т.д.
P.S. Надеюсь автор не имеет отношение к площадке (gumroad). Это же кем надо считать пользователей, чтобы своими кривыми ручонками лезть в историю браузера и блокировать нормальный возврат по кнопке «Назад». Может это и ошибка, и используется для тех же popup-ов, но оставляет очень плохое впечатление.
Чтобы не быть голословным — https://static-1.gumroad.com/res/gumroad/assets/core_bundle-d2951d859cfc3e457eba7c8057242039bae6f64e7dd0429818713dce6f98c11b.jsjarosluv
10.05.2016 20:24Самое главное, что могу посоветовать — вот этот сайтик http://awesome-ruby.com/. Здесь перечислены и разбиты по темам все популярные в сообществе библиотеки. А нюансы в разработке — при всей похожести, Ruby совершенно другой язык, так что знакомых мест будет много, а незнакомых — ещё больше.
k2m30
10.05.2016 14:16+1Что могу сказать.
Книга хороша, очень много полезного для тех, кто никогда не работал в большой команде с отлаженными процессами и развитой инфраструктурой.
Очень помогает не изобретать велосипед, а использовать нормальные инструменты.
Есть несколько досадных багов прямо в тексте вроде Todo: add code example here, пропущенных абзацев и прерванных на середине предложений. Есть несколько тем, не охваченных автором, но, на мой взгляд полезных тем (написал ему).
Я просто долго сидел в аэропорту в пятницу, пить было нечего, а книга была.jarosluv
10.05.2016 20:28Спасибо за отзыв и за то, что не поленились написать о найденных багах автору. Он обещает продолжить выпускать обновления для книги с учётом присланных отзывов, так что надеюсь, в книге появятся новые интересные моменты, и из неё пропадут очевидные вещи, описанные во всех документациях (таких мест не много, но они есть).
Некоторые велосипеды, которые были выстраданы мной в процессе разработки, хорошо описаны в книге, поэтому время сэкономить она точно поможет.
RightWay
Спасибо, посмотрю. Может действительно будет интересно. (купил)
jarosluv
Очень, надеюсь, что книга действительно окажется полезной. В ней есть немного банальностей, однако на 90% она состоит из очень свежей информации (на мой взгляд). Плюс, благодаря опросу в конце каждой главы о её полезности и отзывам читателей, следующая версия книги, наверное, огранится ещё более чётко. Рецензия получилась немного субъективная и эмоциональная, но лишь потому что мне понравилась книга, не зря ждал.