Как так, Ruby ?

Я вот всегда думал, что такие серьезные проекты как Python, Perl, Ruby и прочие, пишутся людьми  »семи пядей во лбу». А оказывается, что и у них бывает проскакивает всякого рода быдло-код.

Наткнулся сегодня на такую статейку на рубиинсайдере http://www.rubyinside.com/ruby-1-9-3-faster-loading-times-require-4927.html. Суть (насколько это я понял): при использовании функции «require», которая подключает новый файл в программу, имя этого файла заносится в некий массив (кэшируется). При повторном включении, этот массив проверяется и если файл уже включен — функция ничего не делает. В общем случае для того чтобы узнать присутствует ли тот или иной элемент в массиве, что необходимо предпринять? Правильно! ПЕРЕБРАТЬ ВЕСЬ МАССИВ (тем или  иным способом)! Все книжки о таких языках как Perl, PHP, Ruby начинаются с описания структур данных, во всех этих книжках все нахваливают такие структуры как хэш, ассоциативный массив или словарь и настоятельно рекомендуют их использовать из-за высокой скорости работы.  А тут вот такое дело… Одно хорошо — руби избавился от такой «детской», на мой взгляд, болезни.

 

Perl eq кулинария ? да : нет

«И еда, и язык программирования относятся к скромным средствам; они состоят из внешне разрозненных ингридиентов. И все же в руках мастера, наделенного творческим мышлением и дисциплиной, из самых обыденных вещей — картошки, макарон и Perl — возникают произведения искусства, которые не просто справляются со своей задачей, но и делают это так, что ваше странствие по жизни становится чуть более приятным.»

Perl Сборник рецептов для профессионалов

Perl и Mojo начало.

После нескольких попыток освоить Catalyst (не скажу, что они были не удачными), решил посмотреть что есть Mojo. Документации по данному фреймворку пока мало,  а на русском языке и подавно.

Мою первую статейку про Mojo  можно почитать тут

Padre for Perl

Собственно, товарищи Перловики, http://www.catalyzed.org/2009/12/look-at-padre.html

А вот и сам ОН http://padre.perlide.org/

Завтра обязательно его испытаю!

p.s. Если кто-то уже использовал это чудо — велкам в комментарии =)

Устанавливаем ctpp на centOs 5.3

Эта маленькая заметка, расскажет о том как установить  шаблонизатор ctpp на centOs 5.3.
ctpp — универсальный шаблонизатор, который можно использовать со многими языками программирования.
ctpp написан полностью на С++, поэтому работает очень быстро (по словам разработчиков).
В своей заметке я буду использовать ctpp для работы c Perl.

Вот что у нас есть:

CentOs 5.3

gcc + make

Perl 5.8.8

А вот, что  нам потребуется:

1 Компилятор c++ — для установки его в centOs вводим команду:

yum install gcc-c++

2 Утилита cmake

- скачиваем исходный код:

http://www.cmake.org/files/v2.6/cmake-2.6.4.tar.gz

- распаковываем

tar xvzf cmake-2.6.4.tar.gz

- создаем каталог cmake-build и переходим в него

mkdir cmake-build
cd    cmake-build

- запускаем ../cmake-2.6.4/bootstrap
- собираем cmake командой gmake
- устанавливаем cmake командой gmake install

3 Сам шаблонизатор ctpp

- скачиваем последнюю версию

http://ctpp.havoc.ru/download/ctpp2-2.5.12.tar.gz

- распаковываем

tar zxvf ctpp2-2.5.12.tar.gz

- переходим в каталог с шаблонизатором

cd ctpp2-2.5.12

- поочереди выполняем следующие команды

cmake . (не забудьте «.»)
make
make install

Если все прошло без ошибок — значит шаблонизатор и все необходимые библиотеки установились.

Для работы с ctpp из Perl потребуется модуль HTML::CTPP2

- скачиваем модуль

http://ctpp.havoc.ru/download/HTML-CTPP2-2.5.11.tar.gz

- распаковываем и переходим в каталог модуля

tar zxvf HTML-CTPP2-2.5.11.tar.gz
cd HTML-CTPP2-2.5.11

- поочередно выполняем команды

perl Makefile.PL
make
make install

Вот и все! Шаблинизатор и Perl-овый модуль установлены. Теперь можно писать very fast web applications =)

В одной из следующих статей постараюсь рассказать об использовании этого чуда!

Официальный сайт шаблонизатора

Установка

FAQ

Первые шаги

Документация

use Perl or die;