Серия High tech
Издательство Символ
Год издания 2009
Страниц 768
Переплет Мягкая обложка
Формат 70х100/16 (170х240 мм, увеличенный)
ISBN 978-5-93286-137-0
Вес 920 г
Изготовитель ООО "Издательство "Символ-плюс". 193144, РФ, г. Санкт-Петербург, ул. 5-я Советская, 44/59
Импортер ООО «НТЦ АПИ», г. Минск, ул. Уманская, 54, пом. 1, каб. 34

От OZ.by

Иллюстрированное издание

Содержание

  • Предисловие
  • Благодарности
  • Об авторе
  • Введение
  • Глава 1. Среда и конфигурирование Rails
    • Запуск
    • Параметры среды по умолчанию
    • Начальная загрузка
    • Пакеты RubyGem
    • Инициализатор
    • Подразумеваемые пути загрузки
    • Rails, модули и код автозагрузки
    • Встройка Rails Info
    • Конфигурирование
    • Дополнительные конфигурационные параметры
    • Режим разработки
    • Динамическая перезагрузка классов
    • Загрузчик классов в Rails
    • Режим тестирования
    • Режим эксплуатации
    • Протоколирование
    • Протоколы Rails
    • Анализ протоколов
    • Syslog
    • Заключение
  • Глава 2. Работа с контроллерами
    • Диспетчер: с чего все начинается
    • Обработка запроса
    • Познакомимся с диспетчером поближе
    • Рендеринг представления
    • Если сомневаетесь, рисуйте
    • Явный рендеринг
    • Рендеринг шаблона другого действия
    • Рендеринг совершенно постороннего шаблона
    • Рендеринг подшаблона
    • Рендеринг встроенного шаблона
    • Рендеринг текста
    • Рендеринг структурированных данных других типов
    • Пустой рендеринг
    • Параметры рендеринга
    • Переадресация
    • Коммуникация между контроллером и представлением
    • Фильтры
    • Наследование фильтров
    • Типы фильтров
    • Упорядочение цепочки фильтров
    • Around-фильтры
    • Пропуск цепочки фильтров
    • Условная фильтрация
    • Прерывание цепочки фильтров
    • Потоковая отправка
      • send_data(data, options = {})
      • send_file(path, options = {})
    • Как заставить сам веб-сервер отправлять файлы
    • Заключение
  • Глава 3. Маршрутизация
    • Две задачи маршрутизации
    • Связанные параметры
    • Метапараметры ("приемники")
    • Статические строки
    • Файл routes.rb
    • Маршрут по умолчанию
    • О поле :id
    • Генерация маршрута по умолчанию
    • Модификация маршрута по умолчанию
    • Предпоследний маршрут и метод respond_to
    • Метод respond_to и заголовок HTTP-Accept
    • Пустой маршрут
    • Самостоятельное создание маршрутов
    • Использование статических строк
    • Использование собственных "приемников"
    • Замечание о порядке маршрутов
    • Применение регулярных выражений в маршрутах
    • Параметры по умолчанию и метод url_for
    • Что случилось с :id
    • Использование литеральных URL
    • Маскирование маршрутов
    • Маскирование пар ключ/значение
    • Именованные маршруты
    • Создание именованного маршрута
    • Что лучше: name_path или name_url?
    • Замечания
    • Как выбирать имена для маршрутов
    • Синтаксическая глазурь
    • Еще немного глазури?
    • Метод организации контекста with_options
    • Заключение
  • Глава 4. REST, ресурсы и Rails
    • О REST в двух словах
    • REST в Rails
    • Маршрутизация и CRUD
    • Ресурсы и представления
    • Ресурсы REST и Rails
    • От именованных маршрутов к поддержке REST
    • И снова о глаголах HTTP
    • Стандартные REST-совместимые действия контроллеров
    • Хитрость для методов PUT и DELETE
    • Одиночные и множественные
    • REST-совместимые маршруты
    • Специальные пары: new/create и edit/update
    • Одиночные маршруты к ресурсам
    • Вложенные ресурсы
    • Явное задание :path_prefix
    • Явное задание :name_prefix
    • Явное задание REST-совместимых контроллеров
    • А теперь все вместе
    • Замечания
    • О глубокой вложенности
    • Настройка REST-совместимых маршрутов
    • Маршруты к дополнительным действиям
    • Дополнительные маршруты к наборам
    • Замечания
    • Ресурсы, ассоциированные только с контроллером
    • Различные представления ресурсов
    • Метод respond_to
    • Форматированные именованные маршруты
    • Набор действий в Rails для REST
      • index
      • show
      • destroy
      • new и create
      • edit и update
    • Заключение
  • Глава 5. Размышления о маршрутизации в Rails
    • Исследование маршрутов в консоли приложения
    • Распечатка маршрутов
    • Анатомия объекта Route
    • Распознавание и генерация с консоли
    • Консоль и именованные маршруты
    • Тестирование маршрутов
    • Подключаемый модуль Routing Navigator
    • Заключение
  • Глава 6. Работа с ActiveRecord
    • Основы
    • Миграции
    • Создание миграций
    • Migration API
    • Определение колонок
    • Методы в стиле макросов
    • Объявление отношений
    • Примат соглашения над конфигурацией
    • Приведение к множественному числу
    • Задание имен вручную
    • Унаследованные схемы именования
    • Определение атрибутов
    • Значения атрибутов по умолчанию
    • Сериализованные атрибуты
    • CRUD: создание, чтение, обновление, удаление
    • Создание новых экземпляров ActiveRecord
    • Чтение объектов ActiveRecord
    • Чтение и запись атрибутов
    • Доступ к атрибутам и манипулирование ими до приведения типов
    • Перезагрузка
    • Динамический поиск по атрибутам
    • Специальные SQL-запросы
    • Кэш запросов
    • Обновление
    • Обновление с условием
    • Обновление конкретного экземпляра
    • Обновление конкретных атрибутов
    • Вспомогательные методы обновления
    • Контроль доступа к атрибутам
    • Удаление и уничтожение
    • Блокировка базы данных
    • Оптимистическая блокировка
    • Пессимистическая блокировка
    • Замечание
    • Дополнительные средства поиска
    • Условия
    • Упорядочение результатов поиска
    • Параметры limit и offset
    • Параметр select
    • Параметр from
    • Группировка
    • Параметры блокировки
    • Соединение и включение ассоциаций
    • Параметр readonly
    • Соединение с несколькими базами данных в разных моделях
    • Прямое использование соединений с базой данных
    • Модуль DatabaseStatements
    • Другие методы объекта connection
    • Другие конфигурационные параметры
    • Заключение
  • Глава 7. Ассоциации в ActiveRecord
    • Иерархия ассоциаций
    • Отношения один-ко-многим
    • Добавление ассоциированных объектов в набор
    • Методы класса AssociationCollection
    • Ассоциация belongs_to
    • Перезагрузка ассоциации
    • Построение и создание связанных объектов через ассоциацию
    • Параметры метода belongs_to
    • Ассоциация has_many
    • Параметры метода has_many
    • Методы прокси-классов
    • Отношения многие-ко-многим
    • Метод has_and_belongs_to_many
    • Конструкция has_many :through
    • Параметры ассоциации has_many :through
    • Отношения один-к­одному
    • Ассоциация has_one
    • Параметры ассоциации has_one
    • Несохраненные объекты и ассоциации
    • Ассоциации один-к-одному
    • Наборы
    • Расширения ассоциаций
    • Класс AssociationProxy
    • Методы reload и reset
    • Методы proxy_owner, proxy_reflection и proxy_target
    • Заключение
  • Глава 8. Валидаторы в ActiveRecord
    • Нахождение ошибок
    • Простые декларативные валидаторы
      • validates_acceptance_of
      • validates_associated
      • validates_confirmation_of
      • validates_each
      • validates_inclusion_of и validates_exclusion_of
      • validates_existence_of
      • validates_format_of
      • validates_length_of
      • validates_numericality_of
      • validates_presence_of
      • validates_uniqueness_of
    • Исключение RecordInvalid
    • Общие параметры валидаторов
      • :allow_nil
      • :if
      • :message
      • :on
    • Условная проверка
    • Замечания по поводу применения
    • Работа с объектом Errors
    • Манипулирование набором Errors
    • Проверка наличия ошибок
    • Нестандартный контроль
    • Отказ от контроля
    • Заключение
  • Глава 9.Дополнительные возможности ActiveRecord
    • Обратные вызовы
    • Регистрация обратного вызова
    • Парные обратные вызовы before/after
    • Прерывание выполнения
    • Примеры применения обратных вызовов
    • Особые обратные вызовы: after_initialize и after_find
    • Классы обратных вызовов
    • Наблюдатели
    • Соглашения об именовании
    • Регистрация наблюдателей
    • Момент оповещения
    • Наследование с одной таблицей
    • Отображение наследования на базу данных
    • Замечания об STI
    • STI и ассоциации
    • Абстрактные базовые классы моделей
    • Полиморфные отношения has_many
    • Случай модели с комментариями
    • Замечание об ассоциации has_many
    • Модули как средство повторного использования общего поведения
    • Несколько слов об области видимости класса и контекстах
    • Обратный вызов included
    • Модификация классов ActiveRecord во время выполнения
    • Замечания
    • Ruby и предметно-ориентированные языки
    • Заключение
  • Глава 10. ActionView
    • Основы ERb
    • Практикум по ERb
    • Удаление пустых строк из вывода ERb
    • Закомментирование ограничителей ERb
    • Условный вывод
    • RHTML? RXML? RJS?
    • Макеты и шаблоны
    • Подстановка содержимого
    • Переменные шаблона
    • Защита целостности представления от данных, введенных пользователем
    • Подшаблоны
    • Простые примеры
    • Повторное использование подшаблонов
    • Разделяемые подшаблоны
    • Передача переменных подшаблонам
    • Рендеринг наборов
    • Протоколирование
    • Кэширование
    • Кэширование в режиме разработки?
    • Кэширование страниц
    • Кэширование действий
    • Кэширование фрагментов
    • Истечение срока хранения кэшированного содержимого
    • Автоматическая очистка кэша с помощью дворников
    • Протоколирование работы кэша
    • Подключаемый модуль Action Cache
    • Хранилища для кэша
    • Заключение
  • Глава 11. Все о помощниках
    • Модуль ActiveRecordHelper
    • Отчет об ошибках контроля
    • Автоматическое создание формы
    • Настройка выделения ошибочных полей
    • Модуль AssetTagHelper
    • Помощники для формирования заголовка
    • Только для подключаемых модулей: добавление включаемых по умолчанию JavaScript-сценариев
    • Модуль BenchmarkHelper
    • Модуль CacheHelper
    • Модуль CaptureHelper
    • Модуль DateHelper
    • Помощники для выбора даты и времени
    • Помощники для задания отдельных элементов даты и времени
    • Параметры, общие для всех помощников, связанных с датами
    • Методы distance_in_time со сложными именами
    • Модуль DebugHelper
    • Модуль FormHelper
    • Создание форм для моделей ActiveRecord
    • Как помощники формы получают свои значения
    • Модуль FormOptionsHelper
    • Помощники select
    • Другие помощники
    • Модуль FormTagHelper
    • Модуль JavaScriptHelper
    • Модуль NumberHelper
    • Модуль PaginationHelper
      • will_paginate
      • paginator
      • Paginating Find
    • Модуль RecordIdentificationHelper
    • Модуль RecordTagHelper
    • Модуль TagHelper
    • Модуль TextHelper
    • Модуль UrlHelper
    • Написание собственных модулей
    • Мелкие оптимизации: помощник Title
    • Инкапсуляция логики представления: помощник photo_for
    • Более сложное представление: помощник breadcrumbs
    • Обертывание и обобщение подшаблонов
    • Помощник tiles
    • Обобщение подшаблонов
    • Заключение
  • Глава 12. Ajax on Rails
    • Библиотека Prototype
    • Подключаемый модуль FireBug
    • Prototype API
    • Функции верхнего уровня
    • Объект Class
    • Расширения класса JavaScript Object
    • Расширения класса JavaScript Array
    • Расширения объекта document
    • Расширения класса Event
    • Расширения класса JavaScript Function
    • Расширения класса JavaScript Number
    • Расширения класса JavaScript String
    • Объект Ajax
    • Объект Ajax.Responders
    • Объект Enumerable
    • Класс Hash
    • Объект ObjectRange
    • Объект Prototype
    • Модуль PrototypeHelper
      • link_to_remote
      • remote_form_for
      • periodically_call_remote
      • observe_field
      • observe_form
      • RJS - пишем Javascript на Ruby
      • RJS-шаблоны
      • <<(javascript)
      • [](id)
      • alert(message)
      • call(function, *arguments, &block)
      • delay(seconds = 1) { ... }
      • draggable(id, options = {})
      • drop_receiving(id, options = {})
      • hide(*ids)
      • insert_html(position, id, *options_for_render)
      • literal (code)
      • redirect_to(location)
      • remove(*ids)
      • replace(id, *options_for_render)
      • replace_html(id, *options_for_render)
      • select(pattern)
      • show(*ids)
      • sortable(id, options = {})
      • toggle(*ids)
      • visual_effect(name, id = nil, options = {})
      • JSON
    • Перетаскивание мышью
    • Сортируемые списки
    • Автозавершение
    • Редактирование на месте
    • Заключение
  • Глава 13. Управление сеансами
    • Что хранить в сеансе
    • Текущий пользователь
    • Рекомендации по работе с сеансами
    • Способы организации сеансов
    • Отключение сеансов для роботов
    • Избирательное включение сеансов
    • Безопасные сеансы
    • Хранилища
    • ActiveRecord SessionStore
    • PStore (на базе файлов)
    • Хранилище DRb
    • Хранилище memcache
    • Спорное хранилище CookieStore
    • Жизненный цикл сеанса и истечение срока хранения
    • Подключаемый модуль Session Timeout
    • Отслеживание активных сеансов
    • Повышенная безопасность сеанса
    • Удаление старых сеансов
    • Cookies
    • Чтение и запись cookies
    • Заключение
  • Глава 14. Регистрация и аутентификация
    • Подключаемый модуль Acts as Authenticated
    • Установка и настройка
    • Модель User
    • Класс AccountController
    • Получение имени пользователя из cookies
    • Текущий пользователь
    • Протоколирование в ходе тестирования
    • Заключение
  • Глава 15. XML и ActiveResource
    • Метод to_xml
    • Настройка результата работы to_xml
    • Ассоциации и метод to_xml
    • Продвинутое применение метода to_xml
    • Динамические атрибуты
    • Переопределение метода to_xml
    • Уроки реализации метода to_xml в классе Array
    • Класс XML Builder
    • Разбор XML
    • Преобразование XML в хеши
    • Библиотека XmlSimple
    • Приведение типов
    • Библиотека ActiveResource
    • Метод find
    • Метод create
    • Метод update
    • Метод delete
    • Заголовки
    • Настройка
    • Хешированные формы
    • Заключение
  • Глава 16. ActionMailer
    • Конфигурирование
    • Модели почтальона
    • Подготовка исходящего почтового сообщения
    • Почтовые сообщения в формате HTML
    • Многочастные сообщения
    • Вложение файлов
    • Отправка почтового сообщения
    • Получение почты
    • Справка по TMail::Mail API
    • Обработка вложений
    • Конфигурирование
    • Заключение
  • Глава 17. Тестирование
    • Терминология Rails, относящаяся к тестированию
    • К вопросу об изоляции…
    • Mock-объекты в Rails
    • Настоящие Mock-объекты и заглушки
    • Тесты сопряжения
    • О путанице в терминологии
    • Класс Test::Unit
    • Прогон тестов
    • Фикстуры
    • Фикстуры в формате CSV
    • Доступ к записям фикстуры из тестов
    • Динамические данные в фикстурах
    • Использование данных из фикстур в режиме разработки
    • Генерация фикстур из данных, используемых в режиме разработки
    • Параметры фикстур
    • Никто не любит фикстуры
    • Не все так плохо с фикстурами
    • Утверждения
    • Простые утверждения
    • Утверждения Rails
    • По одному утверждению в каждом тестовом методе
    • Тестирование моделей с помощью автономных тестов
    • Основы тестирования моделей
    • Что тестировать
    • Тестирование контроллеров с помощью функциональных тестов
    • Структура и подготовка
    • Методы функциональных тестов
    • Типичные утверждения
    • Тестирование представлений с помощью функциональных тестов
    • Тестирование поведения RJS
    • Другие методы выборки
    • Тестирование правил маршрутизации
    • Тесты сопряжения в Rails
    • Основы
    • API тестов сопряжения
    • Работа с сеансами
    • Задания Rake, относящиеся к тестированию
    • Приемочные тесты
    • Приемочные тесты с самого начала
    • Система Selenium
    • Основы
    • Приступая к работе
    • RSelenese
    • Заключение
  • Глава 18. RSpec on Rails
    • Введение в RSpec
    • Обязанности и ожидания
    • Предикаты
    • Нестандартные верификаторы ожиданий
    • Несколько примеров для одного поведения
    • Разделяемые поведения
    • Mock-объекты и заглушки в RSpec
    • Прогон "спеков"
    • Установка RSpec и подключаемого модуля RSpec on Rails
    • Подключаемый модуль RSpec on Rails
    • Генераторы
    • Спецификации модели
    • Спецификации контроллеров
    • Спецификации представлений
    • Спецификации помощников
    • Обстраивание
    • Инструменты RSpec
    • Autotest
    • RCov
    • Заключение
  • Глава 19. Расширение Rails с помощью подключаемых модулей
    • Управление подключаемыми модулями
    • Повторное использование кода
    • Сценарий plugin
    • Система Subversion и сценарий script/plugin
    • Использование Piston
    • Установка
    • Импорт внешней библиотеки
    • Конвертация существующих внешних библиотек
    • Обновление
    • Блокировка и разблокировка
    • Свойства Piston
    • Написание собственных подключаемых модулей
    • Точка расширения init.rb
    • Каталог lib
    • Расширение классов Rails
    • Файлы README и MIT-LICENSE
    • Файлы install.rb и uninstall.rb
    • Специальные задания Rake
    • Rakefile подключаемого модуля
    • Тестирование подключаемых модулей
    • Заключение
  • Глава 20. Конфигурации Rails в режиме эксплуатации
    • Краткая история промышленной эксплуатации Rails
    • Предварительные условия
    • Контрольный перечень
    • Серверное и сетевое окружение
    • Ярус веб-сервера
    • Ярус сервера приложений
    • Ярус базы данных
    • Мониторинг
    • Управление версиями
    • Установка
    • Ruby
    • Система RubyGems
    • Rails
    • Mongrel
    • Mongrel Cluster
    • Nginx
    • Subversion
    • MySQL
    • Monit
    • Capistrano
    • Конфигурация
    • Конфигурирование Mongrel Cluster
    • Конфигурирование Nginx
    • Конфигурирование Monit
    • Конфигурирование Capistrano
    • Конфигурирование сценариев init
    • Сценарий init для Nginx
    • Сценарий init для Mongrel
    • Сценарий init для Monit
    • Развертывание и запуск
    • Другие замечания по поводу промышленной системы
    • Избыточность и перехват управления при отказе
    • Кэширование
    • Производительность и масштабируемость
    • Безопасность
    • Удобство сопровождения
    • Заключение
  • Глава 21. Capistrano
    • Обзор системы Capistrano
    • Терминология
    • Основы
    • Что Capistrano сделала, а что - нет
    • Приступаем к работе
    • Установка
    • Готовим приложение Rails для работы с Capistrano
    • Конфигурирование развертывания
    • О сценарии spin
    • Подготовка машины развертывания
    • Развертываем!
    • Переопределение предположений Capistrano
    • Использование удаленной учетной записи пользователя
    • Изменение системы управления версиями, используемой Capistrano
    • Работа без доступа к системе управления версиями с машины развертывания
    • Если файл database.yml не хранится в репозитории СУВ
    • Полезные рецепты Capistrano
    • Переменные и их область видимости
    • Упражнение 1. Промежуточный сервер
    • Упражнение 2. Управление другими службами
    • Развертывание на нескольких серверах
    • Транзакции
    • Доступ к машинам развертывания через прокси-серверы
    • Заключение
  • Глава 22. Фоновая обработка
    • Сценарий script/runner
    • Приступаем к работе
    • Несколько слов об использовании
    • Замечания по поводу script/runner
    • DRb
    • Простой DRb-сервер
    • Использование DRb из Rails
    • Замечания о DRb
    • Ресурсы
    • BackgrounDRb
    • Приступаем к работе
    • Конфигурирование
    • Знакомство с принципами работы BackgrounDRb
    • Использование класса MiddleMan
    • Подводные камни
    • Замечания о BackGrounDRb
    • Daemons
    • Порядок применения
    • Введение в потоки
    • Замечания о библиотеке Daemons
    • Заключение
  • Приложение A. Справочник по ActiveSupport API
  • Приложение B. Предметы первой необходимости для Rails
  • Послесловие
  • Алфавитный указатель

3 отзыва

Наверх

Вход

В течение нескольких секунд вам придёт SMS с одноразовым кодом для входа. Если ничего не пришло — отправьте код ещё раз.
Получите доступ к персональным скидкам и акциям, ускорьте оформление заказов.
Войдите с помощью своего профиля

Регистрация

Введите номер вашего мобильного телефона:
Войдите с помощью электронной почты или номера телефона
Войдите с помощью своего профиля

Восстановление пароля

Укажите адрес электронной почты, который вы использовали при регистрации
Нужна помощь? Звоните 695-25-25 (МТС, velcom, life:) или напишите нам

Восстановление пароля

Инструкции по восстановлению пароля высланы на 
Нужна помощь? Звоните 695-25-25 (МТС, velcom, life:) или напишите нам
Приходите в будние дни с 10 до 20, в субботу с 10 до 17. Воскресенье — выходной
695-25-25 МТС, velcom, life:)

Магазин OZ

Магазины OZ

Минск
Ещё 
В будние дни с 10 до 20
В субботу с 10 до 17
Воскресенье — выходной
695-25-25 МТС, velcom, life:)