Рубрика «perl» - 8

Вышла версия 1.3 Perl5 плагина для IntelliJ IDEA - 1

Прошло почти два месяца с выхода последней версии плагина и некоторые даже стали интересоваться, не забросил ли я это дело. Нет, не забросил. Разработка идет полным ходом и вот вышла новая версия.

В этом номере: совместимость с 14 и 15 IDEA (и остальными продуктами соответствующих версий), поддержка Switch, Class::Accessor и Mason2.

А теперь, немного подробнее:
Читать полностью »

Собеседование в Booking.com (часть 1, московская) - 1

В последнее время здесь стали популярными статьи на тему рабочей иммиграции в Европу. Поскольку я также являюсь IT-иммигрантом и работаю в Амстердамском офисе Booking.com, я решил, что у меня тоже есть, что рассказать.

Меня зовут Георгий, и вот уже полтора года я живу в Голландии и работаю разработчиком/тим-лидом в Booking.com. Начать свой рассказ про жизнь в Амстердаме я хочу с истории о том, с чего вообще все это началось. История эта будет про то, как и почему я выбрал для работы свою текущую компанию, как проходил процесс собеседования и последующего сопровождения.
Читать полностью »

image

4 февраля в нашем московском офисе снова соберутся Perl-программисты сообщества Moscow.pm. Участники всемирной ассоциации Perl Mongers регулярно встречаются, чтобы обсуждать актуальные вопросы, рассказывать об интересных случаях из практики и обмениваться опытом. Программу мероприятия читайте под катом.
Читать полностью »

image

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 эволюционировала достаточно сильно для того, чтобы назвать его более современным языком.
Читать полностью »

Запоминаем просмотренные видео на youtube - 1

Интро

Столкнулся с тем, что youtube.com «забывает» видео, которые я просмотрел.
Приходится смотреть много образовательных каналов, а потом вспоминать, видел я это или нет.
Посмотрел какую-нибудь лекцию и через несколько дней (месяцев, лет) статус "просмотрено" пропадает.
Или, наоборот, посмотришь 2 минуты какой-нибудь лекции, ляжешь спать, а на утро лекция имеет статус «просмотрено».

Вот и решил взять под контроль информацию о просмотрах в свои руки.
И хранить эту информацию вне зависимости от ютюба.
Если у кого-нибудь есть нужда в такого рода запоминании просмотров, то добро пожаловать под кат.
Читать полностью »

Конференция YAPC::Russia::MayPerl 2015 в Москве 16-17 мая - 1

16 и 17 мая в московском офисе Mail.Ru Group пройдет конференция May Perl (YAPC::Russia). На нее слетаются Perl-профессионалы из разных уголков земного шара, чтобы обменяться опытом, завести новые знакомства в своей сфере и пообщаться с единомышленниками в неформальной и приятной обстановке.

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

Для участия в качестве слушателя — регистрируйтесь. Участие бесплатное!
Читать полностью »

Возможно, вам знаком способ, которым ключевое слово super в языке Java позволяет передавать управление методу (или конструктору) базового класса. В Perl 6 есть нечто похожее. Но в мире с множественной наследуемостью и миксинами нет смысла называть эту функцию super. Поэтому она называется nextsame.
Пример:

class A {
    method sing {
        say "а после умерла.";
    }
}

class B is A {
    method sing {
        say ("зимой и летом стройная," xx 4).join(" ");
        nextsame;
    }
}

class C is B {
    method sing {
        say "в лесу родилась ёлочка,";
        say "в лесу она росла.";
        nextsame;
    }
}

Читать полностью »

Ранее я писал о двух известных сканерах безопасности общего плана rkhunter и CentOS
На “Хабре” так же есть описание организации работы сканера для вебхостинга — maldet. Теперь хотелось бы рассмотреть реализацию приложения для эвристического обнаружения уязвимостей, вирусов и ботнетов для ОС Linux — Antidoto.

Установка, настройка и использование сканера безопасности Antidoto - 1
Читать полностью »

Помните ли вы статью про оператор последовательностей в Perl 6?

Последним аргументом он принимает ограничение, которое останавливает генерацию последовательности. К примеру

    1, 2, 4 ... 32;         # 1 2 4 8 16 32
    1, 2, 4 ... * > 10;     # 1 2 4 8 16

В первом случае используется числовое сравнение. Во втором запись * > 10 интерпретируется как замыкание -> $x { $x > 10 }.

Оператор последовательностей выполняет «волшебное» сравнение в зависимости от типа соответствия. Это сравнение называется «умным соответствием» («smartmatching»), и эта концепция появляется во многих местах Perl 6. Примеры:
Читать полностью »

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

use v6;
use List::Utils;
 
my $model-text = $*IN.slurp.lc;
$model-text .=subst(/<[_']>/, "", :global);
$model-text .=subst(/<-alpha>+/, " ", :global);
 
my %next-step;
for sliding-window($model-text.comb, 3) -> $a, $b, $c {
    %next-step{$a ~ $b}{$c}++;
}
 
my $first = $model-text.substr(0, 1);
my $second = $model-text.substr(1, 1);
my @chain := $first, $second, -> $a, $b { %next-step{$a ~ $b}.roll.key } ... *;
say @chain.munch(80);

После инициализации в коде чётко видны три части.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js