Мир Rails. Правильное обучение разработке веб-приложений на Ruby On Rails [Р. Снитко] (pdf) читать постранично

-  Мир Rails. Правильное обучение разработке веб-приложений на Ruby On Rails  1.58 Мб, 282с. скачать: (pdf) - (pdf+fbd)  читать: (полностью) - (постранично) - Р. Снитко

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Автор: Роман Снитко, версия книги: 1.0.7

1

Содержание
Глава 1. Архитектура веб-приложения
Глава 2. Инструменты, которые вам нужны, чтобы начать работу
Глава 3. Преждем чем начать: знания, которые вам понадобятся
Глава 4. Создание Rails-приложения
Глава 5. Модели, ActiveRecord и взаимодействие с БД
Глава 6. Контроллеры и ресурсы
Глава 7. Views, хэлперы и ассеты
Глава 8. Тестирование (моделей и контроллеров) и зачем это нужно
Глава 9. Руби-гемы, Bundler и Github
Глава 10. Настройка сервера и деплой приложения
Глава 11. Что дальше: как разбираться в проблемах и кому задавать вопросы?

2

Как читать эту книгу
Проще всего объяснить принцип — продемонстрировав пример (именно так мы и будем
поступать в дальнейшем). В этой книге мы будем использовать в качестве примера
интернет-магазин, над которым мы якобы работаем. В отличие от других книг, этот пример
никогда не будет завершен и более того, его разработка на протяжении книги не будет
последовательной. Я просто буду говорить — "в нашем интернет магазине" и дальше
приводить пример задачи, которую надо решить или пример кода, который нужно написать.
Мы не будем держать в памяти и учитывать все детали интернет-магазина или все те
изменения, которые мы внесли в него до этого. В то же время, поскольку интернет-магазин
является довольно понятным большинству пользователей (и, полагаю, всем моим
читателям) приложением, его общая структура, задачи и концепции известны и понятны
всем. Именно поэтому мне не нужно будет тратить время на объяснение предметной
области1 и логики и я смогу сосредоточиться на объяснении того, как решить конкретную
известную всем задачу (скажем, добавление товара в корзину) с помощью Ruby On Rails.
Сама книга условно разделена на три части. В главах с 1-ой по 3-ю вы можете
"откинуться на спинку кресла" и попытаться "впитать" теоретический материал настолько,
насколько это возможно. С 3-ей по 6-ую главу я буду рассказывать о самых важных частях
Rails — моделях, контроллерах и views. К сожалению, изучать их последовательно и по
отдельности невозможно. Моя рекомендация будет следующей: после завершения 3-ей
главы попробуйте читать 4-ую, 5-ую и 6-ую — одновременно, по немногу продвигаясь
вперед. Это поможет вам не потерять из виду общую картину архитектуры MVC и
окончательно не запутаться. Наконец, с 7-ой главы вы можете продолжить читать в
обычном режиме.
Чтобы прочесть и понять эту книгу, вам потребуется как минимум знание языка Ruby.
1

Предметная область — все, что имеет отношение к задаче, ради которой делается приложение. Например, если бы мы
разрабатывали приложение для авиадиспетчеров, то предметная область называлась бы "регулирование воздушного
движения". Если бы мы делали интернет-банк, то предметная область называлась бы "обслуживание клиентов банка". В
нашем случае предметной областью будет "интернет-торговля".

Соглашения, принятые в книге
Пожалуйста обратите внимание на несколько соглашений, которые используются в книге
и которые необходимо понимать:
Ruby, html, css и другой код, а также команды для терминала могут быть
вынесены в отдельный блок, например так:
item1.name

= "Porsche"

3

item1.name = "Porsche"
item1.name = "A really fast car"
item1.price = 3000000

Код также может встречаться прямо внутри предложения; тогда он может
выглядеть так: item1 = Item.last
Символ #, который используется внутри блока с кодом внутри предложения —
означает не комментарий, а инстансный метод. Например, если речь в
предложении идет о классе Item, то я могу написать "и затем вам нужно вызвать
на объекте Item метод #save" или я могу также написать "и затем вам нужно
вызвать метод Item#save", что будет означать ровно то же самое. Это
повсеместно принятое в литературе по Ruby обозначение инстансных методов.
Внутри большого блока кода, символ # будет означать комментарий.
Аналогично предыдущему соглашению, точка . означает метод класса.
Например, я могу написать "после того как вы вызовите метод Item.create...".
Внутри блоков с кодом вам может встретиться подобное выражение:
@item.id #=> 1

Это стандартный способ, принятый в документации Ruby-библиотек для того,
чтобы прямо рядом с исходным кодом показать, каков будет результат
выполнения этого кода. Т.к. символ # в Ruby означает комментарий, то все, что
следует за ним — игнорируется программой и предназначено исключительно для
глаз программиста. В данном случае я хотел показать, что если вызвать на
переменной @item метод #id, то он вернет значение 1.
Так как некоторые файлы могут состоять из большого количества кода, неразумно
было бы приводить его целиком каждый раз. Я буду использовать три точки ...,
когда я подразумеваю наличие какого-либо кода в том месте, где указаны эти
точки. Например:
class Item < ActiveRecord::Base
...
validates :price, numericality: { greater_than: 0 }
...
end

Несколько слов перед тем, как мы
приступим
Сообщения об ошибках, неточностях или