From chesnokov.ilya на gmail.com Tue Jun 2 03:04:11 2015 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Tue, 2 Jun 2015 13:04:11 +0300 Subject: [Moscow.pm] =?utf-8?b?0J3QtdC80LXQtNC70LXQvdC90YvQuSDQstGL0LI=?= =?utf-8?b?0L7QtCDQuNC3ICJwcm92ZSI=?= Message-ID: Привет. Тестовый скрипт t.t: --- #!/usr/bin/env perl use v5.12; use warnings; use Test::More; use IO::Handle; STDOUT->autoflush(1); STDERR->autoflush(1); pass('First test'); sleep 5; pass('Second test'); done_testing(); --- При запуске его как perl t.t > t.out в t.out сначала появляется 'First test', а через 5 секунд 'Second test' - все нормально. При запуске как prove -vm t.t > t.out в t.out появляется инфа только после завершения теста. Кто-нибудь знает, как заставить prove выводить данные немедленно? -- Best regards, Ilya Chesnokov From ruslan.zakirov на gmail.com Tue Jun 2 03:22:32 2015 From: ruslan.zakirov на gmail.com (Ruslan Zakirov) Date: Tue, 2 Jun 2015 13:22:32 +0300 Subject: [Moscow.pm] =?utf-8?b?0J3QtdC80LXQtNC70LXQvdC90YvQuSDQstGL0LI=?= =?utf-8?b?0L7QtCDQuNC3ICJwcm92ZSI=?= In-Reply-To: References: Message-ID: Возможно это связано с отсутствием плана в тесте. 2015-06-02 13:04 GMT+03:00 Ilya Chesnokov : > Привет. > > Тестовый скрипт t.t: > --- > #!/usr/bin/env perl > use v5.12; > use warnings; > use Test::More; > > use IO::Handle; > STDOUT->autoflush(1); > STDERR->autoflush(1); > > pass('First test'); > sleep 5; > pass('Second test'); > done_testing(); > --- > > При запуске его как perl t.t > t.out в t.out сначала появляется 'First > test', а через 5 секунд 'Second test' - все нормально. > При запуске как prove -vm t.t > t.out в t.out появляется инфа только > после завершения теста. > > Кто-нибудь знает, как заставить prove выводить данные немедленно? > -- > Best regards, > Ilya Chesnokov > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Best regards, Ruslan. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chesnokov.ilya на gmail.com Tue Jun 2 03:29:37 2015 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Tue, 2 Jun 2015 13:29:37 +0300 Subject: [Moscow.pm] =?utf-8?b?0J3QtdC80LXQtNC70LXQvdC90YvQuSDQstGL0LI=?= =?utf-8?b?0L7QtCDQuNC3ICJwcm92ZSI=?= In-Reply-To: References: Message-ID: 2 июня 2015 г., 13:22 пользователь Ruslan Zakirov написал: > Возможно это связано с отсутствием плана в тесте. Попробовал добавить план, не помогло. Также попробовал собственный вариант prove такого типа: ~/ $ cat myprove #!/usr/bin/env perl use strict; use warnings; use App::Prove; use IO::Handle; STDOUT->autoflush(1); my $app = App::Prove->new; $app->process_args(@ARGV); exit( $app->run ? 0 : 1 ); Тоже не работает. -- Best regards, Ilya Chesnokov From thecrux на gmail.com Tue Jun 2 03:58:49 2015 From: thecrux на gmail.com (Vladimir Lettiev) Date: Tue, 2 Jun 2015 13:58:49 +0300 Subject: [Moscow.pm] =?koi8-r?b?7sXNxcTMxc7O2cog19nXz8QgydogInByb3ZlIg==?= In-Reply-To: References: Message-ID: <20150602105849.GA3263@mail.truecrux.org> On Tue, Jun 02, 2015 at 01:04:11PM +0300, Ilya Chesnokov wrote: > Привет. > > Тестовый скрипт t.t: > --- > #!/usr/bin/env perl > use v5.12; > use warnings; > use Test::More; > > use IO::Handle; > STDOUT->autoflush(1); > STDERR->autoflush(1); > > pass('First test'); > sleep 5; > pass('Second test'); > done_testing(); > --- > > При запуске его как perl t.t > t.out в t.out сначала появляется 'First > test', а через 5 секунд 'Second test' - все нормально. > При запуске как prove -vm t.t > t.out в t.out появляется инфа только > после завершения теста. > > Кто-нибудь знает, как заставить prove выводить данные немедленно? Можно принудить делать вывод в файл, как на консоль, без буферизации: $ prove -vm --formatter=TAP::Formatter::Console t.t > t.out -- Vladimir Lettiev aka crux ✉ theCrux на gmail.com From chesnokov.ilya на gmail.com Tue Jun 2 04:40:47 2015 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Tue, 2 Jun 2015 14:40:47 +0300 Subject: [Moscow.pm] =?utf-8?b?0J3QtdC80LXQtNC70LXQvdC90YvQuSDQstGL0LI=?= =?utf-8?b?0L7QtCDQuNC3ICJwcm92ZSI=?= In-Reply-To: <20150602105849.GA3263@mail.truecrux.org> References: <20150602105849.GA3263@mail.truecrux.org> Message-ID: 2 июня 2015 г., 13:58 пользователь Vladimir Lettiev написал: > On Tue, Jun 02, 2015 at 01:04:11PM +0300, Ilya Chesnokov wrote: >> Привет. >> >> Тестовый скрипт t.t: >> --- >> #!/usr/bin/env perl >> use v5.12; >> use warnings; >> use Test::More; >> >> use IO::Handle; >> STDOUT->autoflush(1); >> STDERR->autoflush(1); >> >> pass('First test'); >> sleep 5; >> pass('Second test'); >> done_testing(); >> --- >> >> При запуске его как perl t.t > t.out в t.out сначала появляется 'First >> test', а через 5 секунд 'Second test' - все нормально. >> При запуске как prove -vm t.t > t.out в t.out появляется инфа только >> после завершения теста. >> >> Кто-нибудь знает, как заставить prove выводить данные немедленно? > > Можно принудить делать вывод в файл, как на консоль, без буферизации: > > $ prove -vm --formatter=TAP::Formatter::Console t.t > t.out дас ист фантастиш! > -- > Vladimir Lettiev aka crux ✉ theCrux на gmail.com -- Best regards, Ilya Chesnokov From name2rnd на gmail.com Tue Jun 2 05:28:40 2015 From: name2rnd на gmail.com (Natalya Savenkova) Date: Tue, 2 Jun 2015 15:28:40 +0300 Subject: [Moscow.pm] =?utf-8?b?0J3QtdC80LXQtNC70LXQvdC90YvQuSDQstGL0LI=?= =?utf-8?b?0L7QtCDQuNC3ICJwcm92ZSI=?= In-Reply-To: <20150602105849.GA3263@mail.truecrux.org> References: <20150602105849.GA3263@mail.truecrux.org> Message-ID: Like =) 2 июня 2015 г., 13:58 пользователь Vladimir Lettiev написал: > On Tue, Jun 02, 2015 at 01:04:11PM +0300, Ilya Chesnokov wrote: > > Привет. > > > > Тестовый скрипт t.t: > > --- > > #!/usr/bin/env perl > > use v5.12; > > use warnings; > > use Test::More; > > > > use IO::Handle; > > STDOUT->autoflush(1); > > STDERR->autoflush(1); > > > > pass('First test'); > > sleep 5; > > pass('Second test'); > > done_testing(); > > --- > > > > При запуске его как perl t.t > t.out в t.out сначала появляется 'First > > test', а через 5 секунд 'Second test' - все нормально. > > При запуске как prove -vm t.t > t.out в t.out появляется инфа только > > после завершения теста. > > > > Кто-нибудь знает, как заставить prove выводить данные немедленно? > > Можно принудить делать вывод в файл, как на консоль, без буферизации: > > $ prove -vm --formatter=TAP::Formatter::Console t.t > t.out > > -- > Vladimir Lettiev aka crux ✉ theCrux на gmail.com > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From sergey.aleynikov на gmail.com Tue Jun 2 14:48:29 2015 From: sergey.aleynikov на gmail.com (Sergey Aleynikov) Date: Wed, 3 Jun 2015 00:48:29 +0300 Subject: [Moscow.pm] =?utf-8?b?0L7QsdGE0YPRgdC60LDRhtC40Y8=?= In-Reply-To: References: Message-ID: Добрый день, 20 мая 2015 г., 8:44 пользователь Павел Купцов написал: > Я пользовался вот этим, но довольно давно http://stunnix.com/prod/po/ > Разработчики наши соотечественники, выяснилось при переписке. Не лучше java'вского ProGuard'a. Если это кто-то на это бездумно полагается - значит, маркетинг у ребят работает отлично) Best regards, Sergey Aleynikov From 0body0 на rambler.ru Tue Jun 9 11:03:28 2015 From: 0body0 на rambler.ru (=?UTF-8?B?0JDQvdCw0YLQvtC70LjQuSDQk9GA0LjRiNCw0LXQsg==?=) Date: Tue, 09 Jun 2015 21:03:28 +0300 Subject: [Moscow.pm] =?utf-8?b?0KDQsNGB0YHRi9C70LrQuDog0LjRgdC60LvRjtGH?= =?utf-8?b?0LXQvdC40LUg0LfQsNCx0YDQvtGI0LXQvdC90YvRhSDQv9C+0YfRgtC+0LI=?= =?utf-8?b?0YvRhSDRj9GJ0LjQutC+0LI=?= Message-ID: <55772A70.2050100@rambler.ru> 1) Есть логи postfix - а Нужно найти адреса, на которые более не надо посылать письма Пытаюсь сначала распарсить лог, чтобы по статусам и сообщениям об ошибках собрать уже более нерабочие адреса. Есть ли рабочие или частично рабочие решения в вебе, которые могу уменьшить сложность задачи: 1) Распарсить лог 2) отфильтровать нерабочие адреса. С наскоку такое сразу не получилось решить. From msk-pm на sadok.spb.ru Tue Jun 9 13:57:48 2015 From: msk-pm на sadok.spb.ru (Dmitry Ivanov) Date: Tue, 9 Jun 2015 23:57:48 +0300 Subject: [Moscow.pm] =?utf-8?b?0KDQsNGB0YHRi9C70LrQuDog0LjRgdC60LvRjtGH?= =?utf-8?b?0LXQvdC40LUg0LfQsNCx0YDQvtGI0LXQvdC90YvRhSDQv9C+0YfRgtC+0LI=?= =?utf-8?b?0YvRhSDRj9GJ0LjQutC+0LI=?= In-Reply-To: <55772A70.2050100@rambler.ru> References: <55772A70.2050100@rambler.ru> Message-ID: <559767234.20150609235748@sadok.spb.ru> Здравствуйте, Анатолий. Вы писали 9 июня 2015 г., 21:03:28: > С наскоку такое сразу не получилось решить. Давайте посмотрим куски логов и то, что вы пытаетсь сделать. Главное: кому вы пытаетсь это сказать? -- С уважением, Dmitry mailto:msk-pm на sadok.spb.ru From 0body0 на rambler.ru Tue Jun 9 14:46:17 2015 From: 0body0 на rambler.ru (=?UTF-8?B?0JDQvdCw0YLQvtC70LjQuSDQk9GA0LjRiNCw0LXQsg==?=) Date: Wed, 10 Jun 2015 00:46:17 +0300 Subject: [Moscow.pm] =?utf-8?b?0KDQsNGB0YHRi9C70LrQuDog0LjRgdC60LvRjtGH?= =?utf-8?b?0LXQvdC40LUg0LfQsNCx0YDQvtGI0LXQvdC90YvRhSDQv9C+0YfRgtC+0LI=?= =?utf-8?b?0YvRhSDRj9GJ0LjQutC+0LI=?= In-Reply-To: <559767234.20150609235748@sadok.spb.ru> References: <55772A70.2050100@rambler.ru> <559767234.20150609235748@sadok.spb.ru> Message-ID: <55775EA9.1020500@rambler.ru> 09.06.2015 23:57, Dmitry Ivanov пишет: > Здравствуйте, Анатолий. > > Вы писали 9 июня 2015 г., 21:03:28: > >> С наскоку такое сразу не получилось решить. > Давайте посмотрим куски логов и то, что вы пытаетсь сделать. 1) Я хочу исключить из моего списка рассылки те email, на которые server клиента говорит, что ящик не существует, заброшен и более не работает и т.п. Все остальные email меня не интересуют даже, если пользователь отправляет мои письма в /dev/null 2) Не хочется изобретать в данном месте свой велосипед. Мне кажется таких велосипедов достаточно было написано. И для собственно качество данного куска кода для меня не критично. 3) Собственно для моей задачи требуется regexp, которым можно выцепить все email c успешной доставкой. Но именно все. > > Главное: кому вы пытаетсь это сказать? Да все верно. Никому. Формат логов постфикса пугает на первый взгляд > From snelius на tsu.ru Tue Jun 9 23:22:38 2015 From: snelius на tsu.ru (snelius на tsu.ru) Date: Wed, 10 Jun 2015 12:22:38 +0600 Subject: [Moscow.pm] =?utf-8?b?0KDQsNGB0YHRi9C70LrQuDog0LjRgdC60LvRjtGH?= =?utf-8?b?0LXQvdC40LUg0LfQsNCx0YDQvtGI0LXQvdC90YvRhSDQv9C+0YfRgtC+?= =?utf-8?b?0LLRi9GFINGP0YnQuNC60L7Qsg==?= In-Reply-To: <55775EA9.1020500@rambler.ru> References: <55772A70.2050100@rambler.ru> <559767234.20150609235748@sadok.spb.ru> <55775EA9.1020500@rambler.ru> Message-ID: <005d01d0a345$da0647e0$8e12d7a0$@tsu.ru> Для решения задачи №1 осмелюсь предложить модуль https://metacpan.org/pod/Mojo::Email::Checker::SMTP чз который вы можете прогнать весь свой список адресов и выяснить куда следует отправлять а куда уже нет. Модуль конечно имеет определённую зависимость, но я не думаю что это большая проблема. -----Original Message----- From: Moscow-pm [mailto:moscow-pm-bounces+snelius=tsu.ru на pm.org] On Behalf Of Анатолий Гришаев Sent: Wednesday, June 10, 2015 3:46 AM To: Moscow.pm group Subject: Re: [Moscow.pm] Рассылки: исключение заброшенных почтовых ящиков 09.06.2015 23:57, Dmitry Ivanov пишет: > Здравствуйте, Анатолий. > > Вы писали 9 июня 2015 г., 21:03:28: > >> С наскоку такое сразу не получилось решить. > Давайте посмотрим куски логов и то, что вы пытаетсь сделать. 1) Я хочу исключить из моего списка рассылки те email, на которые server клиента говорит, что ящик не существует, заброшен и более не работает и т.п. Все остальные email меня не интересуют даже, если пользователь отправляет мои письма в /dev/null 2) Не хочется изобретать в данном месте свой велосипед. Мне кажется таких велосипедов достаточно было написано. И для собственно качество данного куска кода для меня не критично. 3) Собственно для моей задачи требуется regexp, которым можно выцепить все email c успешной доставкой. Но именно все. > > Главное: кому вы пытаетсь это сказать? Да все верно. Никому. Формат логов постфикса пугает на первый взгляд > -- Moscow.pm mailing list moscow-pm на pm.org | http://moscow.pm.org From thecrux на gmail.com Wed Jun 10 03:32:08 2015 From: thecrux на gmail.com (Vladimir Lettiev) Date: Wed, 10 Jun 2015 13:32:08 +0300 Subject: [Moscow.pm] =?koi8-r?b?8sHT09nMy8k6IMnTy8zA3sXOycUg2sHC0s/bxc7O?= =?koi8-r?b?2cgg0M/e1M/X2cgg0d3Jy8/X?= In-Reply-To: <55772A70.2050100@rambler.ru> References: <55772A70.2050100@rambler.ru> Message-ID: <20150610103208.GA15239@mail.truecrux.org> On Tue, Jun 09, 2015 at 09:03:28PM +0300, Анатолий Гришаев wrote: > > 1) Есть логи postfix - а > Нужно найти адреса, на которые более не надо посылать письма > > Пытаюсь сначала распарсить лог, чтобы по статусам и сообщениям об > ошибках собрать уже более нерабочие адреса. > > Есть ли рабочие или частично рабочие решения в вебе, которые могу > уменьшить сложность задачи: > 1) Распарсить лог > 2) отфильтровать нерабочие адреса. > > С наскоку такое сразу не получилось решить. Возможно более правильный вариант решения, это отправлять почту с указанием нужного envelope-id, а потом обрабатывать поступающие DSN сообщения о доставке. На CPAN есть модуль Mail::DeliveryStatus::BounceParser, который кажется для этого и предназначен. -- Vladimir Lettiev aka crux ✉ theCrux на gmail.com From citrin на citrin.ru Wed Jun 10 04:00:27 2015 From: citrin на citrin.ru (Anton Yuzhaninov) Date: Wed, 10 Jun 2015 14:00:27 +0300 Subject: [Moscow.pm] =?koi8-r?b?8sHT09nMy8k6IMnTy8zA3sXOycUg2sHC0s/bxc7O?= =?koi8-r?b?2cgg0M/e1M/X2cgg0d3Jy8/X?= In-Reply-To: <20150610103208.GA15239@mail.truecrux.org> References: <55772A70.2050100@rambler.ru> <20150610103208.GA15239@mail.truecrux.org> Message-ID: <557818CB.3000706@citrin.ru> On 06/10/15 13:32, Vladimir Lettiev wrote: > Возможно более правильный вариант решения, это отправлять почту с > указанием нужного envelope-id, а потом обрабатывать поступающие DSN > сообщения о доставке. На CPAN есть модуль > Mail::DeliveryStatus::BounceParser, который кажется для этого и > предназначен. +1 Метод с анализом логов postfix не сработает, когда баунс о том, что ящик переполнен отправляется уже после того как сервер получателя примет исходное письмо. В некоторых менеджерах рассылок типа mailman по умолчанию в evelope from указывают maillist-bounces на example.org (и больше кроме evelope from этот адрес нигде не используется). From 0body0 на rambler.ru Wed Jun 10 05:39:54 2015 From: 0body0 на rambler.ru (=?UTF-8?B?0JDQvdCw0YLQvtC70LjQuSDQk9GA0LjRiNCw0LXQsg==?=) Date: Wed, 10 Jun 2015 15:39:54 +0300 Subject: [Moscow.pm] YAPC::Europe 2015 In-Reply-To: References: <556700C5.8090401@rambler.ru> Message-ID: <5578301A.5040003@rambler.ru> 28.05.2015 16:09, Andrew Shitov пишет: > Обычно такие запросы приходят от "участников" из Нигерии, поэтому их игнорят. > > Для визы должно быть достаточно гостиницы и билета. > Меня не проигнорировали, прислали приглашение, правда попросив бронь гостиницы и подтверждение участия на конферениции. Визу дали, рассматривали с четверга вечера и выдали в среду, т.е. менее 5 рабочих дней. И да, сейчас действует цена для ранних пташек "Early Bird price (up to 22-Jun-2015): 90 EUR" From artur+moscow.pm.org на niif.spb.su Wed Jun 10 23:21:34 2015 From: artur+moscow.pm.org на niif.spb.su (arto) Date: Thu, 11 Jun 2015 09:21:34 +0300 Subject: [Moscow.pm] =?koi8-r?b?8sHT09nMy8k6IMnTy8zA3sXOycUg2sHC0s/bxc7O?= =?koi8-r?b?2cgg0M/e1M/X2cgg0d3Jy8/X?= In-Reply-To: <005d01d0a345$da0647e0$8e12d7a0$@tsu.ru> References: <55772A70.2050100@rambler.ru> <559767234.20150609235748@sadok.spb.ru> <55775EA9.1020500@rambler.ru> <005d01d0a345$da0647e0$8e12d7a0$@tsu.ru> Message-ID: <2457821434003694@web11g.yandex.ru> 10.06.2015, 09:23, "snelius на tsu.ru" : > Для решения задачи №1 осмелюсь предложить модуль https://metacpan.org/pod/Mojo::Email::Checker::SMTP чз который вы можете прогнать весь свой список адресов и выяснить куда следует отправлять а куда уже нет. Модуль конечно имеет определённую зависимость, но я не думаю что это большая проблема. А как вы отлавливаете такие сайты, как mxs.mail.ru, которые всегда отвечают 250 OK после "RCPT To" ? > -----Original Message----- > From: Moscow-pm [mailto:moscow-pm-bounces+snelius=tsu.ru на pm.org] On Behalf Of Анатолий Гришаев > Sent: Wednesday, June 10, 2015 3:46 AM > To: Moscow.pm group > Subject: Re: [Moscow.pm] Рассылки: исключение заброшенных почтовых ящиков > > 09.06.2015 23:57, Dmitry Ivanov пишет: >>  Здравствуйте, Анатолий. >> >>  Вы писали 9 июня 2015 г., 21:03:28: >> >>>  С наскоку такое сразу не получилось решить. >>  Давайте посмотрим куски логов и то, что вы пытаетсь сделать. > > 1) Я хочу исключить из моего списка рассылки те email, на которые server клиента говорит, что ящик не существует, заброшен и более не работает и т.п. > > Все остальные email меня не интересуют даже, если пользователь отправляет мои письма в /dev/null > > 2) Не хочется изобретать в данном месте свой велосипед. > Мне кажется таких велосипедов достаточно было написано. > И для собственно качество данного куска кода для меня не критично. > > 3) Собственно для моей задачи требуется regexp, которым можно выцепить все email c успешной доставкой. Но именно все. > >>  Главное: кому вы пытаетсь это сказать? > > Да все верно. Никому. Формат логов постфикса пугает на первый взгляд > >> > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- wbw, artur From 0body0 на rambler.ru Thu Jun 11 02:48:15 2015 From: 0body0 на rambler.ru (=?koi8-r?B?4c7B1M/Mycog59LJ28HF1w==?=) Date: Thu, 11 Jun 2015 12:48:15 +0300 Subject: [Moscow.pm] =?koi8-r?b?8sHT09nMy8k6IMnTy8zA3sXOycUg2sHC0s/bxc7O?= =?koi8-r?b?2cgg0M/e1M/X2cgg0d3Jy8/X?= In-Reply-To: <2457821434003694@web11g.yandex.ru> References: <2457821434003694@web11g.yandex.ru> Message-ID: <1434016095.647519.13956.58002@mail.rambler.ru> > 11 Jun 2015 09:24:00 GMT+3 пользователь arto (artur+moscow.pm.org на niif.spb.su) написал: > > 10.06.2015, 09:23, "snelius на tsu.ru" : > > Для решения задачи №1 осмелюсь предложить модуль https://metacpan.org/pod/Mojo::Email::Checker::SMTP чз который вы можете прогнать весь свой список адресов и выяснить куда следует отправлять а куда уже нет. Модуль конечно имеет определённую зависимость, но я не думаю что это большая проблема. >   А как вы отлавливаете такие сайты, как mxs.mail.ru, >   которые всегда отвечают 250 OK после "RCPT To" ? Таки не всегда "250 ОК", случайно наткнулся в логе: " relay=mxs.mail.ru[94.100.180.150]:25, delay=0.07, delays=0.02/0/0.01/0.05, dsn=5.0.0, status=bounced (host mxs.mail.ru[94.100.180.150] said: 550 Message was not accepted -- invalid mailbox. Local mailbox tanya****82 на mail.ru is unavailable: user not found (in reply to end of DATA command))" Остальные большие почтовые сервера тоже хорошо отбивают: yandex.ru, pochta.ru, rambler.ru, google.com. > > > -----Original Message----- > > From: Moscow-pm [mailto:moscow-pm-bounces+snelius=tsu.ru на pm.org] On Behalf Of Анатолий Гришаев > > Sent: Wednesday, June 10, 2015 3:46 AM > > To: Moscow.pm group > > Subject: Re: [Moscow.pm] Рассылки: исключение заброшенных почтовых ящиков > > > > 09.06.2015 23:57, Dmitry Ivanov пишет: > >>  Здравствуйте, Анатолий. > >> > >>  Вы писали 9 июня 2015 г., 21:03:28: > >> > >>>  С наскоку такое сразу не получилось решить. > >>  Давайте посмотрим куски логов и то, что вы пытаетсь сделать. > > > > 1) Я хочу исключить из моего списка рассылки те email, на которые server клиента говорит, что ящик не существует, заброшен и более не работает и т.п. > > > > Все остальные email меня не интересуют даже, если пользователь отправляет мои письма в /dev/null > > > > 2) Не хочется изобретать в данном месте свой велосипед. > > Мне кажется таких велосипедов достаточно было написано. > > И для собственно качество данного куска кода для меня не критично. > > > > 3) Собственно для моей задачи требуется regexp, которым можно выцепить все email c успешной доставкой. Но именно все. > > > >>  Главное: кому вы пытаетсь это сказать? > > > > Да все верно. Никому. Формат логов постфикса пугает на первый взгляд > > > >> > > > > -- > > Moscow.pm mailing list > > moscow-pm на pm.org | http://moscow.pm.org > > -- > > Moscow.pm mailing list > > moscow-pm на pm.org | http://moscow.pm.org > -- > wbw, artur > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > From vaneska.ru на gmail.com Thu Jun 11 03:29:39 2015 From: vaneska.ru на gmail.com (=?UTF-8?B?0JjQstCw0L0g0KHQvtC60L7Qu9C+0LI=?=) Date: Thu, 11 Jun 2015 13:29:39 +0300 Subject: [Moscow.pm] =?utf-8?b?0KDQsNGB0YHRi9C70LrQuDog0LjRgdC60LvRjtGH?= =?utf-8?b?0LXQvdC40LUg0LfQsNCx0YDQvtGI0LXQvdC90YvRhSDQv9C+0YfRgtC+?= =?utf-8?b?0LLRi9GFINGP0YnQuNC60L7Qsg==?= In-Reply-To: <55772A70.2050100@rambler.ru> References: <55772A70.2050100@rambler.ru> Message-ID: Мы пока тупо парсим лог скриптом. Но у нас exim. Возможно логи у него получше чем у postfix. Это это не очень правильный путь. Самый правильный - настроить хуки, чтобы сам МТА говорил, что случилось с письмом. И при ошибке отправки что-то делать с адресом. 9 июня 2015 г., 21:03 пользователь Анатолий Гришаев <0body0 на rambler.ru> написал: > > 1) Есть логи postfix - а > Нужно найти адреса, на которые более не надо посылать письма > > Пытаюсь сначала распарсить лог, чтобы по статусам и сообщениям об ошибках > собрать уже более нерабочие адреса. > > Есть ли рабочие или частично рабочие решения в вебе, которые могу > уменьшить сложность задачи: > 1) Распарсить лог > 2) отфильтровать нерабочие адреса. > > С наскоку такое сразу не получилось решить. > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- С уважением, Иван ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From artur+moscow.pm.org на niif.spb.su Thu Jun 11 04:40:21 2015 From: artur+moscow.pm.org на niif.spb.su (arto) Date: Thu, 11 Jun 2015 14:40:21 +0300 Subject: [Moscow.pm] =?koi8-r?b?8sHT09nMy8k6IMnTy8zA3sXOycUg2sHC0s/bxc7O?= =?koi8-r?b?2cgg0M/e1M/X2cgg0d3Jy8/X?= In-Reply-To: <1434016095.647519.13956.58002@mail.rambler.ru> References: <2457821434003694@web11g.yandex.ru> <1434016095.647519.13956.58002@mail.rambler.ru> Message-ID: <1653171434022821@web9o.yandex.ru> 11.06.2015, 12:49, "Анатолий Гришаев" <0body0 на rambler.ru>: >>  11 Jun 2015 09:24:00 GMT+3 пользователь arto (artur+moscow.pm.org на niif.spb.su) написал: >> >>  10.06.2015, 09:23, "snelius на tsu.ru" : >>  > Для решения задачи №1 осмелюсь предложить модуль https://metacpan.org/pod/Mojo::Email::Checker::SMTP чз который вы можете прогнать весь свой список адресов и выяснить куда следует отправлять а куда уже нет. Модуль конечно имеет определённую зависимость, но я не думаю что это большая проблема. >>      А как вы отлавливаете такие сайты, как mxs.mail.ru, >>      которые всегда отвечают 250 OK после "RCPT To" ? > > Таки не всегда "250 ОК", случайно наткнулся в логе: " > relay=mxs.mail.ru[94.100.180.150]:25, delay=0.07, delays=0.02/0/0.01/0.05, dsn=5.0.0, status=bounced (host mxs.mail.ru[94.100.180.150] said: 550 Message was not accepted -- invalid mailbox. Local mailbox tanya****82 на mail.ru is unavailable: user not found (in reply to end of DATA command))" У них минимум есть ограничение на длину local-part. А так: # print TEST | sha1 | cut -c1-32 4c49b08e9b258e0e5867d76ce583c159 # socat readline tcp:mxs.mail.ru:smtp 220 Mail.Ru ESMTP HELO ***.spbu.ru 250 mx46.mail.ru ready to serve MAIL From:<> 250 OK RCPT To:<4c49b08e9b258e0e5867d76ce583c159 на mail.ru> 250 OK QUIT 221 mx46.mail.ru closing connection > Остальные большие почтовые сервера тоже хорошо отбивают: yandex.ru, pochta.ru, rambler.ru, google.com. m.b., их не проверял. >>  > -----Original Message----- >>  > From: Moscow-pm [mailto:moscow-pm-bounces+snelius=tsu.ru на pm.org] On Behalf Of Анатолий Гришаев >>  > Sent: Wednesday, June 10, 2015 3:46 AM >>  > To: Moscow.pm group >>  > Subject: Re: [Moscow.pm] Рассылки: исключение заброшенных почтовых ящиков >>  > >>  > 09.06.2015 23:57, Dmitry Ivanov пишет: >>  >>  Здравствуйте, Анатолий. >>  >> >>  >>  Вы писали 9 июня 2015 г., 21:03:28: >>  >> >>  >>>  С наскоку такое сразу не получилось решить. >>  >>  Давайте посмотрим куски логов и то, что вы пытаетсь сделать. >>  > >>  > 1) Я хочу исключить из моего списка рассылки те email, на которые server клиента говорит, что ящик не существует, заброшен и более не работает и т.п. >>  > >>  > Все остальные email меня не интересуют даже, если пользователь отправляет мои письма в /dev/null >>  > >>  > 2) Не хочется изобретать в данном месте свой велосипед. >>  > Мне кажется таких велосипедов достаточно было написано. >>  > И для собственно качество данного куска кода для меня не критично. >>  > >>  > 3) Собственно для моей задачи требуется regexp, которым можно выцепить все email c успешной доставкой. Но именно все. >>  > >>  >>  Главное: кому вы пытаетсь это сказать? >>  > >>  > Да все верно. Никому. Формат логов постфикса пугает на первый взгляд >>  > >>  >> >>  > >>  > -- >>  > Moscow.pm mailing list >>  > moscow-pm на pm.org | http://moscow.pm.org >>  > -- >>  > Moscow.pm mailing list >>  > moscow-pm на pm.org | http://moscow.pm.org >>  -- >>  wbw, artur >>  -- >>  Moscow.pm mailing list >>  moscow-pm на pm.org | http://moscow.pm.org > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- wbw, artur From mi на ya.ru Sat Jun 13 05:19:09 2015 From: mi на ya.ru (Nikolay Mishin) Date: Sat, 13 Jun 2015 15:19:09 +0300 Subject: [Moscow.pm] =?koi8-r?b?cGVybHJlINDF0sXXz8QgzsEg0tXT08vJyiDR2tnL?= Message-ID: <4401091434197949@web1h.yandex.ru> Вложение в формате HTML было извлечено… URL: From maxim.vuets на gmail.com Sat Jun 13 07:03:43 2015 From: maxim.vuets на gmail.com (Maxim Vuets) Date: Sat, 13 Jun 2015 16:03:43 +0200 Subject: [Moscow.pm] =?utf-8?b?cGVybHJlINC/0LXRgNC10LLQvtC0INC90LAg0YA=?= =?utf-8?b?0YPRgdGB0LrQuNC5INGP0LfRi9C6?= In-Reply-To: <4401091434197949@web1h.yandex.ru> References: <4401091434197949@web1h.yandex.ru> Message-ID: 2015-06-13 14:19 GMT+02:00 Nikolay Mishin : > я закончил перевод perlre для версии perl 5.18.01 Коля, молодец! Так держать. Спасибо за труд. > ну и вопрос, какую следующую ману перла > было бы актуально перевести? Для меня перевод с английского не очень актуален, потому я, к сожалению, не могу дать полезный совет. Но, может быть, было бы полезно поработать над всякими *tut страницами? Т.е. вводный материал для начинающих. Вот некоторые из ещё не переведённых, я упорядочил их так, что наиболее востребованные (как мне кажется) идут раньше. - perlootut - Object-Oriented Programming in Perl Tutorial - perlopentut - simple recipes for opening files and pipes in Perl - perlreftut - Mark's very short tutorial about references - perlpacktut - tutorial on pack and unpack - perldebtut - Perl debugging tutorial - perlthrtut - Tutorial on threads in Perl - perlhacktut - Walk through the creation of a simple C code patch From i.petro.77.00 на gmail.com Sat Jun 13 08:39:50 2015 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Sat, 13 Jun 2015 18:39:50 +0300 Subject: [Moscow.pm] =?utf-8?b?cGVybHJlINC/0LXRgNC10LLQvtC0INC90LAg0YA=?= =?utf-8?b?0YPRgdGB0LrQuNC5INGP0LfRi9C6?= In-Reply-To: References: <4401091434197949@web1h.yandex.ru> Message-ID: <20150613153950.GZ19139@vdsl.uvw.ru> >> я закончил перевод perlre для версии perl 5.18.01 > Коля, молодец! Так держать. Спасибо за труд. >> ну и вопрос, какую следующую ману перла >> было бы актуально перевести? > Для меня перевод с английского не очень актуален, потому я, к > сожалению, не могу дать полезный совет. Но, может быть, было бы > полезно поработать над всякими *tut страницами? Т.е. вводный материал > для начинающих. Вот некоторые из ещё не переведённых, я упорядочил их > так, что наиболее востребованные (как мне кажется) идут раньше. > - perlootut - Object-Oriented Programming in Perl Tutorial > - perlopentut - simple recipes for opening files and pipes in Perl > - perlreftut - Mark's very short tutorial about references > - perlpacktut - tutorial on pack and unpack > - perldebtut - Perl debugging tutorial > - perlthrtut - Tutorial on threads in Perl > - perlhacktut - Walk through the creation of a simple C code patch да, я тоже было ответил примерно так на этот вопрос, но потом остановил себя и не стал отвечать: ребята сделали хорошую работу и я побоялся что воспримут это как критику... но если уж челове прокментировал то добавлю +1 имхо гораздо важнее и интереснее переводить туториалы/хауту нежели ман. то есть чиатая туториал понимаешь общий принцип, а потом лезешь в ман за частностями. и если в первом случае язык (на стадии первичного понимания) важен сильно, то во втором случае (стадия копания в деталях) он уже не важен почти совсем никак. From mi на ya.ru Sat Jun 13 11:28:47 2015 From: mi на ya.ru (Nikolay Mishin) Date: Sat, 13 Jun 2015 21:28:47 +0300 Subject: [Moscow.pm] =?koi8-r?b?cGVybHJlINDF0sXXz8QgzsEg0tXT08vJyiDR2tnL?= In-Reply-To: <20150613153950.GZ19139@vdsl.uvw.ru> References: <4401091434197949@web1h.yandex.ru> <20150613153950.GZ19139@vdsl.uvw.ru> Message-ID: <414791434220127@web9g.yandex.ru> ребята, спасибо за то, что показали точку применения усилий, и да, тьюториалы и переводить гораздо проще, это такой разжеванный вариант мануала, после которого мануал и не очень то и нужен, во всяком случае он был уже написан после, более простым и понятным языком, как я понимаю верхом совершенства в этом варианте являются уроки Габора .. ну и отлично, а то меня вечно тянет на всякие perlreapi и perlreguts .. и да, а где презентация по отладке с последнего YAPC Russia имеется ввиду pdf, а не видео 13.06.2015, 18:36, "Ivan Petrov" : >>>  я закончил перевод perlre для версии perl 5.18.01 > >>  Коля, молодец! Так держать. Спасибо за труд. > >>>  ну и вопрос, какую следующую ману перла >>>  было бы актуально перевести? > >>  Для меня перевод с английского не очень актуален, потому я, к >>  сожалению, не могу дать полезный совет. Но, может быть, было бы >>  полезно поработать над всякими *tut страницами? Т.е. вводный материал >>  для начинающих. Вот некоторые из ещё не переведённых, я упорядочил их >>  так, что наиболее востребованные (как мне кажется) идут раньше. > >>  - perlootut - Object-Oriented Programming in Perl Tutorial >>  - perlopentut - simple recipes for opening files and pipes in Perl >>  - perlreftut - Mark's very short tutorial about references >>  - perlpacktut - tutorial on pack and unpack >>  - perldebtut - Perl debugging tutorial >>  - perlthrtut - Tutorial on threads in Perl >>  - perlhacktut - Walk through the creation of a simple C code patch > > да, я тоже было ответил примерно так на этот вопрос, но потом > остановил себя и не стал отвечать: ребята сделали хорошую работу и я > побоялся что воспримут это как критику... > но если уж челове прокментировал то добавлю +1 > имхо гораздо важнее и интереснее переводить туториалы/хауту нежели > ман. > > то есть чиатая туториал понимаешь общий принцип, а потом лезешь в ман > за частностями. > и если в первом случае язык (на стадии первичного понимания) важен > сильно, то во втором случае (стадия копания в деталях) он уже не важен > почти совсем никак. > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From akzhan.abdulin на gmail.com Thu Jun 18 07:15:54 2015 From: akzhan.abdulin на gmail.com (Akzhan Abdulin) Date: Thu, 18 Jun 2015 17:15:54 +0300 Subject: [Moscow.pm] =?utf-8?b?0YHQstC+0LHQvtC00LXQvSDRgSDQuNGO0LvRjw==?= Message-ID: Привет, С июля ухожу в свободное плавание. Нахожусь в Питере, и лень переезжать опять в Москву, с удовольствием бы поработал в Питере (предпочтительно) или удаленно. http://akzhan.github.io/ ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From msk-pm на sadok.spb.ru Thu Jun 18 12:38:57 2015 From: msk-pm на sadok.spb.ru (Dmitry Ivanov) Date: Thu, 18 Jun 2015 22:38:57 +0300 Subject: [Moscow.pm] =?utf-8?b?0LTQuNC90LDQvNC40YfQtdGB0LrQvtC1INGB0L4=?= =?utf-8?b?0LfQtNCw0L3QuNC1INC60L7QvdGB0YLRgNGD0LrRhtC40Lkg0LLQuNC00LAg?= =?utf-8?b?JHgtPnt5fQ==?= Message-ID: <1591554980.20150618223857@sadok.spb.ru> Здравствуйте, Moscow.pm. Не знаю, как правильно сформулировать вопрос и что гуглить. Почему конструкция вида $x->{y} = 1; $x->{y}->{z} = 2; не работает, а $x->{y}->{undef} = 1; $x->{y}->{z} = 2; естественно работает. Проблема в том, что я заранее не знаю сколько этих $x->{y}->{z}......->{n} в итоге может получиться. Куда посмотреть? Спасибо. -- С уважением, Dmitry mailto:sadok на mail.ru From kes-kes на yandex.ru Thu Jun 18 14:54:19 2015 From: kes-kes на yandex.ru (Eugen Konkov) Date: Thu, 18 Jun 2015 22:54:19 +0100 Subject: [Moscow.pm] =?utf-8?b?0LTQuNC90LDQvNC40YfQtdGB0LrQvtC1INGB0L4=?= =?utf-8?b?0LfQtNCw0L3QuNC1INC60L7QvdGB0YLRgNGD0LrRhtC40Lkg0LLQuNC00LAg?= =?utf-8?b?JHgtPnt5fQ==?= In-Reply-To: <1591554980.20150618223857@sadok.spb.ru> References: <1591554980.20150618223857@sadok.spb.ru> Message-ID: <596091159.20150618225419@yandex.ru> Здравствуйте, Dmitry. А что за ошибки пишет? Добавьте: use warnings; use strict; или use Modern::Perl; в начале программы. Вы писали 18 июня 2015 г., 20:38:57: DI> Здравствуйте, Moscow.pm. DI> Не знаю, как правильно сформулировать вопрос и что гуглить. Почему DI> конструкция вида $x->>{y} = 1; $x->>{y}->{z} = 2; DI> не работает, а $x->>{y}->{undef} = 1; $x->>{y}->{z} = 2; DI> естественно работает. DI> Проблема в том, что я заранее не знаю сколько этих $x->>{y}->{z}......->{n} DI> в итоге может получиться. DI> Куда посмотреть? DI> Спасибо. DI> -- DI> С уважением, DI> Dmitry mailto:sadok на mail.ru -- С уважением, Eugen mailto:kes-kes на yandex.ru From msk-pm на sadok.spb.ru Thu Jun 18 13:06:21 2015 From: msk-pm на sadok.spb.ru (Dmitry Ivanov) Date: Thu, 18 Jun 2015 23:06:21 +0300 Subject: [Moscow.pm] =?utf-8?b?0LTQuNC90LDQvNC40YfQtdGB0LrQvtC1INGB0L4=?= =?utf-8?b?0LfQtNCw0L3QuNC1INC60L7QvdGB0YLRgNGD0LrRhtC40Lkg0LLQuNC00LAg?= =?utf-8?b?JHgtPnt5fQ==?= In-Reply-To: <596091159.20150618225419@yandex.ru> References: <1591554980.20150618223857@sadok.spb.ru> <596091159.20150618225419@yandex.ru> Message-ID: <58164316.20150618230621@sadok.spb.ru> Здравствуйте, Eugen. Вы писали 19 июня 2015 г., 0:54:19: > Здравствуйте, Dmitry. > А что за ошибки пишет? > Добавьте: > use warnings; > use strict; > или > use Modern::Perl; > в начале программы. Ошибок нет, просто не создается. Про use strict и т.п. я сознательно умолчал. Догадался, что надо сначала пробежаться и создать структуру. Что-то вроде $x->{y} = {}; $x->{y}->{z} = {}; а потом заполнить. Спасибо. -- С уважением, Dmitry mailto:sadok на mail.ru From denis.fedoseev на gmail.com Thu Jun 18 13:10:57 2015 From: denis.fedoseev на gmail.com (Denis Fedoseev) Date: Thu, 18 Jun 2015 23:10:57 +0300 Subject: [Moscow.pm] =?utf-8?b?0LTQuNC90LDQvNC40YfQtdGB0LrQvtC1INGB0L4=?= =?utf-8?b?0LfQtNCw0L3QuNC1INC60L7QvdGB0YLRgNGD0LrRhtC40Lkg0LLQuNC0?= =?utf-8?b?0LAgJHgtPnt5fQ==?= In-Reply-To: <596091159.20150618225419@yandex.ru> References: <1591554980.20150618223857@sadok.spb.ru> <596091159.20150618225419@yandex.ru> Message-ID: А какая задача решается? Если с разбегу - то смотреть можно в булевом контектсте, не будет автовификации. Или принудительно включить прагму no autivivification (В названии могу ошибаться). Конструкция вида: $x->{y} = 1; $x->{y}->{z} = 2; не работает потому что при присвоении $x->{y}->{z} = 2; в {y} будет {z => 2}, а не [1, {z => 2}] ибо это не пхп и тут со структурами все строго. Если делать $x->{y}->{undef} = 1; $x->{y}->{z} = 2; То в {y} будет { undef => 1, z => 2} что является валидным хэшем. 19 июня 2015 г., 0:54 пользователь Eugen Konkov написал: > Здравствуйте, Dmitry. > > А что за ошибки пишет? > > Добавьте: > > use warnings; > use strict; > или > use Modern::Perl; > > в начале программы. > > Вы писали 18 июня 2015 г., 20:38:57: > > DI> Здравствуйте, Moscow.pm. > > DI> Не знаю, как правильно сформулировать вопрос и что гуглить. Почему > DI> конструкция вида > > $x->>{y} = 1; > $x->>{y}->{z} = 2; > > DI> не работает, а > > $x->>{y}->{undef} = 1; > $x->>{y}->{z} = 2; > > DI> естественно работает. > > DI> Проблема в том, что я заранее не знаю сколько этих > > $x->>{y}->{z}......->{n} > > DI> в итоге может получиться. > > DI> Куда посмотреть? > > DI> Спасибо. > > DI> -- > DI> С уважением, > DI> Dmitry mailto:sadok на mail.ru > > > > > > > -- > С уважением, > Eugen mailto:kes-kes на yandex.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- С уважением, Денис Федосеев ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From worldmind на mail.ru Thu Jun 18 13:09:53 2015 From: worldmind на mail.ru (Alexey Shrub) Date: Thu, 18 Jun 2015 23:09:53 +0300 Subject: [Moscow.pm] =?koi8-r?b?xMnOwc3J3sXTy8/FINPP2sTBzsnFIMvPztPU0tXL?= =?koi8-r?b?w8nKINfJxMEgJHgtPnt5fQ==?= In-Reply-To: <596091159.20150618225419@yandex.ru> References: <596091159.20150618225419@yandex.ru> Message-ID: <1434658193.1693.1@smtp.mail.ru> > $x->>{y} = 1; > $x->>{y}->{z} = 2; > > DI> не работает а как она может работать если со скаляром "y" обращаться как с хешом? нужно уточнение что надо сделать ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From dim0xff на gmail.com Thu Jun 18 13:12:45 2015 From: dim0xff на gmail.com (Dmitry L.) Date: Thu, 18 Jun 2015 23:12:45 +0300 Subject: [Moscow.pm] =?utf-8?b?0LTQuNC90LDQvNC40YfQtdGB0LrQvtC1INGB0L4=?= =?utf-8?b?0LfQtNCw0L3QuNC1INC60L7QvdGB0YLRgNGD0LrRhtC40Lkg0LLQuNC0?= =?utf-8?b?0LAgJHgtPnt5fQ==?= In-Reply-To: <1591554980.20150618223857@sadok.spb.ru> References: <1591554980.20150618223857@sadok.spb.ru> Message-ID: 2015-06-18 22:38 GMT+03:00 Dmitry Ivanov : > Здравствуйте, Moscow.pm. > > Не знаю, как правильно сформулировать вопрос и что гуглить. Почему > конструкция вида > > $x->{y} = 1; > $x->{y}->{z} = 2; > > не работает, а > Потому что $x->{y} у вас скаляр после того как вы сунули туда единицу, а не хеш -- //wbr, Dmitry L. From maxim.vuets на gmail.com Thu Jun 18 13:20:11 2015 From: maxim.vuets на gmail.com (Maxim Vuets) Date: Thu, 18 Jun 2015 22:20:11 +0200 Subject: [Moscow.pm] =?utf-8?b?0LTQuNC90LDQvNC40YfQtdGB0LrQvtC1INGB0L4=?= =?utf-8?b?0LfQtNCw0L3QuNC1INC60L7QvdGB0YLRgNGD0LrRhtC40Lkg0LLQuNC0?= =?utf-8?b?0LAgJHgtPnt5fQ==?= In-Reply-To: <58164316.20150618230621@sadok.spb.ru> References: <1591554980.20150618223857@sadok.spb.ru> <596091159.20150618225419@yandex.ru> <58164316.20150618230621@sadok.spb.ru> Message-ID: 2015-06-18 22:06 GMT+02:00 Dmitry Ivanov : > Догадался, что надо сначала пробежаться и создать структуру. Что-то > вроде > > $x->{y} = {}; > $x->{y}->{z} = {}; > > а потом заполнить. Вам уже дали правильный ответ, почему ваш первый вариант не работал. Ваше предложение пробежать и создать структуру тоже верное, но в такой форме избыточное. Perl автовивифицирует undef значения к запрошенному виду, потому можно писать сразу: $ perl -w -Mv5.22 -MDDP -E 'my $x; $x->{y}{z}{w} = 8; p $x' { y => { z => { w => 8 } } } Таким образом вам не нужно беспокоиться "сколько этих $x->{y}->{z}......->{n} в итоге может получиться". Perl DWIM. From akzhan.abdulin на gmail.com Thu Jun 18 15:02:38 2015 From: akzhan.abdulin на gmail.com (Akzhan Abdulin) Date: Fri, 19 Jun 2015 01:02:38 +0300 Subject: [Moscow.pm] =?utf-8?b?0YHQstC+0LHQvtC00LXQvSDRgSDQuNGO0LvRjw==?= In-Reply-To: References: Message-ID: Поскольку решение сегодняшнее, полноценное резюме ещё не составил. Можно посмотреть https://moikrug.ru/akzhan-abdulin Кратко, - после изменений в структуре REG.RU так и не смог вернуть себе тягу к инновациям и т.д. 18 июня 2015 г., 17:15 пользователь Akzhan Abdulin написал: > Привет, > > С июля ухожу в свободное плавание. Нахожусь в Питере, и лень переезжать > опять в Москву, с удовольствием бы поработал в Питере (предпочтительно) или > удаленно. > > http://akzhan.github.io/ > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From msk-pm на sadok.spb.ru Thu Jun 18 22:49:07 2015 From: msk-pm на sadok.spb.ru (Dmitry Ivanov) Date: Fri, 19 Jun 2015 08:49:07 +0300 Subject: [Moscow.pm] =?utf-8?b?0LTQuNC90LDQvNC40YfQtdGB0LrQvtC1INGB0L4=?= =?utf-8?b?0LfQtNCw0L3QuNC1INC60L7QvdGB0YLRgNGD0LrRhtC40Lkg0LLQuNC00LAg?= =?utf-8?b?JHgtPnt5fQ==?= In-Reply-To: References: <1591554980.20150618223857@sadok.spb.ru> <596091159.20150618225419@yandex.ru> <58164316.20150618230621@sadok.spb.ru> Message-ID: <1714646545.20150619084907@sadok.spb.ru> Здравствуйте, Maxim. Вы писали 18 июня 2015 г., 23:20:11: >> а потом заполнить. > Вам уже дали правильный ответ, почему ваш первый вариант не работал. > Ваше предложение пробежать и создать структуру тоже верное, но в такой > форме избыточное. Perl автовивифицирует undef значения к запрошенному > виду, потому можно писать сразу: Да, всем спасибо, разобрался. -- С уважением, Dmitry mailto:sadok на mail.ru From and.enshin на gmail.com Fri Jun 19 03:27:49 2015 From: and.enshin на gmail.com (=?UTF-8?B?0JXQvdGM0YjQuNC9INCQ0L3QtNGA0LXQuQ==?=) Date: Fri, 19 Jun 2015 13:27:49 +0300 Subject: [Moscow.pm] =?utf-8?b?0JTQsNC50LTQttC10YHRgiDRgdC/0LjRgdC60LAg?= =?utf-8?b?0YDQsNGB0YHRi9C70LrQuCBNb3Njb3ctcG07INGC0L7QvCA5Miwg0LI=?= =?utf-8?b?0YvQv9GD0YHQuiA4?= In-Reply-To: References: Message-ID: Стрелка -> операция разыменования. Она применима только к ссылкам. 1 не является ссылкой. Т.е. после $x->{y} = 1; ты пытаешься разыменовать единицу, что не есть возможно. Чтобы работало $x->{y}->{z} = 2 в y должна лежать ссылка на хеш\массив или ничего(undef), для автооживления. 18 июня 2015 г., 23:12 пользователь написал: > Сообщения, предназначенные для списка > рассылки Moscow-pm, отправляйте по адресу > moscow-pm на pm.org > > Для изменения параметров подписки или > отписки используйте веб-страницу > http://mail.pm.org/mailman/listinfo/moscow-pm > или отправьте письмо, в теле или теме > которого будет слово 'help', по адресу > moscow-pm-request на pm.org > > Адрес администратора этого списка > рассылки: > moscow-pm-owner на pm.org > > При ответе, пожалуйста, измените тему > письма на более содержательную чем "Re: > Содержание дайджеста списка рассылки > Moscow-pm..." > > > В этом номере: > > 1. динамическое создание > конструкций вида $x->{y} (Dmitry Ivanov) > 2. Re: динамическое создание > конструкций вида $x->{y} (Eugen Konkov) > 3. Re: динамическое создание > конструкций вида $x->{y} (Dmitry Ivanov) > 4. Re: динамическое создание > конструкций вида $x->{y} (Denis Fedoseev) > 5. Re: динамическое создание > конструкций вида $x->{y} (Alexey Shrub) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 18 Jun 2015 22:38:57 +0300 > From: Dmitry Ivanov > To: Moscow.pm group > Subject: [Moscow.pm] динамическое создание > конструкций вида $x->{y} > Message-ID: <1591554980.20150618223857 на sadok.spb.ru> > Content-Type: text/plain; charset=utf-8 > > Здравствуйте, Moscow.pm. > > Не знаю, как правильно сформулировать вопрос и что гуглить. Почему > конструкция вида > > $x->{y} = 1; > $x->{y}->{z} = 2; > > не работает, а > > $x->{y}->{undef} = 1; > $x->{y}->{z} = 2; > > естественно работает. > > Проблема в том, что я заранее не знаю сколько этих > > $x->{y}->{z}......->{n} > > в итоге может получиться. > > Куда посмотреть? > > Спасибо. > > -- > С уважением, > Dmitry mailto:sadok на mail.ru > > > > > > ------------------------------ > > Message: 2 > Date: Thu, 18 Jun 2015 22:54:19 +0100 > From: Eugen Konkov > To: Dmitry Ivanov > Cc: Moscow.pm group > Subject: Re: [Moscow.pm] динамическое создание > конструкций вида $x->{y} > Message-ID: <596091159.20150618225419 на yandex.ru> > Content-Type: text/plain; charset=utf-8 > > Здравствуйте, Dmitry. > > А что за ошибки пишет? > > Добавьте: > > use warnings; > use strict; > или > use Modern::Perl; > > в начале программы. > > Вы писали 18 июня 2015 г., 20:38:57: > > DI> Здравствуйте, Moscow.pm. > > DI> Не знаю, как правильно сформулировать вопрос и что гуглить. Почему > DI> конструкция вида > > $x->>{y} = 1; > $x->>{y}->{z} = 2; > > DI> не работает, а > > $x->>{y}->{undef} = 1; > $x->>{y}->{z} = 2; > > DI> естественно работает. > > DI> Проблема в том, что я заранее не знаю сколько этих > > $x->>{y}->{z}......->{n} > > DI> в итоге может получиться. > > DI> Куда посмотреть? > > DI> Спасибо. > > DI> -- > DI> С уважением, > DI> Dmitry mailto:sadok на mail.ru > > > > > > > -- > С уважением, > Eugen mailto:kes-kes на yandex.ru > > > > ------------------------------ > > Message: 3 > Date: Thu, 18 Jun 2015 23:06:21 +0300 > From: Dmitry Ivanov > To: Moscow.pm group > Subject: Re: [Moscow.pm] динамическое создание > конструкций вида $x->{y} > Message-ID: <58164316.20150618230621 на sadok.spb.ru> > Content-Type: text/plain; charset=utf-8 > > Здравствуйте, Eugen. > > Вы писали 19 июня 2015 г., 0:54:19: > > > Здравствуйте, Dmitry. > > > А что за ошибки пишет? > > > Добавьте: > > > use warnings; > > use strict; > > или > > use Modern::Perl; > > > в начале программы. > > Ошибок нет, просто не создается. Про use strict и т.п. я сознательно > умолчал. > > Догадался, что надо сначала пробежаться и создать структуру. Что-то > вроде > > $x->{y} = {}; > $x->{y}->{z} = {}; > > а потом заполнить. > > Спасибо. > > -- > С уважением, > Dmitry mailto:sadok на mail.ru > > > > ------------------------------ > > Message: 4 > Date: Thu, 18 Jun 2015 23:10:57 +0300 > From: Denis Fedoseev > To: "Moscow.pm group" > Subject: Re: [Moscow.pm] динамическое создание > конструкций вида $x->{y} > Message-ID: > < > CALE3dTUwdOZmiJBaiBEk2DEYu+8CjWm24ZPYcuzN6su1Q+_nWQ на mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > А какая задача решается? > > Если с разбегу - то смотреть можно в булевом контектсте, не будет > автовификации. Или принудительно включить прагму no autivivification (В > названии могу ошибаться). > > Конструкция вида: > $x->{y} = 1; > $x->{y}->{z} = 2; > > не работает потому что при присвоении > $x->{y}->{z} = 2; > в {y} будет {z => 2}, а не [1, {z => 2}] ибо это не пхп и тут со > структурами все строго. > > Если делать > $x->{y}->{undef} = 1; > $x->{y}->{z} = 2; > > То в {y} будет { undef => 1, z => 2} что является валидным хэшем. > > 19 июня 2015 г., 0:54 пользователь Eugen Konkov > написал: > > > Здравствуйте, Dmitry. > > > > А что за ошибки пишет? > > > > Добавьте: > > > > use warnings; > > use strict; > > или > > use Modern::Perl; > > > > в начале программы. > > > > Вы писали 18 июня 2015 г., 20:38:57: > > > > DI> Здравствуйте, Moscow.pm. > > > > DI> Не знаю, как правильно сформулировать вопрос и что гуглить. Почему > > DI> конструкция вида > > > > $x->>{y} = 1; > > $x->>{y}->{z} = 2; > > > > DI> не работает, а > > > > $x->>{y}->{undef} = 1; > > $x->>{y}->{z} = 2; > > > > DI> естественно работает. > > > > DI> Проблема в том, что я заранее не знаю сколько этих > > > > $x->>{y}->{z}......->{n} > > > > DI> в итоге может получиться. > > > > DI> Куда посмотреть? > > > > DI> Спасибо. > > > > DI> -- > > DI> С уважением, > > DI> Dmitry mailto:sadok на mail.ru > > > > > > > > > > > > > > -- > > С уважением, > > Eugen mailto:kes-kes на yandex.ru > > > > -- > > Moscow.pm mailing list > > moscow-pm на pm.org | http://moscow.pm.org > > > > > > -- > С уважением, Денис Федосеев > ----------- следущая часть ----------- > Вложение в формате HTML было извлечено… > URL: < > http://mail.pm.org/pipermail/moscow-pm/attachments/20150618/f60a6c68/attachment-0001.html > > > > ------------------------------ > > Message: 5 > Date: Thu, 18 Jun 2015 23:09:53 +0300 > From: Alexey Shrub > To: "Moscow.pm group" > Subject: Re: [Moscow.pm] динамическое создание > конструкций вида $x->{y} > Message-ID: <1434658193.1693.1 на smtp.mail.ru> > Content-Type: text/plain; charset="utf-8"; Format="flowed" > > > > $x->>{y} = 1; > > $x->>{y}->{z} = 2; > > > > DI> не работает > > а как она может работать если со > скаляром "y" обращаться как с хешом? > нужно уточнение что надо сделать > ----------- следущая часть ----------- > Вложение в формате HTML было извлечено… > URL: < > http://mail.pm.org/pipermail/moscow-pm/attachments/20150618/910f839d/attachment.html > > > > ------------------------------ > > Subject: Нижний колонтитул дайджеста > > _______________________________________________ > Moscow-pm mailing list > Moscow-pm на pm.org > http://mail.pm.org/mailman/listinfo/moscow-pm > > > ------------------------------ > > Конец Дайджест списка рассылки Moscow-pm; том 92, выпуск 8 > > ********************************************************************************************** > -- С уважением, Еньшин Андрей Юрьевич тел.: +79254814571 ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From pef-secure на yandex.ru Fri Jun 19 05:00:40 2015 From: pef-secure на yandex.ru (PEF Secure) Date: Fri, 19 Jun 2015 14:00:40 +0200 Subject: [Moscow.pm] =?utf-8?b?0JTQsNC50LTQttC10YHRgiDRgdC/0LjRgdC60LAg?= =?utf-8?b?0YDQsNGB0YHRi9C70LrQuCBNb3Njb3ctcG07INGC0L7QvCA5Miwg0LI=?= =?utf-8?b?0YvQv9GD0YHQuiA4?= In-Reply-To: References: Message-ID: <1881301.yWLgNXORap@rawen> On Friday, June 19, 2015 13:27:49 Еньшин Андрей wrote: > > В этом номере: > > > > > > > > 1. динамическое создание > > > > конструкций вида $x->{y} (Dmitry Ivanov) > > > > 2. Re: динамическое создание > > > > конструкций вида $x->{y} (Eugen Konkov) > > > > 3. Re: динамическое создание > > > > конструкций вида $x->{y} (Dmitry Ivanov) > > > > 4. Re: динамическое создание > > > > конструкций вида $x->{y} (Denis Fedoseev) > > > > 5. Re: динамическое создание > > > > конструкций вида $x->{y} (Alexey Shrub) > > Ничо так выпуск номера. По теме: когда то давно делал что-то типа path -> hash, т.е. по пути доступа брались или назначались данные в хеше. Примерно как "/user/property" -> {user => { property => [value] }}, и кажется мне, топикстартеру что-то такое как раз и хотелось. -- PEF Developer From kes-kes на yandex.ru Sat Jun 20 03:38:11 2015 From: kes-kes на yandex.ru (Eugen Konkov) Date: Sat, 20 Jun 2015 11:38:11 +0100 Subject: [Moscow.pm] =?utf-8?b?0LTQuNC90LDQvNC40YfQtdGB0LrQvtC1INGB0L4=?= =?utf-8?b?0LfQtNCw0L3QuNC1INC60L7QvdGB0YLRgNGD0LrRhtC40Lkg0LLQuNC00LAg?= =?utf-8?b?JHgtPnt5fQ==?= In-Reply-To: <1714646545.20150619084907@sadok.spb.ru> References: <1591554980.20150618223857@sadok.spb.ru> <596091159.20150618225419@yandex.ru> <58164316.20150618230621@sadok.spb.ru> <1714646545.20150619084907@sadok.spb.ru> Message-ID: <1579604199.20150620113811@yandex.ru> Здравствуйте, Dmitry. Очень удобная вещь, когда нужно посмотреть что находится в переменной: use Data::Dump qw/ pp /; print pp $x; Вы писали 19 июня 2015 г., 6:49:07: DI> Здравствуйте, Maxim. DI> Вы писали 18 июня 2015 г., 23:20:11: >>> а потом заполнить. >> Вам уже дали правильный ответ, почему ваш первый вариант не работал. >> Ваше предложение пробежать и создать структуру тоже верное, но в такой >> форме избыточное. Perl автовивифицирует undef значения к запрошенному >> виду, потому можно писать сразу: DI> Да, всем спасибо, разобрался. DI> -- DI> С уважением, DI> Dmitry mailto:sadok на mail.ru -- С уважением, Eugen mailto:kes-kes на yandex.ru From akovbovich на gmail.com Sun Jun 21 07:57:23 2015 From: akovbovich на gmail.com (Andrey Kovbovich) Date: Sun, 21 Jun 2015 17:57:23 +0300 Subject: [Moscow.pm] =?utf-8?b?0LTQuNC90LDQvNC40YfQtdGB0LrQvtC1INGB0L4=?= =?utf-8?b?0LfQtNCw0L3QuNC1INC60L7QvdGB0YLRgNGD0LrRhtC40Lkg0LLQuNC0?= =?utf-8?b?0LAgJHgtPnt5fQ==?= In-Reply-To: <1579604199.20150620113811@yandex.ru> References: <1591554980.20150618223857@sadok.spb.ru> <596091159.20150618225419@yandex.ru> <58164316.20150618230621@sadok.spb.ru> <1714646545.20150619084907@sadok.spb.ru> <1579604199.20150620113811@yandex.ru> Message-ID: 20 июня 2015 г., 13:38 пользователь Eugen Konkov написал: > Очень удобная вещь, когда нужно посмотреть что находится в переменной: > попробуйте еще: use DDP; p $x; ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From tarkhil на over.ru Tue Jun 23 07:29:34 2015 From: tarkhil на over.ru (Alex Povolotsky) Date: Tue, 23 Jun 2015 17:29:34 +0300 Subject: [Moscow.pm] =?utf-8?b?SFRNTDo6Rm9ybUhhbmRsZXIsIEpTT04sINC00Lg=?= =?utf-8?b?0L3QsNC80LjRh9C10YHQutC40LUg0YTQvtGA0LzRizog0LTQtdC70LDQuyA=?= =?utf-8?b?0LvQuCDQutGC0L4g0YPQttC1Pw==?= Message-ID: <55896D4E.5070009@over.ru> Добрый вечер Есть задача (вполне классическая) - хранить базу клиентов. Система пишется на Mojolicious. Клиенты, естественно, бывают юридическими и физическими лицами. Возникла идея - пользуясь возможностями JSON в новом постгресе, хранить в базе внутренний номер клиента, тип и все остальные данные в JSON, по которому, при необходимости, и искать. Очевидная следующая идея - сделать компаунд-поле типа JSON, которое будет свертывать сериализатором все поля, при необходимости валидируя их, и динамическую форму с использованием HTML::FormHandler и обобщенного механизма создания "полей с JSON". Как мне кажется, штука может получиться неплохо повторно используемая. Делал ли кто-нибудь что-нибудь подобное? Возможно, я изобретаю велосипед или, наоборот, собираюсь гулять по полю самозарядных граблей? Alex From dim0xff на gmail.com Tue Jun 23 07:45:44 2015 From: dim0xff на gmail.com (Dmitry L.) Date: Tue, 23 Jun 2015 17:45:44 +0300 Subject: [Moscow.pm] =?utf-8?b?SFRNTDo6Rm9ybUhhbmRsZXIsIEpTT04sINC00Lg=?= =?utf-8?b?0L3QsNC80LjRh9C10YHQutC40LUg0YTQvtGA0LzRizog0LTQtdC70LA=?= =?utf-8?b?0Lsg0LvQuCDQutGC0L4g0YPQttC1Pw==?= In-Reply-To: <55896D4E.5070009@over.ru> References: <55896D4E.5070009@over.ru> Message-ID: А в чём велосипед и какие грабли могут быть (я сейчас про сторону перла говорю, а не про хранение json в реляционной бд)? 2015-06-23 17:29 GMT+03:00 Alex Povolotsky : > Добрый вечер > > Есть задача (вполне классическая) - хранить базу клиентов. Система > пишется на Mojolicious. > > Клиенты, естественно, бывают юридическими и физическими лицами. > > Возникла идея - пользуясь возможностями JSON в новом постгресе, хранить > в базе внутренний номер клиента, тип и все остальные данные в JSON, по > которому, при необходимости, и искать. > > Очевидная следующая идея - сделать компаунд-поле типа JSON, которое > будет свертывать сериализатором все поля, при необходимости валидируя > их, и динамическую форму с использованием HTML::FormHandler и > обобщенного механизма создания "полей с JSON". Как мне кажется, штука > может получиться неплохо повторно используемая. > > Делал ли кто-нибудь что-нибудь подобное? Возможно, я изобретаю велосипед > или, наоборот, собираюсь гулять по полю самозарядных граблей? > > Alex > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- //wbr, Dmitry L. From tarkhil на over.ru Tue Jun 23 07:48:42 2015 From: tarkhil на over.ru (Alex Povolotsky) Date: Tue, 23 Jun 2015 17:48:42 +0300 Subject: [Moscow.pm] =?utf-8?b?SFRNTDo6Rm9ybUhhbmRsZXIsIEpTT04sINC00Lg=?= =?utf-8?b?0L3QsNC80LjRh9C10YHQutC40LUg0YTQvtGA0LzRizog0LTQtdC70LDQuyA=?= =?utf-8?b?0LvQuCDQutGC0L4g0YPQttC1Pw==?= In-Reply-To: References: <55896D4E.5070009@over.ru> Message-ID: <558971CA.6010204@over.ru> Велосипед в том, что у кого-то HTML::FormHandler::Field::JSON уже написан, просто до CPAN руки не дошли. Аналогично - с FH-классом для динамических форм с переключателем Грабли - я вроде бы пока никаких не вижу) но вдруг у меня кочка зрения неправильная? json в реляционной БД - говорят, вполне работает, и пошустрее, чем в иных NoSQL. On 23.06.2015 17:45, Dmitry L. wrote: > А в чём велосипед и какие грабли могут быть (я сейчас про сторону > перла говорю, а не про хранение json в реляционной бд)? > > 2015-06-23 17:29 GMT+03:00 Alex Povolotsky : >> Добрый вечер >> >> Есть задача (вполне классическая) - хранить базу клиентов. Система >> пишется на Mojolicious. >> >> Клиенты, естественно, бывают юридическими и физическими лицами. >> >> Возникла идея - пользуясь возможностями JSON в новом постгресе, хранить >> в базе внутренний номер клиента, тип и все остальные данные в JSON, по >> которому, при необходимости, и искать. >> >> Очевидная следующая идея - сделать компаунд-поле типа JSON, которое >> будет свертывать сериализатором все поля, при необходимости валидируя >> их, и динамическую форму с использованием HTML::FormHandler и >> обобщенного механизма создания "полей с JSON". Как мне кажется, штука >> может получиться неплохо повторно используемая. >> >> Делал ли кто-нибудь что-нибудь подобное? Возможно, я изобретаю велосипед >> или, наоборот, собираюсь гулять по полю самозарядных граблей? >> >> Alex >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > > From dim0xff на gmail.com Tue Jun 23 07:59:00 2015 From: dim0xff на gmail.com (Dmitry L.) Date: Tue, 23 Jun 2015 17:59:00 +0300 Subject: [Moscow.pm] =?utf-8?b?SFRNTDo6Rm9ybUhhbmRsZXIsIEpTT04sINC00Lg=?= =?utf-8?b?0L3QsNC80LjRh9C10YHQutC40LUg0YTQvtGA0LzRizog0LTQtdC70LA=?= =?utf-8?b?0Lsg0LvQuCDQutGC0L4g0YPQttC1Pw==?= In-Reply-To: <558971CA.6010204@over.ru> References: <55896D4E.5070009@over.ru> <558971CA.6010204@over.ru> Message-ID: А для чего вы используете HFH? Валидация и рендер форм? Или только валидация? Если только для валидации, то никакой HFH::Field::JSON вам, наверное, не нужен. Достаточно Compound. Если кроме валидации ещё и формы рендерите, то посмотрите на HTML::FormHandlerX::Field::JSON . Сам я отказался от HFH, из-за его тормознутости на Repeatable полях, и сделал свой вариант https://github.com/dim0xff/p5-Form-Data-Processor (но там только валидатор). А эта штука https://github.com/dim0xff/p5-Form-Data-Processor-Field-Subforms позволяет делать то, что вы хотите (типа, в зависимости от поля type подставлять валидатор под данные, которые находятся в Compound поле data) 2015-06-23 17:48 GMT+03:00 Alex Povolotsky : > Велосипед в том, что у кого-то HTML::FormHandler::Field::JSON уже > написан, просто до CPAN руки не дошли. > > Аналогично - с FH-классом для динамических форм с переключателем > > Грабли - я вроде бы пока никаких не вижу) но вдруг у меня кочка зрения > неправильная? > > json в реляционной БД - говорят, вполне работает, и пошустрее, чем в > иных NoSQL. > > On 23.06.2015 17:45, Dmitry L. wrote: >> А в чём велосипед и какие грабли могут быть (я сейчас про сторону >> перла говорю, а не про хранение json в реляционной бд)? >> >> 2015-06-23 17:29 GMT+03:00 Alex Povolotsky : >>> Добрый вечер >>> >>> Есть задача (вполне классическая) - хранить базу клиентов. Система >>> пишется на Mojolicious. >>> >>> Клиенты, естественно, бывают юридическими и физическими лицами. >>> >>> Возникла идея - пользуясь возможностями JSON в новом постгресе, хранить >>> в базе внутренний номер клиента, тип и все остальные данные в JSON, по >>> которому, при необходимости, и искать. >>> >>> Очевидная следующая идея - сделать компаунд-поле типа JSON, которое >>> будет свертывать сериализатором все поля, при необходимости валидируя >>> их, и динамическую форму с использованием HTML::FormHandler и >>> обобщенного механизма создания "полей с JSON". Как мне кажется, штука >>> может получиться неплохо повторно используемая. >>> >>> Делал ли кто-нибудь что-нибудь подобное? Возможно, я изобретаю велосипед >>> или, наоборот, собираюсь гулять по полю самозарядных граблей? >>> >>> Alex >>> -- >>> Moscow.pm mailing list >>> moscow-pm на pm.org | http://moscow.pm.org >> >> >> > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- //wbr, Dmitry L. From tarkhil на over.ru Tue Jun 23 08:15:26 2015 From: tarkhil на over.ru (Alex Povolotsky) Date: Tue, 23 Jun 2015 18:15:26 +0300 Subject: [Moscow.pm] =?utf-8?b?SFRNTDo6Rm9ybUhhbmRsZXIsIEpTT04sINC00Lg=?= =?utf-8?b?0L3QsNC80LjRh9C10YHQutC40LUg0YTQvtGA0LzRizog0LTQtdC70LDQuyA=?= =?utf-8?b?0LvQuCDQutGC0L4g0YPQttC1Pw==?= In-Reply-To: References: <55896D4E.5070009@over.ru> <558971CA.6010204@over.ru> Message-ID: <5589780E.6010000@over.ru> HTML::FormHandlerX::Field::JSON - совсем не то. Он подстраивает вывод под json, а у меня форма строго определенная. Вообще, я пытаюсь связать HTML::FormHandler с DBIx::Class и DBIx::Class::InflateColumn::Serializer, но, если я не пытаюсь явно превратить хэш в json до передачи в модель, то SQL::Abstract::belch(): [SQL::Abstract::__ANON__] Warning: HASH ref as bind value in insert is not supported at /usr/local/lib/perl5/site_perl/HTML/FormHandler/TraitFor/Model/DBIC.pm line 85 INSERT INTO clients ( data, type) VALUES ( ?, ? ) RETURNING id: 'HASH(0x80d751528)', '1' а если пытаюсь, то [Tue Jun 23 18:08:34 2015] [error] Can't use string ("{"region":null,"full_name":null,"...) as a HASH ref while "strict refs" in use at /usr/local/lib/perl5/site_perl/HTML/FormHandler/InitResult.pm line 144. On 23.06.2015 17:59, Dmitry L. wrote: > А для чего вы используете HFH? Валидация и рендер форм? Или только валидация? > > Если только для валидации, то никакой HFH::Field::JSON вам, наверное, > не нужен. Достаточно Compound. > Если кроме валидации ещё и формы рендерите, то посмотрите на > HTML::FormHandlerX::Field::JSON . > > Сам я отказался от HFH, из-за его тормознутости на Repeatable полях, и > сделал свой вариант https://github.com/dim0xff/p5-Form-Data-Processor > (но там только валидатор). > А эта штука https://github.com/dim0xff/p5-Form-Data-Processor-Field-Subforms > позволяет делать то, что вы хотите (типа, в зависимости от поля type > подставлять валидатор под данные, которые находятся в Compound поле > data) > > 2015-06-23 17:48 GMT+03:00 Alex Povolotsky : >> Велосипед в том, что у кого-то HTML::FormHandler::Field::JSON уже >> написан, просто до CPAN руки не дошли. >> >> Аналогично - с FH-классом для динамических форм с переключателем >> >> Грабли - я вроде бы пока никаких не вижу) но вдруг у меня кочка зрения >> неправильная? >> >> json в реляционной БД - говорят, вполне работает, и пошустрее, чем в >> иных NoSQL. >> >> On 23.06.2015 17:45, Dmitry L. wrote: >>> А в чём велосипед и какие грабли могут быть (я сейчас про сторону >>> перла говорю, а не про хранение json в реляционной бд)? >>> >>> 2015-06-23 17:29 GMT+03:00 Alex Povolotsky : >>>> Добрый вечер >>>> >>>> Есть задача (вполне классическая) - хранить базу клиентов. Система >>>> пишется на Mojolicious. >>>> >>>> Клиенты, естественно, бывают юридическими и физическими лицами. >>>> >>>> Возникла идея - пользуясь возможностями JSON в новом постгресе, хранить >>>> в базе внутренний номер клиента, тип и все остальные данные в JSON, по >>>> которому, при необходимости, и искать. >>>> >>>> Очевидная следующая идея - сделать компаунд-поле типа JSON, которое >>>> будет свертывать сериализатором все поля, при необходимости валидируя >>>> их, и динамическую форму с использованием HTML::FormHandler и >>>> обобщенного механизма создания "полей с JSON". Как мне кажется, штука >>>> может получиться неплохо повторно используемая. >>>> >>>> Делал ли кто-нибудь что-нибудь подобное? Возможно, я изобретаю велосипед >>>> или, наоборот, собираюсь гулять по полю самозарядных граблей? >>>> >>>> Alex >>>> -- >>>> Moscow.pm mailing list >>>> moscow-pm на pm.org | http://moscow.pm.org >>> >>> >>> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > > From dim0xff на gmail.com Tue Jun 23 09:18:08 2015 From: dim0xff на gmail.com (Dmitry L.) Date: Tue, 23 Jun 2015 19:18:08 +0300 Subject: [Moscow.pm] =?utf-8?b?SFRNTDo6Rm9ybUhhbmRsZXIsIEpTT04sINC00Lg=?= =?utf-8?b?0L3QsNC80LjRh9C10YHQutC40LUg0YTQvtGA0LzRizog0LTQtdC70LA=?= =?utf-8?b?0Lsg0LvQuCDQutGC0L4g0YPQttC1Pw==?= In-Reply-To: <5589780E.6010000@over.ru> References: <55896D4E.5070009@over.ru> <558971CA.6010204@over.ru> <5589780E.6010000@over.ru> Message-ID: Так если у вас InflateColumn, то вам явно нужно сделать ->set_inflated_columns для объекта модели. Я обычно переопределял update_model из HTML::FormHandler::TraitFor::Model::DBIC 2015-06-23 18:15 GMT+03:00 Alex Povolotsky : > HTML::FormHandlerX::Field::JSON - совсем не то. Он подстраивает вывод > под json, а у меня форма строго определенная. > > Вообще, я пытаюсь связать HTML::FormHandler с DBIx::Class и > DBIx::Class::InflateColumn::Serializer, но, если я не пытаюсь явно > превратить хэш в json до передачи в модель, то > > SQL::Abstract::belch(): [SQL::Abstract::__ANON__] Warning: HASH ref as > bind value in insert is not supported at > /usr/local/lib/perl5/site_perl/HTML/FormHandler/TraitFor/Model/DBIC.pm > line 85 > INSERT INTO clients ( data, type) VALUES ( ?, ? ) RETURNING id: > 'HASH(0x80d751528)', '1' > > > а если пытаюсь, то > > [Tue Jun 23 18:08:34 2015] [error] Can't use string > ("{"region":null,"full_name":null,"...) as a HASH ref while "strict > refs" in use at > /usr/local/lib/perl5/site_perl/HTML/FormHandler/InitResult.pm line 144. > > > On 23.06.2015 17:59, Dmitry L. wrote: >> А для чего вы используете HFH? Валидация и рендер форм? Или только валидация? >> >> Если только для валидации, то никакой HFH::Field::JSON вам, наверное, >> не нужен. Достаточно Compound. >> Если кроме валидации ещё и формы рендерите, то посмотрите на >> HTML::FormHandlerX::Field::JSON . >> >> Сам я отказался от HFH, из-за его тормознутости на Repeatable полях, и >> сделал свой вариант https://github.com/dim0xff/p5-Form-Data-Processor >> (но там только валидатор). >> А эта штука https://github.com/dim0xff/p5-Form-Data-Processor-Field-Subforms >> позволяет делать то, что вы хотите (типа, в зависимости от поля type >> подставлять валидатор под данные, которые находятся в Compound поле >> data) >> >> 2015-06-23 17:48 GMT+03:00 Alex Povolotsky : >>> Велосипед в том, что у кого-то HTML::FormHandler::Field::JSON уже >>> написан, просто до CPAN руки не дошли. >>> >>> Аналогично - с FH-классом для динамических форм с переключателем >>> >>> Грабли - я вроде бы пока никаких не вижу) но вдруг у меня кочка зрения >>> неправильная? >>> >>> json в реляционной БД - говорят, вполне работает, и пошустрее, чем в >>> иных NoSQL. >>> >>> On 23.06.2015 17:45, Dmitry L. wrote: >>>> А в чём велосипед и какие грабли могут быть (я сейчас про сторону >>>> перла говорю, а не про хранение json в реляционной бд)? >>>> >>>> 2015-06-23 17:29 GMT+03:00 Alex Povolotsky : >>>>> Добрый вечер >>>>> >>>>> Есть задача (вполне классическая) - хранить базу клиентов. Система >>>>> пишется на Mojolicious. >>>>> >>>>> Клиенты, естественно, бывают юридическими и физическими лицами. >>>>> >>>>> Возникла идея - пользуясь возможностями JSON в новом постгресе, хранить >>>>> в базе внутренний номер клиента, тип и все остальные данные в JSON, по >>>>> которому, при необходимости, и искать. >>>>> >>>>> Очевидная следующая идея - сделать компаунд-поле типа JSON, которое >>>>> будет свертывать сериализатором все поля, при необходимости валидируя >>>>> их, и динамическую форму с использованием HTML::FormHandler и >>>>> обобщенного механизма создания "полей с JSON". Как мне кажется, штука >>>>> может получиться неплохо повторно используемая. >>>>> >>>>> Делал ли кто-нибудь что-нибудь подобное? Возможно, я изобретаю велосипед >>>>> или, наоборот, собираюсь гулять по полю самозарядных граблей? >>>>> >>>>> Alex >>>>> -- >>>>> Moscow.pm mailing list >>>>> moscow-pm на pm.org | http://moscow.pm.org >>>> >>>> >>>> >>> -- >>> Moscow.pm mailing list >>> moscow-pm на pm.org | http://moscow.pm.org >> >> >> > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- //wbr, Dmitry L. From tarkhil на over.ru Wed Jun 24 02:34:52 2015 From: tarkhil на over.ru (Alex Povolotsky) Date: Wed, 24 Jun 2015 12:34:52 +0300 Subject: [Moscow.pm] =?utf-8?b?SFRNTDo6Rm9ybUhhbmRsZXIsIEpTT04sINC00Lg=?= =?utf-8?b?0L3QsNC80LjRh9C10YHQutC40LUg0YTQvtGA0LzRizog0LTQtdC70LDQuyA=?= =?utf-8?b?0LvQuCDQutGC0L4g0YPQttC1Pw==?= In-Reply-To: References: <55896D4E.5070009@over.ru> <558971CA.6010204@over.ru> <5589780E.6010000@over.ru> Message-ID: <558A79BC.5030502@over.ru> Из Client.pm: __PACKAGE__->add_columns( "id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "clients_id_seq", }, "type", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "data", { data_type => "jsonb", is_nullable => 0, serializer_class => "JSON" }, ); то есть, как я понимаю, сериализация/десериализация должна делаться автоматом. On 23.06.2015 19:18, Dmitry L. wrote: > Так если у вас InflateColumn, то вам явно нужно сделать > ->set_inflated_columns для объекта модели. > > Я обычно переопределял update_model из HTML::FormHandler::TraitFor::Model::DBIC > > > 2015-06-23 18:15 GMT+03:00 Alex Povolotsky : >> HTML::FormHandlerX::Field::JSON - совсем не то. Он подстраивает вывод >> под json, а у меня форма строго определенная. >> >> Вообще, я пытаюсь связать HTML::FormHandler с DBIx::Class и >> DBIx::Class::InflateColumn::Serializer, но, если я не пытаюсь явно >> превратить хэш в json до передачи в модель, то >> >> SQL::Abstract::belch(): [SQL::Abstract::__ANON__] Warning: HASH ref as >> bind value in insert is not supported at >> /usr/local/lib/perl5/site_perl/HTML/FormHandler/TraitFor/Model/DBIC.pm >> line 85 >> INSERT INTO clients ( data, type) VALUES ( ?, ? ) RETURNING id: >> 'HASH(0x80d751528)', '1' >> >> >> а если пытаюсь, то >> >> [Tue Jun 23 18:08:34 2015] [error] Can't use string >> ("{"region":null,"full_name":null,"...) as a HASH ref while "strict >> refs" in use at >> /usr/local/lib/perl5/site_perl/HTML/FormHandler/InitResult.pm line 144. >> >> >> On 23.06.2015 17:59, Dmitry L. wrote: >>> А для чего вы используете HFH? Валидация и рендер форм? Или только валидация? >>> >>> Если только для валидации, то никакой HFH::Field::JSON вам, наверное, >>> не нужен. Достаточно Compound. >>> Если кроме валидации ещё и формы рендерите, то посмотрите на >>> HTML::FormHandlerX::Field::JSON . >>> >>> Сам я отказался от HFH, из-за его тормознутости на Repeatable полях, и >>> сделал свой вариант https://github.com/dim0xff/p5-Form-Data-Processor >>> (но там только валидатор). >>> А эта штука https://github.com/dim0xff/p5-Form-Data-Processor-Field-Subforms >>> позволяет делать то, что вы хотите (типа, в зависимости от поля type >>> подставлять валидатор под данные, которые находятся в Compound поле >>> data) >>> >>> 2015-06-23 17:48 GMT+03:00 Alex Povolotsky : >>>> Велосипед в том, что у кого-то HTML::FormHandler::Field::JSON уже >>>> написан, просто до CPAN руки не дошли. >>>> >>>> Аналогично - с FH-классом для динамических форм с переключателем >>>> >>>> Грабли - я вроде бы пока никаких не вижу) но вдруг у меня кочка зрения >>>> неправильная? >>>> >>>> json в реляционной БД - говорят, вполне работает, и пошустрее, чем в >>>> иных NoSQL. >>>> >>>> On 23.06.2015 17:45, Dmitry L. wrote: >>>>> А в чём велосипед и какие грабли могут быть (я сейчас про сторону >>>>> перла говорю, а не про хранение json в реляционной бд)? >>>>> >>>>> 2015-06-23 17:29 GMT+03:00 Alex Povolotsky : >>>>>> Добрый вечер >>>>>> >>>>>> Есть задача (вполне классическая) - хранить базу клиентов. Система >>>>>> пишется на Mojolicious. >>>>>> >>>>>> Клиенты, естественно, бывают юридическими и физическими лицами. >>>>>> >>>>>> Возникла идея - пользуясь возможностями JSON в новом постгресе, хранить >>>>>> в базе внутренний номер клиента, тип и все остальные данные в JSON, по >>>>>> которому, при необходимости, и искать. >>>>>> >>>>>> Очевидная следующая идея - сделать компаунд-поле типа JSON, которое >>>>>> будет свертывать сериализатором все поля, при необходимости валидируя >>>>>> их, и динамическую форму с использованием HTML::FormHandler и >>>>>> обобщенного механизма создания "полей с JSON". Как мне кажется, штука >>>>>> может получиться неплохо повторно используемая. >>>>>> >>>>>> Делал ли кто-нибудь что-нибудь подобное? Возможно, я изобретаю велосипед >>>>>> или, наоборот, собираюсь гулять по полю самозарядных граблей? >>>>>> >>>>>> Alex >>>>>> -- >>>>>> Moscow.pm mailing list >>>>>> moscow-pm на pm.org | http://moscow.pm.org >>>>> >>>>> >>>>> >>>> -- >>>> Moscow.pm mailing list >>>> moscow-pm на pm.org | http://moscow.pm.org >>> >>> >>> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > > From dim0xff на gmail.com Wed Jun 24 02:41:40 2015 From: dim0xff на gmail.com (Dmitry L.) Date: Wed, 24 Jun 2015 12:41:40 +0300 Subject: [Moscow.pm] =?utf-8?b?SFRNTDo6Rm9ybUhhbmRsZXIsIEpTT04sINC00Lg=?= =?utf-8?b?0L3QsNC80LjRh9C10YHQutC40LUg0YTQvtGA0LzRizog0LTQtdC70LA=?= =?utf-8?b?0Lsg0LvQuCDQutGC0L4g0YPQttC1Pw==?= In-Reply-To: <558A79BC.5030502@over.ru> References: <55896D4E.5070009@over.ru> <558971CA.6010204@over.ru> <5589780E.6010000@over.ru> <558A79BC.5030502@over.ru> Message-ID: Если у вас есть такая строчка __PACKAGE__->load_components('InflateColumn::Serializer'), то должна. 2015-06-24 12:34 GMT+03:00 Alex Povolotsky : > Из Client.pm: > > __PACKAGE__->add_columns( > "id", > { > data_type => "integer", > is_auto_increment => 1, > is_nullable => 0, > sequence => "clients_id_seq", > }, > "type", > { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, > "data", > { data_type => "jsonb", is_nullable => 0, serializer_class => "JSON" }, > ); > > то есть, как я понимаю, сериализация/десериализация должна делаться > автоматом. > > On 23.06.2015 19:18, Dmitry L. wrote: >> Так если у вас InflateColumn, то вам явно нужно сделать >> ->set_inflated_columns для объекта модели. >> >> Я обычно переопределял update_model из HTML::FormHandler::TraitFor::Model::DBIC >> >> >> 2015-06-23 18:15 GMT+03:00 Alex Povolotsky : >>> HTML::FormHandlerX::Field::JSON - совсем не то. Он подстраивает вывод >>> под json, а у меня форма строго определенная. >>> >>> Вообще, я пытаюсь связать HTML::FormHandler с DBIx::Class и >>> DBIx::Class::InflateColumn::Serializer, но, если я не пытаюсь явно >>> превратить хэш в json до передачи в модель, то >>> >>> SQL::Abstract::belch(): [SQL::Abstract::__ANON__] Warning: HASH ref as >>> bind value in insert is not supported at >>> /usr/local/lib/perl5/site_perl/HTML/FormHandler/TraitFor/Model/DBIC.pm >>> line 85 >>> INSERT INTO clients ( data, type) VALUES ( ?, ? ) RETURNING id: >>> 'HASH(0x80d751528)', '1' >>> >>> >>> а если пытаюсь, то >>> >>> [Tue Jun 23 18:08:34 2015] [error] Can't use string >>> ("{"region":null,"full_name":null,"...) as a HASH ref while "strict >>> refs" in use at >>> /usr/local/lib/perl5/site_perl/HTML/FormHandler/InitResult.pm line 144. >>> >>> >>> On 23.06.2015 17:59, Dmitry L. wrote: >>>> А для чего вы используете HFH? Валидация и рендер форм? Или только валидация? >>>> >>>> Если только для валидации, то никакой HFH::Field::JSON вам, наверное, >>>> не нужен. Достаточно Compound. >>>> Если кроме валидации ещё и формы рендерите, то посмотрите на >>>> HTML::FormHandlerX::Field::JSON . >>>> >>>> Сам я отказался от HFH, из-за его тормознутости на Repeatable полях, и >>>> сделал свой вариант https://github.com/dim0xff/p5-Form-Data-Processor >>>> (но там только валидатор). >>>> А эта штука https://github.com/dim0xff/p5-Form-Data-Processor-Field-Subforms >>>> позволяет делать то, что вы хотите (типа, в зависимости от поля type >>>> подставлять валидатор под данные, которые находятся в Compound поле >>>> data) >>>> >>>> 2015-06-23 17:48 GMT+03:00 Alex Povolotsky : >>>>> Велосипед в том, что у кого-то HTML::FormHandler::Field::JSON уже >>>>> написан, просто до CPAN руки не дошли. >>>>> >>>>> Аналогично - с FH-классом для динамических форм с переключателем >>>>> >>>>> Грабли - я вроде бы пока никаких не вижу) но вдруг у меня кочка зрения >>>>> неправильная? >>>>> >>>>> json в реляционной БД - говорят, вполне работает, и пошустрее, чем в >>>>> иных NoSQL. >>>>> >>>>> On 23.06.2015 17:45, Dmitry L. wrote: >>>>>> А в чём велосипед и какие грабли могут быть (я сейчас про сторону >>>>>> перла говорю, а не про хранение json в реляционной бд)? >>>>>> >>>>>> 2015-06-23 17:29 GMT+03:00 Alex Povolotsky : >>>>>>> Добрый вечер >>>>>>> >>>>>>> Есть задача (вполне классическая) - хранить базу клиентов. Система >>>>>>> пишется на Mojolicious. >>>>>>> >>>>>>> Клиенты, естественно, бывают юридическими и физическими лицами. >>>>>>> >>>>>>> Возникла идея - пользуясь возможностями JSON в новом постгресе, хранить >>>>>>> в базе внутренний номер клиента, тип и все остальные данные в JSON, по >>>>>>> которому, при необходимости, и искать. >>>>>>> >>>>>>> Очевидная следующая идея - сделать компаунд-поле типа JSON, которое >>>>>>> будет свертывать сериализатором все поля, при необходимости валидируя >>>>>>> их, и динамическую форму с использованием HTML::FormHandler и >>>>>>> обобщенного механизма создания "полей с JSON". Как мне кажется, штука >>>>>>> может получиться неплохо повторно используемая. >>>>>>> >>>>>>> Делал ли кто-нибудь что-нибудь подобное? Возможно, я изобретаю велосипед >>>>>>> или, наоборот, собираюсь гулять по полю самозарядных граблей? >>>>>>> >>>>>>> Alex >>>>>>> -- >>>>>>> Moscow.pm mailing list >>>>>>> moscow-pm на pm.org | http://moscow.pm.org >>>>>> >>>>>> >>>>>> >>>>> -- >>>>> Moscow.pm mailing list >>>>> moscow-pm на pm.org | http://moscow.pm.org >>>> >>>> >>>> >>> -- >>> Moscow.pm mailing list >>> moscow-pm на pm.org | http://moscow.pm.org >> >> >> > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- //wbr, Dmitry L. From Sviatlana_Liavonchyk на epam.com Wed Jun 24 02:57:54 2015 From: Sviatlana_Liavonchyk на epam.com (Sviatlana Liavonchyk) Date: Wed, 24 Jun 2015 09:57:54 +0000 Subject: [Moscow.pm] hot position - Senior Perl/Ruby Developer Message-ID: An experienced Software Engineer is required on a long-term project for a Server Team developing NCCM product for a large US-based computer networking company. The customer is a world leader in providing solutions for the management, organization and security of complex networks. This solution provides automatic network discovery, switch port management, network change automation and continuous configuration compliance management for multi-vendor routers, switches and other layer 2 and 3 network devices. Server side uses the following stack of technologies: ∙ Perl (Data Collection and Processing); ∙ Ruby/RubyOnRails (Backend for UI, API); ∙ MySQL (Data Storage); ∙ Linux (Fedora-based distribution as a platform); ∙ Networking. Requirements: - 5+ years of production experience; - 2+ years of proficiency in one of the languages - Perl or Ruby/RoR and readiness to learn another; - 3+ years of working knowledge of Linux, ability to troubleshoot system-related issues; - Demonstrated understanding of Network Essentials (OSI model, Network device types, etc., TCP/UDP); - Ability to create and understand queries using SQL (MySQL); - Good verbal and written communication skills (English). Plus experience: - Knowledge of both languages - Perl and Ruby; - Good architectural skills; - Ability to create high-quality documentation; - Network management and SNMP; - RabbitMQ. Responsibilities: - Develop high-quality server-side code in Perl/RoR in close work with customer's engineers and local team; - Maintain and improve existing code; - Develop unit tests for automated continuous integration and regression testing. We offer: - Friendly international team with growing EPAM side; - Good prospects for professional and career development; - Possibility of business trips to USA (Washington); - Flexible working hours; - Extensive benefits package; - Sports and health care compensation. Contact: Александра Замковая Aliaksandra_Zamkavaya на epam.com +375 44 7744512 Skype aliaksandra_orlovskaya Follow us on https://twitter.com/job_epam Join the community https://www.facebook.com/epamby Read more here http://vk.com/epamsystems SVIATLANA LIAVONCHYK Media Manager Assistant, EPAM HR Office: +375 (17) 389-01-00 Email: Sviatlana_Liavonchyk на epam.com Skype: sviatlana_liavonchyk Minsk, Belarus (GMT+3) epam.com. CONFIDENTIALITY CAUTION AND DISCLAIMER This message is intended only for the use of the individual(s) or entity(ies) to which it is addressed and contains information that is legally privileged and confidential. If you are not the intended recipient, or the person responsible for delivering the message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. All unintended recipients are obliged to delete this message and destroy any printed copies. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From Sviatlana_Liavonchyk на epam.com Wed Jun 24 03:36:39 2015 From: Sviatlana_Liavonchyk на epam.com (Sviatlana Liavonchyk) Date: Wed, 24 Jun 2015 10:36:39 +0000 Subject: [Moscow.pm] hot position - Senior Perl/Ruby Developer (Minsk) Message-ID: <307e7f04a0b7486292c97e82307b1893@EPBYMINSA0031.epam.com> An experienced Software Engineer is required on a long-term project for a Server Team developing NCCM product for a large US-based computer networking company. The customer is a world leader in providing solutions for the management, organization and security of complex networks. This solution provides automatic network discovery, switch port management, network change automation and continuous configuration compliance management for multi-vendor routers, switches and other layer 2 and 3 network devices. Server side uses the following stack of technologies: ∙ Perl (Data Collection and Processing); ∙ Ruby/RubyOnRails (Backend for UI, API); ∙ MySQL (Data Storage); ∙ Linux (Fedora-based distribution as a platform); ∙ Networking. Requirements: - 5+ years of production experience; - 2+ years of proficiency in one of the languages - Perl or Ruby/RoR and readiness to learn another; - 3+ years of working knowledge of Linux, ability to troubleshoot system-related issues; - Demonstrated understanding of Network Essentials (OSI model, Network device types, etc., TCP/UDP); - Ability to create and understand queries using SQL (MySQL); - Good verbal and written communication skills (English). Plus experience: - Knowledge of both languages - Perl and Ruby; - Good architectural skills; - Ability to create high-quality documentation; - Network management and SNMP; - RabbitMQ. Responsibilities: - Develop high-quality server-side code in Perl/RoR in close work with customer's engineers and local team; - Maintain and improve existing code; - Develop unit tests for automated continuous integration and regression testing. We offer: - Friendly international team with growing EPAM side; - Good prospects for professional and career development; - Possibility of business trips to USA (Washington); - Flexible working hours; - Extensive benefits package; - Sports and health care compensation. Contact: Александра Замковая Aliaksandra_Zamkavaya на epam.com +375 44 7744512 Skype aliaksandra_orlovskaya Follow us on https://twitter.com/job_epam Join the community https://www.facebook.com/epamby Read more here http://vk.com/epamsystems SVIATLANA LIAVONCHYK Media Manager Assistant, EPAM HR Office: +375 (17) 389-01-00 Email: Sviatlana_Liavonchyk на epam.com Skype: sviatlana_liavonchyk Minsk, Belarus (GMT+3) epam.com. CONFIDENTIALITY CAUTION AND DISCLAIMER This message is intended only for the use of the individual(s) or entity(ies) to which it is addressed and contains information that is legally privileged and confidential. If you are not the intended recipient, or the person responsible for delivering the message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. All unintended recipients are obliged to delete this message and destroy any printed copies. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From tarkhil на over.ru Wed Jun 24 08:02:36 2015 From: tarkhil на over.ru (Alex Povolotsky) Date: Wed, 24 Jun 2015 18:02:36 +0300 Subject: [Moscow.pm] =?utf-8?b?SFRNTDo6Rm9ybUhhbmRsZXIsIEpTT04sINC00Lg=?= =?utf-8?b?0L3QsNC80LjRh9C10YHQutC40LUg0YTQvtGA0LzRizog0LTQtdC70LDQuyA=?= =?utf-8?b?0LvQuCDQutGC0L4g0YPQttC1Pw==?= In-Reply-To: References: <55896D4E.5070009@over.ru> <558971CA.6010204@over.ru> <5589780E.6010000@over.ru> <558A79BC.5030502@over.ru> Message-ID: <558AC68C.1020109@over.ru> Спасибо, кэп. На ЭТОЙ машине (а) модуль не был поставлен (б) в списке компонент не был указан. Разумеется, все заработало. On 24.06.2015 12:41, Dmitry L. wrote: > Если у вас есть такая строчка > __PACKAGE__->load_components('InflateColumn::Serializer'), то должна. > > > > 2015-06-24 12:34 GMT+03:00 Alex Povolotsky : >> Из Client.pm: >> >> __PACKAGE__->add_columns( >> "id", >> { >> data_type => "integer", >> is_auto_increment => 1, >> is_nullable => 0, >> sequence => "clients_id_seq", >> }, >> "type", >> { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, >> "data", >> { data_type => "jsonb", is_nullable => 0, serializer_class => "JSON" }, >> ); >> >> то есть, как я понимаю, сериализация/десериализация должна делаться >> автоматом. >> >> On 23.06.2015 19:18, Dmitry L. wrote: >>> Так если у вас InflateColumn, то вам явно нужно сделать >>> ->set_inflated_columns для объекта модели. >>> >>> Я обычно переопределял update_model из HTML::FormHandler::TraitFor::Model::DBIC >>> >>> >>> 2015-06-23 18:15 GMT+03:00 Alex Povolotsky : >>>> HTML::FormHandlerX::Field::JSON - совсем не то. Он подстраивает вывод >>>> под json, а у меня форма строго определенная. >>>> >>>> Вообще, я пытаюсь связать HTML::FormHandler с DBIx::Class и >>>> DBIx::Class::InflateColumn::Serializer, но, если я не пытаюсь явно >>>> превратить хэш в json до передачи в модель, то >>>> >>>> SQL::Abstract::belch(): [SQL::Abstract::__ANON__] Warning: HASH ref as >>>> bind value in insert is not supported at >>>> /usr/local/lib/perl5/site_perl/HTML/FormHandler/TraitFor/Model/DBIC.pm >>>> line 85 >>>> INSERT INTO clients ( data, type) VALUES ( ?, ? ) RETURNING id: >>>> 'HASH(0x80d751528)', '1' >>>> >>>> >>>> а если пытаюсь, то >>>> >>>> [Tue Jun 23 18:08:34 2015] [error] Can't use string >>>> ("{"region":null,"full_name":null,"...) as a HASH ref while "strict >>>> refs" in use at >>>> /usr/local/lib/perl5/site_perl/HTML/FormHandler/InitResult.pm line 144. >>>> >>>> >>>> On 23.06.2015 17:59, Dmitry L. wrote: >>>>> А для чего вы используете HFH? Валидация и рендер форм? Или только валидация? >>>>> >>>>> Если только для валидации, то никакой HFH::Field::JSON вам, наверное, >>>>> не нужен. Достаточно Compound. >>>>> Если кроме валидации ещё и формы рендерите, то посмотрите на >>>>> HTML::FormHandlerX::Field::JSON . >>>>> >>>>> Сам я отказался от HFH, из-за его тормознутости на Repeatable полях, и >>>>> сделал свой вариант https://github.com/dim0xff/p5-Form-Data-Processor >>>>> (но там только валидатор). >>>>> А эта штука https://github.com/dim0xff/p5-Form-Data-Processor-Field-Subforms >>>>> позволяет делать то, что вы хотите (типа, в зависимости от поля type >>>>> подставлять валидатор под данные, которые находятся в Compound поле >>>>> data) >>>>> >>>>> 2015-06-23 17:48 GMT+03:00 Alex Povolotsky : >>>>>> Велосипед в том, что у кого-то HTML::FormHandler::Field::JSON уже >>>>>> написан, просто до CPAN руки не дошли. >>>>>> >>>>>> Аналогично - с FH-классом для динамических форм с переключателем >>>>>> >>>>>> Грабли - я вроде бы пока никаких не вижу) но вдруг у меня кочка зрения >>>>>> неправильная? >>>>>> >>>>>> json в реляционной БД - говорят, вполне работает, и пошустрее, чем в >>>>>> иных NoSQL. >>>>>> >>>>>> On 23.06.2015 17:45, Dmitry L. wrote: >>>>>>> А в чём велосипед и какие грабли могут быть (я сейчас про сторону >>>>>>> перла говорю, а не про хранение json в реляционной бд)? >>>>>>> >>>>>>> 2015-06-23 17:29 GMT+03:00 Alex Povolotsky : >>>>>>>> Добрый вечер >>>>>>>> >>>>>>>> Есть задача (вполне классическая) - хранить базу клиентов. Система >>>>>>>> пишется на Mojolicious. >>>>>>>> >>>>>>>> Клиенты, естественно, бывают юридическими и физическими лицами. >>>>>>>> >>>>>>>> Возникла идея - пользуясь возможностями JSON в новом постгресе, хранить >>>>>>>> в базе внутренний номер клиента, тип и все остальные данные в JSON, по >>>>>>>> которому, при необходимости, и искать. >>>>>>>> >>>>>>>> Очевидная следующая идея - сделать компаунд-поле типа JSON, которое >>>>>>>> будет свертывать сериализатором все поля, при необходимости валидируя >>>>>>>> их, и динамическую форму с использованием HTML::FormHandler и >>>>>>>> обобщенного механизма создания "полей с JSON". Как мне кажется, штука >>>>>>>> может получиться неплохо повторно используемая. >>>>>>>> >>>>>>>> Делал ли кто-нибудь что-нибудь подобное? Возможно, я изобретаю велосипед >>>>>>>> или, наоборот, собираюсь гулять по полю самозарядных граблей? >>>>>>>> >>>>>>>> Alex >>>>>>>> -- >>>>>>>> Moscow.pm mailing list >>>>>>>> moscow-pm на pm.org | http://moscow.pm.org >>>>>>> >>>>>>> >>>>>>> >>>>>> -- >>>>>> Moscow.pm mailing list >>>>>> moscow-pm на pm.org | http://moscow.pm.org >>>>> >>>>> >>>>> >>>> -- >>>> Moscow.pm mailing list >>>> moscow-pm на pm.org | http://moscow.pm.org >>> >>> >>> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > > From stork2000 на yandex.ru Thu Jun 25 08:19:04 2015 From: stork2000 на yandex.ru (Loginoff Nick) Date: Thu, 25 Jun 2015 18:19:04 +0300 Subject: [Moscow.pm] =?koi8-r?b?98HLwc7TydE6IO7B3snOwcDdycogcGVybC3Q0s/H?= =?koi8-r?b?0sHNzcnT1C4g7c/Ty9fBIO/GydMu?= Message-ID: <2298821435245544@web6m.yandex.ru> Вложение в формате HTML было извлечено… URL: From foxcool333 на gmail.com Thu Jun 25 11:35:19 2015 From: foxcool333 на gmail.com (=?UTF-8?B?0JDQu9C10LrRgdCw0L3QtNGAINCk0L7QutGB0LrRg9C7?=) Date: Thu, 25 Jun 2015 21:35:19 +0300 Subject: [Moscow.pm] =?utf-8?b?0JLQsNC60LDQvdGB0LjRjzog0J3QsNGH0LjQvdCw?= =?utf-8?b?0Y7RidC40LkgcGVybC3Qv9GA0L7Qs9GA0LDQvNC80LjRgdGCLiDQnNC+?= =?utf-8?b?0YHQutCy0LAg0J7RhNC40YEu?= In-Reply-To: <2298821435245544@web6m.yandex.ru> References: <2298821435245544@web6m.yandex.ru> Message-ID: Удаленку и на пол полставки давайте! (: 25.06.2015 18:20 пользователь "Loginoff Nick" написал: > Всем привет. Продолжаем hunting ))) Открылась у нас новая позиция > Web-разработчика (php perl). По-хорошему ищем новичка перловика, для > простеньких задач и проектов. > Может кому приходили на собеседования ребята, которые чуток не дотягивали, > поделитесь контактами. У меня были несколько месяцев назад, но тогда искали > только серьезных разработчиков. > > Хорошие Перловики всегда нужны, оклад 120.000р, кидайте резюме, даже если > и кидали уже. > У нас небольшая реструктуризация прошла, теперь резюме отбирают другие > товарищи ;-) > > *Вот полное описание новой вакансии:* > > Проект «Бойцовский Клуб» - браузерная онлайн-игра ( http://combats.com ) > ищет Web-разработчика для создания новых и поддержки текущих околоигровых > проектов компании. Часть проектов написаны на языке Perl, и их тоже нужно > поддерживать. Так же готовы рассмотреть резюме начинающего > Perl-программиста. Поможем, обучим, вырастим в профи. > > > Требования: > Владение PHP (для Moscow.PM это не нужно ;-) ) > Базовые знания Perl (и желание обучаться) > Знание Javascript. > > Желательно: > Опыт работы в игровых проектах > Опыт работы с системой контроля версий Git. > > Задачи: > Поддержка текущих проектов. > Разработка новых проектов компании. > > Условия: > Уровень заработной платы - от 80.000р > Офис: ст. м. Тульская (2 мин. пешком) > Бесплатные обеды в офисе > Пятидневная рабочая неделя с 10 до 19 (время можно скорректировать). > Оформление по ТК РФ. > > > Пишите на почту: STork2000 на yandex.ru > > -- > С Уважением, Login|off Nick или STork. > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From worldmind на mail.ru Thu Jun 25 12:29:47 2015 From: worldmind на mail.ru (Alexey Shrub) Date: Thu, 25 Jun 2015 22:29:47 +0300 Subject: [Moscow.pm] =?koi8-r?b?98HLwc7TydE6IO7B3snOwcDdycogcGVybC3Q0s/H?= =?koi8-r?b?0sHNzcnT1C4g7c/Ty9fBIO/GydMu?= In-Reply-To: References: Message-ID: <1435260587.1171.0@smtp.mail.ru> Того же мнения, хотя я ещё пару месяцев точно отдыхать буду On Чт, июн 25, 2015 в 9:35 , Александр Фокскул wrote: > Удаленку и на пол полставки давайте! (: ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From kes-kes на yandex.ru Thu Jun 25 13:07:04 2015 From: kes-kes на yandex.ru (Eugen Konkov) Date: Thu, 25 Jun 2015 21:07:04 +0100 Subject: [Moscow.pm] =?utf-8?b?0JLQsNC60LDQvdGB0LjRjzog0J3QsNGH0LjQvdCw?= =?utf-8?b?0Y7RidC40LkgcGVybC3Qv9GA0L7Qs9GA0LDQvNC80LjRgdGCLiDQnNC+0YE=?= =?utf-8?b?0LrQstCwINCe0YTQuNGBLg==?= In-Reply-To: References: <2298821435245544@web6m.yandex.ru> Message-ID: <1714615033.20150625210704@yandex.ru> Вложение в формате HTML было извлечено… URL: From mi на ya.ru Fri Jun 26 16:03:10 2015 From: mi на ya.ru (Nikolay Mishin) Date: Sat, 27 Jun 2015 02:03:10 +0300 Subject: [Moscow.pm] XML::Simple Message-ID: <1269701435359790@web5j.yandex.ru> Вложение в формате HTML было извлечено… URL: From akzhan.abdulin на gmail.com Fri Jun 26 16:42:28 2015 From: akzhan.abdulin на gmail.com (Akzhan Abdulin) Date: Sat, 27 Jun 2015 02:42:28 +0300 Subject: [Moscow.pm] XML::Simple In-Reply-To: <1269701435359790@web5j.yandex.ru> References: <1269701435359790@web5j.yandex.ru> Message-ID: вне зависимости он не защищен от атак. Используйте XML::Fast 27 июня 2015 г., 2:03 пользователь Nikolay Mishin написал: > Привет, MoscowPM, > > Зачем использовать use XML::Simple с опцией qw(:strict); > > use XML::Simple qw(:strict); > > я всегда использую > > use XML::Simple; > > my $ref = XMLin($xml_file, ForceArray => 1); > > насколько это может быть опасно? > > > -- > С уважением > Николай Мишин > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From akzhan.abdulin на gmail.com Fri Jun 26 16:44:36 2015 From: akzhan.abdulin на gmail.com (Akzhan Abdulin) Date: Sat, 27 Jun 2015 02:44:36 +0300 Subject: [Moscow.pm] XML::Simple In-Reply-To: References: <1269701435359790@web5j.yandex.ru> Message-ID: Атака вида написал: > вне зависимости он не защищен от атак. Используйте XML::Fast > > 27 июня 2015 г., 2:03 пользователь Nikolay Mishin написал: > >> Привет, MoscowPM, >> >> Зачем использовать use XML::Simple с опцией qw(:strict); >> >> use XML::Simple qw(:strict); >> >> я всегда использую >> >> use XML::Simple; >> >> my $ref = XMLin($xml_file, ForceArray => 1); >> >> насколько это может быть опасно? >> >> >> -- >> С уважением >> Николай Мишин >> >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> >> > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mi на ya.ru Sat Jun 27 14:47:05 2015 From: mi на ya.ru (Nikolay Mishin) Date: Sun, 28 Jun 2015 00:47:05 +0300 Subject: [Moscow.pm] XML::Simple In-Reply-To: References: <1269701435359790@web5j.yandex.ru> Message-ID: <1841741435441625@web15m.yandex.ru> Спасибо, написал тест в Монсовском стиле: #!/use/bin/perl -w # use strict; use warnings; use Test::More; BEGIN { my $add = 0; eval { require Test::NoWarnings; Test::NoWarnings->import; ++$add; 1 } or diag "Test::NoWarnings missed, skipping no warnings test"; plan tests => 3 + $add; eval { require Data::Dumper; Data::Dumper::Dumper(1) } and *dd = sub ($) { Data::Dumper->new( [ $_[0] ] )->Indent(0)->Terse(1)->Quotekeys(0) ->Useqq(1)->Purity(1)->Dump; } or *dd = \&explain; } use XML::Fast 'xml2hash'; my $xml_file = shift or die "use: $0 files.xml requied!"; diag "testing file $xml_file"; my $xml = do { local $/; open my $f,'<',$xml_file; <$f> }; my $hash = xml2hash $xml; diag dd($hash), "\n" https://github.com/mishin/presentation/blob/master/xml/01_xml_parse.pl отлично работает, спасибо 27.06.2015, 02:44, "Akzhan Abdulin" : > Атака вида > 27 июня 2015 г., 2:42 пользователь Akzhan Abdulin написал: >> вне зависимости он не защищен от атак. Используйте XML::Fast >> >> 27 июня 2015 г., 2:03 пользователь Nikolay Mishin написал: >>> Привет, MoscowPM, >>> >>> Зачем использовать  use XML::Simple  с опцией qw(:strict); >>> >>>  use XML::Simple qw(:strict); >>> >>> я всегда использую >>> >>>  use XML::Simple; >>> >>> my $ref = XMLin($xml_file, ForceArray => 1); >>> >>> насколько это может быть опасно? >>> >>> -- >>> С уважением >>> Николай Мишин >>> >>> -- >>> Moscow.pm mailing list >>> moscow-pm на pm.org | http://moscow.pm.org > > ,-- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From mi на ya.ru Sun Jun 28 15:43:17 2015 From: mi на ya.ru (Nikolay Mishin) Date: Mon, 29 Jun 2015 01:43:17 +0300 Subject: [Moscow.pm] =?koi8-r?b?9NfJ1NTF0iDC3MvFzsTdycvP1w==?= Message-ID: <3278031435531397@web5o.yandex.ru> Вложение в формате HTML было извлечено… URL: