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

http://www.opennet.ru/opennews/art.shtml?num=49599

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


Shoor/нал: Надо ругаться в боевом режиме

https://shoorick.livejournal.com/1353659.html

В состав перлового микрофреймворка Mojolicious::Lite входит класс Mojo::Log, который не просто пишет сообщения в лог, а ещё и учитывает важность сообщений — в отладочном режиме пишет много, а боевом — мало. Обнаружилось, что сообщения об ошибках имеют тот же класс debug, что и остальные сообщения
[Tue Nov 13 12:25:51 2018] [debug] Format html
[Tue Nov 13 12:25:51 2018] [debug] 200 OK (0.076118s, 13.137/s)
[Tue Nov 13 12:25:53 2018] [debug] GET "/some/url"
[Tue Nov 13 12:25:53 2018] [debug] Template "not_found.development.html.ep" not found
[Tue Nov 13 12:25:53 2018] [debug] Rendering template "not_found.html.ep"
[Tue Nov 13 12:25:53 2018] [debug] Rendering template "layouts/error.html.ep"
[Tue Nov 13 12:25:53 2018] [debug] Rendering cached template "layouts/admin.html.ep"
[Tue Nov 13 12:25:53 2018] [debug] Rendering cached template "search_form_navbar.html.ep"
[Tue Nov 13 12:25:53 2018] [debug] Format html
[Tue Nov 13 12:25:53 2018] [debug] 404 Not Found (0.004841s, 206.569/s)

из-за чего при запуске в продакшнепод реальной нагрузкой в лог не попадает почти ничего — например, там нет сообщения об ошибках 404 Not Found.

Возможно, где-нибудь во внутренностях Mojo можно исправить такую ситуацию, но мы пойдём другим путём — применим хук after_dispatch:

hook after_dispatch => sub {
    my $self = shift;
    my $req  = $self->req;
    my $res  = $self->res;

    if ( $res->code >= 400 ) {
        $self->app->log->error(join ' ',
            '"' . $req->method . ' ' . $req->url . '"',
            $res->code,
            $req->headers->referrer
        ); 
    }
};


after_dispatch

Результат — в логе появились сообщения об ошибках:
Sending children hup signal
[Tue Nov 13 12:30:46 2018] [error] "GET /none" 404 - "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
[Tue Nov 13 12:44:50 2018] [error] "GET /SW/Rplayer.html" 404 - "Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/2.0; +http://go.mail.ru/help/robots)"


http://shoorick.ru/2018/11/13/error-messages-production/

Хабрахабр: Метки / perl: Курс «Введение в Perl» от Mail.Ru Group

https://habr.com/post/428924/?utm_source=habrahabr&utm_medium=rss&utm_campaign=tag

image

В ноябре на платформе Степик стартует курс «Введение в Perl» от разработчиков Mail.Ru Group, где слушатели будут иметь возможность изучить основы программирования на языке Perl и обозначить направления для дальнейшего развития.

В процессе обучения будут рассматриваться синтаксис языка, работа с модулями, ООП, регулярные выражения, однострочники, взаимодействие языка с операционной системой, основы ввода-вывода и параллелизм. Основной акцент сделан на базовых знаниях языка и системном программировании. Программа рассчитана на новичков: для освоения курса достаточно иметь представление об алгоритмах и знать базовые понятия (переменная, условный оператор и т.д.).
Читать дальше →

Shoor/нал: Вместо себя

https://shoorick.livejournal.com/1353392.html

Есть ненулевая вероятность того, что приближающийся 2019 год будет для моей семьи не таким, как сейчас и я в силу разных причин не смогу быть там, где сначала лет пять играл и слегка учился, потом ещё пять серьёзно учился и слегка работал, а потом ещё почти двадцать серьёзно работал — в крупнейшем на ближайшие несколько областей университете. Я, конечно, последние несколько лет стараюсь достаточно подробно документировать рабочие процессы и коллеги, надеюсь, разберутся, но лучше бы найти ещё кого-то вместо себя, чтобы хозяйство не развалилось без присмотра.

Итак, нам нужен программист. Живьём на полный рабочий день (понедельник—пятница с 8:30 до 17). Требования и пожелания:
  • Высшее образование, желательно профильное (ЭВМ, прикладная математика, информатика, какие-нибудь информационные системы в чём-нибудь); практика показывает, что у нас можно работать, даже имея квалификацию «филолог» или «учёный-агроном», но оформление такого сотрудника — тот ещё квест, так что лучше, чтоб образование было соответствующим.

  • Знакомство с веб-технологиями: начиная с HTML, CSS (желательно с препроцессорами LESS и SASS) и до установки/настройки/обслуживания/допиливания CMS (желательно иметь опыт хотя бы с одной из тройки лидеров: WordPress, Joomla, Drupal).

  • Навыки веб-программирования — хорошее владение хотя бы одним из языков, применяемых на стороне сервера (бэкенд) — в первую очередь PHP и Perl. Ruby, Python — тоже неплохо, это лучше, чем ничего. Знание JavaScript (фронтенд). Адекватное применение фреймворков и библиотек. Способность соблюдать рекомендации по стилю кодирования (см. например, перловые perlstyle и Perl Best Practice, пхпшные PSR), а также писать документацию к своему коду.

  • Опыт работы в юниксоподобных ОС — хотя бы на минимальном уровне: взять терминал, прицепиться к серверу и ничего там не сломать. Если есть опыт конфигурирования Apache, nginx — будет плюсом. Способность не пугаться многомегабайтных логов, а спокойно извлекать из них нужную информацию штатными системными утилитами — тоже пригодится.

  • Опыт в программировании общего назначения, не обязательно связанного с вебом. Знание bash и хотя бы одного из популярных скриптовых языков (Perl, Python). Желание автоматизировать то, что не надо делать вручную.

  • Способность разобраться в чужом коде. Конечно, современный код у нас нормальный, но кое-где может встетиться суровое legacy.

  • Использование систем контроля версий (subversion, git) и багтрекеров (например, Redmine). Если есть код, опубликованный на github/bitbucket или ответы на stackoverflow — хорошо.

  • Способность грамотно излагать мысли в письменном виде по-русски и понимать написанное другими. То же самое, хотя бы на минимальном уровне — по-английски (кстати, сотрудники университета могут посещать бесплатные курсы английского и в перспективе дойти до сдачи IELTS или TOEFL).

Shoor/нал: Больше перловой документации!

https://shoorick.livejournal.com/1353041.html

Документация по языку Perl и его модулям теперь доступна и на perldoc.pl, только оно без прокси не работает, ибо заблокировано роскомпозором. Точнее, заблокирован IP-адрес (IPv4, конечно), на котором сидит этот сайт. И lilypond.org без прокси не откроется, и toggl.com, и oEmbed.com...

http://shoorick.ru/2018/11/06/more-perldoc/

perl | Misc: VKontakte sender

http://kaimi.ru/perl/vkontakte-sender-2/

http://kaimi.ru/?p=254

Спаммер для vkontakte (рассылка по друзьям или диапазону, в пм или на стену)
[+] Многопоточность
[+] Ротация сообщений/ссылок
[+] Подстановка имен/ссылок
[+] Рандомизация текста
[+] Поддержка HTTP прокси
[+] Анти-капча (при работе без прокси)
[+] Всякие мелочи

Update: Поправил и обновил

Скачать: архивом

perl | Misc: Пример работы с Anti-Captcha на Perl

http://kaimi.ru/perl/primer-rabotyi-s-anti-captcha-na-perl/

http://kaimi.ru/?p=246

Очередной пример на Perl (используется специально написанный модуль):

Параметры:

phrase => 0 или 1 (0 по умолчанию, 1 помечает, что у капчи 2-4 слова)
regsense => 0 или 1 (0 по умолчанию, 1 помечает, что текст капчи чувствителен к регистру)
numeric => 0 или 1 или 2 (0 по умолчанию, 1 помечает, что текст капчи состоит только из цифр, 2 помечает, что на капче нет цифр)
min_len => 0..20 (0 по умолчанию, помечает минимальную длину текста капчи)
max_len => 0..20 (0 — без ограничений, помечает максимальную длину капчи)
is_russian => 0..2
is_fatal => 0 или 1 (0 по умолчанию, прекращать ли работу при фатальных ошибках со стороны антигейта)
verbose => 0 или 1 (1 по умолчанию, отвечает за вывод информации о возможных ошибках и статусе распознавания)

Задаются следующим образом:

Скачать модуль и исходники можно тут: ZIP

perl | Misc: Скрипт рассылки по otvet.mail.ru

http://kaimi.ru/perl/skript-rassyilki-po-otvet-mail-ru-2/

http://kaimi.ru/?p=243

Что то в последнее время сплошной софт на ассемблере, надо немного разнообразить репертуар.

Итак, простой скрипт на perl’е для рассылки комментариев к ответам. Трафик оттуда раньше шел неплохо (по крайней мере при ручной рекламе), как сейчас — не знаю, пробуйте.

Сам скрипт: Скачать

perl | Misc: Perl, Tk и немного реверсинга

http://kaimi.ru/perl/perl-tk-i-nemnogo-reversinga-2/

http://kaimi.ru/?p=238

Недавно немного заинтересовался реверсом, после беглого изучения попавшегося под руку софта набросал небольшой скрипт на перле с интерфейсом, убирающий привязку к железу по сигнатурам.
Скрипт не делает резервной копии файла, поэтому советую делать бэкап заранее, особенно при использовании опции ‘Игнорировать MD5’.

Скрипт: скачать

Update: Новые сигнатуры от 15.09.09 скачать