LINUX.ORG.RU

96
Всего сообщений: 808

Новая книга Брайана Ди Фоя: «Mojolicious Web Clients»

Группа Разработка

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

В книге освещены:

  • основы HTTP;
  • разбор JSON;
  • разбор XML и HTML;
  • селекторы CSS;
  • непосредственное выполнение HTTP-запросов, аутентификация и работа с cookie;
  • выполнение неблокирующих запросов;
  • обещания.
  • Написание однострочников и модуль ojo. Некоторые примеры:

    % perl -Mojo -E 'g(shift)->save_to("test.html")' mojolicious.org
    % mojo get https://www.mojolicious.org a attr href
    

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

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

>>> Оглавление

 ,

perl5_guy ()

9 лет Mojolicious! Праздничный релиз 8.28 с async/await!

Группа Разработка

Mojolicious — современный веб-фреймворк на Perl. Mojo — дочерний проект по разработке набора инструментов для фреймворка. Модули семейства Mojo::* широко применяется и в сторонних проектах.

Пример кода:

use Mojo::Base -strict, -async;

async sub hello_p {
  return 'Hello Mojo!';
}

hello_p()->then(sub { say @_ })->wait;

Больше примеров в документации.

Ранее Perlfoundation выделяла грант на разработку модуля Future::AsyncAwait. Некоторое время спустя, основной разработчик Mojolicious (Себастьян Ридель) сообщал, что ведутся работы по реализации async/await.

Также добавлена экспериментальная поддержка метода all_settled для Mojo::Promise.

>>> Подробности

 ,

perl5_guy ()

Код интерпретатора Perl официально перенесён на GitHub

Группа Разработка

Ранее исходники находились по адресу perl5.git.perl.org.

>>> Подробности

 

perl5_guy ()

Perl Weekly Challenge

Группа Разработка

Весёлые старты для любителей Perl'а и всех кто хочет попробовать силы в чёрной магии.

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

Упор сделан на TIMTOWTDI. Организатор просит избегать гольфа и JAPH, в остальном: «Пусть расцветают сто цветов».

По итогам пишут отчёт с наиболее интересными решениями.

Цель: популяризация Perl, обмен опытом и веселье!

>>> Подробности

 , , , ,

perl5_guy ()

Perl 5.28

Группа Разработка

Пока ты попивал смузи и катался на гироскутере, серьёзные пацаны подготовили к выпуску Perl 5.28

Что нового?

  • Поддержка Unicode 10.0 (появился символ биткоина).
  • delete можно использовать на срезах:
    my %sanitised_values = delete %input_values{@allowed_keys};
  • Проверка системы письменности на однородность (script runs):
    'Pеrl' =~ /^(*sr:\w+$)/
    Вернёт «ложь», т.к. буква «е» кириллическая. (подробнее о script runs)

Экспериментальные возможности:

Поддержка буквенных синонимов для некоторых утверждений (assertion) регулярных выражений (Осторожно! Может повысить читабельность!):

(?=...)        (*pla:...) or (*positive_lookahead:...)
(?!...)        (*nla:...) or (*negative_lookahead:...)
(?<=...)       (*plb:...) or (*positive_lookbehind:...)
(?<!...)       (*nlb:...) or (*negative_lookbehind:...)
(?>...)        (*atomic:...)

Улучшения производительности:

  • Серьёзно снижены накладные расходы связанные с использованием параметров юникод (\p{...}) в регулярных выражениях.
  • Существенно ускорена множественная конкатенация. Например, следующий код на x86_64 работает в 4 раза быстрее:

    my $s;
    my $a = "ab\x{100}cde";
    my $b = "fghij";
    my $c = "\x{101}klmn";
     
    for my $i (1..10_000_000) {
        $s = "\x{100}wxyz";
        $s .= "foo=$a bar=$b baz=$c";
    }
    

  • sprintf() с фиксированным набором аргументов и строкой формата содержащей только %s и %% работает быстрее.
  • ref() работает намного быстрей в булевом контексте, т.к. больше не создаётся временная строка вроде Foo=ARRAY(0x134af48).
  • Циклы for() и аналогичные конструкции в большинстве ситуаций будут работать быстрей
  • Появилась возможность хранить процедуры в пакетах без использования таблиц имён, что позволяет сэкономить крупные объёмы памяти.

Другие изменения:

  • Ядро почистили от «use vars». Многие продолжают использовать «use vars», что является плохой практикой с момента введения «our» в версии 5.6.0.
  • Новое предупреждение для случаев:

    my $name='Pistachio';
    print "In $name's house";
    

    Рекомендую посмотреть на видео. Возможно улыбнётесь.

Видео: Sawyer X рассказывает о нововведениях и фитчах предыдущих версий, которые ты пропустил.

>>> Подробности

 ,

perl5_guy ()

Perl meetup, 6 июня

Группа Разработка

Приглашаем опытных Perl-разработчиков на встречу с единомышленниками. Своим опытом поделятся сотрудники Яндекса. Они расскажут, как работать с зависимостями и вести разработку Perl-приложений с помощью Docker и как они используют Perl для извлечения данных из исходного кода и подготовки их к анализу. Завершится встреча докладом о неклассических способах проверки кода.

Чтобы попасть на мероприятие необходимо получить приглашение.

>>> Подробности

 , ,

anonymous ()

Конец эпохи: Прощание с проектом search.cpan.org

Группа Разработка

Работа сайта http://search.cpan.org будет прекращена 25-го июня 2018 года.

Проект CPAN Search — это поисковая система для дистрибутивов, модулей, документов и идентификаторов CPAN. Грэм Барр (Graham Barr) создал сайт около двадцати лет назад (в начале 1999 года), который быстро стал неоценимым ресурсом для Perl-разработчиков во всём мире.

Возможность поиска в CPAN (Comprehensive Perl Archive Network — архив документации и программного обеспечения, написанного на языке программирования Perl) и чтения документации по модулям Perl в интернете помогла привлечь интерес большого количества разработчиков к языку программирования и создать сообщество Perl.

Первоначально сайт был размещён на единственном сервере Solaris Университетом Вашингтона (Washington University) в Сент-Луисе. За свою работу над search.cpan.org Грэм Барр был удостоен премии «Белый Верблюд» (White Camel) в 2002 году.

Позже сайт переместился в Perl NOC. Американские зеркала были размещены на серверах YellowBot и Phyber, европейское зеркало было доступно благодаря отдельным единомышленникам на протяжении последних десяти лет. Эти замечательные люди и компании привели сайт к успеху.

Однако в последние годы поддержка и техническое обслуживание стали обузой. Дело в том, что код большей части проекта написан на Perl времён 2005 года. К счастью, в настоящее время существует отличная жизнеспособная альтернатива — MetaCPAN.org. Команда MetaCPAN готовится к переходу и уже почти готова взять на себя лидерство.

Вскоре сообщение об изменениях появится на всех страницах search.cpan.org. А примерно через месяц весь трафик будет перенаправлен на эквивалентную страницу MetaCPAN.

Мы бы хотели поблагодарить всех, кто помог с этим проектом. Выражаем отдельную благодарность Грэму за его тяжёлый труд и неизменную поддержку проекта search.cpan.org на протяжении всех этих лет. Search.cpan.org, мы будем скучать по тебе!

После публикации новости возникла некоторая путаница в отношении того, будут ли продолжать работу существующие ссылки на search.cpan.org. Да, будут! Подавляющее большинство из них будет доступно посредством страниц MetaCPAN.org. Вам не нужно обновлять никакие ссылки прямо сейчас.

>>> Подробности

 , , ,

das_tier ()

Курс mail.ru «Системное программирование на Perl»

Группа Разработка

Цель курса — Получить навыки работы в Unix-like ОС и практику системного программирования а также сделать собственный сервис с нуля

Если тебе интересны:
- разработка низкоуровневых сервисов,
- разработка сетевых приложений,
- создание высоконагруженных систем на языке Perl,
то будем рады видеть тебя на нашем курсе.
Самых успешных ждёт возможность стажировки в лучших проектах Mail.Ru Group.

Важное замечание: помимо языка Perl будет рассмотрено устройство Unix-подобных систем, поэтому лекции будут интересны даже ненавидящим Perl гражданам.

Описание курса
Вводная лекция

 , , ,

anonymous ()

YAPC::Russia

Группа Разработка

YAPC::Russia — ежегодная конференция, посвященная языку программирования Perl и его сообществу, которая проводится в Москве под названием May Perl, Киеве — Perl Mova, а также в Санкт-Петербурге.

4 ноября собираем гостей в московском офисе Mail.Ru Group. На May Perl приедут Perl-профессионалы из разных уголков земного шара, чтобы обменяться опытом, завести новые знакомства в своей сфере и пообщаться с единомышленниками в неформальной и приятной обстановке.

Мы приглашаем на YAPC::Russia докладчиков и участников! Чтобы выступить спикером, подайте заявку.

Участие бесплатное, необходимо зарегистрироваться.

Для тех, кто не сможет присутствовать лично, мы организуем онлайн-трансляцию.

Сбор гостей: в 10.00. Начало докладов: 11.00.

Адрес: Москва, Ленинградский пр-т, 39, стр. 79 (м. Аэропорт).

>>> Подробности

 ,

anonymous ()

WebGear

Группа Интернет

Состоялся первый релиз написанного на Perl HTML5-парсера с поддержкой JS.

>>> Репозиторий на GitHub

 , , ,

novikovag ()

Potracheno — система учёта технического долга

Группа Open Source

Вышла и потихоньку развивается бета-версия системы учёта технического долга. Система сделана в виде баг-трекера, который устанавливается параллельно основному трекеру проекта (jira, redmine и т.д.) на любое устройство с доступом в сеть (тестовый сервер, ноутбук разработчика, кофеварка и т.п.). Однако, вместо времени, использованного для решения проблемы, она учитывает время, потерянное в силу того, что проблема всё ещё не решена.

Идея такова: команда разработчиков заводит тикеты, описывающие те или иные проблемы разрабатываемого продукта (плохой код, недостаток документации, проблемы производительности, убогость внутреннего инструментария и т.д.), после чего логирует время и предлагает возможные решения. Далее, в зависимости от вменяемости заказчика/менеджера, тикеты либо вносятся уже в нормальный багтрекер, либо тихой сапой включаются в «официальные» фичи.

Поддерживаемые на данный момент функции:

  • Заведение тикетов, смена статусов, комментарии;
  • Теги а-ля stackoverflow;
  • Учёт потраченного времени;
  • Предложения решений (solution proposals) с оценкой времени на реализацию;
  • Персональная настраиваемая лента событий и слежение за тикетами;
  • Разнообразные отчёты, в т.ч. по тикетам, из-за которых уже потеряли больше времени, чем нужно на их исправление.

Проект реализован на языке Perl и использует базу данных sqlite. По ссылке содержится подробная инструкция по установке, скриншоты, текущий вишлист и всё такое.

>>> Гитхаб

 , , , ,

lodin ()

Rakudo Star 2016.11

Группа Open Source

Rakudo Star — дистрибутив Perl 6 — новой версии Perl, которая из-за огромного числа изменений зачастую рассматривается как самостоятельный язык программирования.

( читать дальше... )

>>> Подробности

 ,

inchallah ()

Перевод на русский Gtk3 Perl Tutorial

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

При помощи данного руководства вы сможете ознакомиться с основами графического программирования (GUI) при помощи библиотеки GTK+ c использованием Perl.

>>> Подробности

 ,

anonymous ()

Конференция по языку Perl YAPC::Russia 2016

Группа Конференции и встречи

В эту пятницу (25 июня) пройдет встреча в московском офисе Mail.Ru Group.

YAPC::Russia — ежегодная конференция, посвященная языку программирования Perl и его сообществу, которая в разные годы проходила в Москве, Киеве и Санкт-Петербурге. На конференции собираются Perl-профессионалы из разных городов и стран, чтобы обменяться опытом, завести новые знакомства в своей сфере и пообщаться с единомышленниками в неформальной и приятной обстановке.

Участие бесплатное, но необходимо зарегистрироваться.

>>> Подробности

 , , ,

pinachet ()

Вышла версия 2.0 Perl плагина для IntelliJ IDEA

Группа Open Source

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

( Подробнее... )

 , , ,

hurricup ()

Вышел GitPrep 2.0

Группа Open Source

Вышла вторая мажорная версия GitPrep. GitPrep — это платформа для совместной разработки, позволяющая развернуть github-подобный сервис. Ближайшие альтернативы — GitLab, Gogs, Kallithea. GitPrep написан на Perl с применением веб-фреймворка Mojolicious и распространяется на условиях лицензий Artistic License и GPL.

( читать дальше... )

>>> Тестовый сайт

 , ,

the_electric_hand ()

Разработчики Perl 6: язык готов к использованию

Группа Open Source

24 декабря в официальном блоге, посвящённом новостям разработки Perl 6, появилась поздравительная запись. Разработчики поздравили всех с наступающим католическим Рождеством, и с тем, что так долго ожидаемое взросление языка, наконец, состоялось. Фактически, язык готов к использованию в рабочих проектах, и разработчики обещают больше ничего существенно не менять.

С момента выхода первой версии Perl прошло 28 лет, с момента выхода самой популярной в данное время версии Perl 5 – более 20 лет. Как шутит Ларри Уолл, создатель языка и лидер его разработки, 6-я версия, возможно, когда-нибудь и заменит 5-ю – примерно лет через 40.

Версия Perl 6 была анонсирована более 10 лет назад – на Amazon ещё можно купить книгу про этот «вскоре выходящий» язык, изданную в 2004 году. Длительность разработки можно объяснить тем, что Perl 6 – фактически, новый язык, написанный по мотивам 5-й версии. И хотя некоторые утверждают, что 6-ка отличается от 5-ки не более, чем C++ от C, всё-таки идеология в Perl 6 эволюционировала достаточно сильно для того, чтобы назвать его более современным языком.

Ларри Уолл надеется, что преподаватели в институтах смогут, наконец, используя один и тот же язык, обучать студентов разным стилям программирования – функциональному, процедурному и объектному.

Логотипом Perl 6 выбрали весёленькую бабочку. Как (полушутя) пояснил Уолл на конференции в октябре этого года, это было сделано специально для того, чтобы сделать язык привлекательным для 7-летних девочек. В качестве примера хорошей рекламы ЯП среди детей он рекомендовал посмотреть на Python.

Уолл отметил, что основное, что объединяет две версии языка – сообщество программистов-единомышленников, стремящихся к тому, чтобы языки были более-менее взаимозаменяемыми. Например, для Perl 6 существует модуль Inline::Perl5, а для Perl 5 — модуль Inline::Perl6.

>>> Подробности

 ,

anonymous ()

Ларри Уолл официально представил Perl 6

Группа Open Source

5-го октября, как и планировалось, на площадке Канбар форума в Сан-Франциско Ларри Уолл официально представил Perl 6. Бета-версию можно загрузить с сайта http://www.perl6.org (который на днях также обновил дизайн). Как пошутил Ларри Уолл, теперь необходимо сосредоточиться над исправлением ошибок, чтобы люди не восприняли их как новые фичи языка. Финальный релиз языка Perl 6 произойдёт накануне рождества, и на этот раз точно известен год этого события — 2015.

Доклад целиком был посвящён возможностям языка. Особо подчёркивалась возможности мета-программирования языка, ленивые вычисления, возможность встраивания других языков, например, Python и Lua уже в стандартной Inline-библиотеке (что было сопровождено цитатой: «This is why we say all languages are religious dialects of Perl 6» — «Вот почему мы говорим, что все другие языки — это религиозные диалекты Perl 6»).

Презентация прошла без особого шума, появился лишь один пост в журнале PigDog, где участник рассказывает детали прошедшего мероприятия. Но этого было достаточно, чтобы всколыхнуть общественность: новость на hackernews уже имеет более 240 комментариев.

>>> perlnews.ru

 ,

Deleted ()

(Pragmatic Perl) Выпуск 31

Группа Open Source

Выпуск 31. Сентябрь 2015

В этом номере:

  • От редактора, Вячеслав Тихановский
  • YAPC::Europe 2015, Андрей Шитов

    Рассказ о конференции. Первый доклад начался примерно так:

    Леон Тиммерманс кратенько рассказал о том, как устроена разработка Perl 5, ... и про то, что слушать мнения пользователей не всегда обязательно (по этому поводу Рейни Урбан заметил в Твиттере: «This is really the perl community as we know it. A committer publicly calling a user asshole. Nothing changed»).

    Доклад переродился в разговоры между слушателями в зале, эдакий междусобойчик среди p5p.

  • Прецизионные бенчмарки Perl, Владимир Леттиев

    Какой Perl самый быстрый? Имеет ли смысл переходить на cperl или stableperl? Возможно ли провести точное сравнение производительности разных perl? (Назрело ввиду последних флеймов и форков, видать :-D)

  • Обзор CPAN за август 2015 г., Владимир Леттиев

    Рубрика с обзором интересных новинок CPAN за прошедший месяц.

    Приглянулось:

    Возможность делать вставки C-кода внутри Perl-программ. В отличии от схожих по функционалу модулей, как например, Inline::C, в C::Blocks возможно использовать также Perl-переменные внутри C-кода:

    # расчёт суммы целых положительных чисел от 1 до 100
    my $N = 100;
    my $result;
    cblock {
        int i;
        int result = 0;
        int N = SvIV($N); /* скаляр $N */
        for (i = 1; i < N; i++) result += i;
        sv_setiv($result, result); /* скаляр $result */
    }
    print "Сумма чисел от 1 до $N = $result\n";
    

  • Интервью с Алексеем Капрановым, Вячеслав Тихановский

    Алексей Капранов (kappa) — Perl-программист со стажем, менеджер крупных проектов на Perl и не только

>>> Подробности

 , ,

Deleted ()

Вышла первая версия Perl5 плагина для IntelliJ IDEA & Co

Группа Open Source

К первому сентября была выпущена первая версия опенсорс-плагина для продуктов JetBrains, добавляющая поддержку Perl5.

Реализованные фичи:

( читать дальше... )

Плагин в репозитории JetBrains

Плагин на GitHub

 , , , ,

hurricup ()