Rails и SSL

июля 12, 2008

Нередко получается ситуация когда нужно, чтобы некоторые части сайта работали с поддержкой шифрования трафика. Для достижения этой цели нужно использовать HTTPS протокол. HTTPS широко используется в мире Веб для приложений, в которых важна безопасность соединения, например, в платежных системах.
Проблема, с которой сталкиваются Rails разработчики, заключается в том что Mongrel и Webrick не поддерживают [...]

Читать далее →

Фоновая обработка видео в Ruby on Rails

июля 11, 2008

Предположим у нас есть сайтик, на котором пользователи загружают видео, и это видео нужно конвертировать в flv формат.
Делать это сразу после загрузки, в текущем рабочем потоке не кошерно, т.к. потоков этих очень ограниченное количество, и при большой нагрузке наш сайт будет недоступен.
Будет намного лучше, если обработкой этих видео-файлов займется демон(не Девид Блэйн).
Логика работы демона такова: [...]

Читать далее →

Архивирование JavaScript и CSS на Ruby on Rails с помощью “asset_packager”

июля 11, 2008

Нередко случается, что делая большой проект в конце концов выходит большая куча отдельных javascript’овых файлов типа библиотек, плагинов к ним и прочих. Так же, периодически можно встретить и несколько CSS файлов, которые в основном делаются для удобства восприятия. К тому же, по-хорошему, все это дело снабжено рядом комментариев, чтоб потом хоть как-то в этом можно [...]

Читать далее →

Сеансы пользователей

июня 28, 2008

Куки - это хорошо, если вам нужно сохранить простые данные и вы не прочь возложить на браузер заботу об их хранении. Но часто предъявляются более жесткие требования. Что если нужно сохранить много данных и вы не хотите гонять их «взад-вперед» при каждом запросе? К тому же данные могут быть секретными, так что доверять их хранение [...]

Читать далее →

Cookie

июня 28, 2008

Мы уже упоминали, что HTTP - протокол без состояния. Это означает, что после того как сервер закончил обрабатывать запрос, он не может сказать, пришел ли следующий запрос от того же или какого-либо другого браузера. Тут-то и приходят на помощь куки (cookies) - способ, быть может, несколько грубоватый, сохранить состояние между последовательными запросами от одного и [...]

Читать далее →

Вывод и обработка форм

июня 28, 2008

Наиболее распространенный способ взаимодействия с CGI-программой - форма. HTML-формы создаются с помощью специальных тегов, которые браузер представляет в виде элементов ввода данных. Подробное их обсуждение выходит за рамки данной книги, но существует немало книг и онлайновых руководств по этому предмету.
В классе cgi имеются методы для генерирования всех элементов HTML-форм. В примере ниже показано, как можно [...]

Читать далее →

Введение в библиотеку cgi.rb

июня 25, 2008

Библиотека cgi .rb включена в стандартный дистрибутив Ruby. Ее функциональность в основном реализована в центральном классе cgi. Первое, что нужно сделать при работе с данной библиотекой, - создать экземпляр этого класса.
require  “cgi”
cgi = CGI.new(”html4″)
Инициализатор класса cgi принимает единственный параметр - уровень спецификации языка HTML, который должен поддерживаться методами генерации разметки, входящими в пакет CGI. Эти [...]

Читать далее →

Программирование CGI на Ruby

июня 25, 2008

Всякий, кто знаком с программированием для Web, хотя бы раз встречал аббревиатуру CGI (Common Gateway Interface - общий шлюзовой интерфейс). Спецификация CGI появилась на заре развития Web с целью обогатить взаимодействие между пользователем и Web-сервером. С тех пор были изобретены бесчисленные альтернативные технологии, но CGI все еще живет и прекрасно себя чувствует. Своим успехом и [...]

Читать далее →

Ruby и web-приложения

июня 25, 2008

Как ловко мы сплетаем сеть…
Сэр Вальтер Скотт, «Мармион»
Ruby - универсальный язык, его ни в коей мере нельзя считать исключительно «языком Web». Но, несмотря на это, одно из наиболее типичных его применений -создание приложений (да и вообще инструментов в широком смысле) для Web.
Существует множество способов разрабатывать приложения для Web на Ruby - от сравнительно небольших и [...]

Читать далее →