Ruby on Rails для начинающих

Изучаем разработку веб-приложений на основе Rails.

Хартл Майкл «Ruby on Rails для начинающих» ДМК Пресс, 2017 год, 572 стр., 3-е издание, ISBN: 978-5-97060-429-8; (30,4 мб. pdf)

Эта книга предназначена для не совсем для начинающих, желательны уже предварительные знания HTML, CSS и SQL которые помогут вам принять представленный в руководстве материал независимо от того, имеете ли вы опыт веб-разработки вообще и Rails в частности. Ruby on Rails — один из наиболее популярных фреймворков для разработки веб-приложений, но его изучение и использование не самая простая задача.

Известный автор и ведущий разработчик Rails Майкл Хартл познакомит вас с Rails на примере разработки трех приложений. Вам расскажут не только о Rails, но также проведут некоторые вводные основы Ruby, и сопутствующих технологий, которые пригодятся вам при разработке своих веб-приложений. Начиная обсуждение каждой новой методики, Хартл доходчиво объясняет, как она помогает решать практические задачи, а затем демонстрирует ее применение в программном коде, достаточно простом и понятном. Издание предназначено для всех программистов, желающих изучить Ruby on Rails.

Оглавление книги

Содержание.

Глава. 1 От нуля к развертыванию 16
1.1. Введение 18
1.1.1. Необходимая квалификация 19
1.1.2. Типографские соглашения 20
1.2. За работу 22
1.2.1. Среда разработки 23
1.2.2. Установка Rails 25
1.3. Первое приложение 26
1.3.1. Компоновщик 30
1.3.2. Сервер Rails 33
1.3.3. Модель-представление-контроллер (MVC) 35
1.3.4. Hello, world! 38
1.4. Управление версиями с Git 39
1.4.1. Установка и настройка 41
1.4.2. Что дает использование репозитория Git? 42
1.4.3. Bitbucket 43
1.4.4. Ветвление, редактирование, фиксация, слияние 47
1.5. Развертывание 50
1.5.1. Установка Heroku 52
1.5.2. Развертывание на Heroku, шаг первый 53
1.5.3. Развертывание на Heroku, шаг второй 54
1.5.4. Команды Heroku 54
1.6. Заключение 55
1.6.1. Что мы узнали в этой главе 55
1.7. Упражнения 56

Глава. 2 Мини-приложение 58
2.1. Проектирование приложения 58
2.1.1. Модель пользователей 61
2.1.2. Модель микросообщений 61
2.2. Ресурс Users 61
2.2.1. Обзор пользователей 64
2.2.2. MVC в действии 67
2.2.3. Недостатки ресурса Users 74
2.3. Ресурс Microposts 74
2.3.1. Микрообзор микросообщений 74
2.3.2. Ограничение размеров микросообщений 77
2.3.3. Принадлежность множества микросообщений одному пользователю 79
2.3.4. Иерархия наследования 81
2.3.5. Развертывание мини-приложения 83
2.4. Заключение 83
2.4.1. Что мы узнали в этой главе 84
2.5. Упражнения 85

Глава. 3 В основном статические страницы 87
3.1. Установка учебного приложения 87
3.2. Статические страницы 90
3.2.1. Рождение статических страниц 91
3.2.2. Доработка статических страниц 97
3.3. Начало работы с тестированием 99
3.3.1. Наши первые тесты 100
3.3.2. Красный 102
3.3.3. Зеленый 103
3.3.4. Рефакторинг 105
3.4. Слегка динамические страницы 105
3.4.1. Тестирование заголовков (КРАСНЫЙ) 106
3.4.2. Добавление заголовков страниц (ЗЕЛЕНЫЙ) 108
3.4.3. Макеты и встроенный код на Ruby (рефакторинг) 110
3.4.4. Установка корневого маршрута 115
3.5. Заключение 116
3.5.1. Что мы изучили в этой главе 116
3.6. Упражнения 117
3.7. Продвинутые настройки тестирования 118
3.7.1. Средства составления отчетов minitest 119
3.7.2. Настраиваем backtrace 120
3.7.3. Автоматизация тестирования с помощью Guard 120

Глава. 4 Ruby со вкусом Rails 126
4.1. Мотивация 126
4.2. Строки и методы 130
4.2.1. Комментарии 131
4.2.2. Строки 131
4.2.3. Объекты и передача сообщений 134
4.2.4. Определение методов 136
4.2.5. Еще раз о вспомогательной функции заголовка 137
4.3. Другие структуры данных 138
4.3.1. Массивы и диапазоны 138
4.3.2. Блоки 142
4.3.3. Хэши и символы 144
4.3.4. Еще раз о CSS 147
4.4. Ruby-классы 149
4.4.1. Конструкторы 149
4.4.2. Наследование классов 150
4.4.3. Изменение встроенных классов 153
4.4.4. Класс контроллера 154
4.4.5. Класс User 156
4.5. Заключение 158
4.5.1. Что мы узнали в этой главе 158
4.6. Упражнения 159

Глава. 5 Заполнение макета 160
5.1. Добавление некоторых структур 160
5.1.1. Навигация по сайту 161
5.1.2. Bootstrap и собственные стили CSS 166
5.1.3. Частичные шаблоны 173
5.2. Sass и конвейер ресурсов 177
5.2.1. Конвейер ресурсов 177
5.2.2. Синтаксически безупречные таблицы стилей 180
5.3. Ссылки в макете 186
5.3.1. Страница Contact 187
5.3.2. Маршруты в Rails 188
5.3.3. Использование именованных маршрутов 190
5.3.4. Тесты для проверки ссылок в макете 191
5.4. Регистрация пользователей: первый шаг 193
5.4.1. Контроллер Users 193
5.4.2. Адрес URL страницы регистрации 195
5.5. Заключение 196
5.5.1. Что мы узнали в этой главе 197
5.6. Упражнения 198

Глава. 6 Моделирование.пользователей 200
6.1. Модель User 201
6.1.1. Миграции базы данных 202
6.1.2. Файл модели 207
6.1.3. Создание объектов User 207
8 ?? Содержание
6.1.4. Поиск объектов User 210
6.1.5. Обновление объектов User 211
6.2. Проверка объектов User 212
6.2.1. Проверка допустимости 213
6.2.2. Проверка наличия 214
6.2.3. Проверка длины 216
6.2.4. Проверка формата 218
6.2.5. Проверка уникальности 222
6.3. Добавление безопасного пароля 228
6.3.1. Хэшированный пароль 229
6.3.2. Метод has_secure_password 231
6.3.3. Минимальная длина пароля 232
6.3.4. Создание и аутентификация пользователя 233
6.4. Заключение 235
6.4.1.Что мы узнали в этой главе 236
6.5. Упражнения 236

Глава. 7 Регистрация 239
7.1. Страница профиля пользователя 239
7.1.1. Отладка и окружение Rails 241
7.1.2. Ресурс Users 245
7.1.3. Отладчик 249
7.1.4. Аватар и боковая панель 250
7.2. Форма регистрации 254
7.2.1. Применение form_for 256
7.2.2. Разметка HTML формы регистрации 258
7.3. Неудачная регистрация 261
7.3.1. Действующая форма 262
7.3.2. Строгие параметры 264
7.3.3. Сообщения об ошибках при регистрации 267
7.3.4. Тесты для неудачной регистрации 271
7.4. Успешная регистрация 273
7.4.1. Окончательная форма регистрации 273
7.4.2. Кратковременные сообщения 275
7.4.3. Первая регистрация 277
7.4.4. Тесты для успешной отправки формы 279
7.5. Профессиональное развертывание 280
7.5.1. Поддержка SSL 281
7.5.2. Действующий веб-сервер 282
7.5.3. Номер версии Ruby 283
7.6. Заключение 284
7.6.1. Что мы узнали в этой главе 285
7.7. Упражнения 285

Глава. 8 Вход и выход 288
8.1. Сеансы 288
8.1.1. Контроллер Sessions 289
8.1.2. Форма входа 291
8.1.3. Поиск и аутентификация пользователя 294
8.1.4. Отображение кратковременных сообщений 297
8.1.5. Тест кратковременного сообщения 298
8.2. Вход 300
8.2.1. Метод log_in 301
8.2.2. Текущий пользователь 303
8.2.3. Изменение ссылок шаблона 306
8.2.4. Тестирование изменений в шаблоне 309
8.2.5. Вход после регистрации 313
8.3. Выход 315
8.4. Запомнить меня 317
8.4.1. Узелок на память 318
8.4.2. Вход с запоминанием 322
8.4.3. Забыть пользователя 329
8.4.4. Две тонкости 331
8.4.5. Флажок «Запомнить меня» 334
8.4.6. Проверка запоминания 339
8.5. Заключение 345
8.5.1. Что мы узнали в этой главе 346
8.6. Упражнения 346

Глава. 9 Обновление, отображение и удаление пользователей 350
9.1. Обновление пользователей 350
9.1.1. Форма редактирования 351
9.1.2. Неудача при редактировании 355
9.1.3. Тестирование неудачной попытки редактирования 357
9.1.4. Успешная попытка редактирования (с TDD) 357
9.2. Авторизация 360
9.2.1. Требование входа пользователей 361
9.2.2. Требование наличия прав у пользователя 366
9.2.3. Дружелюбная переадресация 370
9.3. Вывод списка всех пользователей 374
9.3.1. Список пользователей 375
9.3.2. Образцы пользователей 378
9.3.3. Постраничный просмотр 380
9.3.4. Тестирование страницы со списком пользователей 382
9.3.5. Частичный рефакторинг 385
9.4. Удаление пользователей 386
9.4.1. Администраторы 386
9.4.2. Метод destroy 389
9.4.3. Тесты для проверки удаления пользователя 392
9.5. Заключение 394
9.5.1. Что мы изучили в этой главе 395
9.6. Упражнения 396

Глава. 10 Активация учетной записи и сброс пароля 399
10.1. Активация учетной записи 399
10.1.1. Ресурс AccountActivations 401
10.1.2. Отправка письма для активации 406
10.1.3. Активация учетной записи 417
10.1.4. Тестирование активации и рефакторинг 424
10.2. Сброс пароля 427
10.2.1. Ресурс для сброса пароля 429
10.2.2. Контроллер и форма для сброса пароля 432
10.2.3. Метод объекта рассылки для сброса пароля 435
10.2.4. Смена пароля 441
10.2.5. Тестирование сброса пароля 447
10.3. Отправка электронных писем из эксплуатационного окружения 449
10.4. Заключение 451
10.4.1. Что мы узнали в этой главе 452
10.5. Упражнения 453
10.6. Доказательство сравнения срока годности ссылки 455

Глава. 11 Микросообщения пользователей 457
11.1. Модель Micropost 457
11.1.1. Базовая модель 458
11.1.2. Проверка микросообщений 459
11.1.3. Связь User/Micropost 462
11.1.4. Усовершенствование микросообщений 464
11.2. Вывод микросообщений 468
11.2.1. Отображение микросообщений 468
11.2.2. Образцы микросообщений 472
11.2.3. Тесты профиля с микросообщениями 477
11.3. Манипулирование микросообщениями 479
11.3.1. Управление доступом к микросообщениям 480
11.3.2. Создание микросообщений 482
11.3.3. Прото-лента сообщений 489
11.3.4. Удаление микросообщений 494
11.3.5. Тесты микросообщений 496
11.4. Изображения в микросообщениях 499
11.4.1. Выгрузка изображений 499
11.4.2. Проверка изображений 503
11.4.3. Изменение размеров изображений 506
11.4.4. Выгрузка изображений в эксплуатационном окружении 508
11.5. Заключение 512
11.5.1. Что мы узнали в этой главе 513
11.6. Упражнения 513

Глава. 12 Следование за пользователями 516
12.1. Модель Relationship 517
12.1.1. Проблема модели данных (и ее решение) 517
12.1.2. Связь пользователь/взаимоотношения 523
12.1.3. Проверка взаимоотношений 525
12.1.4. Читаемые пользователи 526
12.1.5. Читатели 528
12.2. Веб-интерфейс следования за пользователями 530
12.2.1. Образцы данных 530
12.2.2. Статистика и форма для оформления следования 532
12.2.3. Страницы читаемых и читателей 540
12.2.4. Стандартная реализация кнопки «Подписаться» 547
12.2.5. Реализация кнопки «Подписаться» с применением Ajax 550
12.2.6. Тестирование подписки 553
12.3. Лента сообщений 555
12.3.1. Мотивация и стратегия 555
12.3.2. Первая реализация ленты сообщений 557
12.3.3. Подзапросы 560
12.4. Заключение 564
12.4.1. Рекомендации по дополнительным ресурсам 564
12.4.2. Что мы узнали в этой главе 565
12.5. Упражнения 566

Скачать техническую литературу бесплатно30,4 мб. pdf

Похожая литература