CKEditor в Ruby on Rails c загрузкой файлов через SWFUpload
Достаточно часто появляется необходимость предоставить пользователям Вашего web-приложения возможность удобно редактировать содержимое. Для обычного пользователя оптимальным вариантом является использование WYSIWYG html-редактора. Таким решением является редактор CKEditor, интерфейс которого во многом подобен интерфейсам Microsoft Word и OpenOffice Writer.
Плагин rails-ckeditor предназначен для интеграции CKEditor'а в Rails-приложение. Также он включает в себя возможность загрузки изображений и файлов из интерфейса редактора через SWFUpload.
Emacs RSpec mode
Второстепенный режим RSpec добавляет в Emacs возможность удобно вести разработку приложений в стиле BDD (Behaviour Driven Development) с использованием библиотеки для тестирования RSpec.
Пример работы RSpec mode можно увидеть на скриншоте:
Работа с буфером обмена из консоли в Mac OS X
Скопировать что-либо в буфер обмена Mac OS X из консоли довольно просто. В наличии есть команда pbcopy, которая копирует передаваемые ей данные в буфер обмена (так называемый pasteboard в OS X, поэтому команда начинается с "pb").
Использовать эту команду просто:
С помощью этого строка "test" будет скопирована в буфер обмена. Теперь можно вставить эту строку в браузер, почту или куда угодно. В случае если необходимо вставить из буфера обмена также через консоль, то можно использовать команду pbpaste:
В результате скопированная ранее строка "test" вставится в файл "file.txt".
Использование Sinatra внутри Rails Metal
С версии 2.3 в Rails присутствует Rails Metal, который позволяет обработать запросы перед попаданием их в основное приложение. Для более удобного написания кода в Rails Metal можно использовать различные фреймворки, базирующиеся на Rack, в частности фреймворк Sinatra.
Сначала необходимо создать новый Rails Metal с помощью соответствующего генератора:
create app/metal/my_embedded_sinatra.rb
В результате получается следующий Rack обработчик:
Cron и Ruby: использование Whenever
Библиотека Whenever предоставляет простой синтаксис для определения cron задач, позволяет вывести или записать crontab файл. Whenever разработана с учетом использования с Rails приложениями и развертывания через Capistrano, но может использоваться и независимо.
Для использования нужно установить гем whenever:
Интеграция KWallet и ssh-agent в среде KDE
В среде KDE можно хранить пароли к ssh ключам с помощью стандартного средства управления паролями KWallet. Команда ssh-add, добавляющая ключи в ssh-agent, позволяет использовать программу, указанную в переменной окружения SSH_ASKPASS, для получения пароля к ssh ключу.
Для KDE также существует программа Ksshaskpass, которая позволяет сохранять пароли в KWallet и затем передавать их команде ssh-add.

Sinatra и DataMapper: пример сервиса сокращения ссылок
В мире Ruby существует несколько ORM библиотек. Самая популярная библиотека ActiveRecord является и самой тяжелой, к тому же ее не особо удобно использовать вне Rails. Для небольших приложений на фреймворке Sinatra наиболее оптимальным вариантом является библиотека DataMapper, которая не уступает по функциональности, а в некоторых моментах опережает своего главного конкурента.
На примере простого сервиса сокращения ссылок рассмотрим работу с DataMapper внутри Sinatra.
Устанавливаем гемы с DataMapper и адаптером Sqlite к нему:
DataMapper состоит из нескольких библиотек, использовать будем только некоторые из них:
dm-core- ядро DataMapper'а.dm-validations- готовые методы для проверки входных данных.dm-timestamps- автоматическое создание и обновление полейcreated_at,updated_at.
В app.rb подключим необходимые библиотеки из DataMapper и настроим соединение с базой данных:
Установка и настройка OpenVZ на Debian Lenny
Одной из технологий виртуализации является OpenVZ, которая базируется на ядре Linux. OpenVZ позволяет на одном физическом сервере запускать множество изолированных копий операционной системы, называемых Виртуальные Частные Серверы (Virtual Private Servers, VPS) или Виртуальные Среды (Virtual Environments, VE).
Виртуализация на уровне операционной системы в OpenVZ ограничивает использование гостевых систем Linux'ом, но даёт лучшую производительность, масштабируемость, плотность размещения, динамическое управление ресурсами, а также лёгкость в администрировании. Согласно сайту OpenVZ, накладные расходы на виртуализацию очень малы, и падение производительности составляет 1-3 %, по сравнению с обычными Linux-системами.
OpenVZ состоит из модифицированного ядра Linux и пользовательских утилит.
Для начала работы с OpenVZ устанавливаем ядро с поддержкой OpenVZ:
Перезагружаем сервер с новым ядром.
Включение цветного вывода для Capistrano
Устанавливаем библиотеку capistrano_colors:
Добавляем в ~/.caprc подключение этой библиотеки:
Развертывание Symfony приложения с Capistrano и Subversion
Одним важных процессов в разработке web-приложений, в том числе и написанных с использованием фреймворка Symfony, является деплоймент или разворачивание и обновление проекта на удаленном сервере. Для выполнения подобных действий существует множество средств и одним из самых популярных является Capistrano. Он достаточно прост в освоении, очень гибок в настройке и функциональный богат, но по-умолчанию настроен для Ruby on Rails приложений.
Настроить Capistrano для развертывания Symfony приложений не составляет особого труда, так как все этапы стандартного процесса с легкостью можно переопределить.
В корне проекта запускаем capify . и начинаем настраивать config/deploy.rb.

