Архив 04.2008
April 21, 2008
02:04
Недавно случайно обнаружил, что в Java существует возможность красиво реализовать переменное число аргументов у метода. Красиво, это значит без всяких new Object[]{}, которые жутко засоряют код и совсем не способствуют его читабельности.
Красивое решение: конструкция "...", которая была добавлена в Java SE 5.
Читать дальше »
April 15, 2008
02:04
mod_rails (также известен как Phusion Passenger) - модуль для Apache, позволяющий осуществлять максимально простое размещение Rails-приложений. Установка модуля занимает буквально несколько минут, после этого приложение может быть размещено практически без осуществления какой-либо настройки Apache, буквально одной строчкой конфигурации.
Установка
Самый простой способ установки mod_rails - через использование Ruby Gems. Для установки необходимо выполнить из под рута две команды:
gem install passenger
passenger-install-apache2-module
И далее следовать инструкциям интерактивной программы инсталляции.
Размещение приложения
Для размещения приложения достаточно в конфигурационном файле Apache создать виртуальный хост и указать в качестве DocumentRoot директорию public Rails-приложения. Например:
<VirtualHost *:80>
ServerName www.mycook.com
DocumentRoot /webapps/mycook/public
</VirtualHost>
Читать дальше »
April 08, 2008
17:04
Контейнеры STL построены на концепции, состоящей в том, что каждый контейнер контролирует свой собственный набор элементов, предоставляя какой-либо интерфейс доступа к ним.
В отличие от STL, контейнеры boost::multi_index построены на другом принципе: каждый контейнер содержит хранилище элементов, предоставляя несколько различных интерфейсов доступа ( называемых в boost индексами ) к ним. Такой подход позволяет достаточно легко и прозрачно строить контейнеры совмещающие свойства различных STL контейнеров, а также быстро менять описание контейнера в случае необходимости добавления или удаления индексов, не меняя уже написанный код, работающий с контейнером.
Читать дальше »
April 08, 2008
01:04
Здесь я кратко опишу основные ошибки, которые могут возникнуть при размещении Rails-приложения на fcgi и методы их решения.
Основные симптомы нижеописанных ошибок:
- Вместо приложения, отображается:
- Содержимое файла dispatch.fcgi
- 505 Rails application failed to start
- В логе ошибок появляются строки вида:
- [warn] mod_fcgid: Read data error, fastcgi server has close connection
- [error] [client xxx.xxx.xxx.xxx] Premature end of script headers: dispatch.fcgi
- Загрузка каждой страницы приложения занимает несколько секунд
Читать дальше »