Rose::DB::Object — использование собственного $dbh вместо стандартного способа пдключения

Вопрос поднимается регулярно. custom $dbh with Rose::DB?

Mojolicious — странное поведение шаблонизатора

Вывод шаблонных переменных с кириллицей в данных различается от места использования:

Неработающий код — выводятся крякозябры: [cc] {‘rstates’}}){ %>name_rus %> [/cc]

Работающий код: [cc] {‘rstates’}}){ %>name_rus %> [/cc]

Разница — в первом случае используется тэг […]

Perl — Rose::DB::Object::Loader + Rose::DB::Object::Helpers

**Дискламер После нескольких лет я понял что ORM в Perl не нужно и вредно. **

Проблема — надо, чтобы в сгенерированные Rose::DB::Object::Loader классы были включены методы, заданные с помощью Rose::DB::Object::Helpers. Решение подсказали в http://www.mail-archive.com/rose-db-object@lists.sourceforge.net/msg01541.html:

The usual way is to create a common base class with all the helpers you want, then tell the loader […]

Perl — полезные методы DBI

Я замечал и за собой, и за другими стремление делать надстройки над DBI, добавляя вроде бы полезные методы для извлечения данных. Почти все такие методы, как оказалось, в DBI уже есть, хотя частенько они замаскированы.

[…]

Mojolicious — соединение с базой данных

После некоторых экспериментов я пришёл к такой схеме соединения с базой данных: соединение в хуке after_static_dispatch. Преимущества — в начале сессии один раз проверяется доступность базы и переоткрывается соединение, нет лишних врапперов для DBI хэндла.

[…]

Пишем Excel файлы

https://github.com/kolpak/perl-spreadsheet-simplexlsx

This module is intended as a quick method of extracting the raw data from the XLSX file format. This module uses Archive::Zip to extract the contents of the XLSX file and XML::Simple for parsing the contents.

Perl — замена Data::Dumper’у

Data::Dumper прекрасный модуль, но и он имеет недостатки. 1) большой, 2) сложный, 3) русские буквы выводит как escaped строки, а поправить это сложно. Модуль хороший, но слишком умный. А отладка требует простоты.

Альтернатива — модуль Data::Dump, автор Gisle Aas. Автор указан, чтобы подчеркнуть, что этот модуль не поделка начинающего перл-программиста, не дошедшего до Data::Dumper.

[…]

Perl — use feature «switch» или use Switch;

Нарвался я на ошибку с модулем Switch.

Did not find leading dereferencer, detected at offset 2329

и дальше чудеса с необъявленными переменными.

Как оказалось, ошибка распространённая. Причина до конца неясна, но некоторые (Tom Christiansen) считают что Switch настолько крив, что не имеет права на существование. Возможно это и так. Рекомендация — переходить на […]

Perl — Watchdog

Watchdog — алгоритм, позволяющий отследить зависание какого-то приложения или аппаратного устройства. Приложение периодически отчитывается о том, что оно работает. Если отчёт задерживается на какое-то заранее установленное время, то watchdog-демон либо перегружает (если умеет), либо останавливает процесс. Это умеет делать monit, и это умеет делать Proc::Watchdog.

[…]

Mojolicious — использование route на стороне браузера

Задача — формирование URL в браузере. Хотел уже писать сам плагин, но набрёл на готовый Mojolicious::Plugin::JSUrlFor — спасибо Viktor Turskyi.

[…]