Posterous theme by Cory Watilo

Filed under: yr2010

Mojo::IOLoop, Mojo::Client и синтаксис Perl 5.10

Всем привет! :)

На прошлой конференции Perl Mova YAPC::Russia 2010 меня попросили побольше показывать кода на Mojolicious.
Хочу поделиться своим кодом на Mojo::IOLoop и Mojo::Client.

Пример на Mojo::IOLoop
Неблокирующий простой TCP-клиент, клиент для стрим потока frod.io.
В бинарном потоке идут теги в ascii, их нужно ловить. Раньше я это делал на POE – POE::Component::Client::Icecast. Сейчас только на Mojo::IOLoop.
Решил работу с URL реализовать через объект Mojo::Message::Request, действительно удобно и все в коробке.
Вчера по моей просьбе Себастьян Ридель добавил поддержку всех аргументов IO::Socket::INET (опция args), мне нужен был bind на порт.

Пример на Mojo::Client

Неблокирующий HTTP-клиент, клиент для moskva.fm и piter.fm.
Здесь я попытался использовать по максимуму возможности Perl 5.10, даже в свой редактор TextMate добавил раскраску новых операторов: say, given, when, default и state.
Хотел вместо регулярных выражений использовать Mojo::DOM и CSS3-селекторы, но HTML – это невалидный XML :)
Интересна вторая часть с onair. Здесь делается N-неблокирующих запросов до страниц с треком.
Очень удобно и просто получилось, раньше я писал на LWP::UserAgent, POE и AnyEvent. Сейчас только на Mojo::Client.


use Mojolicious or die;

use Perl or die;

JFDI
Original post http://sharifulin.livejournal.com/59291.html

Perl Mova + YAPC::Russia 2010

Вот и завершилась конференция в Киеве Perl Mova + YAPC::Russia 2010.

Много чего было интересного и неожиданного :) Мне понравилось, но больше летом в Киев не поеду, особенно на поезде (плацкарт).

Первый день. Хакмит. Собрались и немного покодили, фотоотчёт.

Второй день. Доклады. Было много докладов, фотоотчёт.

Обзорный доклад по Mojolicious (последний раз я рассказывал обзорно об этом).

Блиц-доклад про добро и зло, про Perl.


Третий день. Социальная часть на теплоходе "Эколог", обгорели и устали, но всем понравилось :)


Всем хейтерам привет!

use Perl or die;

JFDI

Original post http://sharifulin.livejournal.com/58743.html