Программирование на языке Ruby
Шрифт:
Сразу же бросается в глаза (если вы читали предыдущий раздел) то, что в FastCGI приходится вручную делать кое-какие вещи, которые были не нужны при работе с библиотекой
Но вместе с тем у FastCGI есть и достоинства. Мы не проводили замеров, но — как следует из самого названия — FastCGI быстрее CGI. Вместо накладных расходов на создание нового процесса мы просто открываем соединение с портом 9000 на локальной машине (
Отметим также, что эти библиотеки можно до определенного предела «смешивать». Вспомогательные функции из
19.3. Ruby on Rails
В сообществе пользователей Ruby одним из самых широко известных каркасов для Web является Ruby on Rails (или просто Rails). Его автор Дэвид Хайнемайер Хансон (David Heinemeier Hansson).
В каркасе Rails широко используются динамические свойства Ruby. У него также есть собственная философия, направленная на быструю разработку Web-приложений.
Rails хорошо известен и прекрасно документирован. В этой книге мы рассмотрим его лишь поверхностно.
19.3.1. Принципы и техника
Каркас Rails построен на основе паттерна Модель-Вид-Контроллер (Model-View-Controller — MVC).
В основу поведения Rails как каркаса положены определенные принципы. Один из них — «принцип минимизации кода»: не пишите код для связывания одного с другим, если такое связывание можно организовать автоматически.
С ним также связан принцип «примата соглашений над конфигурацией». Придерживаясь ряда заранее оговоренных стилей кодирования и именования, можно обойтись почти без конфигурирования (и приблизиться к идеальной среде с «нулевым конфигурированием»).
Rails прекрасно справляется с автоматизацией не слишком сложных задач. Если это имеет смысл, он сам генерирует код, избавляя программиста от необходимости писать его вручную.
Web-приложения часто хранят данные в базе, и Rails обеспечивает бесшовную интеграцию с базой данных. У Web-каркасов наблюдается тенденция проявлять «склонность» к какому-то конкретному объектно-реляционному отображению (object-relational mapper, ORM), и Rails — не исключение. Стандартным для Rails является отображение ActiveRecord, которое мы рассматривали в главе 10.
Базы данных описываются в файле
Rails генерирует для вас пустые модели и контроллеры. В ходе редактирования моделей вы определяете связи между таблицами базы данных с помощью таких методов, как
В результате создания приложения Rails командой вида
Большая часть кода находится в каталоге
Схемы баз данных находятся в каталоге
В Rails есть концепция «обстраивания» (scaffolding), которая очень упрощает жизнь. Если ввести команду
Артемьев Р
рейтинг книги
Игрушка
рейтинг книги
Романов. Том 1 и Том 2
1. Романов
Фантастика:
фэнтези
попаданцы
альтернативная история
рейтинг книги
Астровитянка
1. Астровитянка
Фантастика:
научная фантастика
рейтинг книги
Герда
Детские:
детская проза
рейтинг книги
Власть несбывшегося
6. Лабиринты Ехо
Фантастика:
фэнтези
рейтинг книги
Тузы за границей
4. Дикие карты
Фантастика:
научная фантастика
рейтинг книги
Юность в Железнодольске
Проза:
советская классическая проза
рейтинг книги
Путь, исполненный отваги. Задолго до Истмата
Фантастика:
научная фантастика
рейтинг книги
Натюрморт с воронами
4. Пендергаст
Фантастика:
ужасы и мистика
рейтинг книги
Симбионты
Фантастика:
научная фантастика
рейтинг книги
Лекции профессора Московской Духовной Академии А. И. Осипова
Религия и эзотерика:
религия
рейтинг книги