Перейти к содержанию
Типичный Социум

И.В. Симдянов "Самоучитель Ruby" [+code] (2020) [PDF]


Рекомендуемые сообщения

  • Пользователь
Опубликовано

Автор: И.В. Симдянов
Издательство: БХВ-Петербург
Серия: Самоучитель
Жанр: Компьютерная литература
Формат: PDF
Качество: Изначально электронное (ebook)
Иллюстрации: Черно-белые


Screenshot_134.png


ОПИСАНИЕ:
Язык Ruby излагается последовательно от простого к сложному. Описываются интерпретатор Ruby, утилиты, детально рассматривается современная Ruby-экосистема, работа со стандартной и сторонними библиотеками. Дан разбор синтаксических конструкций: операторов, переменных, констант, конструкций ветвления и циклов, блоков и итераторов. Подробно описаны объектно-ориентированные возможности Ruby: классы, модули, объекты и методы. Показано практическое применение языка Ruby в веб-программировании и автоматическом тестировании. Для закрепления материала в конце глав приводятся задания. С помощью книги можно не только освоить язык Ruby, но и подготовиться к работе с профессиональными фреймворками: Ruby on Rails, Sinatra, RSpec, MiniTest и Cucumber. Опытных разработчиков может заинтересовать подробное описание нововведений версий от 2.0 до 2.6. Электронный архив с исходными кодами доступен на сайте издательства и GitHub

 

ОГЛАВЛЕНИЕ:

Спойлер
Оглавление
Предисловие ................................................................................................................... 13
Цель книги ...................................................................................................................................... 13
Как создавалась книга... ................................................................................................................ 13
Терминология ................................................................................................................................ 14
Исходные коды .............................................................................................................................. 14
Задания ........................................................................................................................................... 15
Типографские соглашения ............................................................................................................ 15
Благодарности ................................................................................................................................ 16
Глава 1. Введение в язык Ruby .................................................................................. 19
1.1. Философия Ruby ..................................................................................................................... 19
1.2. Реализации Ruby ..................................................................................................................... 21
1.3. Версии...................................................................................................................................... 23
1.4. Установка Ruby ....................................................................................................................... 24
1.4.1. Установка Ruby в Windows ......................................................................................... 24
1.4.2. Установка Ruby в Linux (Ubuntu) ................................................................................ 26
1.4.2.1. Менеджер версий RVM .................................................................................. 26
1.4.2.2. Менеджер версий rbenv .................................................................................. 28
1.4.3. Установка Ruby в macOS ............................................................................................. 29
1.5. Запуск программы на выполнение ........................................................................................ 30
Задания ........................................................................................................................................... 31
Глава 2. Быстрый старт ............................................................................................... 33
2.1. Соглашения Ruby .................................................................................................................... 33
2.2. Комментарии ........................................................................................................................... 34
2.3. Элементы языка ...................................................................................................................... 35
2.3.1. Ключевые слова ........................................................................................................... 36
2.3.2. Переменные .................................................................................................................. 37
2.3.3. Константы ..................................................................................................................... 37
2.3.4. Объекты ........................................................................................................................ 38
2.3.5. Классы и модули .......................................................................................................... 39
2.3.6. Методы .......................................................................................................................... 40
2.3.7. Операторы..................................................................................................................... 40
4 Оглавление
2.4. Вывод в стандартный поток .................................................................................................. 41
2.4.1. Вывод при помощи методов puts и p .......................................................................... 41
2.4.2. Экранирование ............................................................................................................. 42
2.5. Как пользоваться документацией? ........................................................................................ 43
2.5.1. Справочные методы объектов ..................................................................................... 44
2.5.2. Консольная справка ..................................................................................................... 45
2.5.3. Online-документация .................................................................................................... 46
Задания ........................................................................................................................................... 46
Глава 3. Утилиты и гемы ............................................................................................ 47
3.1. Утилиты ................................................................................................................................... 47
3.2. Интерактивный Ruby .............................................................................................................. 48
3.3. Шаблонизатор erb ................................................................................................................... 50
3.4. Утилита rake ............................................................................................................................ 50
3.5. Утилита rdoc ........................................................................................................................... 53
3.6. Гемы ......................................................................................................................................... 54
3.6.1. Отладка программ при помощи гема pry ................................................................... 56
3.6.2. Контроль стиля кода при помощи гема rubocop ....................................................... 57
3.6.3. Управление гемами при помощи bundler ................................................................... 58
Задания ........................................................................................................................................... 63
Глава 4. Предопределенные классы .......................................................................... 65
4.1. Синтаксические конструкторы .............................................................................................. 65
4.2. Строки. Класс String ............................................................................................................... 67
4.2.1. Синтаксические конструкторы %q и %Q ................................................................... 67
4.2.2. Heredoc-оператор ......................................................................................................... 68
4.2.3. Выполнение команд операционной системы............................................................. 69
4.2.4. Устройство строки ....................................................................................................... 70
4.2.5. Обработка подстрок ..................................................................................................... 71
4.3. Символы. Класс Symbol .......................................................................................................... 73
4.4. Целые числа. Класс Integer .................................................................................................... 74
4.5. Вещественные числа. Класс Float ......................................................................................... 76
4.6. Диапазоны. Класс Range ........................................................................................................ 79
4.7. Массивы. Класс Array ............................................................................................................ 81
4.7.1. Создание массива ......................................................................................................... 81
4.7.2. Операции с массивами ................................................................................................. 81
4.7.3. Синтаксические конструкторы %w и %i .................................................................... 82
4.8. Хэши. Класс Hash ................................................................................................................... 83
4.9. Логические объекты true и false ............................................................................................ 84
4.10. Объект nil .............................................................................................................................. 85
Задания ........................................................................................................................................... 85
Глава 5. Переменные .................................................................................................... 87
5.1. Типы переменных ................................................................................................................... 87
5.1.1. Локальные переменные ............................................................................................... 87
5.1.2. Глобальные переменные .............................................................................................. 89
5.1.2.1. Предопределенная переменная $LOAD_PATH ............................................ 91
5.1.2.2. Предопределенная переменная $stdout ......................................................... 91
5.1.2.3. Предопределенная переменная $PROGRAM_NAME ................................... 92
Оглавление 5
5.1.3. Инстанс-переменные.................................................................................................... 93
5.1.4. Переменные класса ...................................................................................................... 96
5.2. Присваивание .......................................................................................................................... 97
5.3. Клонирование .......................................................................................................................... 99
Задания ......................................................................................................................................... 101
Глава 6. Константы ..................................................................................................... 103
6.1. Создание и определение констант ....................................................................................... 103
6.2. Предопределенные константы ............................................................................................. 104
6.3. Ключевые слова __LINE__ и __FILE__ .............................................................................. 107
6.4. Метод require ........................................................................................................................ 107
6.5. Метод require_relative .......................................................................................................... 109
6.6. Подключение стандартных классов .................................................................................... 110
6.7. Подключение гемов .............................................................................................................. 111
Задания ......................................................................................................................................... 113
Глава 7. Операторы .................................................................................................... 115
7.1. Операторы — это методы .................................................................................................... 115
7.2. Арифметические операторы ................................................................................................ 116
7.3. Присваивание ........................................................................................................................ 117
7.3.1. Сокращенная форма арифметических операторов ................................................. 117
7.3.2. Параллельное присваивание ..................................................................................... 118
7.3.3. Круглые скобки в параллельном присваивании ...................................................... 119
7.3.4. Оператор * .................................................................................................................. 120
7.4. Операторы строк ................................................................................................................... 122
7.4.1. Умножение строки на число ..................................................................................... 122
7.4.2. Сложение строк .......................................................................................................... 123
7.4.3. Форматирование строк .............................................................................................. 124
7.5. Операторы сравнения ........................................................................................................... 128
7.5.1. Особенности сравнения объектов ............................................................................. 129
7.5.2. Сравнение с нулем ..................................................................................................... 131
7.5.3. Особенности сравнения вещественных чисел ......................................................... 132
7.5.4. Особенности сравнения строк ................................................................................... 132
7.6. Поразрядные операторы ...................................................................................................... 134
7.7. Оператор безопасного вызова ............................................................................................. 138
7.8. Ключевое слово defined? ...................................................................................................... 139
7.9. Приоритет операторов ......................................................................................................... 140
Задания ......................................................................................................................................... 141
Глава 8. Ветвление ...................................................................................................... 143
8.1. Ключевое слово if ................................................................................................................. 143
8.1.1. Ключевые слова else и elsif ........................................................................................ 145
8.1.2. Ключевое слово then .................................................................................................. 146
8.1.3. if-модификатор ........................................................................................................... 147
8.1.4. Присваивание if-результата переменной .................................................................. 148
8.1.5. Присваивание в условии if-оператора ...................................................................... 149
8.2. Логические операторы ......................................................................................................... 150
8.2.1. Логическое И. Оператор && ..................................................................................... 151
8.2.2. Логическое ИЛИ. Оператор || ................................................................................... 151
8.2.3. Логическое отрицание ............................................................................................... 154
6 Оглавление
8.3. Ключевое слово unless.......................................................................................................... 155
8.4. Условный оператор .............................................................................................................. 156
8.5. Ключевое слово case ............................................................................................................ 156
8.6. Советы ................................................................................................................................... 159
Задания ......................................................................................................................................... 161
Глава 9. Глобальные методы .................................................................................... 163
9.1. Создание метода ................................................................................................................... 163
9.2. Параметры и аргументы ....................................................................................................... 164
9.2.1. Значения по умолчанию ............................................................................................ 165
9.2.2. Неограниченное количество параметров ................................................................. 165
9.2.3. Позиционные параметры ........................................................................................... 167
9.2.4. Хэши в качестве параметров ..................................................................................... 167
9.3. Возвращаемое значение ....................................................................................................... 168
9.4. Получатель метода ............................................................................................................... 170
9.5. Псевдонимы методов ........................................................................................................... 172
9.6. Удаление метода ................................................................................................................... 172
9.7. Рекурсивные методы ............................................................................................................ 172
9.8. Предопределенные методы .................................................................................................. 175
9.8.1. Чтение входного потока ............................................................................................ 175
9.8.2. Остановка программы ............................................................................................... 177
9.8.3. Методы-конструкторы ............................................................................................... 179
9.9. Логические методы ............................................................................................................... 180
9.10. bang-методы ........................................................................................................................ 181
Задания ......................................................................................................................................... 182
Глава 10. Циклы .......................................................................................................... 183
10.1. Цикл while............................................................................................................................ 183
10.2. Вложенные циклы .............................................................................................................. 188
10.3. Досрочное прекращение циклов ....................................................................................... 189
10.4. Цикл until ............................................................................................................................. 191
10.5. Цикл for ............................................................................................................................... 192
Задания ......................................................................................................................................... 193
Глава 11. Итераторы................................................................................................... 195
11.1. Итераторы и блоки ............................................................................................................. 195
11.2. Обход итераторами массивов и хэшей ............................................................................. 196
11.3. Итератор times ..................................................................................................................... 197
11.4. Итераторы upto и downto.................................................................................................... 198
11.5. Итераторы коллекций ......................................................................................................... 198
11.5.1. Итератор each ......................................................................................................... 199
11.5.2. Итератор each_with_index ...................................................................................... 200
11.5.3. Итератор map .......................................................................................................... 200
11.5.4. Итераторы select и reject ........................................................................................ 201
11.5.5. Итератор reduce ...................................................................................................... 203
11.5.6. Итератор each_with_object ..................................................................................... 204
11.6. Итератор tap ........................................................................................................................ 205
11.7. Сокращенная форма итераторов ....................................................................................... 207
Оглавление 7
11.8. Досрочное прекращение итерации .................................................................................... 207
11.9. Класс Enumerator ................................................................................................................ 209
Задания ......................................................................................................................................... 210
Глава 12. Блоки ........................................................................................................... 211
12.1. Блоки в собственных методах ........................................................................................... 211
12.2. Передача значений в блок .................................................................................................. 213
12.3. Метод block_given? ............................................................................................................. 215
12.4. Возврат значений из блока ................................................................................................. 215
12.5. Итератор yield_self .............................................................................................................. 216
12.6. Передача блока через параметр ......................................................................................... 217
12.7. Различие { ... } и do ... end .................................................................................................. 219
12.8. Блоки в рекурсивных методах ........................................................................................... 221
12.9. Класс Proc ........................................................................................................................... 225
12.10. Методы proc и lambda ...................................................................................................... 226
12.11. Различия proc и lambda .................................................................................................... 227
Задания ......................................................................................................................................... 230
Глава 13. Классы ......................................................................................................... 231
13.1. Создание класса .................................................................................................................. 231
13.2. Класс — это объект ............................................................................................................ 232
13.3. Как проектировать классы? ............................................................................................... 234
13.4. Переопределение методов ................................................................................................. 234
13.5. Открытие класса ................................................................................................................. 235
13.6. Тело класса и его свойства................................................................................................. 237
13.7. Вложенные классы ............................................................................................................. 238
13.8. Константы ........................................................................................................................... 240
13.9. Переменные класса ............................................................................................................. 241
Задания ......................................................................................................................................... 243
Глава 14. Методы в классах ...................................................................................... 245
14.1. Сохранение состояния в объекте ....................................................................................... 245
14.2. Установка начального состояния объекта ........................................................................ 246
14.2.1. Метод initialize ........................................................................................................ 247
14.2.2. Параметры метода new........................................................................................... 250
14.2.3. Блоки в методе new ................................................................................................ 254
14.2.4. Метод initialize и переменные класса ................................................................... 255
14.2.5. Как устроен метод new? ......................................................................................... 255
14.3. Специальные методы присваивания ................................................................................. 256
14.3.1. Методы со знаком равенства (=) в конце имени ................................................. 257
14.3.2. Аксессоры ............................................................................................................... 259
14.4. Синглетон-методы .............................................................................................................. 261
14.5. Методы класса .................................................................................................................... 264
14.6. Обработка несуществующих методов .............................................................................. 266
14.6.1. Создание метода define_method ............................................................................. 267
14.6.2. Перехват вызовов несуществующих методов ...................................................... 268
14.7. Метод send ........................................................................................................................... 270
Задания ......................................................................................................................................... 275
8 Оглавление
Глава 15. Преобразование объектов ........................................................................ 277
15.1. Сложение строк и чисел ..................................................................................................... 277
15.2. Методы преобразования объектов .................................................................................... 278
15.3. Сложение объектов ............................................................................................................. 282
15.4. Сложение объекта и числа ................................................................................................. 283
15.5. Сложение объекта и строки ............................................................................................... 286
15.6. Сложение объекта и массива ............................................................................................. 289
15.7. Перегрузка [] и []= ............................................................................................................ 291
15.8. Перегрузка унарных операторов +, – и ! .......................................................................... 294
15.9. Какие операторы можно перегружать? ............................................................................ 295
15.10. DuckType-типизация ......................................................................................................... 297
Задания ......................................................................................................................................... 300
Глава 16. Ключевое слово self ................................................................................... 301
16.1. Ссылки на текущий объект ................................................................................................ 301
16.2. Значения self в разных контекстах .................................................................................... 304
16.3. Приемы использования self ................................................................................................ 305
16.3.1. Методы класса ........................................................................................................ 305
16.3.2. Цепочка обязанностей ............................................................................................ 308
16.3.3. Перегрузка операторов .......................................................................................... 309
16.3.4. Инициализация объекта блоком ............................................................................ 310
16.3.5. Открытие класса ..................................................................................................... 310
Задания ......................................................................................................................................... 311
Глава 17. Наследование ............................................................................................. 313
17.1. Наследование ...................................................................................................................... 313
17.2. Логические операторы ....................................................................................................... 316
17.3. Динамический базовый класс ............................................................................................ 317
17.4. Наследование констант ...................................................................................................... 318
17.5. Иерархия стандартных классов ......................................................................................... 319
17.6. Переопределение методов ................................................................................................. 320
17.7. Удаление методов ............................................................................................................... 322
17.8. Поиск метода....................................................................................................................... 326
Задания ......................................................................................................................................... 328
Глава 18. Области видимости ................................................................................... 331
18.1. Концепция видимости ........................................................................................................ 331
18.2. Открытые методы ............................................................................................................... 332
18.3. Закрытые методы ................................................................................................................ 333
18.4. Защищенные методы .......................................................................................................... 335
18.5. Закрытый конструктор ....................................................................................................... 337
18.6. Паттерн «Одиночка» (Singleton) ........................................................................................ 338
18.7. Вызов закрытых методов ................................................................................................... 341
18.8. Информационные методы .................................................................................................. 342
18.9. Области видимости при наследовании ............................................................................. 345
18.10. Области видимости методов класса ................................................................................ 346
Задания ......................................................................................................................................... 348
Оглавление 9
Глава 19. Модули......................................................................................................... 349
19.1. Создание модуля ................................................................................................................. 349
19.2. Оператор разрешения области видимости ....................................................................... 350
19.3. Пространство имен ............................................................................................................. 351
19.4. Вложенные классы и модули ............................................................................................. 352
19.5. Доступ к глобальным классам и модулям ........................................................................ 357
Задания ......................................................................................................................................... 361
Глава 20. Подмешивание модулей ........................................................................... 363
20.1. Класс Module ....................................................................................................................... 363
20.2. Подмешивание модулей в класс ........................................................................................ 365
20.3. Подмешивание модулей в объект...................................................................................... 369
20.4. Синглетон-методы модуля ................................................................................................. 373
20.5. Области видимости ............................................................................................................. 376
20.6. Стандартный модуль Kernel .............................................................................................. 379
20.7. Поиск методов в модулях .................................................................................................. 382
20.8. Метод prepend ..................................................................................................................... 386
20.9. Методы обратного вызова ................................................................................................. 387
20.10. Уточнения.......................................................................................................................... 393
20.11. Псевдонимы методов ....................................................................................................... 395
Задания ......................................................................................................................................... 397
Глава 21. Стандартные модули ................................................................................ 399
21.1. Модуль Math ....................................................................................................................... 399
21.2. Модуль Singleton ................................................................................................................. 402
21.3. Модуль Comparable ............................................................................................................ 404
21.4. Модуль Enumerable ............................................................................................................ 406
21.5. Модуль Forwardable ........................................................................................................... 408
21.6. Маршаллизация .................................................................................................................. 413
21.7. JSON-формат ....................................................................................................................... 416
21.8. YAML-формат .................................................................................................................... 418
Задания ......................................................................................................................................... 421
Глава 22. Свойства объектов .................................................................................... 423
22.1. Общие методы .................................................................................................................... 423
22.2. Неизменяемые объекты ...................................................................................................... 424
22.3. Заморозка объектов ............................................................................................................ 425
22.4. Небезопасные объекты ....................................................................................................... 426
Задания ......................................................................................................................................... 428
Глава 23. Массивы ...................................................................................................... 429
23.1. Модуль Enumerable ............................................................................................................ 429
23.2. Заполнение массива ............................................................................................................ 430
23.3. Извлечение элементов ........................................................................................................ 434
23.4. Поиск индексов элементов ................................................................................................ 439
23.5. Случайный элемент массива .............................................................................................. 439
23.6. Удаление элементов ........................................................................................................... 440
23.7. Замена элементов ................................................................................................................ 443
23.8. Информация о массиве ....................................................................................................... 445
23.9. Преобразование массива .................................................................................................... 446
10 Оглавление
23.10. Арифметические операции с массивами ........................................................................ 447
23.11. Логические методы ........................................................................................................... 448
23.12. Вложенные массивы ......................................................................................................... 451
23.13. Итераторы ......................................................................................................................... 453
23.14. Сортировка массивов ....................................................................................................... 455
Задания ......................................................................................................................................... 456
Глава 24. Хэши ............................................................................................................. 457
24.1. Создание хэша..................................................................................................................... 457
24.2. Заполнение хэша ................................................................................................................. 458
24.3. Извлечение элементов ........................................................................................................ 459
24.4. Поиск ключа ........................................................................................................................ 461
24.5. Обращение к несуществующему ключу ........................................................................... 461
24.6. Удаление элементов хэша .................................................................................................. 463
24.7. Информация о хэшах .......................................................................................................... 465
24.8. Хэши как аргументы методов ............................................................................................ 467
24.9. Объединение хэшей ............................................................................................................ 468
24.10. Преобразование хэшей ..................................................................................................... 468
24.11. Сравнение ключей ............................................................................................................ 471
24.12. Преобразование ключей хэша ......................................................................................... 474
Задания ......................................................................................................................................... 477
Глава 25. Классы коллекций .................................................................................... 479
25.1. Множество Set ..................................................................................................................... 479
25.2. Класс Struct .......................................................................................................................... 485
25.3. Класс OpenStruct ................................................................................................................. 489
Задания ......................................................................................................................................... 490
Глава 26. Исключения ................................................................................................ 493
26.1. Генерация и перехват исключений.................................................................................... 493
26.2. Исключения — это объекты .............................................................................................. 496
26.3. Стандартные ошибки .......................................................................................................... 497
26.4. Создание собственных исключений .................................................................................. 498
26.5. Перехват исключений......................................................................................................... 500
26.6. Многократная попытка выполнить код ............................................................................ 501
26.7. Перехват исключений: почти всегда плохо ...................................................................... 502
26.8. Блок ensure .......................................................................................................................... 502
26.9. Блок else ............................................................................................................................... 503
26.10. Перехват исключений в блоке ......................................................................................... 504
Задания ......................................................................................................................................... 504
Глава 27. Файлы .......................................................................................................... 505
27.1. Класс IO ............................................................................................................................... 505
27.2. Создание файла ................................................................................................................... 506
27.3. Режимы открытия файла .................................................................................................... 508
27.4. Закрытие файла ................................................................................................................... 510
27.5. Чтение содержимого файла ............................................................................................... 512
27.6. Построчное чтение файла .................................................................................................. 512
27.7. Запись в файл ...................................................................................................................... 515
Оглавление 11
27.8. Произвольный доступ к файлу .......................................................................................... 517
27.9. Пути к файлам ..................................................................................................................... 520
27.10. Манипуляция файлами ..................................................................................................... 522
Задания ......................................................................................................................................... 523
Глава 28. Права доступа и атрибуты файлов ........................................................ 525
28.1. Типы файлов ....................................................................................................................... 525
28.2. Определение типа файла .................................................................................................... 529
28.3. Время последнего доступа к файлу ................................................................................... 529
28.4. Права доступа в UNIX-подобной системе ........................................................................ 531
Задания ......................................................................................................................................... 534
Глава 29. Каталоги ...................................................................................................... 535
29.1. Текущий каталог ................................................................................................................. 535
29.2. Создание каталога............................................................................................................... 536
29.3. Чтение каталога .................................................................................................................. 537
29.4. Фильтрация содержимого каталога .................................................................................. 538
29.5. Рекурсивный обход каталога ............................................................................................. 539
29.6. Удаление каталога .............................................................................................................. 542
Задания ......................................................................................................................................... 542
Глава 30. Регулярные выражения ........................................................................... 543
30.1. Как изучать регулярные выражения? ................................................................................ 543
30.2. Синтаксический конструктор ............................................................................................ 544
30.3. Оператор =~ ........................................................................................................................ 545
30.4. Методы поиска .................................................................................................................... 546
30.4.1. Метод match ............................................................................................................ 546
30.4.2. Метод match? .......................................................................................................... 547
30.4.3. Метод scan .............................................................................................................. 548
30.5. Синтаксис регулярных выражений ................................................................................... 548
30.5.1. Метасимволы .......................................................................................................... 548
30.5.2. Экранирование ........................................................................................................ 553
30.5.3. Квантификаторы ..................................................................................................... 554
30.5.4. Опережающие и ретроспективные проверки ....................................................... 556
30.6. Модификаторы .................................................................................................................... 557
30.7. Где использовать регулярные выражения? ...................................................................... 560
30.8. Примеры .............................................................................................................................. 562
Задания ......................................................................................................................................... 565
Глава 31. Веб-программирование ............................................................................ 567
31.1. Протокол HTTP .................................................................................................................. 567
31.1.1. HTTP-заголовки ...................................................................................................... 570
31.1.2. HTTP-коды ответа .................................................................................................. 570
31.2. Веб-серверы ........................................................................................................................ 571
31.3. Гем Rack .............................................................................................................................. 572
31.3.1. Установка гема Rack .............................................................................................. 574
31.3.2. Простейшее Rack-приложение .............................................................................. 574
31.3.3. Управление утилитой rackup ................................................................................. 578
31.3.4. Обработка несуществующих страниц ................................................................... 579
12 Оглавление
31.3.5. Размер HTTP-содержимого ................................................................................... 580
31.3.6. Proc-объект в качестве Rack-приложения ............................................................ 582
31.3.7. Промежуточные слои (middleware) ....................................................................... 582
31.3.8. Роутинг .................................................................................................................... 583
31.3.9. Обработка статических файлов ............................................................................. 584
31.4. Ruby on Rails ....................................................................................................................... 587
31.4.1. Введение в Ruby on Rails ....................................................................................... 587
31.4.2. Установка Ruby on Rails......................................................................................... 588
31.4.3. Паттерн MVC .......................................................................................................... 591
31.4.4. Структура приложения Ruby on Rails ................................................................... 594
31.4.4.1. Каталог app ............................................................................................... 595
31.4.4.2. Окружения ................................................................................................ 595
31.4.4.3. Каталог config .......................................................................................... 596
31.4.4.4. Каталог db ................................................................................................ 596
31.4.4.5. Каталог lib ................................................................................................ 596
31.4.4.6. Каталог public .......................................................................................... 597
31.4.4.7. Каталог test ............................................................................................... 597
31.4.5. Rake-задачи ............................................................................................................. 597
31.4.6. Генераторы .............................................................................................................. 599
31.4.7. Стартовая страница ................................................................................................ 601
31.4.8. Представления ........................................................................................................ 604
Задания ......................................................................................................................................... 606
Глава 32. Автоматическое тестирование ............................................................... 607
32.1. Типы тестирования ............................................................................................................. 607
32.2. Преимущества и недостатки тестирования ...................................................................... 608
32.3. Фреймворки для тестирования .......................................................................................... 609
32.3.1. Фреймворк MiniTest ............................................................................................... 609
32.3.2. Фреймворк RSpec ................................................................................................... 613
32.3.3. Фреймворк Cucumber ............................................................................................. 620
Задания ......................................................................................................................................... 624
Заключение ................................................................................................................... 625
Приложение 1. Справочные таблицы ..................................................................... 627
П1.1. Ключевые слова ................................................................................................................. 627
П1.2. Синтаксические конструкторы ......................................................................................... 628
П1.3. Экранирование ................................................................................................................... 629
П1.4. Переменные и константы .................................................................................................. 629
П1.5. Операторы .......................................................................................................................... 632
П1.6. Конструкции ветвления и циклы ...................................................................................... 635
П1.7. Итераторы ........................................................................................................................... 635
Приложение 2. Содержимое электронного архива ............................................... 637
Предметный указатель .............................................................................................. 639

 

 

Torrent file:

magnet:?xt=urn:btih:CADB6B856AF4485178393C43DA1D63DB65F0D3B7

Screenshot_135.png

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Обжалование или подача апелляции на снятие Бана в группе "Типичный Социум IT!
Заявки и обжалование отправлять в Телеграм bot @ModeratorTS_Bot


×
×
  • Создать...

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.Политика конфиденциальности