Четверг, 26 мая

Хабрахабр: Метки / perl: Вышла версия 2.0 Perl плагина для IntelliJ IDEA




Стала доступна для загрузки вторая версия Perl плагина для IDE от JetBrains. В этой версии появилась последняя из крупных фич, которую я хотел реализовать — отладчик.
Читать дальше →

Понедельник, 23 мая

Хабрахабр: Метки / perl: API к zadarma.com на perl и python



У zadarma.com есть API к их сервисам на языке php, но на моих серверах этот язык отсутствует. Ставить php ради обращений к задармам желания не было. Поискал в интернете не нашел ничего для perl и python.
Написал для себя, что получилось под катом.
Читать дальше →

PerlNews.Ru: Конференция YAPC::Russia 2016 пройдёт 25 июня в Москве

Анонсирована очередная ежегодная конференция YAPC::Russia. В этом году мероприятие пройдёт 25 июня в Москве в офисе Mail.Ru Group. Участие в конференции бесплатное, но необходимо зарегистрироваться.

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

Также, как и в прошлом году, организаторы обещают прямую видеотрансляцию докладов.

Темы: YAPC

Суббота, 21 мая

XPoint.ru | Программирование::Perl::Модули: Как использовать Inline::CPP ?

Разве достаточно ли в одну папку со скриптом Sproba3.pl поместить папку Inline-CPP-master?? Вижу что нет.
Я не вполне пойму суть всего и конкретные методы. Может кто-то рассказать и.или показать?

Sproba3.pl

use Modern::Perl;
use Inline 'CPP' => "./calc.cpp";

say calc($ARGV[0]);

Понедельник, 16 мая

Хабрахабр: Метки / perl: Разработка Sparrow плагинов


Приветствую!


В предыдущей статье я писал о SparrowHub — репозиторий готовых утилит для системного администрирования. Что же, время прошло, и теперь хочется рассказать о том КАК разрабатывать эти самые утилиты и загружать их на SparrowHub для повторного использования кем-либо.


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

Четверг, 12 мая

PerlNews.Ru: Perl 5.24 стал быстрее

Одним из улучшений в Perl 5.24 стало ускорение арифметических операций. Начиная с Perl 5.8.0, когда появилась поддержка 64-битных целых, скорость арифметических операций снизилась из-за необходимости проверки различных граничных условий. Теперь же проверяется общий случай, что снимает необходимость проверки всех частных случаев, что в целом оптимизирует производительность.

Синан Унур в своей статье продемонстрировал, что эта оптимизация даёт выигрыш в 30% по сравнению с Perl 5.20.2 в бенчмарке nbody, который использует большое число арифметических операций. Благодаря этому Perl 5.24 обогнал Python 3 в данном тесте.

Темы: Perl benchmark

Вторник, 10 мая

Мини-портал Perl на Opennet: Релиз языка программирования Perl 5.24.0

После года разработки состоялся релиз новой стабильной ветки языка программирования Perl - 5.24. При подготовке нового выпуска было изменено около 360 тыс. строк кода, изменения затронули 1800 файлов, в разработке приняли участие 77 разработчиков.

Понедельник, 9 мая

PerlNews.Ru: Выпущен Perl 5.24.0

9 мая 2016 года была выпущена новая стабильная версия языка программирования Perl 5.24.0. Разработка велась примерно 11 месяцев, начиная с Perl 5.22.0, и содержит примерно 360 000 изменённых строк среди 1800 файлов от 77 авторов.

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

Темы: Perl

Пятница, 6 мая

PerlNews.Ru: Coro в Perl 5.24

В тот момент, когда перед выпуском Perl 5.24 остались считанные дни, в рассылке perl5-porters внезапно вспомнили, что в новом Perl по-прежнему остаётся сломанным модуль Coro Марка Леманна. Одна из проблем была связана с тем, что в Perl 5.22 структура MGVTBL (магическая виртуальная таблица), формирующаяся во время компиляции perl, стала константной. Coro делал переопределение в таблице, поэтому и не мог работать с новым Perl 5.22. Было предложено откатить это изменение до выхода Perl 5.24.

Вносить подобные изменения в последние дни перед выпуском слишком рискованно, поэтому произошёл спонтанный мозговой штурм проблемы, в результате которого удалось выяснить очень много интересных деталей. Оказалось, что переопределение MGVTBL требовалось Coro только для того, чтобы переопределить работу с хендлерами сигналов __DIE__ и __WARN__ для магического хеша %SIG, что в свою очередь было сделано из-за бага Perl, когда присутствует рассинхронизация в PL_warnhook и $SIG{__WARN__}. Теоретически оба должны ссылаться на хендлер обработки предупреждений, но некоторые кривые XS-программы, в том числе входящие в базовый Perl (например, find в PerlIO::Layer), могут изменить только PL_warnhook, забыв про $SIG{__WARN__}. То есть это был банальный костыль в Coro для обхода реальной проблемы в Perl. Эта проблема была зафиксирована в баге #125349,

Более того, оказалось, что Coro можно было приспособить для работы с константной MGVTBL, Dave Mitchell и Father Chrysostomos продемонстрировали патч, который позволяет Coro работать без проблем на Perl 5.22.

Очевидно, что если бы этот мозговой штурм прошёл год назад, проблема была бы решена раньше и не возникло бы таких явлений как stableperl. Вероятно штурм бы и не потребовался, если бы Марк сообщил о проблеме в Perl, когда столкнулся с ней впервые.

Темы: perl bug Coro

Четверг, 5 мая

Сообщество ru_perl в LiveJournal: Моджо сдох

Внезапно с утра обнаружил что помер проект на моджо, рестарт приложения и рестарт nginx не помогло. Снёс nginx, установил заново, воткнул простейшие настройки для моджо проекта:

upstream myapp {
server 91.136.234.5:3002;
}
server {
server_name domen.ru www.domen.ru;
listen 80;
charset UTF8;
index index.html;
root /var/www/domen/public;

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root /var/www/domen/public;
expires 14d;
}
location / {
proxy_pass http://myapp;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "http";
}
}


обновил моджо:

# mojo version
CORE
Perl (v5.18.2, linux)
Mojolicious (6.61, Clinking Beer Mugs)

OPTIONAL
EV 4.0+ (4.22)
IO::Socket::Socks 0.64+ (0.68)
IO::Socket::SSL 1.94+ (1.965)
Net::DNS::Native 0.15+ (0.15)

This version is up to date, have fun!

перезалил проект, назначил права доступа, запустил проект:

su user, cd /var/www/domen, hypnotoad script/myapp,

получаю: 504 Gateway Time-out.

Проект висит в процессах и слушает порт, смотрю так: netstat -tupnl.

tcp 0 0 91.136.234.5:3002 0.0.0.0:* LISTEN 1459/myapp

Прописалл в iptables:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3000:3050 -j ACCEPT

это помимо того что уже есть правило для 3002 порта,


Что это может быть? Может что-то уже поменялось в фреймворке, пока я картоху сажал? )))

Воскресенье, 1 мая

Хабрахабр: Метки / perl: Не подлежит забвению


Вы не находите странным черту освистывать нечто до появления некого более функционального аналога оного и проявлять к этому нечто интерес после? На протяжении всего своего существования командная оболочка Windows неоднократно подвергалась жесткой критике, дескать, ее функциональность оставляет желать лучшего, что, казалось бы, должно было сойти на нет с появлением PowerShell, призванного устранить недочеты первой и упростить жизнь разработчикам и системным администраторам. Нет, PowerShell снискал должную популярность, но появился интерес и к самой командной строке особенно после того, как «селекционерами» были открыты способы запускать командные сценарии как WS[H|F] и HTA. Собственные эксперименты и наблюдения показали, что этим дело не ограничивается.
Читать дальше →

Среда, 27 апреля

Хабрахабр: Метки / perl: Вышла версия 1.5 Perl плагина для IntelliJ IDEA




Вышел знаковый для меня релиз плагина. Год назад я начал работу над ним и иногда не верится что все это было сделано. В репозиторий прошло более двух тысяч коммитов.

Данная версия привносит поддержку POD, хелперов для Mojolicious, контекстную подсказку и много приятных мелочей.
Читать дальше →

Мини-портал Perl на Opennet: Выпуск Rakudo Star 2016.04, дистрибутива Perl 6

Состоялся релиз пакета Rakudo Star 2016.04, включающего компилятор Rakudo, виртуальную машину MoarVM, документацию, модули и инструменты, необходимые для разработки на языке Perl 6. Это второй выпуск после объявления релиза языка программирования Perl 6. Компилятор соответствует спецификации Perl v6.c, за исключением поддержки расширенных макросов, неблокирующего ввода/вывода и ряда мелких особенностей, которые планируется довести до рабочего состояния в будущих выпусках. В качестве виртуальной машины для исполнения байткода предлагается MoarVM, которая проходит все необходимые тесты.

Понедельник, 25 апреля

Хабрахабр: Метки / perl: 5 стадий API: что мы поняли, написав две версии


Сегодня мы хотим поговорить о сокровенном — у нас есть API.

Мы писали, а затем переписывали его заново на протяжении четырех лет. И за это время прошли почти все классические стадии “принятия неизбежного”. Кроме одной — четвертой. И хотим поделиться нажитыми непосильным трудом выводами, что делать и не делать, если вы решите делать свой “мощный эпиай”.



Процесс создания API uCoz иногда напоминал сюжет сериала The Knick («Больница Никербокер») — с неудачными операциями, кишками и экспериментами на живых людях.

Стадия первая – Отрицание

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

Воскресенье, 24 апреля

PerlNews.Ru: Sawyer X новый pumpking Perl

Рикардо Сигнес сообщил, что новым добровольцем, вызвавшимся быть ответственным за релизы Perl, стал Sawyer X, известный в сообществе израильский Perl-программист.

Рикардо заметил, что предыдущий pumpking Джес Винсент сопровождал Perl два года, сам Рикардо — четыре (два в квадрате), следовательно Сойеру предстоит по меньшей мере 4² = 16 лет увлекательной работы.

В рассылке perl5 porters началось обсуждение новости. Уже предрекают появление Dancer в базовом Perl, вместо ушедшего оттуда модуля CGI.

Темы: community

PerlNews.Ru: Рикардо Сигнес получил серебряного верблюда

silver camel

На проходящем Perl QA Хакатоне в английском городе Рагби Рикардо Сигнес получил довольно уникальную награду: серебряный верблюд. Это первое публичное Perl-мероприятие, которое посетил Рик после анонса, что Perl 5.24.0 станет его последним релизом. Награда стала данью признания выдающихся заслуг Рикардо Сигнеса в его работе над выпусками Perl на протяжении последних пяти лет.

Награда «серебряный верблюд» появилась в 2014 году, когда ею впервые был удостоен Марк Китинг за его вклад в развитие Perl-сообщества в Соединённом Королевстве. Дело в том, что Марк являлся членом маркетингового комитета фонда перл и никогда бы не смог получить награду «Белый верблюд», поскольку именно фонд перла выбирает лауреатов награды и по этой причине не может выбирать никого из жюри. «Серебряный верблюд» позволил изящно обойти это ограничение.

Темы: community

Четверг, 14 апреля

Хабрахабр: Метки / perl: SparrowHub — репозиторий готовых утилит для системного администрирования


SparrowHub — проект, целью которого является распространение различных готовых решений для задач системного администрирования и не только.


Несмотря на то, что существует масса решений по автоматизации задач системного администрирования, определенная ниша в этой области все же остается незанятой. Что мы делаем, когда хотим решить какую-то специфическую задачу? Например, проверить логи нашего ssh сервиса на наличие неудачных попыток логинов с целью позаботиться о секьюрности наших серверов? — Берем и пишем однострочник, состоящий из bash команд вида grep, sed, awk и так далее, ну, или можем написать скрипт на Perl. Отлично, все работает. Eсть решение, которое устраивает нас. И мы пользуемся им. Вопрос в том, как мы хотим сохранить результаты наших трудов, что бы поделиться ими с другими или же когда пройдет время снова воспользоваться придуманным решением. Вот тут и возникает проблема.

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

PerlNews.Ru: Последний релиз Рикардо Сигнеса

Рикардо Сигнес, текущий релизер стабильных релизов Perl (pumpking), сообщил о том, что релиз v5.24.0 и одновременно выходящий релиз v5.25.0 для разработчиков, станут его последними релизами Perl.

Рикардо на протяжении последних почти 5 лет выпускал стабильные релизы Perl, начиная c 5.16.0. Он обещает по-прежнему активно участвовать в сообществе, но уже не в роли pumpking. Тема письма в perl5-porters «...and slide on the ice» является окончанием цитаты из эпизода MASH:

Ladies and gentlemen, take my advice. Pull down your pants, and slide on the ice

Maj. Sidney Freedman

что можно трактовать как, жизнь коротка, не следует всегда оставаться слишком серьёзным.

Темы: community

PerlNews.Ru: Выпущен Perl 5.24.0-RC1

Не откладывая в долгий ящик, Рикардо Сигнес выпустил первый «настоящий» релиз-кандидат новой мажорной версии Perl 5.24.0-RC1. Список изменений по сравнению с Perl 5.22.0 доступен в perldelta. Среди основных изменений можно отметить:

  • Постфиксное разыменование больше не экспериментальное, соответственно удалена поддержка авторазыменования.

  • Поддержка стандарта Юникод 8.0.

  • Удалена поддержка лексической переменной my $_.

  • Оптимизирована процедура входа и выхода в/из область видимости, что ускоряет вызов функций, циклов и блоков кода.

  • Прирост в скорости в регулярных выражениях с фиксированной строкой поиска за счёт использования соответствующей аппаратной поддержки.

  • Множество исправлений ошибок.

Темы: Perl

Понедельник, 11 апреля

PerlNews.Ru: Релиз-кандидаты Perl 5.22.2-RC1 и 5.24.0-RC0

10 апреля вышел первый релиз-кандидат Perl 5.22.2-RC1. Новый минорный релиз текущей стабильной ветки Perl 5.22 содержит только исправления ошибок безопасности: CVE-2015-8607, CVE-2015-8608, CVE-2016-2381 (подробно о них уже рассказывалось в новости о релизе Strawberry Perl), а также ошибка #RT127322, когда при создании временных файлов перед вызовом mkstemp, в Perl предварительно устанавливались биты umask 0600 (вместо 0177), что на современных Linux системах приводило к результирующему значению бит прав 0000, что не является проблемой безопасности, но на древних системах с glibc ≤ 2.06 давало результирующее значение 0066, что уже является проблемой.

Также было объявлено о создании релиз-кандидата будущей стабильной версии Perl 5.24.0-RC0. Это не совсем «настоящий» релиз, так как тарбол не был отправлен на CPAN, и собрать новый релиз можно только из исходного кода в git-репозитории. Но Рикардо Сигнес обещает выпустить настоящий RC1 уже через пару недель. Таким образом, в этом году ожидается необычно ранний релиз Perl по сравнению с предыдущими (например, 5.22.0 вышел 1 июня).

Темы: Perl

Четверг, 7 апреля

Чтобы не искать: Логотипы Metacpan и Hansa

Есть такая компания Hansa. Компания производит бытовую технику - стиральные машины, холодильники, и.т.д. На сайте они делают вид, что компания немецкая, но в Википедии написано, что компания российская.

И есть такой сайт MetaCPAN. На сайте хранятся модули для языка программирования Perl. Сайт международный, поддерживается сообществом.

А вот их логотипы:


Четыре красные точки подозрительно похожи друг на друга.

Почему у Hansa четыре красные точки? Видимо - я не знаю точно - они символизируют четыре конфорки кухонной плиты. Но они производят не только плиты, поэтому непонятно, почему в логотипе должны быть именно плита.

Почему у MetaCPAN четыре красные точки? Потому что модули в Perl именуются таким способом, через двойное двоеточие. Например - Image::JPG, Document::Text, Table::Excel.

Среда, 6 апреля

Pilat66 blog: mojolicious — переходим на версию 6

Запомнившиеся изменения в версии 6. Некоторые стали очень неожиданным сюрпризом.

6.55 2016-03-08

Fixed a bug where Morbo would restart more than once if multiple files changed at the same time. (leejo, nugged)

Теперь не будет миллиона рестартов morbo при запуске rsync

6.54 2016-03-06

Added support for named variables to Mojo::Template. Added vars attribute to [...]

Пятница, 25 марта

PerlNews.Ru: Враждебные форки

В документации Mojolicious появилось предостережение от создания форков отдельных частей проекта Mojolicious, которые не были одобрены разработчиками Mojolicious. Форки не только ведут к истощению ресурсов проекта, бренда, но также лишают его возможных баг-репортов и патчей. В качестве примеров можно привести DOM::Tiny , который является форком Mojo::DOM, или JSON::Tiny, который является форком Mojo::JSON. Например, улучшение для JSON::Tiny никто не удосужился предложить портировать обратно в Mojo::JSON, а улучшения в Mojo::JSON не попадают в форк, таким образом складывается ситуация, когда оба проекта несут потери.

Себастьян Ридель настроен серьёзно и уже поместил негативный отзыв дистрибутиву DOM-Tiny на cpanratings.

Темы: mojo fork

Понедельник, 21 марта

Хабрахабр: Метки / perl: Вышла версия 1.4 Perl плагина для IntelliJ IDEA




Новая версия Perl плагина для продуктов JetBrains стала доступна для скачивания из официального репозитория. Главные фичи: оптимизация и поддержка HTML::Mason.

А теперь, немного подробнее:
Читать дальше →

Суббота, 19 марта

Меркантильный гуру: perl 5.14 smart matching

use Dancer ':syntax';
use v5.14;
...

my @options = qw ( func_overload allow_url_fopen ); my $p = params->{'...'};

return redirect '...' unless $p and $p ~~ ['func_overload', 'allow_url_fopen']; # работает return redirect '...' unless $p and $p ~~ qw ( func_overload allow_url_fopen ); # не работает return redirect '...' unless $p and $p ~~ @options; # работает



Прелесть какая!

Меркантильный гуру: try/catch

Родное решение в Dancer не умеет вложенные try/catch. И вообще, чем дальше, тем больше там всё сделано странно.

К счастью, есть Try::Tiny.

Кстати, не могу придумать название для своего фреймворка. У меня уже есть одно замечательное название (и сохраняет историческое наследие предыдущих фреймворков), но хочется продолжить линейку и назвать его как-нибудь про танцы. Например, я танцую бальбоа, сейчас уже преподаю его и большая часть процесса обучения - это рассказы о том, как делать не надо. Вот мой перловый фреймворк такой же - есть много способов что-то сделать, но все плохие и так делать не надо. Но назвать фреймфорк Balboa.. странно же. Посоветуйте что-нибудь )

Четверг, 17 марта

PerlNews.Ru: Код ошибки Winsock теперь попадает в $^E

Давняя история борьбы Perl с кодами ошибок Winsock внезапно получила продолжение. Как известно, традиционно в Perl на Windows коды ошибок Winsock сохранялись в errno и транслировались в переменную $! так, чтобы соответствовать POSIX-кодам ошибок. Возникающие проблемы при таком подходе уже подробно освещались в статье «AnyEvent сломан на Strawberry Perl 5.20»

И вот, в конце февраля было внесено новое предложение по работе с ошибками Winsock. Чтобы немного смягчить имеющееся рассогласование, начиная с грядущего выпуска Perl 5.24 значение кода ошибки Winsock будет попадать в переменную $^E, которая как раз и служит для хранения платформо-специфичных ошибок. Отказ от модификации $! пока не предусматривается, но если он будет выполнен для Winsock, то пройдёт через стандартную схему устаревания и, как минимум, через один стабильный релиз.

11 марта это изменение было отправлено в основную ветку.

Темы: windows perl

Пятница, 11 марта

Сообщество ru_perl в LiveJournal: Вакансия Perl разработчик Санкт-Петербург

Обязанности:
• разработка проекта компании;
• различные интеграционные решения;
• тесная работа с фронт-енд программистом

Требования:
• уверенное знание Perl;
• умение работать с любым из популярных шаблонизаторов (HTML::Template, TT, CTPP и т.д);
• умение работать с PostgreSQL или Mysql;
• умение работать с большим объемом данных, опыт в hbase будет большим плюсом;
• знание JavaScript, HTML, CSS будет существенным плюсом;
• ответственность, инициативность, исполнительность.

Условия:
• офис ст. метро Горьковская в пешей доступности;
• гибкий график работы, возможность работать удаленно;
• работа в крупной российской компании (успешный прибыльный проект);
• зарплата от 100 000 рублей, по результатам собеседования.

Тип занятости:
• Полная занятость, полный день.

Резюме высылайте на почту: comdef@gmail.com

PerlNews.Ru: Выпущен Strawberry Perl 5.22.1.3 и 5.20.3.3

Выпущены два релиза дистрибутива Perl 5.22.1.3 и 5.20.3.3 для Windows Strawberry Perl. Оба релиза содержат исправление уязвимостей:

  • CVE-2015-8607 — функция canonpath модуля File::Spec не сохраняет taint-атрибут возвращаемого значения.

  • CVE-2015-8608 — обращение к памяти за пределами границ при обработке путей. Баг специфичен для Win32 платформы, возникает в случае если в пути в качестве буквы диска указан любой символ, отличный от а..z или A..Z.

  • CVE-2016-2381 — если в массиве переменных окружения оказывались дублирующиеся ключи, то в %ENV сохранялось последнее значение, в то время как getenv возвращал первое. В такой ситуации дочерний процесс мог получить неожиданное значение переменной окружения.

Кроме того, в дистрибутивах обновлена библиотека openssl. Загрузить новые релизы можно на сайте проекта strawberryperl.com.

Темы: Perl windows security

Воскресенье, 6 марта

Сообщество ru_perl в LiveJournal: Как добавлять бизнес-логику в DBIx::Class?

Хочу уже не руками модель писать, а как большой. И нигде не могу найти никакой документации -- как расширять модель для DBIx::Class. Ну вот она сгенерирована Schema::Loader'ом. А мне бы туда теперь бизнес-логики. Например, добавить в состояние схемы (туда же, где хендл DBI хранится) текущего пользователя и добавить ВО ВСЕ все селекты проверку владельца объекта, что бы чужого из базы никто запросить не смог, даже если я уровнем выше вдруг ошибусь. Или вот при создании объекта проверить лимиты того же пользователя, можно ли ему создавать. Такое вот разное. Или это предполагатеся делать уровнем выше, т.е. поверх DBIx::Class-модели писать ЕЩЁ ОДИН СЛОЙ и заворачивать каждый объект в DBIx::Class в ещё одну обёртку? Но тогда получается, что DBIx::Class фактически бесполезен!

Среда, 2 марта

Сообщество ru_perl в LiveJournal: Библиотека (очень специализированный шаблонизатор?) для web-фронтенда?

Сто лет не писал на perl'е ничего для веба. А тут понадобилось. Когда писал последний раз — писал «рутер» и контроллер руками, шаблоны делал на Template::Toolkit тоже руками. Это было так давно, что Mojo или Dancer'а ещё и в проекте не было, был CGI.pm и Mason. Которые были так ужасны, что руками было проще. AJAX'а тоже не было, модных форнтенд-библиотек не было и всех устраивали формочки сделанные на голом HTML «профессиональным программистом» (в табличках, разумеется), на которые какой-никакой дизайн натягивался через CSS1. В общем, лет 10 назад это было.

А тут потребовалось. Ну ладно, server-side я понимаю — Mojo или Dancer2, сейчас разберёмся.

А вот что делать с фронтом? Нету ли какого-нибудь очень специального шаблонизатора для CRUD-подобных приложений, что бы дизайна и HTML'я и всякого jQuery не делать вообще, а описать СТРУКТУРУ формочек на экранах как-то декларативно (YAML-хуямл, да хоть XML, не важно) и получить непротивно выглядящий фронтенд, с проверкой данных на клиенте, AJAX'ом, и прочими ништяками?

Update: Поясню. Я спрашиваю не про клиентский JavaScript-фреймворк типа React'а или там Angular'а, а про именно что умный генератор фронтенда на бэкенде по декларативному описанию интерфейса. А уж этот генератор может прицеплять в сгенерированный фронтенд хоть Реакт хоть Ангулар хоть чёрта лысого, как ему удобно и что любит автор генератора.

Сообщество ru_perl в LiveJournal: locale ubuntu mojo

Всем привет, то-ли лыжи не едут то-ли я не так делаю.

#locale
LANG=ru_RU.UTF-8
LANGUAGE=ru_RU:en
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=



use DateTime::Format::SQLite;
use locale;
use POSIX qw( locale_h strftime );
setlocale(LC_ALL,"ru_RU.UTF8");

my @stash;

while (my $archive = $rs->next) {

my $dt = DateTime::Format::SQLite->parse_datetime( $archive->postime );

$dt->set_time_zone('Europe/Moscow');

push @stash, $dt->strftime('%B %Y');

}

В результате названия месяцев на английском, а хочется на русском. Куда ещё покопать, что прочесть? Спасибо.

Вторник, 1 марта

Сообщество ru_perl в LiveJournal: Mojolicious Роуты

Возникла нужда иметь такие роуты:
$r->get('/blog')->to('blog#index');
$r->get('/blog/:category')->to('blog#show_category');
$r->get('/blog/:category/:id')->to('blog#show');
$r->get('/blog/:year/:month')->to('blog#show_archive');
Разумеется они конфликтуют. Кто и как решает такие проблемы?
Ну и что-бы два раза тему не создавать, видел роуты с регэкспом:

qr|/user/show/(\d+)| -> $self->render(text => $users{$1});

и вот ещё:

$r->route('/uid/:id/',id => qr/\d+/)->to( controller => 'Uid',action => 'index');

Роуты с регэкспами работают? И как? Спасибо.

Хабрахабр: Метки / perl: Отчёт со встречи Perl-программистов Moscow.pm 4 февраля


image

В начале февраля в офисе Mail.Ru Group прошла очередная встреча Moscow.pm, организованная сообществом Perl-программистов. Выступления, прозвучавшие на встрече, были посвящены теории и практическим задачам, возникающим в ходе разработки. Под катом вы найдёте видеозаписи и презентации докладов.
Читать дальше →

Суббота, 20 февраля

Shoor/нал: Без @ARGV

Обнаружил в попавшемся на глаза чужом скрипте чтение переданных через командную строку параметров без упоминания массива @ARGV. Проверил — работает:

#!/usr/bin/perl

my $shifted = shift or die 'Not shifted';

print "Shifted value is $shifted\n";


Выдаёт
$ ./shift.pl
Not shifted at ./shift.pl line 3.
$ ./shift.pl ARGV?!
Shifted value is ARGV?!

Век живи — век учись.

http://shoorick.ru/2016/02/20/without-argv/

Пятница, 19 февраля

Хабрахабр: Метки / perl: Как устроен Relap.io — сервис, который выдает 30 миллиардов рекомендаций в месяц



Мы давно ничего не писали в наш блог и возвращаемся с рассказом о нашем новом проекте: Relap.io (relevant pages).

Мы запустили рекомендательный B2B-сервис Relap.io полтора года назад. Он облегчает жизнь редакции и читателям СМИ. В будние дни Relap.io обслуживает 15 млн уников и выдаёт 30 миллиардов рекомендаций в месяц.

Сейчас Relap.io крупнейшая рекомендательная платформа в Европе и Азии.

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

Четверг, 18 февраля

PerlNews.Ru: Выложены видеозаписи Perl-докладов на FOSDEM 2016

На сайте конференции FOSDEM 2016 выложены видеозаписи докладов, проходившие в зале Perl.

P.S. По всей видимости, видеофайлы выложены частично битые. Первая минута не проигрывается, но дальше воспроизводится нормально. Требуется полная загрузка видеофайла для начала воспроизведения.

P.P.S. Все видеофайлы, кроме «Perl 6», перегенерированы и доступны для просмотра.

Темы: FOSDEM

Суббота, 13 февраля

Сообщество ru_perl в LiveJournal: Eclipse Perl::Epic PerlTidy

Фигня какая-то с редактором творится. Не получается скопировать уже готовый проект. Делаю так, создаю проект, потом импортирую в него файлы. Вроде всё хорошо, но файлы физические на диске не сохраняются, не изменяются, а в редакторе всё норм.

Как это так?

Ещё не понятно как работает perltidy, приходится ручками делать так:

perltidy -b Dashboard.pm

Нагуглил какие-то опции для perltidy в eclipse:

-l=180 --force-read-binary -i=2 --tabs -et=2 -ci=2 -olc -ibc -hsc -nsfs --delete-old-whitespace -nbbc -bbs --blanks-before-blocks --long-block-line-count=1 -nsob -bar -dnl -anl -pscf=-c -cti=0 -nolq -w -dws -bext=’/’ -csc -csci=15 -cscb -dcsc -iob

Это вообще что за хрень? И работает ли?

Где нибудь есть информация по скрещиванию eclipse и perl?

Четверг, 11 февраля

СетевойГибитобой: Массовое добавление и удаление друзей в LiveJournal через XML-RPC

Так как пользоваться консолью ЖЖ для добавления или удаления друзей стало невозможно (эти команды отключили) — сделал небольшой скрипт lj-edit-friends, который позволяет редактировать список друзей для указанного аккаунта через XML-RPC интерфейс ЖЖ. Пользоваться несложно — получить список друзей для добавления/удаления с помощью LJ Add/Remove Friends, сохранить его в файл и обработать через lj-edit-friends. Подробности — […]

Пятница, 5 февраля

Мини-портал Perl на Opennet: Выпуск Rakudo Star 2016.01, дистрибутива Perl 6

Состоялся релиз пакета Rakudo Star 2016.01, включающего компилятор Rakudo, виртуальную машину MoarVM, документацию, модули и инструменты, необходимые для разработки на языке Perl 6. Это первый выпуск после объявления релиза языка программирования Perl 6. Компилятор соответствует спецификации Perl v6.c, за исключением поддержки расширенных макросов, неблокирующего ввода/вывода и ряда мелких особенностей, которые планируется довести до рабочего состояния в будущих выпусках.

Четверг, 4 февраля

PerlNews.Ru: Вышел Rakudo Star 2016.01

Вышел официальный анонс «Rakudo Star» 2016.01 — дистрибутива Perl 6. Поскольку предыдущий релиз вышел в ноябре 2015, то этот релиз является первым стабильным выпуском Perl 6, соответствующим спецификации v6.c.

Этот релиз «Rakudo Star» был выпущен с поддержкой бэкенда MoarVM (все модули проходят тесты на всех поддерживаемых платформах). JVM бэкенд в данной версии не является полнофункциональным, поэтому рекомендуется использовать только бэкенд MoarVM. Загрузить архив с исходным кодом можно здесь.

В мире Perl 6 есть различие между языком «Perl 6» и конкретной реализацией языка, такой как «Rakudo Star». Данный релиз содержит компилятор Perl 6 Rakudo 2016.01.1 и бэкенд MoarVM 2016.01, а также различные модули, документацию и другие полезные ресурсы от сообщества.

P.S. Доступны для загрузки MSI-инсталляторы для платформ Windows: x86 (без JIT), x86_64 (c JIT).

Темы: Perl6

Среда, 3 февраля

Сообщество ru_perl в LiveJournal: Удаленная работа для PERL-программиста

Приветствую!

Ищу человека для осуществление различных доработок сервиса.
Используем perl/dancer + mysql.
Желательно умение разбираться с html/css/js, понимать что такое bootstrap.

E-mail: aleksandr.khasanov (at) gmail.com

Вторник, 2 февраля

PerlNews.Ru: Вышел Rakudo 2016.01

Вышел первый в 2016 году релиз компилятора Perl 6 — Rakudo 2016.01. Это также первый пост-Рождественский релиз, построенный по-прежнему на основе спецификации v6.c. Выпуск задержался на две недели, что связано прежде всего с продолжительным периодом зимних праздников, да и просто разработчикам был необходим отдых после напряжённой работы над первым стабильным релизом.

Данный релиз не имеет новой функциональности и содержит только исправления ошибок и оптимизации. Загрузить архив с исходным кодом можно на сайте rakudo.

Разработчики отмечают в анонсе, что новые релизы Perl 6 в этом году могут содержать новую функциональность, которая не является частью спецификации v6.c. Данные возможности можно будет включать с помощью прагм, работающих в лексической области видимости. При этом будет гарантироваться, что всё, работающее согласно спецификации v6.c, будет продолжать работать. Кроме того ожидаются и инкрементальные изменения самой спецификации.

К сожалению, до сих пор не выпущен новый дистрибутив «Rakudo Star», содержащий стабильный Rakudo, наборы модулей и документацию, как и не выпущены msi-пакеты для установки в системе Windows. Никакого инсайда по этому поводу пока не поступало.

P.S. Для предварительного тестирования доступен первый релиз-кандидат «Rakudo Star» 2016.01-RC0.

P.P.S. Выпущен экстренный релиз Rakudo 2016.01.1, исправляющий проблему в процессе инсталляции модулей CORE. Проблема актуальна если при инсталляции используется параметр DESTDIR, указывающий путь к каталогу для установки (как правило, при сборке rpm/deb пакетов).

Темы: Perl6

Среда, 27 января

Чтобы не искать: Асинхронный ввод/вывод в Coro::Handle

Сломал мозг, не могу разобраться с Coro::Handlе. :(

Вторник, 26 января

Меркантильный гуру: perl cgi

Я очень люблю Dancer, но вот потребовалось мне написать маленький сервис, который был бы в одном файле весь целиком и запускался через CGI. И мне не удалось запустить последнюю версию дансера ввиде CGI.

К тому же там есть пара проблем со значениями переменных окружения, которые нельзя решить без патча внутренностей - ну правильно, никто дансер не запускал как цги годами, зачем там вообще что-то проверять или чинить?

Пришлось все сделать на Mojo. Такие дела.

Понедельник, 25 января

PerlNews.Ru: Встреча moscow.pm 4 февраля 2016 г.

Анонсирована встреча Moscow.pm 4 февраля в 18.30 в офисе Mail.Ru Group.

Программа мероприятия:

  • «Технологии конкурентного программирования», Илья Чесноков (программист в UK2 Group)

  • «Учимся рисовать», Дмитрий Симонов (независимый программист)

  • «Index Condition Pushdown», Павел Щербинин (руководитель групп разработки Новости и Hi-Tech в Mail.Ru Group)

Не забудьте зарегистрироваться!

Темы: moscow.pm

Суббота, 23 января

Сообщество ru_perl в LiveJournal: TinyMCE upload image not PHP!

Всем доброго времени суток. Никто не встречал случайно плагин для редактора tinymce что-бы картинки грузить? Кроме поделок на PHP, ничего существенного не нашёл. Хочется на Perl. Или пэхэпешный код переписывать? Спасибо.

Четверг, 21 января

PerlNews.Ru: Вышел Perl 5.23.7

Выпущен Perl 5.23.7 — восьмой релиз ветки для разработчиков. В данном релизе исправлено три проблемы, связанные с безопасностью:

  • CVE-2015-8607: функция canonpath() модуля File::Spec не сохраняет taint-флаг для возвращаемого значения (RT#126862). Проблема присутствует в дистрибутиве PathTools, который входил в состав Perl 5.20 и Perl 5.22. Исправлено в PathTools 3.62.

  • CVE-2015-8608: обращение к памяти за пределами границ при обработке путей (RT#126765). Баг специфичен для Win32 платформы, возникает в случае если в пути в качестве буквы диска указан любой символ, отличный от а..z или A..Z. Проблема актуальна для Perl, начиная с версии 5.005_02

  • Доступ к неинициированной памяти в реализации функции crypt() на Win32 RT#126922. Может привести к криптографически слабому результату работы функции.

Присутствует несовместимое изменение в работе \b{wb} в регулярных выражениях, которое теперь больше соответствует ожиданиям и может заменить \b при обработке текста с использованием правил Юникода для символов разделителей слов.

Информацию о других изменениях можно прочитать в perldelta

Темы: Perl

Понедельник, 18 января

Сообщество ru_perl в LiveJournal: Аплоад филе на сервер посредством Mojo

Всем доброго времени суток, в связи с тем что меня забанили в гугле и группе mojo, обращаюсь сюда. Кто-нибудь грузил картинки на сервер через приложение? Образец посмотреть-бы. Спасибо.

Понедельник, 11 января

Pilat66 blog: perl — REST интерфейсы

REST + Mojolicious

Mojolicious::Plugin::REST, Mojolicious::Plugin::RESTful, Mojolicious::Plugin::Restify примерно одинаковые. А вот Mojolicious::Plugin::Swagger2 уже из другой весовой категории.

https://metacpan.org/pod/Mojolicious::Plugin::REST

https://metacpan.org/pod/Mojolicious::Plugin::RESTful

https://metacpan.org/pod/Mojolicious::Plugin::Restify

Swagger2

https://metacpan.org/pod/Mojolicious::Plugin::Swagger2

http://swagger.io/getting-started/ — сам Swagger https://metacpan.org/release/Swagger2 — всё о нём http://wiki.koha-community.org/wiki/New_REST_API_RFC Что такое REST?

Ну и до кучи — про сам REST:

Руководство по созданию RESTful сервиса Что такое RESTful на самом деле RESTful: [...]

Мета

Поиск

Участники

Список участников в формате OPML OPML

Добавить сайт

По-другому

Приборы