Эффективные Рельсы — более точного названия для книги придумать было бы сложно. Всё содержание описывается этими двумя словами и раскрывается для нас в сотне рецептов на 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 группы разработчиков, для которых подойдёт книга:
  1. фрилансеры без прямого доступа к коллегам для обмена опытом;
  2. молодые специалисты, которые неплохо освоили Rails на тестовых проектах и устраиваются на первое место работы;
  3. опытные профессионалы, для которых книга станет свежим взглядом на уже давно сформировавшийся собственный набор средств и методик для решения задач.

Ну и конечно же книга подойдёт любопытным Ruby-разработчикам вне зависимости от опыта или сферы деятельности, позволяя сэкономить уйму времени на поиски решений по оптимизации рабочего процесса, найти слабые места и увидеть альтернативы.

Лично для себя я открыл массу новых полезных вещей и узнал о других возможностях в знакомых инструментах, которыми пользуюсь каждый день. Например, zsh и tig — мои давние друзья. Выучив основы первого и используя второго как читалку git-логов, я и подумать не мог сколько всего дельного скрывает первый, и что второй на самом деле — полноценный «консольный GUI-клиент для гита». Идеальная работа с книгой, как вижу я (и как использую для себя) — внимательно пробежавшись по книге целиком, приступить к ежедневному внедрению одной незнакомой техники. Вчера наконец-то почистил старые ветки, сегодня на практике сравню отличия работы tig от git, а завтра… а завтра суббота.

Подводя повествование к завершению, отмечу, что никак не аффилирован с автором, я лишь решил поддержать такую отличную книгу, чтобы вы смогли с пользой потратить сэкономленное время. Я даже не получу никакого процента за продажи книги с этой статьи. Ну а написание рецензии позволило добыть промокод на скидку для Хабра-сообщества, потому что официальная цена на книгу с текущим курсом доллара кусается даже для Rails-разработчиков. Я кстати очень благодарен Эндрю за такую щедрую скидку. Даже если вы не собираетесь покупать книгу, обязательно прочитайте бесплатную главу, она очень полезная.

Купить книгу за $20 (скидка 50%)

Автор книги Andrew Allen
Сайт книги

Всем хороших выходных!

P.S. Пользуясь случаем, хочу сказать, что мы в Месте.ру вдохновляемся хорошим кодом, стараемся находить и применять новые подходы к его улучшению и приглашаем таких же неравнодушных присоединиться к нашей маленькой, уютной команде. Пишите в личку!
Поделиться с друзьями
-->

Комментарии (16)


  1. RightWay
    06.05.2016 11:02
    +1

    Спасибо, посмотрю. Может действительно будет интересно. (купил)


    1. jarosluv
      06.05.2016 11:21

      Очень, надеюсь, что книга действительно окажется полезной. В ней есть немного банальностей, однако на 90% она состоит из очень свежей информации (на мой взгляд). Плюс, благодаря опросу в конце каждой главы о её полезности и отзывам читателей, следующая версия книги, наверное, огранится ещё более чётко. Рецензия получилась немного субъективная и эмоциональная, но лишь потому что мне понравилась книга, не зря ждал.


  1. niko1aev
    06.05.2016 11:51
    +1

    Спасибо. Купил книжку, отправил в типографию отпечатать) Люблю бумажные варианты читать, когда от монитора глаза отдыхают)


    1. jarosluv
      06.05.2016 13:58

      Серьёзный подход к делу :)


      1. niko1aev
        06.05.2016 14:07

        написал в личку


  1. Dreyk
    06.05.2016 14:44
    +1

    обязательно прочитайте бесплатную главу, она очень полезная

    это все конечно очень субъективно (как ваша статья, так и мой комментарий), но именно бесплатная статья для меня несет 0 полезной информации. 80% ее связано с zsh (который я не использую, но не об этом речь) и окружением в MacOS (которым я также не пользуюсь), а то, что касается непосредственно Rails для меня было известно.
    Получается, что раз из превью я не вынес ничего полезного, то и в книге вряд ли найду


    1. jarosluv
      06.05.2016 15:07
      +1

      Всё верно. Книга, как я писал в статье, не написана напрямую о Rails, она о рабочих процессах связанных с Rails. В ней описываются приёмы оптимизации и zsh — отличный инструмент, о котором стоит говорить (особенно применительно к Rails-разработке), но субъективно он может вам не нравиться. Большинство всего можно повторить и в Linux-окружении, советы из книги могут дать пищу для размышлений касательно поиска аналогичных приёмов для вашего инструментария, либо о смене окружения на OSX. Вполне возможно, что самыми интересными для вас станут главы про тестирование, дебаггинг или непосредственно вторая часть книги про код. По идее с сайта можно скачать другой ознакомительный кусочек.


      1. Dreyk
        06.05.2016 15:16

        ммм… а как скачать другой кусочек? я нажал Get a Free Chapter и мне на почту пришла та же пдфка


        1. jarosluv
          06.05.2016 15:27

          Видимо автор сменил старый кусочек на новый. Если он у меня остался (вечером будет возможность поискать), смогу куда-нибудь выложить.


        1. jarosluv
          06.05.2016 23:07

          Залил старенький сэмпл главы по дебаггингу. С релизной версией книги не сравнивал, но предполагаю, что она претерпела изменения, однако почитать интересно и полезно.

          https://yadi.sk/i/DwwmBjMHrYDqY


  1. TycoooN
    06.05.2016 22:35
    +1

    Лет 8 уже занимаюсь rails-разработкой, прочитал пробную главу. Многое мне уже было известно, сам использую osx + zsh (правда давно перешел на prezto). Не задумываясь купил книгу, уверен, что почерпну много полезного, т.к. сразу видно, что автор специалист в своем деле.

    P.S. Автору спасибо за скидку, 40$ и правда было бы многовато, а так совсем не жалко.


    1. jarosluv
      06.05.2016 23:12

      И спасибо доброму человеку, который сумел добыть эту скидку :D

      Ваш коммент тоже оказался полезным — теперь точно обращу внимание на prezto (впервые узнал о нём из короткого упоминания в этой книге).


  1. setevik
    07.05.2016 22:39
    +1

    Книга интересна, как раз сейчас, на новой работе, буду переползать на стек с Ruby, раньше работал с Python.
    Есть советы, на что обратить внимание? Интересны как нюансы в разработке, так и отличия при деплое и т.д.

    P.S. Надеюсь автор не имеет отношение к площадке (gumroad). Это же кем надо считать пользователей, чтобы своими кривыми ручонками лезть в историю браузера и блокировать нормальный возврат по кнопке «Назад». Может это и ошибка, и используется для тех же popup-ов, но оставляет очень плохое впечатление.
    Чтобы не быть голословным — https://static-1.gumroad.com/res/gumroad/assets/core_bundle-d2951d859cfc3e457eba7c8057242039bae6f64e7dd0429818713dce6f98c11b.js


    1. jarosluv
      10.05.2016 20:24

      Самое главное, что могу посоветовать — вот этот сайтик http://awesome-ruby.com/. Здесь перечислены и разбиты по темам все популярные в сообществе библиотеки. А нюансы в разработке — при всей похожести, Ruby совершенно другой язык, так что знакомых мест будет много, а незнакомых — ещё больше.


  1. k2m30
    10.05.2016 14:16
    +1

    Что могу сказать.

    Книга хороша, очень много полезного для тех, кто никогда не работал в большой команде с отлаженными процессами и развитой инфраструктурой.
    Очень помогает не изобретать велосипед, а использовать нормальные инструменты.

    Есть несколько досадных багов прямо в тексте вроде Todo: add code example here, пропущенных абзацев и прерванных на середине предложений. Есть несколько тем, не охваченных автором, но, на мой взгляд полезных тем (написал ему).

    Я просто долго сидел в аэропорту в пятницу, пить было нечего, а книга была.


    1. jarosluv
      10.05.2016 20:28

      Спасибо за отзыв и за то, что не поленились написать о найденных багах автору. Он обещает продолжить выпускать обновления для книги с учётом присланных отзывов, так что надеюсь, в книге появятся новые интересные моменты, и из неё пропадут очевидные вещи, описанные во всех документациях (таких мест не много, но они есть).

      Некоторые велосипеды, которые были выстраданы мной в процессе разработки, хорошо описаны в книге, поэтому время сэкономить она точно поможет.