Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 639001)
Контекстум
Электро-2024

Ruby on Rails для начинающих. Изучаем разработку веб-приложений на основе Rails (4000,00 руб.)

0   0
Первый авторХартл
ИздательствоМ.: ДМК Пресс
Страниц574
ID794612
АннотацияRuby on Rails — один из наиболее популярных фреймворков для разработки веб-приложений, но его изучение и использование — не самая простая задача. Эта книга поможет вам решить ее независимо от того, имеете ли вы опыт веб-разработки вообще и Rails в частности. Известный автор и ведущий разработчик Rails Майкл Хартл познакомит вас с Rails на примере разработки трех приложений. Автор рассказывает не только о Rails, но также описывает основы Ruby, HTML, CSS и SQL, которые пригодятся вам при разработке своих веб-приложений. Начиная обсуждение каждой новой методики, Хартл доходчиво объясняет, как она помогает решать практические задачи, а затем демонстрирует ее применение в программном коде, достаточно простом и понятном. Издание предназначено для всех программистов, желающих изучить Ruby on Rails.
ISBN978-5-97060-429-8
УДК004.438Ruby on Rails
ББК32.973.22
Хартл, М. Ruby on Rails для начинающих. Изучаем разработку веб-приложений на основе Rails / М. Хартл .— Москва : ДМК Пресс, 2017 .— 574 с. — ISBN 978-5-97060-429-8 .— URL: https://rucont.ru/efd/794612 (дата обращения: 16.06.2024)

Предпросмотр (выдержки из произведения)

Ruby_on_Rails_для_начинающих._Изучаем_разработку_веб-приложений_на_основе_Rails.pdf
УДК 004.438Ruby on Rails ББК 32.973.22 X22 X22 Ruby on Rails для начинающих / пер. с анг. А. Разуваева. – М.: ДМК Пресс, 2017. – 572 с.: ил. Хартл М. ISBN 978-5-97060-429-8 Ruby on Rails – один из наиболее популярных фреймворков для разработки веб-приложений, но его изучение и использование – не самая простая задача. Эта книга поможет вам решить ее независимо от того, имеете ли вы опыт веб-разработки вообще и Rails в частности. Известный автор и ведущий разработчик Rails Майкл Хартл познакомит вас с Rails на примере разработки трех приложений. Автор рассказывает не только о Rails, но также описывает основы Ruby, HTML, CSS и SQL, которые пригодятся вам при разработке своих веб-приложений. Начиная обсуждение каждой новой методики, Хартл доходчиво объясняет, как она помогает решать практические задачи, а затем демонстрирует ее применение в программном коде, достаточно простом и понятном. Издание предназначено для всех программистов, желающих изучить Ruby on Rails. УДК 004.438Ruby on Rails ББК 32.973.22 Authorized translation from the English language edition, entitled Ruby on Rails Tutorial. Learn Web Development with Rails. 3rd Edition; ISBN 9780134077703; Ьу Michael Hartl; puhlished Ьу Pearson Education, Inc., puhlishing as Addison-Wesley Professional. Copyright © 2015 Ьу Pearson Education, Inc. All rights reserved. No part of this book may Ье reproduced or transmitted in any form or Ьу any means, electronic or mechanical, including photocopying, recording or Ьу any information storage retrieval system, without permission from PearsonEducation, lnc. RUSSIAN language edition puhlished Ьу DMK PUВLISHERS. Copyright © 2016. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-0-13-407770-3 (анг.) Copyright © 2015 Michael Hartl ISBN 978-5-97060-429-8 (рус.) © Перевод, оформление, издание, ДМК Пресс, 2017
Стр.5
Содержание Предисловие..................................................................12 Благодарности................................................................13 Об.авторе.......................................................................14 Авторские.права.и.лицензия. ..............................................15 Глава.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
Стр.6
6  Содержание 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
Стр.7
Содержание  7 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
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
Стр.9
Содержание  9 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
Стр.10
10  Содержание 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
Содержание  11 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
Стр.12

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст