Книга The Rails Way
Илья • 4 марта 2008 г.
Не так давно, в мире существовала всего одна книга по Ruby on Rails — Agile Web Development With Rails от создателя Rails Дэвида Хейнмейера Ханссона (David Heinemeier Hansson). Кто бы мог подумать, что сегодня у нас будет выбор из двадцати пяти книг на любой вкус и цвет! Ориентироваться в этом изобилии (ну ладно, пусть не изобилии, но многообразии) становится всё сложнее. Какую книгу выбрать? У меня есть подходящий ответ на этот вопрос…
На днях я купил
Книга достаточно толстая (900+ страниц) и выполнена в виде настольного руководства. В ней нет длинных уроков, домашних заданий и больших тестовых приложений. Она больше ориентируется на людей, которые способны самостоятельно изучить материал, имея максимально полную информацию об инструменте. Каждый компонент фреймворка подробно описан и сопровождён примерами. Иногда, автор приводит отрывки кода прямо из исходного кода Rails, чтобы разъяснить сложные моменты. Так же, практически в каждой главе можно найти актуальные советы по теме от профессиональных
Перечислять темы, которые затрагивает книга, можно бесконечно — одно только содержание занимает пятнадцать страниц. Радует наличие глав о таких, сравнительно новых для мира Rails, темах как REST, ресурсы и ActiveResource.
Книга хороша для более глубокого изучения компонентов фреймворка, а так же для поиска подробностей, не описанных (или описанных, но скудно) в официальной документации. Например раздел об ассоциациях ActiveRecord описывает прокси ассоциаций. А в разделе, посвящённому роутингу в Rails, детально описано как он устроен, с вставками исходного кода Rails.
Помимо описания самого фреймворка Rails, книга содержит множество информации о других подручных инструментах и технологиях, которые мы ежедневно используем в работе: Capistrano, Monit, Mongrel, Nginx, RSpec и даже весьма подробное изучение Prototype.js и Scriptaculous. Что это и как это установить? Как настроить лучшим образом и как использовать? На все эти вопросы книга даёт развёрнутые ответы. И это то, что делает The Rails Way таким хорошим кандидатом на покупку.
The Rails Way является практически идеальной заменой онлайн документации по Rails (за исключением медленного поиска) — в любой момент, когда у вас возник вопрос или хочется узнать как выполнить ту или иную задачу более правильным путём, она будет вашим лучшим помощником.
На мой взгляд, книга The Rails Way обязательно должна быть в библиотеке каждого
А что думаете вы?
Читаете ли вы техническую литературу на английском языке? Есть ли, по вашему мнению, смысл в русском переводе этой книги?
36 комментариев:
Извините, но комментарии для этой статьи уже закрыты.


Читаю сабж в данный момент. Полностью согласен с мнением. Книга добротная, для каждогоfull-time Rails разработчика.
Использую в последнее время Rails Way в качестве справочника. Книга на порядок полезнее AWDWR, к тому же рассказывает о вторых рельсах. Перевод ее на русский язык имеет смысл, т.к. читать все же приятнее на родном языке. Лично я точно приобрел бы ее в русском варианте :)
Литературу хоть и предпочитаю читать на русском языке, но, к сожалению, в основном приходится читать на английском, т.к. в основном нет современных переводов.
А для новичка в рельсах эта книга подойдет?
Очень хочу почитать, но у меня ее, пока, нет :(, да еще пока есть N других уже купленных книг, которые ждут своего часа. Переводить однозначно стоит, Ruby Way и AWDWR же перевели (правда не знаю на сколько хорошо) это стоит. И еще стоит The Ruby Programming Language Больше книг хороших и разных :) Переводить стоит, т.к. новичкам будет легче влиться. Мы с вами будем читать в оригинале, т.к. нам это удобнее да и перевода ждать невтерпеж.
Отличная книга. AWD подходит для введения, Rails Way — для понимания.
Книга явно хорошая.Уже закачал ее в формате pdf.Больше бы на русском публиковали.Была бы она на русском купил бы сразу не задумываясь.
И вновь вклиниваюсь в разговор, раз уж речь зашла о переводах. Мой перевод Ruby Way вызвал ряд нареканий – надо признать, справедливых. Поскольку я, вероятно (если все сложится), буду переводить книгу David Flanagan, Yukihiro Matsumoto “The Ruby Programming Language”, изданную O'Reilly (лично мне книга показалась очень полезной, кто лучше создателя языка напишет?) и не хочу наступать на те же грабли, обращаюсь к сообществу с предложением выработать общее мнение по поводу перевода некоторых специфичных для Ruby терминов. В качестве основы для дискуссии предлагаю свои переводы некоторых слов (на выбор):Proc-объект
класс-одиночка не предлагать)
duck typing – утипизация, утиная типизация, динамическая типизация
Proc –
singleton class, eigenclass – синглетный класс, айгенкласс, собственный класс (
splat operator – оператор расплющивания, оператор линеаризации массива
memoizing – запоминание
Рад буду увидеть предложения по другим терминам, которые сразу не вспомнились. Обсуждать неспецифичную терминологию, пожалуйста, не надо. Надеюсь, что коллективный разум поможет выработать единую (до некоторой степени) терминологию.
Про книгу сказать нечего, еще не читал:(
По поводу обсуждения терминов. Александр, вы молодец, что пошли на контакт:) Думаю, как минимум, коллективный разум активной части группы ror2ru уже в вашем распоряжении:) Сомнение вызывает только платформа – комментарии в блоге, на другую тему – этокак-то не то.. Может быть какую-то вики выберем? Хотя бы те же викибукс? В общем, мой вопрос стоит так – вы не против смены места обсуждения на более удобное для коллективного «творчества»?
Совершенно не против, только сообщите мне, где будет происходить обсуждение.
Моё мнение: duck typing — динамическая типизация; singleton class — еденичный класс.
С проком сложнее. Можно попробовать сказать «процедурный объект», но, если подумать, «proc» это уже исторически сложившийся акроним, не имеющий однозначного перевода. Думаю его можно оставить как есть — «proc».
Со «splat operator» всю голову сломал, уж очень неформальное название. «Оператор линеаризации» технически, на мой взгляд, звучит вполне грамотно, но намного сложнее, чем «splat». Слово «расплющивание» слишком неуклюжее. Может «оператор разложения»?
а dynamic typing тогда?
А скажите где закачать перевод?
А чем же duck typing принципиально отличается от dynamic typing?По-моему , это в точности одно и то же (не путать с динамическим связыванием!), только менее формально (а уж ретроактивный полиморфизм – это что-то совсем надуманное). Ну очень мне не нравится «утиная типизация».
Proc-объект , иначе склонять невозможно. Не могу же я писать в книге Proc'ы.
раскладываем-то ? Это слово употребляется в контекстах «разложить на множители», «разложить в ряд», «разложить на составляющие». Ничего подобного здесь не происходит.
Что касается Proc, так я и предлагаю
splat можно еще «разглаживание». «Разложение» IMHO не годится – на что или во что мы его
Справедливое замечание.
Что значит «закачать»? Речь идет о будущем переводе печатной книги. Так что,во-первых , его еще нет, а, во-вторых , по моей инициативе он и не будет выложен в сеть. Издательство должно же зарабатывать. Да и ваш покорный слуга тоже :)
В рор2ру пока тихо по поводу платформы для обсуждений, так что я пока могу предложить вот что: http://123.writeboard.com/11d0d51dd6911d8f3 Пароль – первое простое число (use wiki, if you hesitate:)
Ничего с этим не поделаешь, так уж они назвали. Мне кажется стоит смириться. По крайней мере, если человек встретит в книге выражение «утиная типизация» он сможет набрать это в гугле и получить информацию.
Это они так назвали! А мы должны придумать адекватный перевод. Разумеется, при первом упоминании должно быть приведено оригинальное написание и пояснение о происхождении термина (это обычная практика). Выбранное моим тезкой место для обсуждения вполне приемлемо.
Но не «абстрактное слово, которое нравится переводчику» (утипизация) и не «любой другой термин, который мне кажется похожим» (динамическая типизация)
Александер, если вы ее переведете, я куплю ее хоть за 40$ :-)
Не хочется спорить, просто процитирую Википедию:
Угу, я уже глянул, что Википедия считает «утиная типизация» = «полиморфизм на вызовах плюс динамическое связывание». Но это не отменяет того факта, что термин “duck typing” означает разновидность полиморфизма, а не типизации (вообще говоря, “duck polymorhism” было бы корректнее). Т.е. “duck typing” подразумевает динамическую типизацию, но не является ею.
Только что почитал отзывы о книге, отличный выбор! Уже добавил себе ввиш-лист …
template<typename> T fun(T a, T b) { a.blah(b); }Если тип T не обладает методом blah, программа просто не скомпилируется. И это статическая типизация. Ruby не интересуется наличием метода blah до того момента, как в нему обратятся, а в этот начнет искать его. И, возможно, найдет, хотя в начале выполнения программы его не было в типе T. И это динамическая типизация.
Но я тоже не хочу спорить. Моя задача иная – понять, какой термин будет наиболее понятен как опытным программистам, уже поднаторевшим в сложившейся полужаргонной терминологии Ruby, так и неофитам. Как бы мне лично ни нравилась «утипизация», настаивать на ней я не могу.
Купил «Рецепты»по-русски .
Понравилось. Особенно «Король Вершины» («King of the Hill») и «Постоянное присутствие на переднем крае» («Living on the Edge»).
А какпо-русски chunky bacon?
Рубленый бекон? :)
Может «Сало шматовое»? А что касается Duck Typing – так это,по-моему , семантически-ориентированная динамическая типизация. А фраза про утку укоренена в англоязычном контексте, в русском просто нет похожей цитаты. Навскидку вспоминается только история про Василий Иваныча, который закрашивал на цистерне надпись C2H5OH, да краски не хватило. Бойцы видят – написано “OH”, попробовали — и правда OH!!!
Читал Agile Web Development With Rails на русском языке. Перевод в некоторых моментах оставляет желать лучшего. Просто не врубаешься в то, о чем идет речь. Предпочитаю читать на английском, т.к. термины всегда использую в оригинале.
Насчет перевода я считаю, что термины переводить не нужно вобще. Мы пишем программы используя английский язык. Пользуемся документацией на английском.
Пока ведь не создали некийИТ-словарь (единственный и официальный), куда будут записывать переводы англоязычных ИТ-терминов ? Нет.
Тогда как быть человеку, который прочитал «Приемыобъектно-ориентированного проектирования» и там Singleton – одиночка, а здесь: синглетный класс, айгенкласс, собственный класс (класс-одиночка не предлагать)? Он даже не поймет, что речь идет об одном и том же :)
Данную книгу пока к сожалению не читал, но техническую литературу на инглише читаю иногда. И более того, уверен, что дело это нужное. Обмен опыта в международных масштабах – весьма полезное дело, поэтому я за то, чтобы учить английский только ради того, чтобы можно было читать книги других стран. И будь самым распространенным не английский, а другой какой, я бы так же был за него!
А данную книгу может быть и нет ни у кого времени переводить, но я думаю, некоторые интересные фрагменты можно было бы.
Скачал эту книжку недавно, весьма неплохо. К сожалению, детально разобраться пока времени не было.
По поставленным вопросам: 1) Вообще, читать литературу на английском приходится постоянно, особенно учитывая, что часто, когда ее переводят на русский, ситуация сильно меняется)) 2) Было бы замечательно, если бы эта книга была бы переведена.
Мое мнение – оставлять подобные технические термины на родном, англ. языке. Зачем сверлить себе моск в поисках подходящего перевода? При необходимости, можно обратиться к мануалу, поясняющему искомый термин более детально… IMHO…
Ибо как по мне, то читать «Singleton класс» более воспринимаемо, нежели «синглет класс» или «единичный класс» или …
А где можно скачать данную книгу?
Интересует та же проблемма – где можно книжку качнуть? И вообще может есть ресурс где можно на шару расшариться таким материалом?
А зачем ее качать? Осенью выйдет перевод. Ищите и обрящете.
А когда перевод появится на прелавках книжных магазинов?