From dzirtik на gmail.com Mon Sep 2 07:40:48 2013 From: dzirtik на gmail.com (=?KOI8-R?B?8MHXxcwg/cXSwsnOyc4=?=) Date: Mon, 2 Sep 2013 18:40:48 +0400 Subject: [Moscow.pm] =?koi8-r?b?99PU0sXewSBNb3Njb3cucG0gNCDTxc7U0cLS0SAy?= =?koi8-r?b?MDEzIMcu?= Message-ID: Добрый день! 4 сентября (Внимание: в среду!!!), мы в очередной раз открываем двери сообществу Moscow.pm (группа московских Perl-программистов). В рамках мероприятия у вас есть эксклюзивная возможность послушать доклады лучших специалистов, поделиться опытом друг с другом. *Место и время:* 4 сентября с 19.30 до 22.00, переговорная No.1 на 2 этаже офис компании Mail.Ru Group В этот раз встреча будет посвящена прошедшему совсем недавно YAPC::Europe в Киеве. Несколько докладов будут представлены непосредственно авторами, другие будут переводом наиболее интересных докладов с конференции. В программе будут доклады: 1. Asynchronously Fantastic. Sawyer X (перевод Павел Щербинин, программист, компании Mail.Ru Group) - Новый век, век неблокирующий асинхронных приложений. Если вы не знакомы с evebt loop, то вы потеряны! Что я несу? Я пьян? Сколько из этих слов полностью выдуманы? На эти и другие вопросы я отвечу в этом докладе! 2. Распределенный запуск cron-скриптов. Олег Комаров, разработчик, компания Яндекс. - общие соображения (почему и зачем) - потенциальные проблемы (как не надо делать) - switchman -- flock-подобная утилита для распределенных блокировок и семафоров 3. Hacking perl5 core. Руслан Закиров, Best Practical Solutions -Изменять ядро perl5 -- это не так трудно, а еще и возможно, полезно и весело. 4. Implementing Two Factor Authentication. Max Maischein (перевод Павел Щербинин программист, компании Mail.Ru Group) -Реализация RFC 6238 в Perl при помощи "Google Authenticator". Обсудим вопросы, а также проблемы, которые приходят с двухфакторной аутентификацией. Трансляцию мероприятия вы сможете посмотреть на странице: http://corp.mail.ru/Moscow.pm Что бы мы могли лучше организовать встречу, пожалуйста, зарегистрируйтесь здесь: http://moscowpm0409.timepad.ru/event/79657/ Там же, вы можете оставить информацию о том, какие темы вы хотите обсудить в рамках этой или следующей встречи - это поможет нам сделать их более информативными. Мы ждем вас! -- С Уважением, Щербинин Павел ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mi на ya.ru Wed Sep 4 21:25:14 2013 From: mi на ya.ru (Nikolay Mishin) Date: Thu, 05 Sep 2013 08:25:14 +0400 Subject: [Moscow.pm] =?koi8-r?b?99PU0sXewSBNb3Njb3cucG0gNCDTxc7U0cLS0SAy?= =?koi8-r?b?MDEzIMcu?= In-Reply-To: References: Message-ID: <130741378355114@web22g.yandex.ru> Вложение в формате HTML было извлечено… URL: From mi на ya.ru Wed Sep 4 21:38:50 2013 From: mi на ya.ru (Nikolay Mishin) Date: Thu, 05 Sep 2013 08:38:50 +0400 Subject: [Moscow.pm] =?koi8-r?b?0MXSxcvPxMnSz9fLwQ==?= Message-ID: <115421378355930@web22j.yandex.ru> Вложение в формате HTML было извлечено… URL: From eugene.toropov на gmail.com Wed Sep 4 21:59:22 2013 From: eugene.toropov на gmail.com (Eugene Toropov) Date: Thu, 5 Sep 2013 08:59:22 +0400 Subject: [Moscow.pm] =?utf-8?b?0L/QtdGA0LXQutC+0LTQuNGA0L7QstC60LA=?= In-Reply-To: <115421378355930@web22j.yandex.ru> References: <115421378355930@web22j.yandex.ru> Message-ID: <05F39D87-B073-47AE-897A-606FB15B90F2@gmail.com> Привет, Если взять то, что работает у них на сайте - http://translate.google.com/translate_a/t?client=t&sl=auto&tl=ru&hl=ru&sc=2&ie=UTF-8&oe=UTF-8&uptl=ru&alttl=en&oc=1&otf=2&ssel=0&tsel=0&q=%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C - и посмотреть параметры, то ie - это видимо input encoding, oe - output encoding - по идее то, что вам нужно Евгений On Sep 5, 2013, at 8:38 AM, Nikolay Mishin wrote: > MoscowPM, добрый день, > > Есть скрипт > перевода гугла из командной строки > https://github.com/mishin/gists/blob/master/gtrans.pl > запускается > gtrans.pl --from en --to ru --text "This is a test" > > из командной строки > гугл выдает строки в KOI > > я парсю вывод гугла: > my @matches = > $html =~ m{onmouseout="this.style.backgroundColor='#fff'">(.*?)}g; > > foreach my $translated_string (@matches) { > my $interm_var = > Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); > Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); > say $interm_var; > } > > вопрос, можно ли строку > > Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); > Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); > > заменить одним преобразованием, чтобы на выходе был win1251? > у меня этого не получилось > спасибо > > - > С уважением > Николай Мишин > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From dim0xff на gmail.com Wed Sep 4 22:33:37 2013 From: dim0xff на gmail.com (Dmitry L.) Date: Thu, 5 Sep 2013 09:33:37 +0400 Subject: [Moscow.pm] =?utf-8?b?0L/QtdGA0LXQutC+0LTQuNGA0L7QstC60LA=?= In-Reply-To: <05F39D87-B073-47AE-897A-606FB15B90F2@gmail.com> References: <115421378355930@web22j.yandex.ru> <05F39D87-B073-47AE-897A-606FB15B90F2@gmail.com> Message-ID: Или iconv использовать use Text::Iconv my $converter = Text::Iconv->new("koi8r", "utf8"); my $interm_var = $converter->convert($translated_string); Но вариант брать от гугла сразу в нужной кодировке предпочтительнее. 2013/9/5 Eugene Toropov : > Привет, > > Если взять то, что работает у них на сайте - > http://translate.google.com/translate_a/t?client=t&sl=auto&tl=ru&hl=ru&sc=2&ie=UTF-8&oe=UTF-8&uptl=ru&alttl=en&oc=1&otf=2&ssel=0&tsel=0&q=%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C > - и посмотреть параметры, то ie - это видимо input encoding, oe - output > encoding - по идее то, что вам нужно > > Евгений > > On Sep 5, 2013, at 8:38 AM, Nikolay Mishin wrote: > > MoscowPM, добрый день, > > Есть скрипт > перевода гугла из командной строки > https://github.com/mishin/gists/blob/master/gtrans.pl > запускается > > gtrans.pl --from en --to ru --text "This is a test" > > из командной строки > гугл выдает строки в KOI > > я парсю вывод гугла: > > my @matches = > $html =~ > m{onmouseout="this.style.backgroundColor='#fff'">(.*?)}g; > > foreach my $translated_string (@matches) { > my $interm_var = > Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); > Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); > say $interm_var; > } > > вопрос, можно ли строку > > Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); > Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); > > заменить одним преобразованием, чтобы на выходе был win1251? > у меня этого не получилось > спасибо > > - > С уважением > Николай Мишин > > -- > 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 me на lelf.lu Thu Sep 5 08:41:29 2013 From: me на lelf.lu (Anton Nikishaev) Date: Thu, 5 Sep 2013 19:41:29 +0400 Subject: [Moscow.pm] =?utf-8?b?0L/QtdGA0LXQutC+0LTQuNGA0L7QstC60LA=?= In-Reply-To: <05F39D87-B073-47AE-897A-606FB15B90F2@gmail.com> References: <115421378355930@web22j.yandex.ru> <05F39D87-B073-47AE-897A-606FB15B90F2@gmail.com> Message-ID: <2AB2D9D2-BD44-46EE-951D-CC2C6B1CF7D7@lelf.lu> On Sep 5, 2013, at 8:59 AM, Eugene Toropov wrote: > Привет, > > Если взять то, что работает у них на сайте - http://translate.google.com/translate_a/t?client=t&sl=auto&tl=ru&hl=ru&sc=2&ie=UTF-8&oe=UTF-8&uptl=ru&alttl=en&oc=1&otf=2&ssel=0&tsel=0&q=%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C - и посмотреть параметры, то ie - это видимо input encoding, oe - output encoding - по идее то, что вам нужно > +1. Просто добавить ie=utf-8 и oe=utf-8 ничего не меняя, ? будет в utf-8 работать. И консоль в utf-8 перевести. Тогда будет не такой ужас-ужас как сейчас. И у --from/--to действительно появится смысл. > On Sep 5, 2013, at 8:38 AM, Nikolay Mishin wrote: > >> MoscowPM, добрый день, >> >> Есть скрипт >> перевода гугла из командной строки >> https://github.com/mishin/gists/blob/master/gtrans.pl >> запускается >> gtrans.pl --from en --to ru --text "This is a test" >> >> из командной строки >> гугл выдает строки в KOI >> >> я парсю вывод гугла: >> my @matches = >> $html =~ m{onmouseout="this.style.backgroundColor='#fff'">(.*?)}g; >> >> foreach my $translated_string (@matches) { >> my $interm_var = >> Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); >> Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); >> say $interm_var; >> } >> >> вопрос, можно ли строку >> >> Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); >> Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); >> >> заменить одним преобразованием, чтобы на выходе был win1251? >> у меня этого не получилось >> спасибо >> >> -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 455 bytes Desc: Message signed with OpenPGP using GPGMail URL: From proler на gmail.com Thu Sep 5 09:01:21 2013 From: proler на gmail.com (=?utf-8?B?0J7Qu9C10LMg0JDQu9C10LrRgdC10LXQvdC60L7Qsg==?=) Date: Thu, 05 Sep 2013 20:01:21 +0400 Subject: [Moscow.pm] =?utf-8?b?0L/QtdGA0LXQutC+0LTQuNGA0L7QstC60LA=?= In-Reply-To: <115421378355930@web22j.yandex.ru> References: <115421378355930@web22j.yandex.ru> Message-ID: Nikolay Mishin писал(а) в своём письме Thu, 05 Sep 2013 08:38:50 +0400: > вопрос, можно ли строку > Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); > Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); > заменить одним преобразованием, чтобы на выходе был win1251? > у меня этого не получилось а почему не работает Encode::from_to( $interm_var, 'koi8', 'cp1251' ); ? From me на lelf.lu Thu Sep 5 10:02:45 2013 From: me на lelf.lu (Anton Nikishaev) Date: Thu, 5 Sep 2013 21:02:45 +0400 Subject: [Moscow.pm] =?utf-8?b?0L/QtdGA0LXQutC+0LTQuNGA0L7QstC60LA=?= In-Reply-To: <115421378355930@web22j.yandex.ru> References: <115421378355930@web22j.yandex.ru> Message-ID: On Sep 5, 2013, at 8:38 AM, Nikolay Mishin wrote: > MoscowPM, добрый день, > > Есть скрипт > перевода гугла из командной строки > https://github.com/mishin/gists/blob/master/gtrans.pl - my $html = $res->content; + my $html = $res->decoded_content; Теперь $html нормальная юникодная строка -- lelf -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 455 bytes Desc: Message signed with OpenPGP using GPGMail URL: From mi на ya.ru Thu Sep 5 11:03:50 2013 From: mi на ya.ru (Nikolay Mishin) Date: Thu, 05 Sep 2013 22:03:50 +0400 Subject: [Moscow.pm] =?koi8-r?b?0MXSxcvPxMnSz9fLwQ==?= In-Reply-To: <2AB2D9D2-BD44-46EE-951D-CC2C6B1CF7D7@lelf.lu> References: <115421378355930@web22j.yandex.ru> <05F39D87-B073-47AE-897A-606FB15B90F2@gmail.com> <2AB2D9D2-BD44-46EE-951D-CC2C6B1CF7D7@lelf.lu> Message-ID: <135641378404230@web8j.yandex.ru> спасибо за советы, просто я использую этот перевод в omegaT и там мне нужна строка в win1251 т.к. там эта кодировка стоит для русского языка и кстати эту строку http://translate.google.com/translate_a/t?client=t&sl=auto&tl=ru&hl=ru&sc=2&ie=UTF-8&oe=UTF-8&uptl=ru&alttl=en&oc=1&otf=2&ssel=0&tsel=0&q=%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C вставляя в браузер я ничего не получаю в смысле форму, как вы по ней получаете ответ? 05.09.2013, 19:42, "Anton Nikishaev" : > On Sep 5, 2013, at 8:59 AM, Eugene Toropov wrote: > >>  Привет, >> >>  Если взять то, что работает у них на сайте - http://translate.google.com/translate_a/t?client=t&sl=auto&tl=ru&hl=ru&sc=2&ie=UTF-8&oe=UTF-8&uptl=ru&alttl=en&oc=1&otf=2&ssel=0&tsel=0&q=%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C - и посмотреть параметры, то ie - это видимо input encoding, oe - output encoding - по идее то, что вам нужно > > +1. Просто добавить ie=utf-8 и oe=utf-8 ничего не меняя, ? будет в utf-8 работать. > И консоль в utf-8 перевести. Тогда будет не такой ужас-ужас как сейчас. И у --from/--to действительно появится смысл. > >>  On Sep 5, 2013, at 8:38 AM, Nikolay Mishin wrote: >>>  MoscowPM, добрый день, >>> >>>  Есть скрипт >>>  перевода гугла из командной строки >>>  https://github.com/mishin/gists/blob/master/gtrans.pl >>>  запускается >>>  gtrans.pl --from en --to ru --text "This is a test" >>> >>>  из командной строки >>>  гугл выдает строки в KOI >>> >>>  я парсю вывод гугла: >>>   my @matches = >>>        $html =~ m{onmouseout="this.style.backgroundColor='#fff'">(.*?)}g; >>> >>>      foreach my $translated_string (@matches) { >>>          my $interm_var = >>>            Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); >>>          Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); >>>          say $interm_var; >>>      } >>> >>>  вопрос, можно ли строку >>> >>>            Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); >>>          Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); >>> >>>  заменить одним преобразованием, чтобы на выходе был win1251? >>>  у меня этого не получилось >>>  спасибо > > , > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From me на lelf.lu Thu Sep 5 11:15:09 2013 From: me на lelf.lu (Anton Nikishaev) Date: Thu, 5 Sep 2013 22:15:09 +0400 Subject: [Moscow.pm] =?utf-8?b?0L/QtdGA0LXQutC+0LTQuNGA0L7QstC60LA=?= In-Reply-To: <135641378404230@web8j.yandex.ru> References: <115421378355930@web22j.yandex.ru> <05F39D87-B073-47AE-897A-606FB15B90F2@gmail.com> <2AB2D9D2-BD44-46EE-951D-CC2C6B1CF7D7@lelf.lu> <135641378404230@web8j.yandex.ru> Message-ID: Betty:~ lelf$ curl -AChrome "http://translate.google.com/translate_a/t?client=t&sl=ru&tl=en&ie=utf-8&oe=utf-8&text=хрю" [[["oink","хрю","","khryu"]],,"ru",,[["oink",[4],1,0,926,0,1,0]],[["хрю",4,[["oink",926,1,0],["honk",0,1,0],["an oink",0,1,0]],[[0,3]],"хрю"]],,,[["ru"]],1] On Sep 5, 2013, at 10:03 PM, Nikolay Mishin wrote: > спасибо за советы, просто я использую этот перевод в omegaT и там мне нужна строка в win1251 > т.к. там эта кодировка стоит для русского языка > > и кстати эту строку > > http://translate.google.com/translate_a/t?client=t&sl=auto&tl=ru&hl=ru&sc=2&ie=UTF-8&oe=UTF-8&uptl=ru&alttl=en&oc=1&otf=2&ssel=0&tsel=0&q=%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C > вставляя в браузер я ничего не получаю в смысле форму, как вы по ней получаете ответ? > > 05.09.2013, 19:42, "Anton Nikishaev" : >> On Sep 5, 2013, at 8:59 AM, Eugene Toropov wrote: >> >>> Привет, >>> >>> Если взять то, что работает у них на сайте - http://translate.google.com/translate_a/t?client=t&sl=auto&tl=ru&hl=ru&sc=2&ie=UTF-8&oe=UTF-8&uptl=ru&alttl=en&oc=1&otf=2&ssel=0&tsel=0&q=%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C - и посмотреть параметры, то ie - это видимо input encoding, oe - output encoding - по идее то, что вам нужно >> >> +1. Просто добавить ie=utf-8 и oe=utf-8 ничего не меняя, ? будет в utf-8 работать. >> И консоль в utf-8 перевести. Тогда будет не такой ужас-ужас как сейчас. И у --from/--to действительно появится смысл. >> >>> On Sep 5, 2013, at 8:38 AM, Nikolay Mishin wrote: >>>> MoscowPM, добрый день, >>>> >>>> Есть скрипт >>>> перевода гугла из командной строки >>>> https://github.com/mishin/gists/blob/master/gtrans.pl >>>> запускается >>>> gtrans.pl --from en --to ru --text "This is a test" >>>> >>>> из командной строки >>>> гугл выдает строки в KOI >>>> >>>> я парсю вывод гугла: >>>> my @matches = >>>> $html =~ m{onmouseout="this.style.backgroundColor='#fff'">(.*?)}g; >>>> >>>> foreach my $translated_string (@matches) { >>>> my $interm_var = >>>> Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); >>>> Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); >>>> say $interm_var; >>>> } >>>> >>>> вопрос, можно ли строку >>>> >>>> Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); >>>> Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); >>>> >>>> заменить одним преобразованием, чтобы на выходе был win1251? >>>> у меня этого не получилось >>>> спасибо >> >> , >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > -- > С уважением > Николай Мишин > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 455 bytes Desc: Message signed with OpenPGP using GPGMail URL: From mi на ya.ru Thu Sep 5 11:16:02 2013 From: mi на ya.ru (Nikolay Mishin) Date: Thu, 05 Sep 2013 22:16:02 +0400 Subject: [Moscow.pm] =?koi8-r?b?0MXSxcvPxMnSz9fLwQ==?= In-Reply-To: References: <115421378355930@web22j.yandex.ru> Message-ID: <42881378404962@web16m.yandex.ru> Encode::from_to( $translated_string, 'koi8', 'cp1251' ); $perl gtrans.pl --from=en --to=ru --text='This is a test' Unknown encoding 'KOI8' at gtrans.pl line 63 05.09.2013, 20:01, "Олег Алексеенков" : > Nikolay Mishin писал(а) в своём письме Thu, 05 Sep 2013 > 08:38:50 +0400: > >>  вопрос, можно ли строку >>  Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); >>  Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); >>  заменить одним преобразованием, чтобы на выходе был win1251? >>  у меня этого не получилось > > а почему не работает > Encode::from_to( $interm_var, 'koi8', 'cp1251' ); > ? > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From me на lelf.lu Thu Sep 5 11:19:11 2013 From: me на lelf.lu (Anton Nikishaev) Date: Thu, 5 Sep 2013 22:19:11 +0400 Subject: [Moscow.pm] =?utf-8?b?0L/QtdGA0LXQutC+0LTQuNGA0L7QstC60LA=?= In-Reply-To: References: <115421378355930@web22j.yandex.ru> <05F39D87-B073-47AE-897A-606FB15B90F2@gmail.com> <2AB2D9D2-BD44-46EE-951D-CC2C6B1CF7D7@lelf.lu> <135641378404230@web8j.yandex.ru> Message-ID: <8ACE8E82-F8E9-4A51-B23A-F3A6FCEAD9E6@lelf.lu> On Sep 5, 2013, at 10:15 PM, Anton Nikishaev wrote: > Betty:~ lelf$ curl -AChrome "http://translate.google.com/translate_a/t?client=t&sl=ru&tl=en&ie=utf-8&oe=utf-8&text=хрю" > [[["oink","хрю","","khryu"]],,"ru",,[["oink",[4],1,0,926,0,1,0]],[["хрю",4,[["oink",926,1,0],["honk",0,1,0],["an oink",0,1,0]],[[0,3]],"хрю"]],,,[["ru"]],1] > Betty:~ lelf$ curl -AChrome "http://translate.google.com/translate_a/t?client=p&sl=ru&tl=en&ie=utf-8&oe=utf-8&text=хрю" | json_pp { "src" : "ru", "server_time" : 1, "sentences" : [ { "orig" : "хрю", "trans" : "oink", "src_translit" : "khryu", "translit" : "" } ] } > > > > On Sep 5, 2013, at 10:03 PM, Nikolay Mishin wrote: > >> спасибо за советы, просто я использую этот перевод в omegaT и там мне нужна строка в win1251 >> т.к. там эта кодировка стоит для русского языка >> >> и кстати эту строку >> >> http://translate.google.com/translate_a/t?client=t&sl=auto&tl=ru&hl=ru&sc=2&ie=UTF-8&oe=UTF-8&uptl=ru&alttl=en&oc=1&otf=2&ssel=0&tsel=0&q=%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C >> вставляя в браузер я ничего не получаю в смысле форму, как вы по ней получаете ответ? >> >> 05.09.2013, 19:42, "Anton Nikishaev" : >>> On Sep 5, 2013, at 8:59 AM, Eugene Toropov wrote: >>> >>>> Привет, >>>> >>>> Если взять то, что работает у них на сайте - http://translate.google.com/translate_a/t?client=t&sl=auto&tl=ru&hl=ru&sc=2&ie=UTF-8&oe=UTF-8&uptl=ru&alttl=en&oc=1&otf=2&ssel=0&tsel=0&q=%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C - и посмотреть параметры, то ie - это видимо input encoding, oe - output encoding - по идее то, что вам нужно >>> >>> +1. Просто добавить ie=utf-8 и oe=utf-8 ничего не меняя, ? будет в utf-8 работать. >>> И консоль в utf-8 перевести. Тогда будет не такой ужас-ужас как сейчас. И у --from/--to действительно появится смысл. >>> >>>> On Sep 5, 2013, at 8:38 AM, Nikolay Mishin wrote: >>>>> MoscowPM, добрый день, >>>>> >>>>> Есть скрипт >>>>> перевода гугла из командной строки >>>>> https://github.com/mishin/gists/blob/master/gtrans.pl >>>>> запускается >>>>> gtrans.pl --from en --to ru --text "This is a test" >>>>> >>>>> из командной строки >>>>> гугл выдает строки в KOI >>>>> >>>>> я парсю вывод гугла: >>>>> my @matches = >>>>> $html =~ m{onmouseout="this.style.backgroundColor='#fff'">(.*?)}g; >>>>> >>>>> foreach my $translated_string (@matches) { >>>>> my $interm_var = >>>>> Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); >>>>> Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); >>>>> say $interm_var; >>>>> } >>>>> >>>>> вопрос, можно ли строку >>>>> >>>>> Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); >>>>> Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); >>>>> >>>>> заменить одним преобразованием, чтобы на выходе был win1251? >>>>> у меня этого не получилось >>>>> спасибо >>> >>> , >>> -- >>> 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 455 bytes Desc: Message signed with OpenPGP using GPGMail URL: From me на lelf.lu Thu Sep 5 11:23:31 2013 From: me на lelf.lu (Anton Nikishaev) Date: Thu, 5 Sep 2013 22:23:31 +0400 Subject: [Moscow.pm] =?utf-8?b?0L/QtdGA0LXQutC+0LTQuNGA0L7QstC60LA=?= In-Reply-To: <42881378404962@web16m.yandex.ru> References: <115421378355930@web22j.yandex.ru> <42881378404962@web16m.yandex.ru> Message-ID: <32489713-74D0-4157-8F5C-455C22F54ACC@lelf.lu> On Sep 5, 2013, at 10:16 PM, Nikolay Mishin wrote: > Encode::from_to( $translated_string, 'koi8', 'cp1251' ); > > $perl gtrans.pl --from=en --to=ru --text='This is a test' > Unknown encoding 'KOI8' at gtrans.pl line 63 Она называется koi8-r > 05.09.2013, 20:01, "Олег Алексеенков" : >> Nikolay Mishin писал(а) в своём письме Thu, 05 Sep 2013 >> 08:38:50 +0400: >> >>> вопрос, можно ли строку >>> Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); >>> Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); >>> заменить одним преобразованием, чтобы на выходе был win1251? >>> у меня этого не получилось >> >> а почему не работает >> Encode::from_to( $interm_var, 'koi8', 'cp1251' ); >> ? >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > -- > С уважением > Николай Мишин > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 455 bytes Desc: Message signed with OpenPGP using GPGMail URL: From ruz на bestpractical.com Thu Sep 5 11:50:14 2013 From: ruz на bestpractical.com (Ruslan Zakirov) Date: Thu, 5 Sep 2013 22:50:14 +0400 Subject: [Moscow.pm] =?utf-8?b?0L/QtdGA0LXQutC+0LTQuNGA0L7QstC60LA=?= In-Reply-To: <32489713-74D0-4157-8F5C-455C22F54ACC@lelf.lu> References: <115421378355930@web22j.yandex.ru> <42881378404962@web16m.yandex.ru> <32489713-74D0-4157-8F5C-455C22F54ACC@lelf.lu> Message-ID: ->decoded_content и use open OUT => ':encoding(cp1251)'; Тогда совсем можно не заморачиваться :) 2013/9/5 Anton Nikishaev > > On Sep 5, 2013, at 10:16 PM, Nikolay Mishin wrote: > > > Encode::from_to( $translated_string, 'koi8', 'cp1251' ); > > > > $perl gtrans.pl --from=en --to=ru --text='This is a test' > > Unknown encoding 'KOI8' at gtrans.pl line 63 > > Она называется koi8-r > > > > 05.09.2013, 20:01, "Олег Алексеенков" : > >> Nikolay Mishin писал(а) в своём письме Thu, 05 Sep 2013 > >> 08:38:50 +0400: > >> > >>> вопрос, можно ли строку > >>> Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); > >>> Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); > >>> заменить одним преобразованием, чтобы на выходе был win1251? > >>> у меня этого не получилось > >> > >> а почему не работает > >> Encode::from_to( $interm_var, 'koi8', 'cp1251' ); > >> ? > >> -- > >> 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 > > -- Best regards, Ruslan. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mi на ya.ru Thu Sep 5 12:14:58 2013 From: mi на ya.ru (Nikolay Mishin) Date: Thu, 05 Sep 2013 23:14:58 +0400 Subject: [Moscow.pm] =?koi8-r?b?W1NQQU06I10gUmU6ICDQxdLFy8/EydLP18vB?= In-Reply-To: References: <115421378355930@web22j.yandex.ru> <42881378404962@web16m.yandex.ru> <32489713-74D0-4157-8F5C-455C22F54ACC@lelf.lu> Message-ID: <12084_1378408501_5228D835_12084_153_1_20771378408498@web3m.yandex.ru> Вложение в формате HTML было извлечено… URL: From me на lelf.lu Thu Sep 5 12:23:52 2013 From: me на lelf.lu (Anton Nikishaev) Date: Thu, 5 Sep 2013 23:23:52 +0400 Subject: [Moscow.pm] =?utf-8?b?W1NQQU06I10gUmU6ICDQv9C10YDQtdC60L7QtNC4?= =?utf-8?b?0YDQvtCy0LrQsA==?= In-Reply-To: <12084_1378408501_5228D835_12084_153_1_20771378408498@web3m.yandex.ru> References: <115421378355930@web22j.yandex.ru> <42881378404962@web16m.yandex.ru> <32489713-74D0-4157-8F5C-455C22F54ACC@lelf.lu> <12084_1378408501_5228D835_12084_153_1_20771378408498@web3m.yandex.ru> Message-ID: <98B9BE53-8474-423B-A315-FAFF686035F8@lelf.lu> On Sep 5, 2013, at 11:14 PM, Nikolay Mishin wrote: > Руслан, круто, так работает > > use utf8; > use open OUT => ':encoding(cp1251)'; +use open qw<:std>; > > sub translate_text { > my ( $from, $to, $words ) = @_; > > my $url = > 'http://translate.google.com/translate_t?langpair=' > . $from . '|' > . $to > . '&text=' . '+' > . $words; > my $ua = LWP::UserAgent->new; > $ua->agent(''); > my $res = $ua->get($url); > die $res->status_line if $res->is_error; > my $html = $res->decoded_content; > > my @matches = > $html =~ m{onmouseout="this.style.backgroundColor='#fff'">(.*?)}g; > > foreach my $translated_string (@matches) { > say $translated_string; > } > } > > https://github.com/mishin/gists/blob/master/gtrans2.pl > но > $./gtrans2.pl --from en --to ru --text "This is a test" > Wide character in say at ./gtrans2.pl line 63. > Это тест > > 05.09.2013, 22:50, "Ruslan Zakirov" : >> ->decoded_content и use open OUT => ':encoding(cp1251)'; >> >> Тогда совсем можно не заморачиваться :) >> >> >> 2013/9/5 Anton Nikishaev >> >> On Sep 5, 2013, at 10:16 PM, Nikolay Mishin wrote: >> >> > Encode::from_to( $translated_string, 'koi8', 'cp1251' ); >> > >> > $perl gtrans.pl --from=en --to=ru --text='This is a test' >> > Unknown encoding 'KOI8' at gtrans.pl line 63 >> Она называется koi8-r >> >> >> > 05.09.2013, 20:01, "Олег Алексеенков" : >> >> Nikolay Mishin писал(а) в своём письме Thu, 05 Sep 2013 >> >> 08:38:50 +0400: >> >> >> >>> вопрос, можно ли строку >> >>> Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); >> >>> Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); >> >>> заменить одним преобразованием, чтобы на выходе был win1251? >> >>> у меня этого не получилось >> >> >> >> а почему не работает >> >> Encode::from_to( $interm_var, 'koi8', 'cp1251' ); >> >> ? >> >> -- >> >> 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 >> >> >> >> -- >> Best regards, Ruslan. >> , >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> > > > -- > С уважением > Николай Мишин > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 455 bytes Desc: Message signed with OpenPGP using GPGMail URL: From mi на ya.ru Thu Sep 5 12:42:54 2013 From: mi на ya.ru (Nikolay Mishin) Date: Thu, 05 Sep 2013 23:42:54 +0400 Subject: [Moscow.pm] =?koi8-r?b?W1NQQU06I10gUmU6ICBbU1BBTTojXSBSZTogINDF?= =?koi8-r?b?0sXLz8TJ0s/Xy8E=?= In-Reply-To: <98B9BE53-8474-423B-A315-FAFF686035F8@lelf.lu> References: <115421378355930@web22j.yandex.ru> <42881378404962@web16m.yandex.ru> <32489713-74D0-4157-8F5C-455C22F54ACC@lelf.lu> <12084_1378408501_5228D835_12084_153_1_20771378408498@web3m.yandex.ru> <98B9BE53-8474-423B-A315-FAFF686035F8@lelf.lu> Message-ID: <16087_1378410181_5228DEC4_16087_160_1_177371378410174@web23h.yandex.ru> Вложение в формате HTML было извлечено… URL: From mi на ya.ru Thu Sep 5 12:47:21 2013 From: mi на ya.ru (Nikolay Mishin) Date: Thu, 05 Sep 2013 23:47:21 +0400 Subject: [Moscow.pm] =?koi8-r?b?0MXSxcvPxMnSz9fLwQ==?= In-Reply-To: <177371378410174@web23h.yandex.ru> References: <115421378355930@web22j.yandex.ru> <42881378404962@web16m.yandex.ru> <32489713-74D0-4157-8F5C-455C22F54ACC@lelf.lu> <12084_1378408501_5228D835_12084_153_1_20771378408498@web3m.yandex.ru> <98B9BE53-8474-423B-A315-FAFF686035F8@lelf.lu> <177371378410174@web23h.yandex.ru> Message-ID: <151541378410441@web9m.yandex.ru> Вложение в формате HTML было извлечено… URL: From vividsnow на gmail.com Thu Sep 5 12:57:36 2013 From: vividsnow на gmail.com (vividsnow) Date: Thu, 05 Sep 2013 23:57:36 +0400 Subject: [Moscow.pm] =?koi8-r?b?0MXSxcvPxMnSz9fLwQ==?= In-Reply-To: <151541378410441@web9m.yandex.ru> References: <115421378355930@web22j.yandex.ru> <42881378404962@web16m.yandex.ru> <32489713-74D0-4157-8F5C-455C22F54ACC@lelf.lu> <12084_1378408501_5228D835_12084_153_1_20771378408498@web3m.yandex.ru> <98B9BE53-8474-423B-A315-FAFF686035F8@lelf.lu> <177371378410174@web23h.yandex.ru> <151541378410441@web9m.yandex.ru> Message-ID: <5228E230.9070805@gmail.com> On 09/05/2013 11:47 PM, Nikolay Mishin wrote: > Антон, Руслан, спасибо > итог > https://github.com/mishin/gists/blob/master/gtrans2.pl > > #use utf8; > #use open qw<:std>; > use open OUT => ':encoding(cp1251)'; > > > &main; > exit; > > sub main { > translate_text( $from, $to, $text ); > } > > sub translate_text { > my ( $from, $to, $words ) = @_; > > my $url = > 'http://translate.google.com/translate_t?langpair=' > . $from . '|' > . $to > . '&text=' . '+' > . $words; > my $ua = LWP::UserAgent->new; > $ua->agent(''); > my $res = $ua->get($url); > die $res->status_line if $res->is_error; > my $html = $res->decoded_content; > > my @matches = > $html =~ > m{onmouseout="this.style.backgroundColor='#fff'">(.*?)}g; > > foreach my $translated_string (@matches) { > > # my $flag = utf8::is_utf8($translated_string); > # say "[ $flag ]"; $flag==1 > utf8::encode($translated_string); > say $translated_string; > } > } > > меня удивило, что можно закомментировать use utf8, видимо он где-то есть еще > perldoc utf8 ... Utility functions The following functions are defined in the "utf8::" package by the Perl core. You do not need to say "use utf8" to use these and in fact you should not say that unless you really want to have UTF-8 source code. ... > >> >> 05.09.2013, 23:24, "Anton Nikishaev" >: >>> >>> On Sep 5, 2013, at 11:14 PM, Nikolay Mishin >> > wrote: >>> >>> Руслан, круто, так работает >>> >>> use utf8; >>> use open OUT => ':encoding(cp1251)'; >>> >>> +use open qw<:std>; >>> >>> sub translate_text { >>> my ( $from, $to, $words ) = @_; >>> >>> my $url = >>> 'http://translate.google.com/translate_t?langpair=' >>> . $from . '|' >>> . $to >>> . '&text=' . '+' >>> . $words; >>> my $ua = LWP::UserAgent->new; >>> $ua->agent(''); >>> my $res = $ua->get($url); >>> die $res->status_line if $res->is_error; >>> my $html = $res->decoded_content; >>> >>> my @matches = >>> $html =~ >>> m{onmouseout="this.style.backgroundColor='#fff'">(.*?)}g; >>> >>> foreach my $translated_string (@matches) { >>> say $translated_string; >>> } >>> } >>> >>> https://github.com/mishin/gists/blob/master/gtrans2.pl >>> но >>> $./gtrans2.pl --from en --to ru --text "This is a test" >>> Wide character in say at ./gtrans2.pl line 63. >>> Это тест >>> >>> 05.09.2013, 22:50, "Ruslan Zakirov" >> >: >>> >>> ->decoded_content и use open OUT => ':encoding(cp1251)'; >>> >>> Тогда совсем можно не заморачиваться :) >>> >>> >>> 2013/9/5 Anton Nikishaev > >>> >>> On Sep 5, 2013, at 10:16 PM, Nikolay Mishin >> > wrote: >>> >>> Encode::from_to( $translated_string, 'koi8', 'cp1251' ); >>> >>> $perl gtrans.pl --from=en --to=ru --text='This is a test' >>> Unknown encoding 'KOI8' at gtrans.pl line 63 >>> >>> Она называется koi8-r >>> >>> 05.09.2013, 20:01, "Олег Алексеенков" >> >: >>> >>> Nikolay Mishin > писал(а) >>> в своём письме Thu, 05 Sep 2013 >>> 08:38:50 +0400: >>> >>> вопрос, можно ли строку >>> Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', >>> $translated_string ); >>> Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); >>> заменить одним преобразованием, чтобы на выходе >>> был win1251? >>> у меня этого не получилось >>> >>> а почему не работает >>> Encode::from_to( $interm_var, 'koi8', 'cp1251' ); >>> ? >>> -- >>> 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 >>> >>> >>> >>> -- >>> Best regards, Ruslan. >>> , >>> -- >>> 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 ruz на bestpractical.com Thu Sep 5 14:44:06 2013 From: ruz на bestpractical.com (Ruslan Zakirov) Date: Fri, 6 Sep 2013 01:44:06 +0400 Subject: [Moscow.pm] =?utf-8?b?0L/QtdGA0LXQutC+0LTQuNGA0L7QstC60LA=?= In-Reply-To: <115421378355930@web22j.yandex.ru> References: <115421378355930@web22j.yandex.ru> Message-ID: Нормально `use open` заюзать так: http://gist.github.com/6456522 Но еще более верно: use open ':locale'; И запускать с нужной локалью: LANG="ru_RU.cp1251" gtrans.pl Или если не может тулза установить переменную окружения, то: gtrans.pl | iconv -t cp1251 Если и так не может, то тулзу обернуть в gtrans-cp1251.sh :) Или --encoding аргумент добавить, разбор аргументов в BEGIN {}, а потом use open $encoding? (':std', ":encoding($encoding)") : ':locale'; Кошерно :) 2013/9/5 Nikolay Mishin > MoscowPM, добрый день, > > Есть скрипт > перевода гугла из командной строки > https://github.com/mishin/gists/blob/master/gtrans.pl > запускается > > gtrans.pl --from en --to ru --text "This is a test" > > из командной строки > гугл выдает строки в KOI > > я парсю вывод гугла: > > my @matches = > $html =~ > m{onmouseout="this.style.backgroundColor='#fff'">(.*?)}g; > > foreach my $translated_string (@matches) { > my $interm_var = > Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); > Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); > say $interm_var; > } > > вопрос, можно ли строку > > Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); > Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); > > заменить одним преобразованием, чтобы на выходе был win1251? > у меня этого не получилось > спасибо > > - > С уважением > Николай Мишин > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- Best regards, Ruslan. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mi на ya.ru Thu Sep 5 20:04:42 2013 From: mi на ya.ru (Nikolay Mishin) Date: Fri, 06 Sep 2013 07:04:42 +0400 Subject: [Moscow.pm] =?koi8-r?b?0MXSxcvPxMnSz9fLwQ==?= In-Reply-To: References: <115421378355930@web22j.yandex.ru> Message-ID: <10931378436682@web30m.yandex.ru> Вложение в формате HTML было извлечено… URL: From ruz на bestpractical.com Fri Sep 6 02:33:16 2013 From: ruz на bestpractical.com (Ruslan Zakirov) Date: Fri, 6 Sep 2013 13:33:16 +0400 Subject: [Moscow.pm] =?utf-8?b?0L/QtdGA0LXQutC+0LTQuNGA0L7QstC60LA=?= In-Reply-To: <10931378436682@web30m.yandex.ru> References: <115421378355930@web22j.yandex.ru> <10931378436682@web30m.yandex.ru> Message-ID: Пожалуйста. Вместо спасиба, блог пост лучше напишите в стиле было так, а стало так и темой "Unicode aware web scrapping in command line perl scripts". Или статью в Pragmatic perl :) 2013/9/6 Nikolay Mishin > отлично Руслан > 1) если поставить > > https://github.com/mishin/gists/blob/314a55efcf99289b1e18db4f49b2874671c84f9c/gtrans2.pl > use open ':std', OUT => ':encoding(cp1251)'; > выдает (uname -a > Linux ubuntu 3.8.0-29-generic #42-Ubuntu SMP Tue Aug 13 19:40:39 UTC 2013 > x86_64 x86_64 x86_64 GNU/Linux > ) > > $./gtrans2.pl --from en --to ru --text "This is a test" > "\x{00d0}" does not map to cp1251 at ./gtrans2.pl line 62. > "\x{00d1}" does not map to cp1251 at ./gtrans2.pl line 62. > ..на каждый символ > правда пардон я забыл убрать строку > > utf8::encode($translated_string);, если без нее, то (при LANG=ru_RU.UTF-8) > > $./gtrans2.pl --from en --to ru --text "This is a test" > а при > env|grep LANG > LANG=ru_RU.CP1251 > > https://github.com/mishin/gists/blob/c1c3a7b0c59f5d61c36ed7056f67d747c1c3b77d/gtrans2.pl > > ./gtrans2.pl --from en --to ru --text "This is a test" > Это тест > Все супер, значит 1-й вариант работает. ok > > 2) use open ':locale'; > > https://github.com/mishin/gists/commit/984dd22e001e689d7ab4cd20fbbe46bf9a356633#gtrans2.pl > > https://github.com/mishin/gists/blob/984dd22e001e689d7ab4cd20fbbe46bf9a356633/gtrans2.pl > > env|grep LANG > LANG=ru_RU.CP1251 > ./gtrans2.pl --from en --to ru --text "This is a test" > Это тест > > и так работает -ok > оставляем так > > отлично, спасибо за помощь > > p.s. c 20 раза http://perldoc.perl.org/utf8.html начинаешь понимать, что > здесь написано;) > > 06.09.2013, 01:44, "Ruslan Zakirov" : > > > Нормально `use open` заюзать так: > http://gist.github.com/6456522 > > Но еще более верно: > > use open ':locale'; > > И запускать с нужной локалью: > > LANG="ru_RU.cp1251" gtrans.pl > > Или если не может тулза установить переменную окружения, то: > > gtrans.pl | iconv -t cp1251 > > Если и так не может, то тулзу обернуть в gtrans-cp1251.sh :) > > Или --encoding аргумент добавить, разбор аргументов в BEGIN {}, а потом > use open $encoding? (':std', ":encoding($encoding)") : ':locale'; > > Кошерно :) > > > > 2013/9/5 Nikolay Mishin > > MoscowPM, добрый день, > > Есть скрипт > перевода гугла из командной строки > https://github.com/mishin/gists/blob/master/gtrans.pl > запускается > > gtrans.pl --from en --to ru --text "This is a test" > > из командной строки > гугл выдает строки в KOI > > я парсю вывод гугла: > > my @matches = > $html =~ > m{onmouseout="this.style.backgroundColor='#fff'">(.*?)}g; > > foreach my $translated_string (@matches) { > my $interm_var = > Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); > Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); > say $interm_var; > } > > вопрос, можно ли строку > > Convert::Cyrillic::cstocs( 'KOI8', 'UTF8', $translated_string ); > Encode::from_to( $interm_var, 'utf-8', 'cp1251' ); > > заменить одним преобразованием, чтобы на выходе был win1251? > у меня этого не получилось > спасибо > > - > С уважением > Николай Мишин > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > > -- > Best regards, Ruslan. > , > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > С уважением > Николай Мишин > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- Best regards, Ruslan. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From theathlet на yandex.ru Sat Sep 7 04:06:26 2013 From: theathlet на yandex.ru (TheAthlete) Date: Sat, 07 Sep 2013 14:06:26 +0300 Subject: [Moscow.pm] =?utf-8?b?0YDQsNC30LLQtdGA0YLRi9Cy0LDQvdC40LUgUFNH?= =?utf-8?b?SSDQv9GA0LjQu9C+0LbQtdC90LjRjyDQuNGB0L/QvtC70YzQt9GD0Y8gbW9k?= =?utf-8?q?=5Fperl_2?= Message-ID: Здравстуйте! Пытаюсь развернуть PSGI-приложение c помощью mod_perl 2, Plack в .htaccess. В документации Plack написано, что в httpd.conf нужно написать следующие строки SetHandler perl-script PerlResponseHandler Plack::Handler::Apache2 PerlSetVar psgi_app /path/to/app.psgi Но если использовать .htaccess, то нужно писать следующим образом: SetHandler perl-script PerlResponseHandler Plack::Handler::Apache2 PerlSetVar psgi_app /path/to/app.psgi т.к. не поддерживается в .htaccess. В результате error.log выдается ошибка: Your request path is '/' and it doesn't match your Location(Match) '/home/user/vhosts/test.org/'. This should be due to the configuration error. See perldoc Plack::Handler::Apache2 for details. Посмотрел в исходик Plack::Handler::Apache2, нашел такой код: # The method for PH::Apache2::Registry to override. sub fixup_path { my ($class, $r, $env) = @_; # $env->{PATH_INFO} is created from unparsed_uri so it is raw. my $path_info = $env->{PATH_INFO} || ''; # Get argument of or directive # This may be string or regexp and we can't know either. my $location = $r->location; # Let's *guess* if we're in a LocationMatch directive if ($location eq '/') { # could be handled as a 'root' case where we make # everything PATH_INFO and empty SCRIPT_NAME as in the PSGI spec $env->{SCRIPT_NAME} = ''; } elsif ($path_info =~ s{^($location)/?}{/}) { $env->{SCRIPT_NAME} = $1 || ''; } else { # Apache's is matched but here is not. # This is something wrong. We can only respect original. $r->server->log_error( "Your request path is '$path_info' and it doesn't match your Location(Match) '$location'. " . "This should be due to the configuration error. See perldoc Plack::Handler::Apache2 for details." ); } $env->{PATH_INFO} = $path_info; } Т.е. здесь не обрабатывается вариант использования данного модуля в .htaccess (т.к. запрещен). Подскажите пожайлуста, как можно решить данную проблему. Я решил следующим образом: добавил переменную is_htaccess yes и проверяю ее. Если она установлена, то $location присваиваем '/': # The method for PH::Apache2::Registry to override. sub fixup_path { my ($class, $r, $env) = @_; # $env->{PATH_INFO} is created from unparsed_uri so it is raw. my $path_info = $env->{PATH_INFO} || ''; # Get argument of or directive # This may be string or regexp and we can't know either. my $location = $r->location; $location = '/' if $r->dir_config('is_htaccess') eq 'yes'; # Let's *guess* if we're in a LocationMatch directive if ($location eq '/') { # could be handled as a 'root' case where we make # everything PATH_INFO and empty SCRIPT_NAME as in the PSGI spec $env->{SCRIPT_NAME} = ''; } elsif ($path_info =~ s{^($location)/?}{/}) { $env->{SCRIPT_NAME} = $1 || ''; } else { # Apache's is matched but here is not. # This is something wrong. We can only respect original. $r->server->log_error( "Your request path is '$path_info' and it doesn't match your Location(Match) '$location'. " . "This should be due to the configuration error. See perldoc Plack::Handler::Apache2 for details." ); } $env->{PATH_INFO} = $path_info; } Файл .htaccess unshift @INC, '/path/to/custom/plack/lib'; SetHandler perl-script PerlResponseHandler Plack::Handler::Apache2 PerlSetVar psgi_app /home/user/vhosts/test.org/app.psgi PerlSetVar is_htaccess yes Данный код работает, какие еще есть варианты, замечания? Можно как-то по-другому узнать, что это файл .htaccess? From mail на knutov.com Sat Sep 7 05:07:31 2013 From: mail на knutov.com (Nick Knutov) Date: Sat, 07 Sep 2013 18:07:31 +0600 Subject: [Moscow.pm] =?koi8-r?b?0sHa18XS1NnXwc7JxSBQU0dJINDSyczP1sXOydEg?= =?koi8-r?b?ydPQz8zY2tXRIG1vZF9wZXJsIDI=?= In-Reply-To: References: Message-ID: <522B1703.4040309@knutov.com> (Мне просто любопытно) А в чем практический смысл запускать Plack под mod_perl? 07.09.2013 17:06, TheAthlete пишет: > Пытаюсь развернуть PSGI-приложение c помощью mod_perl 2 -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From denis.fedoseev на gmail.com Sun Sep 8 01:45:42 2013 From: denis.fedoseev на gmail.com (=?koi8-r?B?5MXOydMg5sXEz9PFxdc=?=) Date: Sun, 8 Sep 2013 12:45:42 +0400 Subject: [Moscow.pm] =?koi8-r?b?0sHa18XS1NnXwc7JxSBQU0dJINDSyczP1sXOydEg?= =?koi8-r?b?ydPQz8zY2tXRIG1vZF9wZXJsIDI=?= In-Reply-To: <522B1703.4040309@knutov.com> References: <522B1703.4040309@knutov.com> Message-ID: Тем что потом можно выкинуть mod_perl, не меняя приложение, не? On Sep 7, 2013, at 4:07 PM, Nick Knutov wrote: > (Мне просто любопытно) > > А в чем практический смысл запускать Plack под mod_perl? > > > 07.09.2013 17:06, TheAthlete пишет: >> Пытаюсь развернуть PSGI-приложение c помощью mod_perl 2 > > -- > Best Regards, > Nick Knutov > http://knutov.com > ICQ: 272873706 > Voice: +7-904-84-23-130 > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org From misha на rattler.kiev.ua Sun Sep 8 01:52:28 2013 From: misha на rattler.kiev.ua (Michael Bochkaryov) Date: Sun, 8 Sep 2013 11:52:28 +0300 Subject: [Moscow.pm] =?koi8-r?b?0sHa18XS1NnXwc7JxSBQU0dJINDSyczP1sXOydEg?= =?koi8-r?b?ydPQz8zY2tXRIG1vZF9wZXJsIDI=?= In-Reply-To: References: <522B1703.4040309@knutov.com> Message-ID: Как вариант, наличием наработок под apache (например, специфичных модулей) помимо перловки. Или той же перловки, которую хочется поэтапно переводить с classic mod_perl на PSGI. Regards, Michael Bochkaryov 2013/9/8 Денис Федосеев > Тем что потом можно выкинуть mod_perl, не меняя приложение, не? > > > (Мне просто любопытно) > > > > А в чем практический смысл запускать Plack под mod_perl? > > > >> Пытаюсь развернуть PSGI-приложение c помощью mod_perl 2 > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From theathlet на yandex.ru Sun Sep 8 23:19:42 2013 From: theathlet на yandex.ru (TheAthlete) Date: Mon, 09 Sep 2013 09:19:42 +0300 Subject: [Moscow.pm] =?utf-8?b?0YDQsNC30LLQtdGA0YLRi9Cy0LDQvdC40LUgUFNH?= =?utf-8?b?SSDQv9GA0LjQu9C+0LbQtdC90LjRjyDQuNGB0L/QvtC70YzQt9GD0Y8gbW9k?= =?utf-8?q?=5Fperl_2?= In-Reply-To: <522B1703.4040309@knutov.com> References: <522B1703.4040309@knutov.com> Message-ID: Например, запустить приложение на shared-хостинге (отсюда и требование использования .htaccess вместо добавления обработчика в httpd.conf). Плюс к тому же, PSGI создавался как раз как связующее звено между веб-серверами и веб-приложениями. В презультате этот сайт можно будет перенести на другой сервер, например на Starman, Twiggy и т.д. ничего не меняя. Nick Knutov писал(а) в своём письме Sat, 07 Sep 2013 15:07:31 +0300: > (Мне просто любопытно) > > А в чем практический смысл запускать Plack под mod_perl? > > > 07.09.2013 17:06, TheAthlete пишет: >> Пытаюсь развернуть PSGI-приложение c помощью mod_perl 2 > -- Написано в почтовом клиенте браузера Opera: http://www.opera.com/mail/ From mail на knutov.com Mon Sep 9 03:32:57 2013 From: mail на knutov.com (Nick Knutov) Date: Mon, 09 Sep 2013 16:32:57 +0600 Subject: [Moscow.pm] =?koi8-r?b?0sHa18XS1NnXwc7JxSBQU0dJINDSyczP1sXOydEg?= =?koi8-r?b?ydPQz8zY2tXRIG1vZF9wZXJsIDI=?= In-Reply-To: References: <522B1703.4040309@knutov.com> Message-ID: <522DA3D9.9080009@knutov.com> Тогда пусть тут будет немного рекламы - наш шаред хостинг - http://dobrohost.ru - имеет прекрасную поддержку FastCGI. И мы очень любим перл, поэтому там все очень хорошо. .htaccess и все прочее есть. Если будут вопросы и желания нестандартных тарифов - можно писать мне на емейл - nick на knutov.com Поддержка запуска через старман с вешаньем на сокет у нас тоже условно есть, но вариант с FastCGI сильно лучше оказался на практике. 09.09.2013 12:19, TheAthlete пишет: > Например, запустить приложение на shared-хостинге (отсюда и требование > использования .htaccess вместо добавления обработчика в httpd.conf). > Плюс к тому же, PSGI создавался как раз как связующее звено между > веб-серверами и веб-приложениями. В презультате этот сайт можно будет > перенести на другой сервер, например на Starman, Twiggy и т.д. ничего не > меняя. > > Nick Knutov писал(а) в своём письме Sat, 07 Sep 2013 > 15:07:31 +0300: > >> (Мне просто любопытно) >> >> А в чем практический смысл запускать Plack под mod_perl? -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From kopytov на webhackers.ru Mon Sep 9 07:47:29 2013 From: kopytov на webhackers.ru (Dmitry Kopytov) Date: Mon, 9 Sep 2013 18:47:29 +0400 Subject: [Moscow.pm] =?utf-8?b?0YDQsNC30LLQtdGA0YLRi9Cy0LDQvdC40LUgUFNH?= =?utf-8?b?SSDQv9GA0LjQu9C+0LbQtdC90LjRjyDQuNGB0L/QvtC70YzQt9GD0Y8gbW9k?= =?utf-8?q?=5Fperl_2?= In-Reply-To: References: <522B1703.4040309@knutov.com> Message-ID: <20130909144729.GA27434@acer> On Mon, Sep 09, 2013 at 09:19:42AM +0300, TheAthlete wrote: > Например, запустить приложение на shared-хостинге (отсюда и > требование использования .htaccess вместо добавления обработчика в > httpd.conf). Рекомендую проверить, собран ли Апач у вашего хостера с поддержкой mod_proxy и mod_rewrite. Если да, можно запустить на нём Starman (или любой другой PSGI-сервер), повесить на локальный интерфейс и проксировать туда через .htaccess запросы на динамику. Пример .htaccess: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*/)$ http://127.0.0.1:9001/$1 [P,L] В этом способе есть очевидные плюсы: проект можно запустить практически на любом хостинге, а не только на специализированном (mod_perl/FastCGI не нужны). Минус, правда, тоже есть ? надо следить за веб-сервером через крон и поднимать в случае если он упал (например, при перезагрузке сервера), но это довольно просто делается. -- Dmitry Kopytov, Webhackers kopytov на webhackers.ru | https://www.webhackers.ru From mail на knutov.com Mon Sep 9 08:14:33 2013 From: mail на knutov.com (Nick Knutov) Date: Mon, 09 Sep 2013 21:14:33 +0600 Subject: [Moscow.pm] =?utf-8?b?0YDQsNC30LLQtdGA0YLRi9Cy0LDQvdC40LUgUFNH?= =?utf-8?b?SSDQv9GA0LjQu9C+0LbQtdC90LjRjyDQuNGB0L/QvtC70YzQt9GD0Y8gbW9k?= =?utf-8?q?=5Fperl_2?= In-Reply-To: <20130909144729.GA27434@acer> References: <522B1703.4040309@knutov.com> <20130909144729.GA27434@acer> Message-ID: <522DE5D9.8080602@knutov.com> У этого есть другой минус - на шаред хостинге в общем случае нельзя ничего вешать на локальный порт. И отдельно - на шаред хостинге весьма странно ожидать, что запущенные долгоработающие процессы будут долго жить и не будут прибиты каким-нибудь мониторингом. Искать mod_proxy в апаче, когда весь мир уже много лет как от этого отказался и использует для подобных целей nginx - не менее странно. 09.09.2013 20:47, Dmitry Kopytov пишет: > Рекомендую проверить, собран ли Апач у вашего хостера с поддержкой > mod_proxy и mod_rewrite. Если да, можно запустить на нём Starman (или > любой другой PSGI-сервер), повесить на локальный интерфейс и > проксировать туда через .htaccess запросы на динамику. -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From evgeniy на kosov.su Mon Sep 9 22:58:57 2013 From: evgeniy на kosov.su (Evgeniy Kosov) Date: Tue, 10 Sep 2013 09:58:57 +0400 Subject: [Moscow.pm] =?koi8-r?b?0sHa18XS1NnXwc7JxSBQU0dJINDSyczP1sXOydEg?= =?koi8-r?b?ydPQz8zY2tXRIG1vZF9wZXJsIDI=?= In-Reply-To: <522DE5D9.8080602@knutov.com> References: <522B1703.4040309@knutov.com> <20130909144729.GA27434@acer> <522DE5D9.8080602@knutov.com> Message-ID: <522EB521.4050203@kosov.su> On 09.09.2013 19:14, Nick Knutov wrote: > У этого есть другой минус - на шаред хостинге в общем случае нельзя > ничего вешать на локальный порт. И отдельно - на шаред хостинге весьма > странно ожидать, что запущенные долгоработающие процессы будут долго > жить и не будут прибиты каким-нибудь мониторингом. > > Искать mod_proxy в апаче, когда весь мир уже много лет как от этого > отказался и использует для подобных целей nginx - не менее странно. Топикстартер не сказал ни слова про nginx. С чего вы взяли, что он там есть и конфигурируем со стороны пользователя? > > 09.09.2013 20:47, Dmitry Kopytov пишет: >> Рекомендую проверить, собран ли Апач у вашего хостера с поддержкой >> mod_proxy и mod_rewrite. Если да, можно запустить на нём Starman (или >> любой другой PSGI-сервер), повесить на локальный интерфейс и >> проксировать туда через .htaccess запросы на динамику. > From theathlet на yandex.ru Tue Sep 10 06:37:22 2013 From: theathlet на yandex.ru (TheAthlete) Date: Tue, 10 Sep 2013 16:37:22 +0300 Subject: [Moscow.pm] =?utf-8?b?0YDQsNC30LLQtdGA0YLRi9Cy0LDQvdC40LUgUFNH?= =?utf-8?b?SSDQv9GA0LjQu9C+0LbQtdC90LjRjyDQuNGB0L/QvtC70YzQt9GD0Y8gbW9k?= =?utf-8?q?=5Fperl_2?= In-Reply-To: References: <522B1703.4040309@knutov.com> Message-ID: На шаред-хостинге имеется mod_proxy, mod_rewrite и nginx From kopytov на webhackers.ru Wed Sep 11 06:50:59 2013 From: kopytov на webhackers.ru (Dmitry Kopytov) Date: Wed, 11 Sep 2013 17:50:59 +0400 Subject: [Moscow.pm] =?utf-8?b?0YDQsNC30LLQtdGA0YLRi9Cy0LDQvdC40LUgUFNH?= =?utf-8?b?SSDQv9GA0LjQu9C+0LbQtdC90LjRjyDQuNGB0L/QvtC70YzQt9GD0Y8gbW9k?= =?utf-8?q?=5Fperl_2?= In-Reply-To: <522DE5D9.8080602@knutov.com> References: <522B1703.4040309@knutov.com> <20130909144729.GA27434@acer> <522DE5D9.8080602@knutov.com> Message-ID: <20130911135058.GA2070@acer> On Mon, Sep 09, 2013 at 09:14:33PM +0600, Nick Knutov wrote: > У этого есть другой минус - на шаред хостинге в общем случае нельзя > ничего вешать на локальный порт. И отдельно - на шаред хостинге весьма > странно ожидать, что запущенные долгоработающие процессы будут долго > жить и не будут прибиты каким-нибудь мониторингом. Это довольно спорно, но я вполне допускаю, что существуют хостеры, которые запрещают слушать локальный интерфейс и отстреливают процессы пользователей. Но их скорее всего немного, по крайней мере я ни разу с таким не сталкивался. > Искать mod_proxy в апаче, когда весь мир уже много лет как от этого > отказался и использует для подобных целей nginx - не менее странно. Из шаред-хостинга Апач никуда не уходит хотя бы потому что все промышленные решения (cPanel, ISPmanager и т. п.) рассчитаны именно на него. И в той же cPanel Апач собирается по умолчанию с mod_proxy. Если самому настраивать сервер, то конечно можно (и нужно) обойтись без Апача и всего этого. Но свой сервер дороже, я же говорю о том как запустить современное PSGI-приложение на хостинге за 100 рублей. -- Dmitry Kopytov, Webhackers kopytov на webhackers.ru | https://www.webhackers.ru From ruz на bestpractical.com Wed Sep 11 10:31:26 2013 From: ruz на bestpractical.com (Ruslan Zakirov) Date: Wed, 11 Sep 2013 21:31:26 +0400 Subject: [Moscow.pm] =?utf-8?b?0YDQsNC30LLQtdGA0YLRi9Cy0LDQvdC40LUgUFNH?= =?utf-8?b?SSDQv9GA0LjQu9C+0LbQtdC90LjRjyDQuNGB0L/QvtC70YzQt9GD0Y8g?= =?utf-8?q?mod=5Fperl_2?= In-Reply-To: <20130911135058.GA2070@acer> References: <522B1703.4040309@knutov.com> <20130909144729.GA27434@acer> <522DE5D9.8080602@knutov.com> <20130911135058.GA2070@acer> Message-ID: Лучше бы проблему решили... Делов наверное на час 2013/9/11 Dmitry Kopytov > On Mon, Sep 09, 2013 at 09:14:33PM +0600, Nick Knutov wrote: > > У этого есть другой минус - на шаред хостинге в общем случае нельзя > > ничего вешать на локальный порт. И отдельно - на шаред хостинге весьма > > странно ожидать, что запущенные долгоработающие процессы будут долго > > жить и не будут прибиты каким-нибудь мониторингом. > > Это довольно спорно, но я вполне допускаю, что существуют хостеры, > которые запрещают слушать локальный интерфейс и отстреливают процессы > пользователей. Но их скорее всего немного, по крайней мере я ни разу с > таким не сталкивался. > > > Искать mod_proxy в апаче, когда весь мир уже много лет как от этого > > отказался и использует для подобных целей nginx - не менее странно. > > Из шаред-хостинга Апач никуда не уходит хотя бы потому что все > промышленные решения (cPanel, ISPmanager и т. п.) рассчитаны именно на > него. И в той же cPanel Апач собирается по умолчанию с mod_proxy. Если > самому настраивать сервер, то конечно можно (и нужно) обойтись без Апача > и всего этого. Но свой сервер дороже, я же говорю о том как запустить > современное PSGI-приложение на хостинге за 100 рублей. > > -- > Dmitry Kopytov, Webhackers > kopytov на webhackers.ru | https://www.webhackers.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Best regards, Ruslan. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From dzirtik на gmail.com Fri Sep 13 02:01:33 2013 From: dzirtik на gmail.com (=?KOI8-R?B?8MHXxcwg/cXSwsnOyc4=?=) Date: Fri, 13 Sep 2013 13:01:33 +0400 Subject: [Moscow.pm] =?koi8-r?b?92PU0sXewSBNb3Njb3cucG0=?= Message-ID: Привет, друзья. Следующая встреча Moscow.pm уже совсем скоро 3 октября. И я снова обращаюсь к вам с приглашением выступить на ней. Жду идеи ваши докладов, с удовольствием помогу с подготовкой презентации и выступления. Спасибо. -- С Уважением, Щербинин Павел ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From simashin на gmail.com Fri Sep 13 02:24:04 2013 From: simashin на gmail.com (Alexander Simashin) Date: Fri, 13 Sep 2013 13:24:04 +0400 Subject: [Moscow.pm] =?koi8-r?b?99PU0sXewSBNb3Njb3cucG0gNCDTxc7U0cLS0SAy?= =?koi8-r?b?MDEzIMcu?= In-Reply-To: <130741378355114@web22g.yandex.ru> References: <130741378355114@web22g.yandex.ru> Message-ID: Видео докладов выкладывается куда нибудь? 2013/9/5 Nikolay Mishin > MoscowPM, доброе утро, хоть и спать охота;)) > > Паш, Спасибо за вкусную пиццу, > щас полечу переделывать https://gist.github.com/mishin/5925468 (* > get_yandex.pl*) на AnyEvent, он мне очень понравился, > а Руслан Закиров прочитал отличную сказку на ночь (To *subscribe* to > perl5-porters, send an email to perl5-porters-subscribe на perl.org) > никогда я не был так близок к редактированию исходников perl! ;) > > > 02.09.2013, 18:41, "Павел Щербинин" : > > Добрый день! > > 4 сентября (Внимание: в среду!!!), мы в очередной раз открываем двери > сообществу Moscow.pm (группа московских Perl-программистов). > > В рамках мероприятия у вас есть эксклюзивная возможность послушать доклады > лучших специалистов, поделиться опытом друг с другом. > > *Место и время:* 4 сентября с 19.30 до 22.00, переговорная No.1 на 2 этаже > офис компании Mail.Ru Group > > В этот раз встреча будет посвящена прошедшему совсем недавно YAPC::Europe > в Киеве. Несколько докладов будут представлены непосредственно авторами, > другие будут переводом наиболее интересных докладов с конференции. > > В программе будут доклады: > > 1. Asynchronously Fantastic. Sawyer X (перевод Павел Щербинин, > программист, компании Mail.Ru Group) > > - Новый век, век неблокирующий асинхронных приложений. Если вы не знакомы > с evebt loop, то вы потеряны! Что я несу? Я пьян? Сколько из этих слов > полностью выдуманы? На эти и другие вопросы я отвечу в этом докладе! > > 2. Распределенный запуск cron-скриптов. Олег Комаров, разработчик, > компания Яндекс. > > - общие соображения (почему и зачем) > - потенциальные проблемы (как не надо делать) > - switchman -- flock-подобная утилита для распределенных блокировок и > семафоров > > > 3. Hacking perl5 core. Руслан Закиров, Best Practical Solutions > > -Изменять ядро perl5 -- это не так трудно, а еще и возможно, полезно и > весело. > > > 4. Implementing Two Factor Authentication. Max Maischein (перевод Павел > Щербинин программист, компании Mail.Ru Group) > > -Реализация RFC 6238 в Perl при помощи "Google Authenticator". > Обсудим вопросы, а также проблемы, которые приходят с двухфакторной > аутентификацией. > > > Трансляцию мероприятия вы сможете посмотреть на странице: > http://corp.mail.ru/Moscow.pm > > > > Что бы мы могли лучше организовать встречу, пожалуйста, зарегистрируйтесь > здесь: http://moscowpm0409.timepad.ru/event/79657/ > > > > Там же, вы можете оставить информацию о том, какие темы вы хотите обсудить > в рамках этой или следующей встречи - это поможет нам сделать их более > информативными. > > Мы ждем вас! > > -- > С Уважением, > Щербинин Павел > , > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > С уважением > Николай Мишин > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From dzirtik на gmail.com Fri Sep 13 02:50:28 2013 From: dzirtik на gmail.com (=?KOI8-R?B?8MHXxcwg/cXSwsnOyc4=?=) Date: Fri, 13 Sep 2013 13:50:28 +0400 Subject: [Moscow.pm] =?koi8-r?b?99PU0sXewSBNb3Njb3cucG0gNCDTxc7U0cLS0SAy?= =?koi8-r?b?MDEzIMcu?= In-Reply-To: References: <130741378355114@web22g.yandex.ru> Message-ID: Начинаю собирать сюда, все что пока есть. https://www.youtube.com/channel/UCXG2gjCfXDkvg9TfPmNXPIg 13 сентября 2013 г., 13:24 пользователь Alexander Simashin < simashin на gmail.com> написал: > Видео докладов выкладывается куда нибудь? > > > 2013/9/5 Nikolay Mishin > >> MoscowPM, доброе утро, хоть и спать охота;)) >> >> Паш, Спасибо за вкусную пиццу, >> щас полечу переделывать https://gist.github.com/mishin/5925468 (* >> get_yandex.pl*) на AnyEvent, он мне очень понравился, >> а Руслан Закиров прочитал отличную сказку на ночь (To *subscribe* to >> perl5-porters, send an email to perl5-porters-subscribe на perl.org) >> никогда я не был так близок к редактированию исходников perl! ;) >> >> >> 02.09.2013, 18:41, "Павел Щербинин" : >> >> Добрый день! >> >> 4 сентября (Внимание: в среду!!!), мы в очередной раз открываем двери >> сообществу Moscow.pm (группа московских Perl-программистов). >> >> В рамках мероприятия у вас есть эксклюзивная возможность послушать >> доклады лучших специалистов, поделиться опытом друг с другом. >> >> *Место и время:* 4 сентября с 19.30 до 22.00, переговорная No.1 на 2 >> этаже офис компании Mail.Ru Group >> >> В этот раз встреча будет посвящена прошедшему совсем недавно YAPC::Europe >> в Киеве. Несколько докладов будут представлены непосредственно авторами, >> другие будут переводом наиболее интересных докладов с конференции. >> >> В программе будут доклады: >> >> 1. Asynchronously Fantastic. Sawyer X (перевод Павел Щербинин, >> программист, компании Mail.Ru Group) >> >> - Новый век, век неблокирующий асинхронных приложений. Если вы не знакомы >> с evebt loop, то вы потеряны! Что я несу? Я пьян? Сколько из этих слов >> полностью выдуманы? На эти и другие вопросы я отвечу в этом докладе! >> >> 2. Распределенный запуск cron-скриптов. Олег Комаров, разработчик, >> компания Яндекс. >> >> - общие соображения (почему и зачем) >> - потенциальные проблемы (как не надо делать) >> - switchman -- flock-подобная утилита для распределенных блокировок и >> семафоров >> >> >> 3. Hacking perl5 core. Руслан Закиров, Best Practical Solutions >> >> -Изменять ядро perl5 -- это не так трудно, а еще и возможно, полезно и >> весело. >> >> >> 4. Implementing Two Factor Authentication. Max Maischein (перевод Павел >> Щербинин программист, компании Mail.Ru Group) >> >> -Реализация RFC 6238 в Perl при помощи "Google Authenticator". >> Обсудим вопросы, а также проблемы, которые приходят с двухфакторной >> аутентификацией. >> >> >> Трансляцию мероприятия вы сможете посмотреть на странице: >> http://corp.mail.ru/Moscow.pm >> >> >> >> Что бы мы могли лучше организовать встречу, пожалуйста, зарегистрируйтесь >> здесь: http://moscowpm0409.timepad.ru/event/79657/ >> >> >> >> Там же, вы можете оставить информацию о том, какие темы вы хотите >> обсудить в рамках этой или следующей встречи - это поможет нам сделать их >> более информативными. >> >> Мы ждем вас! >> >> -- >> С Уважением, >> Щербинин Павел >> , >> >> -- >> 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 > > -- С Уважением, Щербинин Павел ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From khedin на gmail.com Fri Sep 13 07:16:15 2013 From: khedin на gmail.com (Konstantin S. Uvarin) Date: Fri, 13 Sep 2013 18:16:15 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLQvtC70YjQtdCx0L3Ri9C5INCx0LDQsyDRgSBB?= =?utf-8?q?nyEvent=3A=3Apostpone?= Message-ID: <1379081775.3517.100.camel@lodin-pad> Приветствую. ############## #!/usr/bin/perl -w use strict; require AnyEvent; # not use my $cv = AnyEvent->condvar; print 1; AnyEvent::postpone{ print 3; $cv->send; }; print 2; $cv->recv; print 4; ############## perl script.pl выводит 1324. Т.е. код, который postpone ("выполнить на следующем витке event loop"), на самом деле выполняется прямо сейчас. Если require заменить на use (или просто perl -MAnyEvent script.pl), всё нормально: 1234. Или если написать AnyEvent::postpone( sub { ... } ); (так, видимо, и сделаем, т.к. не хотим грузить AE в BEGIN-е). Такое ощущение, что foo{ code; } трактуется как "вызвать foo( результат code )". Почему так? Я ожидал чего-то такого: perl -we 'sub foo{ print shift }; foo{ print 2 };' Odd number of elements in anonymous hash at -e line 1. 2HASH(0x91ff7ec) А, да, perl 5.14.2 (linux) и 5.14.4 (freebsd) -- Konstantin S. Uvarin From mons на cpan.org Fri Sep 13 07:45:50 2013 From: mons на cpan.org (Mons Anderson) Date: Fri, 13 Sep 2013 18:45:50 +0400 Subject: [Moscow.pm] =?windows-1251?b?wu7r+OXh7fvpIOHg4yDxIEFueUV2ZW50Ojpw?= =?windows-1251?q?ostpone?= In-Reply-To: <1379081775.3517.100.camel@lodin-pad> References: <1379081775.3517.100.camel@lodin-pad> Message-ID: <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> Т.к. вы не делали use AnyEvent (require in compile time), то вы не получили прототип функции AE::postpone соответственно писать AE::cv { ? } или AE::postpone { ? } не имеете права. On 13.09.2013, at 18:16, "Konstantin S. Uvarin" wrote: > Приветствую. > > ############## > #!/usr/bin/perl -w > > use strict; > require AnyEvent; # not use > > my $cv = AnyEvent->condvar; > print 1; > AnyEvent::postpone{ print 3; $cv->send; }; > print 2; > $cv->recv; > print 4; > ############## > > perl script.pl выводит 1324. > > Т.е. код, который postpone ("выполнить на следующем витке event loop"), > на самом деле выполняется прямо сейчас. > > Если require заменить на use (или просто perl -MAnyEvent script.pl), всё > нормально: 1234. > > Или если написать AnyEvent::postpone( sub { ... } ); (так, видимо, и > сделаем, т.к. не хотим грузить AE в BEGIN-е). > > Такое ощущение, что foo{ code; } трактуется как "вызвать foo( результат > code )". Почему так? > > Я ожидал чего-то такого: > > perl -we 'sub foo{ print shift }; foo{ print 2 };' > Odd number of elements in anonymous hash at -e line 1. > 2HASH(0x91ff7ec) > > А, да, perl 5.14.2 (linux) и 5.14.4 (freebsd) > > -- > Konstantin S. Uvarin > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org From mons на cpan.org Fri Sep 13 07:48:07 2013 From: mons на cpan.org (Mons Anderson) Date: Fri, 13 Sep 2013 18:48:07 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLQvtC70YjQtdCx0L3Ri9C5INCx0LDQsyDRgSBB?= =?utf-8?q?nyEvent=3A=3Apostpone?= In-Reply-To: <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> References: <1379081775.3517.100.camel@lodin-pad> <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> Message-ID: Ах, ну да: http://perldoc.perl.org/perlsub.html#Prototypes читать до наступления просветления ) cmp: sub foo { say "@_" } vs sub foo(&) { say "@_" } foo { }; 2013/9/13 Mons Anderson : > Т.к. вы не делали use AnyEvent (require in compile time), то вы не получили прототип функции AE::postpone > соответственно писать > > AE::cv { ? } > или > AE::postpone { ? } > > не имеете права. > > On 13.09.2013, at 18:16, "Konstantin S. Uvarin" wrote: > >> Приветствую. >> >> ############## >> #!/usr/bin/perl -w >> >> use strict; >> require AnyEvent; # not use >> >> my $cv = AnyEvent->condvar; >> print 1; >> AnyEvent::postpone{ print 3; $cv->send; }; >> print 2; >> $cv->recv; >> print 4; >> ############## >> >> perl script.pl выводит 1324. >> >> Т.е. код, который postpone ("выполнить на следующем витке event loop"), >> на самом деле выполняется прямо сейчас. >> >> Если require заменить на use (или просто perl -MAnyEvent script.pl), всё >> нормально: 1234. >> >> Или если написать AnyEvent::postpone( sub { ... } ); (так, видимо, и >> сделаем, т.к. не хотим грузить AE в BEGIN-е). >> >> Такое ощущение, что foo{ code; } трактуется как "вызвать foo( результат >> code )". Почему так? >> >> Я ожидал чего-то такого: >> >> perl -we 'sub foo{ print shift }; foo{ print 2 };' >> Odd number of elements in anonymous hash at -e line 1. >> 2HASH(0x91ff7ec) >> >> А, да, perl 5.14.2 (linux) и 5.14.4 (freebsd) >> >> -- >> Konstantin S. Uvarin >> >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > -- Best wishes, Vladimir V. Perepelitsa aka Mons Anderson , http://github.com/Mons From khedin на gmail.com Fri Sep 13 08:48:31 2013 From: khedin на gmail.com (Konstantin S. Uvarin) Date: Fri, 13 Sep 2013 19:48:31 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLQvtC70YjQtdCx0L3Ri9C5INCx0LDQsyDRgSBB?= =?utf-8?q?nyEvent=3A=3Apostpone?= In-Reply-To: <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> References: <1379081775.3517.100.camel@lodin-pad> <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> Message-ID: <1379087311.3517.113.camel@lodin-pad> Приветствую. >не получили прототип >не имеете права Это-то я понимаю. Меня, скорее, удивило, ЧТО происходит в отсутствие прототипа. Ну и то, что AnyEvent это проглотил и не сказал не слова (на самом деле он ловит unhandled exception в event loop, когда пытается выполнить "результат code"->(). Но пользователь об этом не факт что узнает.). Вообще я был бы рад, если бы из нижеприведённого корректным кодом был бы только вариант с прототипом. perl -wle 'foo{ 3 => print "xx" }; sub foo { print shift }' perl -wle 'sub foo; foo{ 3 => print "xx" }; sub foo { print shift }' perl -wle 'sub foo(&); foo{ 3 => print "xx" }; sub foo (&) { print shift }' On Fri, 2013-09-13 at 18:45 +0400, Mons Anderson wrote: > Т.к. вы не делали use AnyEvent (require in compile time), то вы не получили прототип функции AE::postpone > соответственно писать > > AE::cv { ? } > или > AE::postpone { ? } > > не имеете права. > > On 13.09.2013, at 18:16, "Konstantin S. Uvarin" wrote: > > > Приветствую. > > > > ############## > > #!/usr/bin/perl -w > > > > use strict; > > require AnyEvent; # not use > > > > my $cv = AnyEvent->condvar; > > print 1; > > AnyEvent::postpone{ print 3; $cv->send; }; > > print 2; > > $cv->recv; > > print 4; > > ############## > > > > perl script.pl выводит 1324. > > > > Т.е. код, который postpone ("выполнить на следующем витке event loop"), > > на самом деле выполняется прямо сейчас. > > > > Если require заменить на use (или просто perl -MAnyEvent script.pl), всё > > нормально: 1234. > > > > Или если написать AnyEvent::postpone( sub { ... } ); (так, видимо, и > > сделаем, т.к. не хотим грузить AE в BEGIN-е). > > > > Такое ощущение, что foo{ code; } трактуется как "вызвать foo( результат > > code )". Почему так? > > > > Я ожидал чего-то такого: > > > > perl -we 'sub foo{ print shift }; foo{ print 2 };' > > Odd number of elements in anonymous hash at -e line 1. > > 2HASH(0x91ff7ec) > > > > А, да, perl 5.14.2 (linux) и 5.14.4 (freebsd) > > > > -- > > Konstantin S. Uvarin > > > > > > -- > > Moscow.pm mailing list > > moscow-pm на pm.org | http://moscow.pm.org > From ivan на serezhkin.com Fri Sep 13 08:52:52 2013 From: ivan на serezhkin.com (Vany Serezhkin) Date: Fri, 13 Sep 2013 15:52:52 -0000 Subject: [Moscow.pm] =?utf-8?b?0J/QtdGA0LXQstC+0LQgTW9kZXJuIFBlcmwgQm9v?= =?utf-8?q?k?= Message-ID: Ядерные, или основные, базовые. В смысле модулей - слово сочетание из коробки или основной поставки. WBR, Vany -------- Original message -------- Subject: Re: [Moscow.pm] Перевод Modern Perl Book From: Alessandro Gorohovski To: "Moscow.pm group" CC: Jack of Shadows писал(а) в своём письме Thu,  02 May 2013 16:26:15 +0300: >> 1. corе >> Простое и короткое слово. Может употребляться в следующих  >> словосочетаниях: >> core module >> core library >> core documentation >> core developers >> >> > Очевидно же: > Ядрёные модули! Я бы использовал: модуль ядра > Ядрёные библиотеки! библиотека ядра > Ядрёная документация! документация по ядру > Ядрёные разработчики! разработчики ядра > > :-D -- ANG -- Moscow.pm mailing list moscow-pm на pm.org | http://moscow.pm.org ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chesnokov.ilya на gmail.com Fri Sep 13 10:30:23 2013 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Fri, 13 Sep 2013 21:30:23 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLQvtC70YjQtdCx0L3Ri9C5INCx0LDQsyDRgSBB?= =?utf-8?q?nyEvent=3A=3Apostpone?= In-Reply-To: <1379087311.3517.113.camel@lodin-pad> References: <1379081775.3517.100.camel@lodin-pad> <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> <1379087311.3517.113.camel@lodin-pad> Message-ID: 13 сентября 2013 г., 19:48 пользователь Konstantin S. Uvarin < khedin на gmail.com> написал: > когда пытается > выполнить "результат code"->(). Это вовсе не code->() - это обычный hashref, который потом и передается в качестве аргумента (как это видно из второго примера). Но пользователь об этом не факт что > узнает.). > > Вообще я был бы рад, если бы из нижеприведённого корректным кодом был > бы только вариант с прототипом. > > perl -wle 'foo{ 3 => print "xx" }; sub foo { print shift }' > perl -wle 'sub foo; foo{ 3 => print "xx" }; sub foo { print shift }' > perl -wle 'sub foo(&); foo{ 3 => print "xx" }; sub foo (&) { print > shift }' > > -- Best regards, Ilya Chesnokov ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From khedin на gmail.com Sat Sep 14 02:17:49 2013 From: khedin на gmail.com (Konstantin S. Uvarin) Date: Sat, 14 Sep 2013 13:17:49 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLQvtC70YjQtdCx0L3Ri9C5INCx0LDQsyDRgSBB?= =?utf-8?q?nyEvent=3A=3Apostpone?= In-Reply-To: References: <1379081775.3517.100.camel@lodin-pad> <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> <1379087311.3517.113.camel@lodin-pad> Message-ID: <1379150269.3517.122.camel@lodin-pad> On Fri, 2013-09-13 at 21:30 +0400, Ilya Chesnokov wrote: > 13 сентября 2013 г., 19:48 пользователь Konstantin S. Uvarin > написал: > когда пытается > выполнить "результат code"->(). > > > Это вовсе не code->() - это обычный hashref, который потом и > передается в качестве аргумента (как это видно из второго примера). Попробуем более другие примеры: bash$ perl -wle 'sub foo; foo{ print "xx" }; sub foo { print shift }' xx Odd number of elements in anonymous hash at -e line 1. HASH(0x9c167ec) Явно хеш [lodin-pad] [13:05:01] lodin ~/prg/AnyEvent-7.02 bash$ perl -wle 'foo{ print "xx" }; sub foo { print shift }' xx Can't call method "foo" without a package or object reference at -e line 1. Где ворнинг про Odd number of elements? Теперь с ";": bash$ perl -wle 'sub foo; foo{ print "xx"; }; sub foo { print shift }' syntax error at -e line 1, near "; }" Execution of -e aborted due to compilation errors. Опять хеш (иначе ; не было бы ошибкой) [lodin-pad] [13:07:44] lodin ~/prg/AnyEvent-7.02 bash$ perl -wle 'foo{ print "xx"; }; sub foo { print shift }' xx Can't call method "foo" without a package or object reference at -e line 1. ; не ошибка, падаем в другом месте => не хеш This is perl 5, version 14, subversion 2 (v5.14.2) built for i686-linux-gnu-thread-multi-64int На 5.18 то же самое (спасибо perlbrew) И вот совсем жесть. bash$ perl -we 'require URI::Escape; my $x = uri_escape{ "URI::Escape" }; print $x;' URI%3A%3AEscape > > > Но пользователь об этом не факт что > узнает.). > > Вообще я был бы рад, если бы из нижеприведённого корректным > кодом был > бы только вариант с прототипом. > > perl -wle 'foo{ 3 => print "xx" }; sub foo { print shift }' > perl -wle 'sub foo; foo{ 3 => print "xx" }; sub foo { print > shift }' > perl -wle 'sub foo(&); foo{ 3 => print "xx" }; sub foo (&) > { print > shift }' From khedin на gmail.com Sat Sep 14 02:26:32 2013 From: khedin на gmail.com (Konstantin S. Uvarin) Date: Sat, 14 Sep 2013 13:26:32 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLQvtC70YjQtdCx0L3Ri9C5INCx0LDQsyDRgSBB?= =?utf-8?q?nyEvent=3A=3Apostpone?= In-Reply-To: <1379150269.3517.122.camel@lodin-pad> References: <1379081775.3517.100.camel@lodin-pad> <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> <1379087311.3517.113.camel@lodin-pad> <1379150269.3517.122.camel@lodin-pad> Message-ID: <1379150792.3517.125.camel@lodin-pad> Приветствую. > И вот совсем жесть. > > bash$ perl -we 'require URI::Escape; my $x = > uri_escape{ "URI::Escape" }; print $x;' > > URI%3A%3AEscape Всё, дошло. Это чтобы можно было сделать bash$ perl -wle 'print { "STD"."OUT" } "xx"' xx -- Konstantin S. Uvarin From vividsnow на gmail.com Sat Sep 14 04:53:14 2013 From: vividsnow на gmail.com (vividsnow) Date: Sat, 14 Sep 2013 15:53:14 +0400 Subject: [Moscow.pm] =?koi8-r?b?98/M28XCztnKIMLBxyDTIEFueUV2ZW50Ojpwb3N0?= =?koi8-r?b?cG9uZQ==?= In-Reply-To: <1379150792.3517.125.camel@lodin-pad> References: <1379081775.3517.100.camel@lodin-pad> <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> <1379087311.3517.113.camel@lodin-pad> <1379150269.3517.122.camel@lodin-pad> <1379150792.3517.125.camel@lodin-pad> Message-ID: <52344E2A.4020509@gmail.com> http://perldoc.perl.org/perlref.html#Making-References (3): The leading +{ and {; always serve to disambiguate the expression to mean either the HASH reference, or the BLOCK. On 09/14/2013 01:26 PM, Konstantin S. Uvarin wrote: > Приветствую. > >> И вот совсем жесть. >> >> bash$ perl -we 'require URI::Escape; my $x = >> uri_escape{ "URI::Escape" }; print $x;' >> >> URI%3A%3AEscape > > Всё, дошло. Это чтобы можно было сделать > > bash$ perl -wle 'print { "STD"."OUT" } "xx"' > xx > From proler на gmail.com Mon Sep 16 06:53:20 2013 From: proler на gmail.com (=?utf-8?B?0J7Qu9C10LMg0JDQu9C10LrRgdC10LXQvdC60L7Qsg==?=) Date: Mon, 16 Sep 2013 17:53:20 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLQvtC70YjQtdCx0L3Ri9C5INCx0LDQsyDRgSBB?= =?utf-8?q?nyEvent=3A=3Apostpone?= In-Reply-To: <52344E2A.4020509@gmail.com> References: <1379081775.3517.100.camel@lodin-pad> <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> <1379087311.3517.113.camel@lodin-pad> <1379150269.3517.122.camel@lodin-pad> <1379150792.3517.125.camel@lodin-pad> <52344E2A.4020509@gmail.com> Message-ID: vividsnow писал(а) в своём письме Sat, 14 Sep 2013 15:53:14 +0400: > http://perldoc.perl.org/perlref.html#Making-References (3): > The leading +{ and {; always serve to disambiguate the expression to > mean either the HASH reference, or the BLOCK. эээ perl -e "print {;1 }" syntax error at -e line 1, at EOF а как ? From kopytov на webhackers.ru Mon Sep 16 08:32:23 2013 From: kopytov на webhackers.ru (Dmitry Kopytov) Date: Mon, 16 Sep 2013 19:32:23 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLQvtC70YjQtdCx0L3Ri9C5INCx0LDQsyDRgSBB?= =?utf-8?q?nyEvent=3A=3Apostpone?= In-Reply-To: References: <1379081775.3517.100.camel@lodin-pad> <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> <1379087311.3517.113.camel@lodin-pad> <1379150269.3517.122.camel@lodin-pad> <1379150792.3517.125.camel@lodin-pad> <52344E2A.4020509@gmail.com> Message-ID: <20130916153223.GA6130@acer> On Mon, Sep 16, 2013 at 05:53:20PM +0400, Олег Алексеенков wrote: > perl -e "print {;1 }" > syntax error at -e line 1, at EOF > а как ? В print же не передаётся BLOCK. Туда где он передаётся, это работает: $ perl -e 'print grep {; 1 } (1, 2, 3)' 123 -- Dmitry Kopytov, Webhackers kopytov на webhackers.ru | https://www.webhackers.ru From proler на gmail.com Mon Sep 16 08:38:50 2013 From: proler на gmail.com (=?utf-8?B?0J7Qu9C10LMg0JDQu9C10LrRgdC10LXQvdC60L7Qsg==?=) Date: Mon, 16 Sep 2013 19:38:50 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLQvtC70YjQtdCx0L3Ri9C5INCx0LDQsyDRgSBB?= =?utf-8?q?nyEvent=3A=3Apostpone?= In-Reply-To: <20130916153223.GA6130@acer> References: <1379081775.3517.100.camel@lodin-pad> <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> <1379087311.3517.113.camel@lodin-pad> <1379150269.3517.122.camel@lodin-pad> <1379150792.3517.125.camel@lodin-pad> <52344E2A.4020509@gmail.com> <20130916153223.GA6130@acer> Message-ID: Dmitry Kopytov писал(а) в своём письме Mon, 16 Sep 2013 19:32:23 +0400: > On Mon, Sep 16, 2013 at 05:53:20PM +0400, Олег Алексеенков wrote: >> perl -e "print {;1 }" >> syntax error at -e line 1, at EOF >> а как ? > В print же не передаётся BLOCK. Туда где он передаётся, это работает: > $ perl -e 'print grep {; 1 } (1, 2, 3)' > 123 Ну.. так не интересно, я подумал что это насильный coderef без слова sub From timur.nozadze на gmail.com Mon Sep 16 15:22:03 2013 From: timur.nozadze на gmail.com (=?KOI8-R?B?9MnN1dIg7s/awcTaxQ==?=) Date: Tue, 17 Sep 2013 02:22:03 +0400 Subject: [Moscow.pm] =?koi8-r?b?8MXSxdfPxCBNb2Rlcm4gUGVybCBCb29r?= In-Reply-To: References: Message-ID: К стыду своему, надолго забросил завершение перевода (лето -- жаркая пора). Однако ж теперь исправляюсь. Так что вот ещё порция сложностей перевода: operator expression statement Как адекватно назвать по-русски, чтобы показать разницу? PS: Для самомотивации завёл квест на Квестхабе: http://questhub.io/realm/perl/quest/52278f991f4030fa38000031. Поддержите. ;) 3 мая 2013 г., 13:56 пользователь Vany Serezhkin написал: > Ядерные, или основные, базовые. В смысле модулей - слово сочетание из > коробки или основной поставки. > > > WBR, Vany > > > > -------- Original message -------- > Subject: Re: [Moscow.pm] Перевод Modern Perl Book > From: Alessandro Gorohovski > To: "Moscow.pm group" > CC: > > > Jack of Shadows писал(а) в своём письме Thu, > 02 May 2013 16:26:15 +0300: > > >> 1. corе > >> Простое и короткое слово. Может употребляться в следующих > >> словосочетаниях: > >> core module > >> core library > >> core documentation > >> core developers > >> > >> > > Очевидно же: > > > Ядрёные модули! > > Я бы использовал: > > модуль ядра > > > Ядрёные библиотеки! > библиотека ядра > > > Ядрёная документация! > документация по ядру > > > Ядрёные разработчики! > разработчики ядра > > > > > :-D > > -- > ANG > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- С уважением, Тимур Нозадзе ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mons на cpan.org Mon Sep 16 15:39:02 2013 From: mons на cpan.org (Mons Anderson) Date: Tue, 17 Sep 2013 02:39:02 +0400 Subject: [Moscow.pm] =?koi8-r?b?98/M28XCztnKIMLBxyDTIEFueUV2ZW50Ojpwb3N0?= =?koi8-r?b?cG9uZQ==?= In-Reply-To: References: <1379081775.3517.100.camel@lodin-pad> <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> <1379087311.3517.113.camel@lodin-pad> <1379150269.3517.122.camel@lodin-pad> <1379150792.3517.125.camel@lodin-pad> <52344E2A.4020509@gmail.com> <20130916153223.GA6130@acer> Message-ID: <097EC306-C8AD-4A74-8E96-39CE9912F744@corp.mail.ru> Вызов принта скорее можно рассматривать как indirect вызов метода print на filehandle т.е. print X @args -> X->print(@args) на месте X может быть в т.ч. и блок On 16.09.2013, at 19:38, Олег Алексеенков wrote: > Dmitry Kopytov писал(а) в своём письме Mon, 16 Sep 2013 19:32:23 +0400: > >> On Mon, Sep 16, 2013 at 05:53:20PM +0400, Олег Алексеенков wrote: >>> perl -e "print {;1 }" >>> syntax error at -e line 1, at EOF >>> а как ? >> В print же не передаётся BLOCK. Туда где он передаётся, это работает: >> $ perl -e 'print grep {; 1 } (1, 2, 3)' >> 123 > > Ну.. так не интересно, я подумал что это насильный coderef без слова sub > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org From vividsnow на gmail.com Mon Sep 16 17:29:05 2013 From: vividsnow на gmail.com (vividsnow) Date: Tue, 17 Sep 2013 04:29:05 +0400 Subject: [Moscow.pm] =?koi8-r?b?98/M28XCztnKIMLBxyDTIEFueUV2ZW50Ojpwb3N0?= =?koi8-r?b?cG9uZQ==?= In-Reply-To: References: <1379081775.3517.100.camel@lodin-pad> <5FD07E97-7D6A-4FE2-B0C0-35EAF1E90F96@corp.mail.ru> <1379087311.3517.113.camel@lodin-pad> <1379150269.3517.122.camel@lodin-pad> <1379150792.3517.125.camel@lodin-pad> <52344E2A.4020509@gmail.com> <20130916153223.GA6130@acer> Message-ID: <5237A251.3070708@gmail.com> как вариант: do { ... } On 09/16/2013 07:38 PM, Олег Алексеенков wrote: > Dmitry Kopytov писал(а) в своём письме Mon, 16 > Sep 2013 19:32:23 +0400: > >> On Mon, Sep 16, 2013 at 05:53:20PM +0400, Олег Алексеенков wrote: >>> perl -e "print {;1 }" >>> syntax error at -e line 1, at EOF >>> а как ? >> В print же не передаётся BLOCK. Туда где он передаётся, это работает: >> $ perl -e 'print grep {; 1 } (1, 2, 3)' >> 123 > > Ну.. так не интересно, я подумал что это насильный coderef без слова sub From i.petro.77.00 на gmail.com Mon Sep 16 23:42:47 2013 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Tue, 17 Sep 2013 10:42:47 +0400 Subject: [Moscow.pm] =?utf-8?b?c21hcnRtYXRjaDog0L/Qu9Cw0L3Riw==?= Message-ID: <20130917064247.GG28698@vdsl.uvw.ru> с Perl 5.10 мы применяем в своих проектах ~~ для случаев когда нужно сравнить два скаляра один из которых может быть undef, а так же там где надо проверить входит ли скаляр в лист. с 5.18 ~~ ушла в experimental и стало усиленно ругаться. в perldelta просто написано о том что теперь експериментал, но не написаны планы относительно него: что будет в 5.20, 5.22? есть у кого какая-то ссылка на обсуждение или документ относительно планов на ~~. а то ходить по тысячам файлов и выпиливать все места где написано `last if $var ~~ @list;` крайне геморройно. но на 5.18 смигрировать тоже необходимо. From thecrux на gmail.com Tue Sep 17 00:08:13 2013 From: thecrux на gmail.com (Vladimir Lettiev) Date: Tue, 17 Sep 2013 11:08:13 +0400 Subject: [Moscow.pm] =?koi8-r?b?c21hcnRtYXRjaDog0MzBztk=?= In-Reply-To: <20130917064247.GG28698@vdsl.uvw.ru> References: <20130917064247.GG28698@vdsl.uvw.ru> Message-ID: <20130917070813.GA4837@mail.truecrux.org> On Tue, Sep 17, 2013 at 10:42:47AM +0400, Ivan Petrov wrote: > с Perl 5.10 мы применяем в своих проектах ~~ для случаев когда нужно > сравнить два скаляра один из которых может быть undef, а так же там > где надо проверить входит ли скаляр в лист. > > с 5.18 ~~ ушла в experimental и стало усиленно ругаться. > > в perldelta просто написано о том что теперь експериментал, но не > написаны планы относительно него: что будет в 5.20, 5.22? > > есть у кого какая-то ссылка на обсуждение или документ относительно > планов на ~~. а то ходить по тысячам файлов и выпиливать все места > где написано `last if $var ~~ @list;` крайне геморройно. > но на 5.18 смигрировать тоже необходимо. Вот предложение Ricardo Signes по новому smartmatch: http://www.nntp.perl.org/group/perl.perl5.porters/2012/08/msg190658.html там дальше огромный тред по обсуждению деталей, но примерно всё вращается вокруг плана ## The New ~~ Operator $a $b Meaning ======= ======= ====================== Any undef ! defined $a Any ~~-overloaded ~~ overloading is used ~~-ol Any ~~ overloading is used (reversed) Any CodeRef, &{}-ol $b->($a) Any Regexp, qr-ol $a =~ $b Any Simple $a eq $b Any Any fatal Для вашего случая предлагается прикрутить junctions: if ( $var ~~ any( @list ) ) if ( $var ~~ all( @list_of_regexp ) ) -- Vladimir Lettiev aka crux ? theCrux на gmail.com From mi на ya.ru Tue Sep 17 00:18:42 2013 From: mi на ya.ru (Nikolay Mishin) Date: Tue, 17 Sep 2013 11:18:42 +0400 Subject: [Moscow.pm] =?koi8-r?b?8MXSxdfPxCBNb2Rlcm4gUGVybCBCb29r?= In-Reply-To: References: Message-ID: <472431379402322@web6j.yandex.ru> привет, дай ссылку на контекст, он важен приведи кусок текста или дай на него ссылку на github 17.09.2013, 02:22, "Тимур Нозадзе" : > К стыду своему, надолго забросил завершение перевода (лето ? жаркая пора). Однако ж теперь исправляюсь. > > Так что вот ещё порция сложностей перевода: > > operator > > expression > statement > > Как адекватно назвать по-русски, чтобы показать разницу? > > PS: Для самомотивации завёл квест на Квестхабе: http://questhub.io/realm/perl/quest/52278f991f4030fa38000031. Поддержите. ;) > > 3 мая 2013 г., 13:56 пользователь Vany Serezhkin написал: >> Ядерные, или основные, базовые. В смысле модулей - слово сочетание из коробки или основной поставки. >> >> WBR, Vany >> >> -------- Original message -------- >> Subject: Re: [Moscow.pm] Перевод Modern Perl Book >> From: Alessandro Gorohovski >> To: "Moscow.pm group" >> CC: >> >> Jack of Shadows писал(а) в своём письме Thu, >> 02 May 2013 16:26:15 +0300: >> >>>> 1. corе >>>> Простое и короткое слово. Может употребляться в следующих >>>> словосочетаниях: >>>> core module >>>> core library >>>> core documentation >>>> core developers >>>> >>>> >> >>> Очевидно же: >> >>> Ядрёные модули! >> >> Я бы использовал: >> >> модуль ядра >> >>> Ядрёные библиотеки! >> библиотека ядра >> >>> Ядрёная документация! >> документация по ядру >> >>> Ядрёные разработчики! >> разработчики ядра >> >>> >>> :-D >> >> -- >> ANG >> >> -- >> 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 me на lelf.lu Tue Sep 17 00:31:53 2013 From: me на lelf.lu (Anton Nikishaev) Date: Tue, 17 Sep 2013 11:31:53 +0400 Subject: [Moscow.pm] =?utf-8?b?c21hcnRtYXRjaDog0L/Qu9Cw0L3Riw==?= In-Reply-To: <20130917064247.GG28698@vdsl.uvw.ru> References: <20130917064247.GG28698@vdsl.uvw.ru> Message-ID: <2F715776-EF61-49C3-BFE1-D500D7DD36E4@lelf.lu> On Sep 17, 2013, at 10:42 AM, Ivan Petrov wrote: > > есть у кого какая-то ссылка на обсуждение или документ относительно > планов на ~~. а то ходить по тысячам файлов и выпиливать все места > где написано `last if $var ~~ @list;` крайне геморройно. > но на 5.18 смигрировать тоже необходимо. Планы глобально упростить, но до сих пор не договорились как use Smart::Match; use experimental 'smartmatch'; -- lelf -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 455 bytes Desc: Message signed with OpenPGP using GPGMail URL: From worldmind на mail.ru Tue Sep 17 00:43:08 2013 From: worldmind на mail.ru (=?UTF-8?B?QWxleGV5IFNocnVi?=) Date: Tue, 17 Sep 2013 11:43:08 +0400 Subject: [Moscow.pm] =?utf-8?b?c21hcnRtYXRjaDog0L/Qu9Cw0L3Riw==?= In-Reply-To: <20130917070813.GA4837@mail.truecrux.org> References: <20130917064247.GG28698@vdsl.uvw.ru> <20130917070813.GA4837@mail.truecrux.org> Message-ID: <1379403788.40310442@f381.i.mail.ru> Вторник, 17 сентября 2013, 11:08 +04:00 от Vladimir Lettiev : > Для вашего случая предлагается прикрутить junctions: > if ( $var ~~ any( @list ) ) Коряво достаточно, оператор in как в питоне был бы значительно лучше, по сути smart match только для этого и юзаем и думаю не мы одни -- Alexey Shrub From thecrux на gmail.com Tue Sep 17 01:05:16 2013 From: thecrux на gmail.com (Vladimir Lettiev) Date: Tue, 17 Sep 2013 12:05:16 +0400 Subject: [Moscow.pm] =?koi8-r?b?c21hcnRtYXRjaDog0MzBztk=?= In-Reply-To: <1379403788.40310442@f381.i.mail.ru> References: <20130917064247.GG28698@vdsl.uvw.ru> <20130917070813.GA4837@mail.truecrux.org> <1379403788.40310442@f381.i.mail.ru> Message-ID: <20130917080516.GA5072@mail.truecrux.org> On Tue, Sep 17, 2013 at 11:43:08AM +0400, Alexey Shrub wrote: > Вторник, 17 сентября 2013, 11:08 +04:00 от Vladimir Lettiev : > > Для вашего случая предлагается прикрутить junctions: > > if ( $var ~~ any( @list ) ) > > Коряво достаточно, оператор in как в питоне был бы значительно лучше, по сути smart match только для этого и юзаем и думаю не мы одни Тема про infix операторы тоже временами проскакивает: http://www.nntp.perl.org/group/perl.perl5.porters/2013/03/msg199984.html http://www.nntp.perl.org/group/perl.perl5.porters/2013/08/msg205823.html Можно было бы не только in сделать, но и какие-нибудь ? или ? -- Vladimir Lettiev aka crux ? theCrux на gmail.com From ruz на bestpractical.com Tue Sep 17 03:45:09 2013 From: ruz на bestpractical.com (Ruslan Zakirov) Date: Tue, 17 Sep 2013 14:45:09 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/QtdGA0LXQstC+0LQgTW9kZXJuIFBlcmwgQm9v?= =?utf-8?q?k?= In-Reply-To: References: Message-ID: 2013/9/17 Тимур Нозадзе > operator > оператор > expression > выражение > statement Тут сложнее. Утверждение, высказывание, предложение. Утверждение состоит из выражений, выражения из операторов и операндов. Утверждения в perl отделяются ;. Нуно заглянуть в перевод Camel Book. -- Best regards, Ruslan. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From i.petro.77.00 на gmail.com Tue Sep 17 14:17:04 2013 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Wed, 18 Sep 2013 01:17:04 +0400 Subject: [Moscow.pm] =?utf-8?b?0L7QsdGK0LXQutGCOiB4P3BhdGg=?= Message-ID: <20130917211704.GA8860@vdsl.uvw.ru> есть объекты msgpack, json. есть нужда в некотором API вида $var = extract($object, $path); $newobject = set($object, $path, $var); понятно что на роль $path можно завелосипедить что угодно, но может уже есть что-то готовое на эту тему? From ali на ali.org.ua Tue Sep 17 14:51:04 2013 From: ali на ali.org.ua (Oleg Alistratov) Date: Wed, 18 Sep 2013 00:51:04 +0300 Subject: [Moscow.pm] =?koi8-r?b?z8LfxcvUOiB4P3BhdGg=?= In-Reply-To: <20130917211704.GA8860@vdsl.uvw.ru> References: <20130917211704.GA8860@vdsl.uvw.ru> Message-ID: <281121379454664@web4h.yandex.ru> http://search.cpan.org/perldoc?JSON%3A%3APath 18.09.2013, 00:17, "Ivan Petrov" : > есть объекты msgpack, json. > есть нужда в некотором API вида > > $var = extract($object, $path); > $newobject = set($object, $path, $var); > > понятно что на роль $path можно завелосипедить что угодно, но может > уже есть что-то готовое на эту тему? > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- Oleg Alistratov From timur.nozadze на gmail.com Tue Sep 17 15:00:12 2013 From: timur.nozadze на gmail.com (=?KOI8-R?B?9MnN1dIg7s/awcTaxQ==?=) Date: Wed, 18 Sep 2013 02:00:12 +0400 Subject: [Moscow.pm] =?koi8-r?b?8MXSxdfPxCBNb2Rlcm4gUGVybCBCb29r?= In-Reply-To: References: Message-ID: > > Тут сложнее. Утверждение, высказывание, предложение. Утверждение состоит > из выражений, выражения из операторов и операндов. Утверждения в perl > отделяются ;. Нуно заглянуть в перевод Camel Book. > Собственно да, тут-то сложность и возникла. :) Да, такие варианты переводов имеют место быть, но как-то все они не ложатся на слух, если честно, не выглядят естественными. В переводе Camel Book <> -- это вообще <<операторы>>. Название третьей главы <> вполне логично переведено как <<Унарные и бинарные операторы>>. И название четвёртой <> -- опять <<Операторы и объявления>>. Вообще, перевод Camel Book довольно печален. Все сложности перевода, решения которых я пытался там найти, обходятся подобным весьма неоднозначным способом. дай ссылку на контекст, он важен > Собственно, примеры не стал сразу приводить, потому что как раз хотелось увидеть, как эти термины воспринимаются в целом, в отрыве от конкретных случаев (моё понимание тут совпадает с тем, что написал Руслан). expression: <> <> statement: <> <> <> operator: <> Вот ещё, кстати, есть слово directive: <> <> 17 сентября 2013 г., 14:45 пользователь Ruslan Zakirov < ruz на bestpractical.com> написал: > > 2013/9/17 Тимур Нозадзе > >> operator >> > > оператор > > >> expression >> > > выражение > > >> statement > > > Тут сложнее. Утверждение, высказывание, предложение. Утверждение состоит > из выражений, выражения из операторов и операндов. Утверждения в perl > отделяются ;. Нуно заглянуть в перевод Camel Book. > > -- > Best regards, Ruslan. > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- С уважением, Тимур Нозадзе ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From me на lelf.lu Tue Sep 17 21:39:35 2013 From: me на lelf.lu (Anton Nikishaev) Date: Wed, 18 Sep 2013 08:39:35 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/QtdGA0LXQstC+0LQgTW9kZXJuIFBlcmwgQm9v?= =?utf-8?q?k?= In-Reply-To: References: Message-ID: On Sep 17, 2013, at 2:45 PM, Ruslan Zakirov wrote: > | statement > > Тут сложнее. Утверждение, высказывание, предложение. Утверждение состоит из выражений, выражения из операторов и операндов. Утверждения в perl отделяются ;. Нуно заглянуть в перевод Camel Book. > В k&r инструкция -- lelf -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 455 bytes Desc: Message signed with OpenPGP using GPGMail URL: From me на lelf.lu Tue Sep 17 21:43:23 2013 From: me на lelf.lu (Anton Nikishaev) Date: Wed, 18 Sep 2013 08:43:23 +0400 Subject: [Moscow.pm] =?utf-8?b?0L7QsdGK0LXQutGCOiB4P3BhdGg=?= In-Reply-To: <20130917211704.GA8860@vdsl.uvw.ru> References: <20130917211704.GA8860@vdsl.uvw.ru> Message-ID: <56EBE5FB-DF53-4031-AE15-C1C0ED07CDE5@lelf.lu> On Sep 18, 2013, at 1:17 AM, Ivan Petrov wrote: > есть объекты msgpack, json. > есть нужда в некотором API вида > > $var = extract($object, $path); > $newobject = set($object, $path, $var); > > понятно что на роль $path можно завелосипедить что угодно, но может > уже есть что-то готовое на эту тему? JSON::Path JSON::Pointer Mojo::JSON::Pointer -- lelf -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 455 bytes Desc: Message signed with OpenPGP using GPGMail URL: From i.petro.77.00 на gmail.com Tue Sep 17 23:11:02 2013 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Wed, 18 Sep 2013 10:11:02 +0400 Subject: [Moscow.pm] =?utf-8?b?0L7QsdGK0LXQutGCOiB4P3BhdGg=?= In-Reply-To: <56EBE5FB-DF53-4031-AE15-C1C0ED07CDE5@lelf.lu> References: <20130917211704.GA8860@vdsl.uvw.ru> <56EBE5FB-DF53-4031-AE15-C1C0ED07CDE5@lelf.lu> Message-ID: <20130918061102.GB8860@vdsl.uvw.ru> >> есть объекты msgpack, json. >> есть нужда в некотором API вида >> >> $var = extract($object, $path); >> $newobject = set($object, $path, $var); >> >> понятно что на роль $path можно завелосипедить что угодно, но может >> уже есть что-то готовое на эту тему? > JSON::Path > JSON::Pointer > Mojo::JSON::Pointer а на C то же самое? From ruz на bestpractical.com Wed Sep 18 02:55:58 2013 From: ruz на bestpractical.com (Ruslan Zakirov) Date: Wed, 18 Sep 2013 13:55:58 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/QtdGA0LXQstC+0LQgTW9kZXJuIFBlcmwgQm9v?= =?utf-8?q?k?= In-Reply-To: References: Message-ID: 2013/9/18 Тимур Нозадзе > expression: > ?Evaluating a function or expression?except for assignment?in list context > can produce confusion. Lists propagate list context to the expressions they > contain.? > Исполнение вызова функции или выражения, за исключением присваивания, в списковом контексте может привести к путанице. Списки распространяют списковый контекст на содержащиеся в них выражения. > ?A do block parses as a single expression which may contain several > expressions.? > do блок интерпретируется как одно выражение, которое может содержать несколько выражений. > statement: > ?loop control statements? > команды управления циклами речь идет о next, last... и тут даже в perl документации используется command, а не statement, но в тоже время "The "last" command is like the "break" statement in C", то есть в C они statements. С другой стороны next - это почти встроенная функция. > ?The next statement restarts the loop at its next iteration.? > Команда next запускает следующую итерацию цикла. > ?The foreach-style loop evaluates an expression which produces a list and > executes a statement or block until it has consumed that list? > ... и исполняет высказывание или блок ... Речь идет о высказываниях, которые набор выражений. > operator: > ?The precedence of an operator governs when Perl should evaluate it in an > expression.? > Тут чисто речь об операторах. > > Вот ещё, кстати, есть слово directive: > ?Perl's control flow directives change the order of execution?what happens > next in the program?depending on the values of their expressions.? > ?The if directive performs the associated action only when its conditional > expression evaluates to a true value:? > Директива - тоже неплохой вариант, но он не используется в perl документации. На самом деле if, last, ++ - это все операторы языка. Хотя if, ? :, and, or, unless - операторы контроля порядка исполнения и директива очень даже неплохо подходит. Можно перевести как "директивы управления потоком", а можно и как оператор управления. -- Best regards, Ruslan. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ali на ali.org.ua Wed Sep 18 03:10:09 2013 From: ali на ali.org.ua (Oleg Alistratov) Date: Wed, 18 Sep 2013 13:10:09 +0300 Subject: [Moscow.pm] =?koi8-r?b?8MXSxdfPxCBNb2Rlcm4gUGVybCBCb29r?= In-Reply-To: References: Message-ID: <209101379499009@web30g.yandex.ru> 18.09.2013, 12:56, "Ruslan Zakirov" : > 2013/9/18 Тимур Нозадзе >> expression: >> ?Evaluating a function or expression?except for assignment?in list context can produce confusion. Lists propagate list context to the expressions they contain.? > > Исполнение вызова функции или выражения, за исключением присваивания, в списковом контексте может привести к путанице. Списки распространяют списковый контекст на содержащиеся в них выражения. > >> ?A do block parses as a single expression which may contain several expressions.? > > do блок интерпретируется как одно выражение, которое может содержать несколько выражений. > >> statement: >> ?loop control statements? > > команды управления циклами > > речь идет о next, last... и тут даже в perl документации используется command, а не statement, но в тоже время "The "last" command is like the "break" statement in C", то есть в C они statements. С другой стороны next - это почти встроенная функция. > >> ?The next statement restarts the loop at its next iteration.? > > Команда next запускает следующую итерацию цикла. > >> ?The foreach-style loop evaluates an expression which produces a list and executes a statement or block until it has consumed that list? > > ... и исполняет высказывание или блок ... > > Речь идет о высказываниях, которые набор выражений. > >> operator: >> ?The precedence of an operator governs when Perl should evaluate it in an expression.? > > Тут чисто речь об операторах. > >> Вот ещё, кстати, есть слово directive: >> ?Perl's control flow directives change the order of execution?what happens next in the program?depending on the values of their expressions.? >> ?The if directive performs the associated action only when its conditional expression evaluates to a true value:? > > Директива - тоже неплохой вариант, но он не используется в perl документации. ?Директива?, имхо, прочно закрепилась за опциями компилятора, макросами и прочей фигней в сорцах. То, что в перле называют прагмами. > На самом деле if, last, ++ - это все операторы языка. Хотя if, ? :, and, or, unless - операторы контроля порядка исполнения и директива очень даже неплохо подходит. Можно перевести как "директивы управления потоком", а можно и как оператор управления. > > -- > Best regards, Ruslan. > > , > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- Oleg Alistratov From ruz на bestpractical.com Wed Sep 18 03:45:09 2013 From: ruz на bestpractical.com (Ruslan Zakirov) Date: Wed, 18 Sep 2013 14:45:09 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/QtdGA0LXQstC+0LQgTW9kZXJuIFBlcmwgQm9v?= =?utf-8?q?k?= In-Reply-To: <209101379499009@web30g.yandex.ru> References: <209101379499009@web30g.yandex.ru> Message-ID: 2013/9/18 Oleg Alistratov > >> Вот ещё, кстати, есть слово directive: > >> ?Perl's control flow directives change the order of execution?what > happens next in the program?depending on the values of their expressions.? > >> ?The if directive performs the associated action only when its > conditional expression evaluates to a true value:? > > > > Директива - тоже неплохой вариант, но он не используется в perl > документации. > > ?Директива?, имхо, прочно закрепилась за опциями компилятора, макросами и > прочей фигней в сорцах. > То, что в перле называют прагмами. Тут вы правы [1], но стоит ли переводить pragma как директива, а не как прагма? Я не вижу смысла, а по этому термин директива свободен для использования в других контекстах. Опять же вполне можно использовать термины повторно, если очевидно о чем идет речь. [1] http://en.wikipedia.org/wiki/Directive_(programming) -- Best regards, Ruslan. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From dsimonov на gmail.com Thu Sep 19 03:40:38 2013 From: dsimonov на gmail.com (Dmitry Simonov) Date: Thu, 19 Sep 2013 14:40:38 +0400 Subject: [Moscow.pm] AnyEvent status check Message-ID: Привет! А кто-то сталкивался с задачей, когда есть AE демон вебсервер и нужно посмотреть чем именно он сейчас занимается? Скажем повесить отдельную хттп-ручку и по ней отдать JSON со статусом всех процессов происходящих сейчас в демоне. --- Dmitriy V. Simonov, Perl & Python programmer ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mons на cpan.org Thu Sep 19 05:24:12 2013 From: mons на cpan.org (Mons Anderson) Date: Thu, 19 Sep 2013 16:24:12 +0400 Subject: [Moscow.pm] AnyEvent status check In-Reply-To: References: Message-ID: <999842F1-5344-4123-B0B9-462DDDA1A641@corp.mail.ru> А в чем, собственно, проблема? делаешь хешик, в него пишешь, на отдельном локейшне его отдаешь. Хотя тут конечно нужно понимать что ты имеешь в виду под всеми процессами. Спасибо за идею, запилю себе такую штуку в AE::HTTP::Server )) On 19.09.2013, at 14:40, Dmitry Simonov wrote: > Привет! > > А кто-то сталкивался с задачей, когда есть AE демон вебсервер и нужно посмотреть чем именно он сейчас занимается? Скажем повесить отдельную хттп-ручку и по ней отдать JSON со статусом всех процессов происходящих сейчас в демоне. > > --- > Dmitriy V. Simonov, > Perl & Python programmer > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org From onokonem на gmail.com Thu Sep 19 05:27:54 2013 From: onokonem на gmail.com (Daniel Podolsky) Date: Thu, 19 Sep 2013 16:27:54 +0400 Subject: [Moscow.pm] AnyEvent status check In-Reply-To: <999842F1-5344-4123-B0B9-462DDDA1A641@corp.mail.ru> References: <999842F1-5344-4123-B0B9-462DDDA1A641@corp.mail.ru> Message-ID: > Спасибо за идею, запилю себе такую штуку в AE::HTTP::Server )) Это моя, на самом деле :) Невозможно же так жить - запрос ныряет внутрь, и никто не знает, ни сколько он там провел, ни по какой цепочке шел. From mail на knutov.com Thu Sep 19 07:32:26 2013 From: mail на knutov.com (Nick Knutov) Date: Thu, 19 Sep 2013 20:32:26 +0600 Subject: [Moscow.pm] =?koi8-r?b?c21hcnRtYXRjaDog0MzBztk=?= In-Reply-To: <1379403788.40310442@f381.i.mail.ru> References: <20130917064247.GG28698@vdsl.uvw.ru> <20130917070813.GA4837@mail.truecrux.org> <1379403788.40310442@f381.i.mail.ru> Message-ID: <523B0AFA.3090705@knutov.com> Мне кажется, задолго до смартматча была альтернативная реализация умеющая делать именно if $val in(@arr), но что-то вариант именно с таким синтаксисом не нагугливается. А any - это видимо use List::MoreUtils qw(any); Хороший пост по теме - http://blogs.perl.org/users/mascip/2013/05/the-clearest-ways-to-check-if-a-list-contains.html 17.09.2013 13:43, Alexey Shrub пишет: > Вторник, 17 сентября 2013, 11:08 +04:00 от Vladimir Lettiev : >> Для вашего случая предлагается прикрутить junctions: >> if ( $var ~~ any( @list ) ) > > Коряво достаточно, оператор in как в питоне был бы значительно лучше, по сути smart match только для этого и юзаем и думаю не мы одни > -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From me на lelf.lu Thu Sep 19 08:04:46 2013 From: me на lelf.lu (Anton Nikishaev) Date: Thu, 19 Sep 2013 19:04:46 +0400 Subject: [Moscow.pm] =?utf-8?b?c21hcnRtYXRjaDog0L/Qu9Cw0L3Riw==?= In-Reply-To: <523B0AFA.3090705@knutov.com> References: <20130917064247.GG28698@vdsl.uvw.ru> <20130917070813.GA4837@mail.truecrux.org> <1379403788.40310442@f381.i.mail.ru> <523B0AFA.3090705@knutov.com> Message-ID: On Sep 19, 2013, at 6:32 PM, Nick Knutov wrote: > Мне кажется, задолго до смартматча была альтернативная реализация > умеющая делать именно if $val in(@arr), но что-то вариант именно с таким > синтаксисом не нагугливается. > > А any - это видимо use List::MoreUtils qw(any); Тот другой any. Этот ? perl6'товый, который (почти) в Smart::Match, Quantum::Superpositions и пр > Хороший пост по теме - > http://blogs.perl.org/users/mascip/2013/05/the-clearest-ways-to-check-if-a-list-contains.html > > > 17.09.2013 13:43, Alexey Shrub пишет: >> Вторник, 17 сентября 2013, 11:08 +04:00 от Vladimir Lettiev : >>> Для вашего случая предлагается прикрутить junctions: >>> if ( $var ~~ any( @list ) ) >> >> Коряво достаточно, оператор in как в питоне был бы значительно лучше, по сути smart match только для этого и юзаем и думаю не мы одни >> > -- lelf -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 455 bytes Desc: Message signed with OpenPGP using GPGMail URL: From timur.nozadze на gmail.com Fri Sep 20 02:29:34 2013 From: timur.nozadze на gmail.com (=?KOI8-R?B?9MnN1dIg7s/awcTaxQ==?=) Date: Fri, 20 Sep 2013 13:29:34 +0400 Subject: [Moscow.pm] =?koi8-r?b?UGVybCBHb2xmIM7BIFlBUEM6OkV1cm9wZSAyMDEz?= Message-ID: Если вдруг кто не был на этом замечательном мероприятии (ещё раз передаю спасибо всем организаторам, читающим эту рассылку :)) и не в курсе, мы (компания REG.RU) проводили соревнование по Гольфу. На результаты можно посмотреть здесь: http://habrahabr.ru/company/regru/blog/191704/. Всё ещё принимаем решения, так что у вас есть шанс обойти победителей. Вообще, интересна кому-нибудь эта тема? Если будут желающие, я мог бы как-нибудь организовать соревнование для участников рассылки (благо, опыт какой-никакой получил). Больших призов не обещаю, но безнаказанным победитель не останется. ;) -- С уважением, Тимур Нозадзе ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mi на ya.ru Fri Sep 20 05:14:34 2013 From: mi на ya.ru (Nikolay Mishin) Date: Fri, 20 Sep 2013 16:14:34 +0400 Subject: [Moscow.pm] =?koi8-r?b?UGVybCBHb2xmIM7BIFlBUEM6OkV1cm9wZSAyMDEz?= In-Reply-To: References: Message-ID: <140961379679274@web3m.yandex.ru> отличный пост, надо будет решить задачу не заглядывая в решения.. но на всякий случай, если не против залил тесты на github https://github.com/mishin/perlgolf 20.09.2013, 13:30, "Тимур Нозадзе" : > Если вдруг кто не был на этом замечательном мероприятии (ещё раз передаю спасибо всем организаторам, читающим эту рассылку :)) и не в курсе, мы (компания REG.RU) проводили соревнование по Гольфу. На результаты можно посмотреть здесь: http://habrahabr.ru/company/regru/blog/191704/. Всё ещё принимаем решения, так что у вас есть шанс обойти победителей. > > Вообще, интересна кому-нибудь эта тема? Если будут желающие, я мог бы как-нибудь организовать соревнование для участников рассылки (благо, опыт какой-никакой получил). Больших призов не обещаю, но безнаказанным победитель не останется. ;) > > -- > С уважением, Тимур Нозадзе > , > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From mi на ya.ru Tue Sep 24 05:02:50 2013 From: mi на ya.ru (Nikolay Mishin) Date: Tue, 24 Sep 2013 16:02:50 +0400 Subject: [Moscow.pm] =?koi8-r?b?y8HLINDPzNjaz9fB1NjT0SDN2czPzSBAY3Bhbi5v?= =?koi8-r?b?cmc=?= Message-ID: <30991380024170@web8j.yandex.ru> Вложение в формате HTML было извлечено… URL: From ruz на bestpractical.com Tue Sep 24 05:31:00 2013 From: ruz на bestpractical.com (Ruslan Zakirov) Date: Tue, 24 Sep 2013 16:31:00 +0400 Subject: [Moscow.pm] =?utf-8?b?0LrQsNC6INC/0L7Qu9GM0LfQvtCy0LDRgtGM0YE=?= =?utf-8?b?0Y8g0LzRi9C70L7QvCBAY3Bhbi5vcmc=?= In-Reply-To: <30991380024170@web8j.yandex.ru> References: <30991380024170@web8j.yandex.ru> Message-ID: Настраиваешь приватный адрес или публичный, ставишь галочку на какой пересылать. https://pause.perl.org/pause/authenquery?ACTION=edit_cred 2013/9/24 Nikolay Mishin > Добрый день Moscow-PM > вот есть у меня, как имеющему аккаунт mishin на http://pause.perl.org, > как-бы должна быть почта mishin на cpan.org > я прав или я не прав? > как пользоваться такой почтой, спасибо > > -- > С уважением > Николай Мишин > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- Best regards, Ruslan. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mi на ya.ru Tue Sep 24 05:35:32 2013 From: mi на ya.ru (Nikolay Mishin) Date: Tue, 24 Sep 2013 16:35:32 +0400 Subject: [Moscow.pm] =?koi8-r?b?y8HLINDPzNjaz9fB1NjT0SDN2czPzSBAY3Bhbi5v?= =?koi8-r?b?cmc=?= In-Reply-To: References: <30991380024170@web8j.yandex.ru> Message-ID: <14131380026132@web29g.yandex.ru> а я понял в Publicly visible email address (published in many listings) ставлю mishin на cpan.org а в Secret email address only used by the PAUSE, never published. mi на ya.ru а то у меня раньше везде mi на ya.ru стоял 24.09.2013, 16:31, "Ruslan Zakirov" : > Настраиваешь приватный адрес или публичный, ставишь галочку на какой пересылать. > > https://pause.perl.org/pause/authenquery?ACTION=edit_cred > > 2013/9/24 Nikolay Mishin >> Добрый день Moscow-PM >> вот есть у меня, как имеющему аккаунт mishin на  http://pause.perl.org, >> как-бы должна быть почта mishin на cpan.org >> я прав или я не прав? >> как пользоваться такой почтой, спасибо >> >> -- >> С уважением >> Николай Мишин >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > -- > Best regards, Ruslan. > , > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From mi на ya.ru Tue Sep 24 05:39:46 2013 From: mi на ya.ru (Nikolay Mishin) Date: Tue, 24 Sep 2013 16:39:46 +0400 Subject: [Moscow.pm] =?koi8-r?b?y8HLINDPzNjaz9fB1NjT0SDN2czPzSBAY3Bhbi5v?= =?koi8-r?b?cmc=?= In-Reply-To: <14131380026132@web29g.yandex.ru> References: <30991380024170@web8j.yandex.ru> <14131380026132@web29g.yandex.ru> Message-ID: <10231380026386@web29g.yandex.ru> даже нет, не так, у меня оказывается уже настроено везде стоит адрес mi на ya.ru и я сейчас послал письмо на адрес mishin на cpan.org и получил его на mi на ya.ru.. непонято зачем нужен "Secret email address" 24.09.2013, 16:35, "Nikolay Mishin" : > а я понял в > Publicly visible email address (published in many listings) > ставлю mishin на cpan.org > а > в > Secret email address only used by the PAUSE, never published. > mi на ya.ru > а то у меня раньше везде mi на ya.ru стоял > > 24.09.2013, 16:31, "Ruslan Zakirov" : > >>  Настраиваешь приватный адрес или публичный, ставишь галочку на какой пересылать. >> >>  https://pause.perl.org/pause/authenquery?ACTION=edit_cred >> >>  2013/9/24 Nikolay Mishin >>>  Добрый день Moscow-PM >>>  вот есть у меня, как имеющему аккаунт mishin на  http://pause.perl.org, >>>  как-бы должна быть почта mishin на cpan.org >>>  я прав или я не прав? >>>  как пользоваться такой почтой, спасибо >>> >>>  -- >>>  С уважением >>>  Николай Мишин >>> >>>  -- >>>  Moscow.pm mailing list >>>  moscow-pm на pm.org | http://moscow.pm.org >>  -- >>  Best regards, Ruslan. >>  , >>  -- >>  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 ruz на bestpractical.com Tue Sep 24 06:31:28 2013 From: ruz на bestpractical.com (Ruslan Zakirov) Date: Tue, 24 Sep 2013 17:31:28 +0400 Subject: [Moscow.pm] =?utf-8?b?0LrQsNC6INC/0L7Qu9GM0LfQvtCy0LDRgtGM0YE=?= =?utf-8?b?0Y8g0LzRi9C70L7QvCBAY3Bhbi5vcmc=?= In-Reply-To: <10231380026386@web29g.yandex.ru> References: <30991380024170@web8j.yandex.ru> <14131380026132@web29g.yandex.ru> <10231380026386@web29g.yandex.ru> Message-ID: 2013/9/24 Nikolay Mishin > даже нет, не так, у > меня оказывается уже настроено > везде стоит адрес mi на ya.ru > и я сейчас послал письмо на адрес mishin на cpan.org > и получил его на mi на ya.ru.. > непонято зачем нужен "Secret email address" > Он не публикуется, самое логичное использование: secrete: mi на ya.ru public: пустой, то есть mishin на cpan.org галочка для перенаправление почты на секретный адрес Что читается как пишите мне на @cpan.org, а там вам не важно знать куда оно приходит. 24.09.2013, 16:35, "Nikolay Mishin" : > > а я понял в > > Publicly visible email address (published in many listings) > > ставлю mishin на cpan.org > > а > > в > > Secret email address only used by the PAUSE, never published. > > mi на ya.ru > > а то у меня раньше везде mi на ya.ru стоял > > > > 24.09.2013, 16:31, "Ruslan Zakirov" : > > > >> Настраиваешь приватный адрес или публичный, ставишь галочку на какой > пересылать. > >> > >> https://pause.perl.org/pause/authenquery?ACTION=edit_cred > >> > >> 2013/9/24 Nikolay Mishin > >>> Добрый день Moscow-PM > >>> вот есть у меня, как имеющему аккаунт mishin на > http://pause.perl.org, > >>> как-бы должна быть почта mishin на cpan.org > >>> я прав или я не прав? > >>> как пользоваться такой почтой, спасибо > >>> > >>> -- > >>> С уважением > >>> Николай Мишин > >>> > >>> -- > >>> Moscow.pm mailing list > >>> moscow-pm на pm.org | http://moscow.pm.org > >> -- > >> Best regards, Ruslan. > >> , > >> -- > >> 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 > -- Best regards, Ruslan. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From i.petro.77.00 на gmail.com Tue Sep 24 11:24:55 2013 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Tue, 24 Sep 2013 22:24:55 +0400 Subject: [Moscow.pm] =?utf-8?b?TW91c2U6INC+0LHRgNCw0YLQvdGL0LkgY29lcmNl?= Message-ID: <20130924182455.GB2828@vdsl.uvw.ru> имеется выборка из БД { name => 'name', point => '{ x: 1, y: 2 }' } далее класс package Point; use Mouse; require JSON::XS; has x => is => 'ro', isa => 'Num'; has y => is => 'ro', isa => 'Num'; sub jstr { my ($class, $str) = @_; my $json = JSON::XS->new->decode( $str ); return $class->new(x => $json->{x}, y => $json->{y}); } package Obj; use Mouse; use Mouse::Util::TypeConstraints; coerce Point => from 'Str', => via sub { Point->jstr( $_) }; has name => is => 'rw', isa => 'Str'; has point => is => 'rw', isa => 'Point', coerce => 1; из БД в поле point приходит нераспакованный JSON. соответственно при помощи coerce мы его распаковываем прозрачно. выборку из БД просто кормим конструктору Obj. все красиво. а теперь как сделать красиво чтобы обратно в БД записать? кроме как сериализационный метод у Point есть какие-то варианты? From timur.nozadze на gmail.com Tue Sep 24 11:59:54 2013 From: timur.nozadze на gmail.com (=?KOI8-R?B?9MnN1dIg7s/awcTaxQ==?=) Date: Tue, 24 Sep 2013 22:59:54 +0400 Subject: [Moscow.pm] =?koi8-r?b?TW91c2U6IM/C0sHUztnKIGNvZXJjZQ==?= In-Reply-To: <20130924182455.GB2828@vdsl.uvw.ru> References: <20130924182455.GB2828@vdsl.uvw.ru> Message-ID: Подобную задачу пытался на Moose решить недавно. Красивого способа не нашёл. В итоге сделал конвертацию вручную перед записью в БД: my $attr = $self->meta->get_attribute($field_name); if ( $attr->should_coerce ) { my $constraint = Moose::Util::TypeConstraints::find_type_constraint( 'DBField' ); $new_value = $constraint->coerce($new_value); } Код не продакшн, больше для знакомства с Moose. Но вроде работал. 24 сентября 2013 г., 22:24 пользователь Ivan Petrov написал: > имеется выборка из БД > > { > name => 'name', > point => '{ x: 1, y: 2 }' > } > > далее класс > > package Point; > use Mouse; > require JSON::XS; > > has x => is => 'ro', isa => 'Num'; > has y => is => 'ro', isa => 'Num'; > > sub jstr { > my ($class, $str) = @_; > my $json = JSON::XS->new->decode( $str ); > return $class->new(x => $json->{x}, y => $json->{y}); > } > > package Obj; > use Mouse; > use Mouse::Util::TypeConstraints; > > coerce Point > => from 'Str', > => via sub { Point->jstr( $_) }; > > has name => is => 'rw', isa => 'Str'; > has point => is => 'rw', isa => 'Point', coerce => 1; > > из БД в поле point приходит нераспакованный JSON. > > соответственно при помощи coerce мы его распаковываем прозрачно. > выборку из БД просто кормим конструктору Obj. > > все красиво. > > а теперь как сделать красиво чтобы обратно в БД записать? > > > кроме как сериализационный метод у Point есть какие-то > варианты? > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- С уважением, Тимур Нозадзе ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From dmitry на karasik.eu.org Tue Sep 24 12:10:18 2013 From: dmitry на karasik.eu.org (Dmitry Karasik) Date: Tue, 24 Sep 2013 21:10:18 +0200 Subject: [Moscow.pm] =?koi8-r?b?TW91c2U6IM/C0sHUztnKIGNvZXJjZQ==?= In-Reply-To: <20130924182455.GB2828@vdsl.uvw.ru> References: <20130924182455.GB2828@vdsl.uvw.ru> Message-ID: <20130924191018.GA10085@nataraj.karasik.eu.org> если как бд используется DBIx::Class, у него есть 2хсторонние средства inflate/deflate, достаточно красиво /dk On Tue, Sep 24, 2013 at 10:24:55PM +0400, Ivan Petrov wrote: > имеется выборка из БД > > { > name => 'name', > point => '{ x: 1, y: 2 }' > } > > далее класс > > package Point; > use Mouse; > require JSON::XS; > > has x => is => 'ro', isa => 'Num'; > has y => is => 'ro', isa => 'Num'; > > sub jstr { > my ($class, $str) = @_; > my $json = JSON::XS->new->decode( $str ); > return $class->new(x => $json->{x}, y => $json->{y}); > } > > package Obj; > use Mouse; > use Mouse::Util::TypeConstraints; > > coerce Point > => from 'Str', > => via sub { Point->jstr( $_) }; > > has name => is => 'rw', isa => 'Str'; > has point => is => 'rw', isa => 'Point', coerce => 1; > > из БД в поле point приходит нераспакованный JSON. > > соответственно при помощи coerce мы его распаковываем прозрачно. > выборку из БД просто кормим конструктору Obj. > > все красиво. > > а теперь как сделать красиво чтобы обратно в БД записать? > > > кроме как сериализационный метод у Point есть какие-то > варианты? > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- Sincerely, Dmitry Karasik From timur.nozadze на gmail.com Tue Sep 24 12:11:51 2013 From: timur.nozadze на gmail.com (=?KOI8-R?B?9MnN1dIg7s/awcTaxQ==?=) Date: Tue, 24 Sep 2013 23:11:51 +0400 Subject: [Moscow.pm] =?koi8-r?b?TW91c2U6IM/C0sHUztnKIGNvZXJjZQ==?= In-Reply-To: References: <20130924182455.GB2828@vdsl.uvw.ru> Message-ID: Для меня вообще было вопросом, как сделать нормальную запись полей в БД. Т. е. вот есть объект, часть полей он достаёт из базы, часть -- ещё откуда-то. Как сделать, чтобы при апдейте поля через сеттер новое значение автоматом попадало в базу (причём только для нужных полей, тех, которые из базы достали)? Сеттеры при этом, конечно, хотелось иметь дефолтные, не определяя их явно в классе. В итоге решил с помощью трейта, который как-то там хитро пытаеться влезть перед триггером и что-то сделать, но не могу сказать, что меня это решение вдохновляет. К тому же, оно, вроде бы, вешает отдельный кодреф для каждого поля. если как бд используется DBIx::Class, у него есть 2хсторонние средства > inflate/deflate, > Если, то, наверное да. :) Но это уже решение на уровне DBIx::Class, а не на уровне Moose/Mouse. 24 сентября 2013 г., 22:59 пользователь Тимур Нозадзе < timur.nozadze на gmail.com> написал: > Подобную задачу пытался на Moose решить недавно. Красивого способа не > нашёл. > В итоге сделал конвертацию вручную перед записью в БД: > > my $attr = $self->meta->get_attribute($field_name); > if ( $attr->should_coerce ) { > my $constraint = Moose::Util::TypeConstraints::find_type_constraint( > 'DBField' ); > $new_value = $constraint->coerce($new_value); > } > > Код не продакшн, больше для знакомства с Moose. Но вроде работал. > > > 24 сентября 2013 г., 22:24 пользователь Ivan Petrov < > i.petro.77.00 на gmail.com> написал: > > имеется выборка из БД >> >> { >> name => 'name', >> point => '{ x: 1, y: 2 }' >> } >> >> далее класс >> >> package Point; >> use Mouse; >> require JSON::XS; >> >> has x => is => 'ro', isa => 'Num'; >> has y => is => 'ro', isa => 'Num'; >> >> sub jstr { >> my ($class, $str) = @_; >> my $json = JSON::XS->new->decode( $str ); >> return $class->new(x => $json->{x}, y => $json->{y}); >> } >> >> package Obj; >> use Mouse; >> use Mouse::Util::TypeConstraints; >> >> coerce Point >> => from 'Str', >> => via sub { Point->jstr( $_) }; >> >> has name => is => 'rw', isa => 'Str'; >> has point => is => 'rw', isa => 'Point', coerce => 1; >> >> из БД в поле point приходит нераспакованный JSON. >> >> соответственно при помощи coerce мы его распаковываем прозрачно. >> выборку из БД просто кормим конструктору Obj. >> >> все красиво. >> >> а теперь как сделать красиво чтобы обратно в БД записать? >> >> >> кроме как сериализационный метод у Point есть какие-то >> варианты? >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> > > > > -- > С уважением, Тимур Нозадзе > -- С уважением, Тимур Нозадзе ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From i.petro.77.00 на gmail.com Tue Sep 24 13:48:23 2013 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Wed, 25 Sep 2013 00:48:23 +0400 Subject: [Moscow.pm] =?utf-8?b?TW91c2U6INC+0LHRgNCw0YLQvdGL0LkgY29lcmNl?= In-Reply-To: <20130924191018.GA10085@nataraj.karasik.eu.org> References: <20130924182455.GB2828@vdsl.uvw.ru> <20130924191018.GA10085@nataraj.karasik.eu.org> Message-ID: <20130924204823.GC2828@vdsl.uvw.ru> > если как бд используется DBIx::Class, у него есть 2хсторонние средства inflate/deflate, > достаточно красиво нет выборка DB тут как пример приведена. собственно это выборка не из DBI а из noSQL. PS: а DBIx::Class - редкостная гадость как парадигма From cub.uanic на gmail.com Tue Sep 24 14:01:23 2013 From: cub.uanic на gmail.com (Oleg Kostyuk) Date: Wed, 25 Sep 2013 00:01:23 +0300 Subject: [Moscow.pm] =?utf-8?b?TW91c2U6INC+0LHRgNCw0YLQvdGL0LkgY29lcmNl?= In-Reply-To: References: <20130924182455.GB2828@vdsl.uvw.ru> Message-ID: >> если как бд используется DBIx::Class, у него есть 2хсторонние средства inflate/deflate, >> > Если, то, наверное да. :) Но это уже решение на уровне DBIx::Class, а не на уровне Moose/Mouse. > Так это и есть правильный вариант. Каждый сторейдж реализует запись и восстановление так, как ему это не обходимо. Кому-то нужен JSON, кому-то YAML, а кому-то вообще Storable. Понапихать в класс всех возможных сериализаторов и восстановляторов - для базы, для файла, для сети, etc - конечно можно, но имхо это менее православный метод. Тем более, что в DBIx::Class для этого есть специальный компонент: http://search.cpan.org/dist/DBIx-Class/lib/DBIx/Class/InflateColumn.pod И классические примеры создания своих компонентов на основе InflateColumn: http://cpansearch.perl.org/src/RIBASUSHI/DBIx-Class-0.08250/lib/DBIx/Class/InflateColumn/DateTime.pm http://cpansearch.perl.org/src/BRICAS/DBIx-Class-DateTime-Epoch-0.10/lib/DBIx/Class/DateTime/Epoch.pm И кстати, при реализации inflate & deflate - никто ж не запрещает использовать уже имеющиеся в (Moose-derived) классе конструкторы и методы. 24 сентября 2013 г., 22:11 пользователь Тимур Нозадзе < timur.nozadze на gmail.com> написал: > Для меня вообще было вопросом, как сделать нормальную запись полей в БД. > Т. е. вот есть объект, часть полей он достаёт из базы, часть ? ещё > откуда-то. Как сделать, чтобы при апдейте поля через сеттер новое значение > автоматом попадало в базу (причём только для нужных полей, тех, которые из > базы достали)? Сеттеры при этом, конечно, хотелось иметь дефолтные, не > определяя их явно в классе. > > В итоге решил с помощью трейта, который как-то там хитро пытаеться влезть > перед триггером и что-то сделать, но не могу сказать, что меня это решение > вдохновляет. К тому же, оно, вроде бы, вешает отдельный кодреф для каждого > поля. > > > если как бд используется DBIx::Class, у него есть 2хсторонние средства >> inflate/deflate, >> > Если, то, наверное да. :) Но это уже решение на уровне DBIx::Class, а не > на уровне Moose/Mouse. > > > 24 сентября 2013 г., 22:59 пользователь Тимур Нозадзе < > timur.nozadze на gmail.com> написал: > > Подобную задачу пытался на Moose решить недавно. Красивого способа не >> нашёл. >> В итоге сделал конвертацию вручную перед записью в БД: >> >> my $attr = $self->meta->get_attribute($field_name); >> if ( $attr->should_coerce ) { >> my $constraint = Moose::Util::TypeConstraints::find_type_constraint( >> 'DBField' ); >> $new_value = $constraint->coerce($new_value); >> } >> >> Код не продакшн, больше для знакомства с Moose. Но вроде работал. >> >> >> 24 сентября 2013 г., 22:24 пользователь Ivan Petrov < >> i.petro.77.00 на gmail.com> написал: >> >> имеется выборка из БД >>> >>> { >>> name => 'name', >>> point => '{ x: 1, y: 2 }' >>> } >>> >>> далее класс >>> >>> package Point; >>> use Mouse; >>> require JSON::XS; >>> >>> has x => is => 'ro', isa => 'Num'; >>> has y => is => 'ro', isa => 'Num'; >>> >>> sub jstr { >>> my ($class, $str) = @_; >>> my $json = JSON::XS->new->decode( $str ); >>> return $class->new(x => $json->{x}, y => $json->{y}); >>> } >>> >>> package Obj; >>> use Mouse; >>> use Mouse::Util::TypeConstraints; >>> >>> coerce Point >>> => from 'Str', >>> => via sub { Point->jstr( $_) }; >>> >>> has name => is => 'rw', isa => 'Str'; >>> has point => is => 'rw', isa => 'Point', coerce => 1; >>> >>> из БД в поле point приходит нераспакованный JSON. >>> >>> соответственно при помощи coerce мы его распаковываем прозрачно. >>> выборку из БД просто кормим конструктору Obj. >>> >>> все красиво. >>> >>> а теперь как сделать красиво чтобы обратно в БД записать? >>> >>> >>> кроме как сериализационный метод у Point есть какие-то >>> варианты? >>> -- >>> Moscow.pm mailing list >>> moscow-pm на pm.org | http://moscow.pm.org >>> >> >> >> >> -- >> С уважением, Тимур Нозадзе >> > > > > -- > С уважением, Тимур Нозадзе > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- Sincerely yours, Oleg Kostyuk (CUB-UANIC) ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From cub.uanic на gmail.com Tue Sep 24 14:05:28 2013 From: cub.uanic на gmail.com (Oleg Kostyuk) Date: Wed, 25 Sep 2013 00:05:28 +0300 Subject: [Moscow.pm] =?utf-8?b?TW91c2U6INC+0LHRgNCw0YLQvdGL0LkgY29lcmNl?= In-Reply-To: <20130924204823.GC2828@vdsl.uvw.ru> References: <20130924182455.GB2828@vdsl.uvw.ru> <20130924191018.GA10085@nataraj.karasik.eu.org> <20130924204823.GC2828@vdsl.uvw.ru> Message-ID: Ну так что же вы общественность в заблуждение-то вводите? Если NoSql, то DBIx::Class как бы не в тему, и вам прямая дорога в KiokuDB: http://search.cpan.org/dist/KiokuDB/ 24 сентября 2013 г., 23:48 пользователь Ivan Petrov написал: > > если как бд используется DBIx::Class, у него есть 2хсторонние средства > inflate/deflate, > > достаточно красиво > > нет выборка DB тут как пример приведена. > собственно это выборка не из DBI а из noSQL. > > PS: а DBIx::Class - редкостная гадость как парадигма > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Sincerely yours, Oleg Kostyuk (CUB-UANIC) ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From i.petro.77.00 на gmail.com Tue Sep 24 14:48:59 2013 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Wed, 25 Sep 2013 01:48:59 +0400 Subject: [Moscow.pm] =?utf-8?b?TW91c2U6INC+0LHRgNCw0YLQvdGL0LkgY29lcmNl?= In-Reply-To: References: <20130924182455.GB2828@vdsl.uvw.ru> <20130924191018.GA10085@nataraj.karasik.eu.org> <20130924204823.GC2828@vdsl.uvw.ru> Message-ID: <20130924214859.GD2828@vdsl.uvw.ru> > Ну так что же вы общественность в заблуждение-то вводите? > Если NoSql, то DBIx::Class как бы не в тему, и вам прямая дорога в KiokuDB: > http://search.cpan.org/dist/KiokuDB/ ORM - зло. ORM над noSQL - зло с извращениями From cub.uanic на gmail.com Wed Sep 25 06:33:39 2013 From: cub.uanic на gmail.com (Oleg Kostyuk) Date: Wed, 25 Sep 2013 16:33:39 +0300 Subject: [Moscow.pm] =?utf-8?b?TW91c2U6INC+0LHRgNCw0YLQvdGL0LkgY29lcmNl?= In-Reply-To: <20130924214859.GD2828@vdsl.uvw.ru> References: <20130924182455.GB2828@vdsl.uvw.ru> <20130924191018.GA10085@nataraj.karasik.eu.org> <20130924204823.GC2828@vdsl.uvw.ru> <20130924214859.GD2828@vdsl.uvw.ru> Message-ID: Ну вы тогда уж говорите как есть: пользовать готовый ОРМ - зло, а написать свой собственный (с сериализацией и coerce) - кошерно. 25 сентября 2013 г., 0:48 пользователь Ivan Petrov написал: > > Ну так что же вы общественность в заблуждение-то вводите? > > Если NoSql, то DBIx::Class как бы не в тему, и вам прямая дорога в > KiokuDB: > > http://search.cpan.org/dist/KiokuDB/ > > ORM - зло. ORM над noSQL - зло с извращениями > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Sincerely yours, Oleg Kostyuk (CUB-UANIC) ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From dsimonov на gmail.com Wed Sep 25 09:05:38 2013 From: dsimonov на gmail.com (Dmitry Simonov) Date: Wed, 25 Sep 2013 20:05:38 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLQvtC/0YDQvtGBINC6INGB0YLQsNGA0YvQvCA=?= =?utf-8?b?0L/RgNC+0LPRgNCw0LzQvNC40YHRgtCw0Lw6INCy0LjQt9GD0LDQu9GM?= =?utf-8?b?0L3QvtC1INC/0YDQvtCz0YDQsNC80LjRgNC+0LLQsNC90LjQtSA6KQ==?= Message-ID: Вопрос к зубрам! Есть большая многокомпонентная система. Компоненты опираются друг на друга достаточно затейливыми конфигурированием, сам процесс которого нетривиален. То есть типичный выкат в бой с нуля ещё как-то реален, но быстрое динамическое переконфигурирование - задача не для слабонервных. Речь идёт не о типовых перестановках, которые конечно же можно запрограммировать. Например, есть несколько слегка отличающихся экземпляров одной и той же компоненты, которые последовательно подключаются одна за другой к общей системе и мы смотрим, как система взаимодействует с каждой из них. Весь опыт попыток подхода к этому снаряду показывает то, что любая система автоматизации подобного динамического переконфигурирования ОЧЕНЬ БЫСТРО устаревает (так как вся система растёт и развивается, меняются/добавляются/удаляются конфигурационные параметры) подобно тому, как устраревает документация. Тыщу лет назад мелькал кейс о том, как решать эту задачу. - путём обычного визуального конструктора похожего на лего или на пазл. С таким визуальным конструктором очень удобно быстро перекидывать связи между компонентами. И вроде бы кейс был достаточно удачен. Может ли кто-то что-то рассказать о своих подходах к этому "снаряду"? Пожалуйста, не рассказывайте мне о том, как это надо делать. Расскажите о том, как вы делали и на какие грабли наткнулись. --- Dmitriy V. Simonov, Perl & Python programmer ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From i.petro.77.00 на gmail.com Wed Sep 25 11:02:01 2013 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Wed, 25 Sep 2013 22:02:01 +0400 Subject: [Moscow.pm] =?utf-8?b?TW91c2U6INC+0LHRgNCw0YLQvdGL0LkgY29lcmNl?= In-Reply-To: References: <20130924182455.GB2828@vdsl.uvw.ru> <20130924191018.GA10085@nataraj.karasik.eu.org> <20130924204823.GC2828@vdsl.uvw.ru> <20130924214859.GD2828@vdsl.uvw.ru> Message-ID: <20130925180201.GA4400@vdsl.uvw.ru> > Ну вы тогда уж говорите как есть: пользовать готовый ОРМ - зло, > а написать свой > собственный (с сериализацией и coerce) - кошерно. а я не пишу свой собственный. я пишу конкретную модельку конкретной сущности. если бы ORM ограничивались бы только bless выборок в нечто более удобное нежели perl hash, то цены бы им не было, но ORM зачем-то точат под автосоставление запросов, да так точат что руками зачастую запрос и не вписать толком (ну или 100500 телодвижений надо наваять заради простого, "нестандартного" с точки зрения ORM селекта) и отсюда растут все эти извращения в стиле "а давайте запихаем всю бизнеслогику в хранимки", итп From andy на shitov.ru Thu Sep 26 02:06:16 2013 From: andy на shitov.ru (Andrew Shitov) Date: Thu, 26 Sep 2013 13:06:16 +0400 Subject: [Moscow.pm] =?utf-8?b?TW9zY293LnBtINC90YPQttC10L0g0L3QvtCy0Ys=?= =?utf-8?b?0Lkg0LvQuNC00LXRgA==?= Message-ID: Всем привет! s/Kiev\.pm/Moscow\.pm/; s/Ярослав/Андрей/; Иными словами, мне тоже кажется, что мы можем сделать новый виток в развитии Moscow.pm, если за дело возьмется свежий человек, который живет в Москве и может заниматься организацией встреч, обновлением сайта группы и пр. Моя кандидатура ? Павел Щербинин, который последние несколько месяцев именно это и делает. Поддержите :-) ---------- Forwarded message ---------- From: Yaroslav Korshak Date: 2013/9/25 Subject: [Kiev-pm] Kiev.pm нужен новый лидер To: "Kiev.pm group" Господа, Три года назад мы взяли прекрасный старт и совместными усилиями сделали Kiev.pm активным и интересным сообществом. За это время мы много общались, провели несколько конференций и множество встреч. Я уверен эта активность была полезна и интересна всем участникам. Но, я думаю, вы заметили что активность Kiev.pm снизилась в последнее время. Тому есть множество причин, в том числе и организационных. Одна из них - я больше не могу уделять координации и развитию группы должного внимания. Я уверен, что среди нас есть те, у кого хватает идей, времени и желания их реализовывать. Я приглашаю вас всех принять активное участие в поиске человека, который возьмет на себя координацию и развитие сообщества. Предлагайте себя, предлагайте других. Главное это выбрать активного и целеустремленного человека, которому интересно поддерживать и развивать нашу группу. Я надеюсь, что в результате Kiev.pm получит нового лидера, готового вывести сообщество на новый уровень развития, увеличить количество участников и привнести свои свежие идеи. Ярослав ______________________________**_________________ Kiev-pm mailing list Kiev-pm на pm.org http://mail.pm.org/mailman/**listinfo/kiev-pm -- Andrew Shitov ______________________________________________________________________ andy на shitov.ru | http://shitov.ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ivan на serezhkin.com Thu Sep 26 02:17:58 2013 From: ivan на serezhkin.com (Vany Serezhkin) Date: Thu, 26 Sep 2013 13:17:58 +0400 Subject: [Moscow.pm] =?utf-8?b?TW9zY293LnBtINC90YPQttC10L0g0L3QvtCy0Ys=?= =?utf-8?b?0Lkg0LvQuNC00LXRgA==?= In-Reply-To: References: Message-ID: <5243FBC6.4070808@serezhkin.com> On 26.09.2013 13:06, Andrew Shitov wrote: > Всем привет! > > s/Kiev\.pm/Moscow\.pm/; > s/Ярослав/Андрей/; > > Иными словами, мне тоже кажется, что мы можем сделать новый виток в > развитии Moscow.pm, если за дело возьмется свежий человек, который > живет в Москве и может заниматься организацией встреч, обновлением > сайта группы и пр. Моя кандидатура ? Павел Щербинин, который последние > несколько месяцев именно это и делает. Поддержите :-) > За Щербинина, Я и Мишин поможем. -- WBR, Vany From yu.pats на gmail.com Thu Sep 26 02:25:59 2013 From: yu.pats на gmail.com (Yury Pats) Date: Thu, 26 Sep 2013 12:25:59 +0300 Subject: [Moscow.pm] =?utf-8?b?TW9zY293LnBtINC90YPQttC10L0g0L3QvtCy0Ys=?= =?utf-8?b?0Lkg0LvQuNC00LXRgA==?= In-Reply-To: References: Message-ID: 2013/9/26 Andrew Shitov > Всем привет! > > s/Kiev\.pm/Moscow\.pm/; > s/Ярослав/Андрей/; > > Кто следующий? =) > Иными словами, мне тоже кажется, что мы можем сделать новый виток в > развитии Moscow.pm, если за дело возьмется свежий человек, который живет в > Москве и может заниматься организацией встреч, обновлением сайта группы и > пр. Моя кандидатура ? Павел Щербинин, который последние несколько месяцев > именно это и делает. Поддержите :-) > > > ---------- Forwarded message ---------- > From: Yaroslav Korshak > Date: 2013/9/25 > Subject: [Kiev-pm] Kiev.pm нужен новый лидер > To: "Kiev.pm group" > > > Господа, > > Три года назад мы взяли прекрасный старт и совместными усилиями сделали > Kiev.pm активным и интересным сообществом. За это время мы много общались, > провели несколько конференций и множество встреч. Я уверен эта активность > была полезна и интересна всем участникам. > > Но, я думаю, вы заметили что активность Kiev.pm снизилась в последнее > время. Тому есть множество причин, в том числе и организационных. Одна из > них - я больше не могу уделять координации и развитию группы должного > внимания. Я уверен, что среди нас есть те, у кого хватает идей, времени и > желания их реализовывать. > > Я приглашаю вас всех принять активное участие в поиске человека, который > возьмет на себя координацию и развитие сообщества. Предлагайте себя, > предлагайте других. Главное это выбрать активного и целеустремленного > человека, которому интересно поддерживать и развивать нашу группу. > > Я надеюсь, что в результате Kiev.pm получит нового лидера, готового > вывести сообщество на новый уровень развития, увеличить количество > участников и привнести свои свежие идеи. > > Ярослав > ______________________________**_________________ > Kiev-pm mailing list > Kiev-pm на pm.org > http://mail.pm.org/mailman/**listinfo/kiev-pm > > > > -- > Andrew Shitov > ______________________________________________________________________ > andy на shitov.ru | http://shitov.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- WBR, Yury Pats skype: yuripats cellular: +375 (29) 5870723 ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vaneska.ru на gmail.com Thu Sep 26 02:33:51 2013 From: vaneska.ru на gmail.com (=?KOI8-R?B?6dfBziDzz8vPzM/X?=) Date: Thu, 26 Sep 2013 13:33:51 +0400 Subject: [Moscow.pm] =?koi8-r?b?TW9zY293LnBtIM7V1sXOIM7P19nKIMzJxMXS?= In-Reply-To: <5243FBC6.4070808@serezhkin.com> References: <5243FBC6.4070808@serezhkin.com> Message-ID: +1 26 сентября 2013 г., 13:17 пользователь Vany Serezhkin написал: > On 26.09.2013 13:06, Andrew Shitov wrote: >> >> Всем привет! >> >> s/Kiev\.pm/Moscow\.pm/; >> s/Ярослав/Андрей/; >> >> Иными словами, мне тоже кажется, что мы можем сделать новый виток в >> развитии Moscow.pm, если за дело возьмется свежий человек, который живет в >> Москве и может заниматься организацией встреч, обновлением сайта группы и >> пр. Моя кандидатура -- Павел Щербинин, который последние несколько месяцев >> именно это и делает. Поддержите :-) >> > > За Щербинина, Я и Мишин поможем. > > > -- > WBR, Vany > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением, Иван From ilvin на mail.ru Thu Sep 26 03:32:47 2013 From: ilvin на mail.ru (=?UTF-8?B?0JjQu9GM0Y8g0JLQuNC90L7QutGD0YDQvtCy?=) Date: Thu, 26 Sep 2013 14:32:47 +0400 Subject: [Moscow.pm] =?utf-8?b?TW9zY293LnBtINC90YPQttC10L0g0L3QvtCy0Ys=?= =?utf-8?b?0Lkg0LvQuNC00LXRgA==?= In-Reply-To: References: Message-ID: <1380191567.597433073@f311.i.mail.ru> +1 Паша, я в тебя верю! С почтением,  Илья Винокуров. Четверг, 26 сентября 2013, 13:06 +04:00 от Andrew Shitov : >Всем привет! > >s/Kiev\.pm/Moscow\.pm/; >s/Ярослав/Андрей/; > >Иными словами, мне тоже кажется, что мы можем сделать новый виток в развитии Moscow.pm, если за дело возьмется свежий человек, который живет в Москве и может заниматься организацией встреч, обновлением сайта группы и пр. Моя кандидатура  ? Павел Щербинин, который последние несколько месяцев именно это и делает. Поддержите :-) > > >---------- Forwarded message ---------- >From: Yaroslav Korshak < ykorshak на gmail.com > >Date: 2013/9/25 >Subject: [Kiev-pm] Kiev.pm нужен новый лидер >To: "Kiev.pm group" < kiev-pm на pm.org > > > >Господа, > >Три года назад мы взяли прекрасный старт и совместными усилиями сделали Kiev.pm активным и интересным сообществом. За это время мы много общались, провели несколько конференций и множество встреч. Я уверен эта активность была полезна и интересна всем участникам. > >Но, я думаю, вы заметили что активность Kiev.pm снизилась в последнее время. Тому есть множество причин, в том числе и организационных. Одна из них -  я больше не могу уделять координации и развитию группы должного внимания. Я уверен, что среди нас есть те, у кого хватает идей, времени и желания их реализовывать. > >Я приглашаю  вас всех принять активное участие в поиске человека, который возьмет на себя координацию и развитие сообщества. Предлагайте себя, предлагайте других. Главное это выбрать активного и целеустремленного человека, которому интересно поддерживать и развивать нашу группу. > >Я надеюсь, что в результате Kiev.pm получит нового лидера, готового вывести сообщество на новый уровень развития, увеличить количество участников и привнести свои свежие идеи. > >Ярослав >______________________________ _________________ >Kiev-pm mailing list >Kiev-pm на pm.org >http://mail.pm.org/mailman/ listinfo/kiev-pm > > > >-- >Andrew Shitov >______________________________________________________________________ >andy на shitov.ru | http://shitov.ru >-- >Moscow.pm mailing list >moscow-pm на pm.org | http://moscow.pm.org -- Илья Винокуров ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mi на ya.ru Thu Sep 26 04:40:05 2013 From: mi на ya.ru (Nikolay Mishin) Date: Thu, 26 Sep 2013 15:40:05 +0400 Subject: [Moscow.pm] =?koi8-r?b?TW9zY293LnBtIM7V1sXOIM7P19nKIMzJxMXS?= In-Reply-To: <1380191567.597433073@f311.i.mail.ru> References: <1380191567.597433073@f311.i.mail.ru> Message-ID: <260271380195605@web23g.yandex.ru> Паша Щербинин++ думаю он и так неформально стал лидером moscow-pm 26.09.2013, 14:33, "Илья Винокуров" : > +1 > Паша, я в тебя верю! > > С почтением, >  Илья Винокуров. > > Четверг, 26 сентября 2013, 13:06 +04:00 от Andrew Shitov : >> Всем привет! >> >> s/Kiev\.pm/Moscow\.pm/; >> s/Ярослав/Андрей/; >> >> Иными словами, мне тоже кажется, что мы можем сделать новый виток в развитии Moscow.pm, если за дело возьмется свежий человек, который живет в Москве и может заниматься организацией встреч, обновлением сайта группы и пр. Моя кандидатура  ? Павел Щербинин, который последние несколько месяцев именно это и делает. Поддержите :-) >> >> ---------- Forwarded message ---------- >> From: Yaroslav Korshak >> Date: 2013/9/25 >> Subject: [Kiev-pm] Kiev.pm нужен новый лидер >> To: "Kiev.pm group" >> >> Господа, >> >> Три года назад мы взяли прекрасный старт и совместными усилиями сделали Kiev.pm активным и интересным сообществом. За это время мы много общались, провели несколько конференций и множество встреч. Я уверен эта активность была полезна и интересна всем участникам. >> >> Но, я думаю, вы заметили что активность Kiev.pm снизилась в последнее время. Тому есть множество причин, в том числе и организационных. Одна из них -  я больше не могу уделять координации и развитию группы должного внимания. Я уверен, что среди нас есть те, у кого хватает идей, времени и желания их реализовывать. >> >> Я приглашаю  вас всех принять активное участие в поиске человека, который возьмет на себя координацию и развитие сообщества. Предлагайте себя, предлагайте других. Главное это выбрать активного и целеустремленного человека, которому интересно поддерживать и развивать нашу группу. >> >> Я надеюсь, что в результате Kiev.pm получит нового лидера, готового вывести сообщество на новый уровень развития, увеличить количество участников и привнести свои свежие идеи. >> >> Ярослав >> _______________________________________________ >> Kiev-pm mailing list >> Kiev-pm на pm.org >> http://mail.pm.org/mailman/listinfo/kiev-pm >> >> -- >> Andrew Shitov >> ______________________________________________________________________ >> andy на shitov.ru | http://shitov.ru >> >> -- >> 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 dzirtik на gmail.com Thu Sep 26 05:16:15 2013 From: dzirtik на gmail.com (=?KOI8-R?B?8MHXxcwg/cXSwsnOyc4=?=) Date: Thu, 26 Sep 2013 16:16:15 +0400 Subject: [Moscow.pm] =?koi8-r?b?TW9zY293LnBtIM7V1sXOIM7P19nKIMzJxMXS?= In-Reply-To: <260271380195605@web23g.yandex.ru> References: <1380191567.597433073@f311.i.mail.ru> <260271380195605@web23g.yandex.ru> Message-ID: Друзья, спасибо за поддержку, я постараюсь оправдать оказанное мне доверие. Кстати следующая встреча Moscow.pm уже совсем скоро 3 октября, уже готовим анонс. 26 сентября 2013 г., 15:40 пользователь Nikolay Mishin написал: > Паша Щербинин++ > думаю он и так неформально стал лидером moscow-pm > > 26.09.2013, 14:33, "Илья Винокуров" : > > +1 > > Паша, я в тебя верю! > > > > С почтением, > > Илья Винокуров. > > > > Четверг, 26 сентября 2013, 13:06 +04:00 от Andrew Shitov >: > >> Всем привет! > >> > >> s/Kiev\.pm/Moscow\.pm/; > >> s/Ярослав/Андрей/; > >> > >> Иными словами, мне тоже кажется, что мы можем сделать новый виток в > развитии Moscow.pm, если за дело возьмется свежий человек, который живет в > Москве и может заниматься организацией встреч, обновлением сайта группы и > пр. Моя кандидатура -- Павел Щербинин, который последние несколько месяцев > именно это и делает. Поддержите :-) > >> > >> ---------- Forwarded message ---------- > >> From: Yaroslav Korshak > >> Date: 2013/9/25 > >> Subject: [Kiev-pm] Kiev.pm нужен новый лидер > >> To: "Kiev.pm group" > >> > >> Господа, > >> > >> Три года назад мы взяли прекрасный старт и совместными усилиями сделали > Kiev.pm активным и интересным сообществом. За это время мы много общались, > провели несколько конференций и множество встреч. Я уверен эта активность > была полезна и интересна всем участникам. > >> > >> Но, я думаю, вы заметили что активность Kiev.pm снизилась в последнее > время. Тому есть множество причин, в том числе и организационных. Одна из > них - я больше не могу уделять координации и развитию группы должного > внимания. Я уверен, что среди нас есть те, у кого хватает идей, времени и > желания их реализовывать. > >> > >> Я приглашаю вас всех принять активное участие в поиске человека, > который возьмет на себя координацию и развитие сообщества. Предлагайте > себя, предлагайте других. Главное это выбрать активного и целеустремленного > человека, которому интересно поддерживать и развивать нашу группу. > >> > >> Я надеюсь, что в результате Kiev.pm получит нового лидера, готового > вывести сообщество на новый уровень развития, увеличить количество > участников и привнести свои свежие идеи. > >> > >> Ярослав > >> _______________________________________________ > >> Kiev-pm mailing list > >> Kiev-pm на pm.org > >> http://mail.pm.org/mailman/listinfo/kiev-pm > >> > >> -- > >> Andrew Shitov > >> ______________________________________________________________________ > >> andy на shitov.ru | http://shitov.ru > >> > >> -- > >> 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 > -- С Уважением, Щербинин Павел ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chesnokov.ilya на gmail.com Thu Sep 26 06:06:27 2013 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Thu, 26 Sep 2013 17:06:27 +0400 Subject: [Moscow.pm] =?utf-8?b?TW9zY293LnBtINC90YPQttC10L0g0L3QvtCy0Ys=?= =?utf-8?b?0Lkg0LvQuNC00LXRgA==?= In-Reply-To: References: Message-ID: 26 сентября 2013 г., 13:06 пользователь Andrew Shitov написал: > Всем привет! > > s/Kiev\.pm/Moscow\.pm/; > s/Ярослав/Андрей/; > > Андрей, а можешь рассказать, что за поветрие такое, и почему сразу два лидера pm-групп решили забросить группы и передать их на попечение новых лидеров? > Иными словами, мне тоже кажется, что мы можем сделать новый виток в > развитии Moscow.pm, если за дело возьмется свежий человек, который живет в > Москве и может заниматься организацией встреч, обновлением сайта группы и > пр. Моя кандидатура ? Павел Щербинин, который последние несколько месяцев > именно это и делает. Поддержите :-) > > > ---------- Forwarded message ---------- > From: Yaroslav Korshak > Date: 2013/9/25 > Subject: [Kiev-pm] Kiev.pm нужен новый лидер > To: "Kiev.pm group" > > > Господа, > > Три года назад мы взяли прекрасный старт и совместными усилиями сделали > Kiev.pm активным и интересным сообществом. За это время мы много общались, > провели несколько конференций и множество встреч. Я уверен эта активность > была полезна и интересна всем участникам. > > Но, я думаю, вы заметили что активность Kiev.pm снизилась в последнее > время. Тому есть множество причин, в том числе и организационных. Одна из > них - я больше не могу уделять координации и развитию группы должного > внимания. Я уверен, что среди нас есть те, у кого хватает идей, времени и > желания их реализовывать. > > Я приглашаю вас всех принять активное участие в поиске человека, который > возьмет на себя координацию и развитие сообщества. Предлагайте себя, > предлагайте других. Главное это выбрать активного и целеустремленного > человека, которому интересно поддерживать и развивать нашу группу. > > Я надеюсь, что в результате Kiev.pm получит нового лидера, готового > вывести сообщество на новый уровень развития, увеличить количество > участников и привнести свои свежие идеи. > > Ярослав > ______________________________**_________________ > Kiev-pm mailing list > Kiev-pm на pm.org > http://mail.pm.org/mailman/**listinfo/kiev-pm > > > > -- > Andrew Shitov > ______________________________________________________________________ > andy на shitov.ru | http://shitov.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- Best regards, Ilya Chesnokov ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From andy на shitov.ru Thu Sep 26 06:27:03 2013 From: andy на shitov.ru (Andrew Shitov) Date: Thu, 26 Sep 2013 17:27:03 +0400 Subject: [Moscow.pm] =?utf-8?b?TW9zY293LnBtINC90YPQttC10L0g0L3QvtCy0Ys=?= =?utf-8?b?0Lkg0LvQuNC00LXRgA==?= In-Reply-To: References: Message-ID: > Андрей, а можешь рассказать, что за поветрие такое, и почему сразу два лидера pm-групп решили забросить группы и передать их на попечение новых лидеров? Илья, текст письма очень хорошо это объясняет :-) Кстати, одна из частых ошибок, в регексах надо дописать /g :-) 2013/9/26 Ilya Chesnokov > 26 сентября 2013 г., 13:06 пользователь Andrew Shitov написал: > >> Всем привет! >> >> s/Kiev\.pm/Moscow\.pm/; >> s/Ярослав/Андрей/; >> >> > Андрей, а можешь рассказать, что за поветрие такое, и почему сразу два > лидера pm-групп решили забросить группы и передать их на попечение новых > лидеров? > > >> Иными словами, мне тоже кажется, что мы можем сделать новый виток в >> развитии Moscow.pm, если за дело возьмется свежий человек, который живет в >> Москве и может заниматься организацией встреч, обновлением сайта группы и >> пр. Моя кандидатура ? Павел Щербинин, который последние несколько месяцев >> именно это и делает. Поддержите :-) >> >> > >> ---------- Forwarded message ---------- >> From: Yaroslav Korshak >> Date: 2013/9/25 >> Subject: [Kiev-pm] Kiev.pm нужен новый лидер >> To: "Kiev.pm group" >> >> >> Господа, >> >> Три года назад мы взяли прекрасный старт и совместными усилиями сделали >> Kiev.pm активным и интересным сообществом. За это время мы много общались, >> провели несколько конференций и множество встреч. Я уверен эта активность >> была полезна и интересна всем участникам. >> >> Но, я думаю, вы заметили что активность Kiev.pm снизилась в последнее >> время. Тому есть множество причин, в том числе и организационных. Одна из >> них - я больше не могу уделять координации и развитию группы должного >> внимания. Я уверен, что среди нас есть те, у кого хватает идей, времени и >> желания их реализовывать. >> >> Я приглашаю вас всех принять активное участие в поиске человека, который >> возьмет на себя координацию и развитие сообщества. Предлагайте себя, >> предлагайте других. Главное это выбрать активного и целеустремленного >> человека, которому интересно поддерживать и развивать нашу группу. >> >> Я надеюсь, что в результате Kiev.pm получит нового лидера, готового >> вывести сообщество на новый уровень развития, увеличить количество >> участников и привнести свои свежие идеи. >> >> Ярослав >> ______________________________**_________________ >> Kiev-pm mailing list >> Kiev-pm на pm.org >> http://mail.pm.org/mailman/**listinfo/kiev-pm >> >> >> >> -- >> Andrew Shitov >> ______________________________________________________________________ >> andy на shitov.ru | http://shitov.ru >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> >> > > > -- > Best regards, > Ilya Chesnokov > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- Andrew Shitov ______________________________________________________________________ andy на shitov.ru | http://shitov.ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From akzhan.abdulin на gmail.com Thu Sep 26 11:19:07 2013 From: akzhan.abdulin на gmail.com (Akzhan Abdulin) Date: Thu, 26 Sep 2013 22:19:07 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLQvtC/0YDQvtGBINC6INGB0YLQsNGA0YvQvCA=?= =?utf-8?b?0L/RgNC+0LPRgNCw0LzQvNC40YHRgtCw0Lw6INCy0LjQt9GD0LDQu9GM?= =?utf-8?b?0L3QvtC1INC/0YDQvtCz0YDQsNC80LjRgNC+0LLQsNC90LjQtSA6KQ==?= In-Reply-To: References: Message-ID: Типичная задача DevOps. Инструменты есть, осталось их применить, вам, судя по всему, подойдет Chef с его Data Bags. У нас просто был написан свой DSL для описания конфигурации системы (парк машин для одного проекта более 200), далее по нему динамически формировались задачи для Chef и конфиг мониторинга. Проект прошел несколько итераций, и снова в состоянии рефакторинга ) P.S.: дело было в Undev. 25 сентября 2013 г., 20:05 пользователь Dmitry Simonov написал: > Вопрос к зубрам! > > Есть большая многокомпонентная система. Компоненты опираются друг на друга > достаточно затейливыми конфигурированием, сам процесс которого нетривиален. > То есть типичный выкат в бой с нуля ещё как-то реален, но быстрое > динамическое переконфигурирование - задача не для слабонервных. > > Речь идёт не о типовых перестановках, которые конечно же можно > запрограммировать. Например, есть несколько слегка отличающихся экземпляров > одной и той же компоненты, которые последовательно подключаются одна за > другой к общей системе и мы смотрим, как система взаимодействует с каждой > из них. > > Весь опыт попыток подхода к этому снаряду показывает то, что любая система > автоматизации подобного динамического переконфигурирования ОЧЕНЬ БЫСТРО > устаревает (так как вся система растёт и развивается, > меняются/добавляются/удаляются конфигурационные параметры) подобно тому, > как устраревает документация. > > Тыщу лет назад мелькал кейс о том, как решать эту задачу. - путём обычного > визуального конструктора похожего на лего или на пазл. С таким визуальным > конструктором очень удобно быстро перекидывать связи между компонентами. И > вроде бы кейс был достаточно удачен. > > Может ли кто-то что-то рассказать о своих подходах к этому "снаряду"? > Пожалуйста, не рассказывайте мне о том, как это надо делать. Расскажите о > том, как вы делали и на какие грабли наткнулись. > > --- > Dmitriy V. Simonov, > Perl & Python programmer > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From citrin на citrin.ru Fri Sep 27 00:39:49 2013 From: citrin на citrin.ru (Anton Yuzhaninov) Date: Fri, 27 Sep 2013 11:39:49 +0400 Subject: [Moscow.pm] =?koi8-r?b?98/Q0s/TIMsg09TB0tnNINDSz8fSwc3NydPUwc06?= =?koi8-r?b?INfJ2tXBzNjOz8Ug0NLPx9LBzcnSz9fBzsnFIDop?= In-Reply-To: References: Message-ID: <52453645.408@citrin.ru> On 09/25/13 20:05, Dmitry Simonov wrote: > Весь опыт попыток подхода к этому снаряду показывает то, что любая система > автоматизации подобного динамического переконфигурирования ОЧЕНЬ БЫСТРО > устаревает (так как вся система растёт и развивается, > меняются/добавляются/удаляются конфигурационные параметры) подобно тому, как > устраревает документация. Можно подойти к снаряду с другой стороны - написать скрипты для автоматической генерации документации со схемами связей между компонентами. Хотя это тоже не просто - мы пытались генерить схемы связей (graphviz) компонентов на основе конфигов серверов - схема получалась громадная с кучей линий, поэтому читалась плохо (но это в том числе говорит о плохой архитектуре проекта). Если это будет работать - позволит иметь хоть какую то актуальную документацию, чтобы разобраться как система работает в данный момент. Если сломается, так как минимум продакшен от этого работать не престанет. From dzirtik на gmail.com Fri Sep 27 03:48:23 2013 From: dzirtik на gmail.com (=?KOI8-R?B?8MHXxcwg/cXSwsnOyc4=?=) Date: Fri, 27 Sep 2013 14:48:23 +0400 Subject: [Moscow.pm] =?koi8-r?b?99PU0sXewSBNb3Njb3cucG0gMyDPy9TRwtLRIDIw?= =?koi8-r?b?MTM=?= Message-ID: *3 октября*, мы в очередной раз открываем двери сообществу Moscow.pm (группа московских Perl-программистов). В рамках мероприятия у вас есть эксклюзивная возможность послушать доклады лучших специалистов, поделиться опытом друг с другом. * **Место и время:* *3 октября *с 19.30 до 22.00, переговорная No.1 на 2 этаже нашего офиса. В программе вас ждут доклады: 1. <<Структура юнит-тестов в большом проекте>>, Иван Соколов, компания Reg.ru - Файловая и внутрифайловая структура тестов. - С чего начинали, к чему хотим прийти 2. <<В 3 раза быстрее, чем AnyEvent, но все еще Perl>>, Mons Anderson (Владимир Перепилица) Руководитель направления, Группа backend разработки Почты, Mail.Ru Group. 3. "Implementing Two Factor Authentication", Max Maischein, перевод Павел Щербинин программист, Mail.Ru Group - Реализация RFC 6238 в Perl при помощи "Google Authenticator". - Обсудим вопросы, а также проблемы, которые приходят с двухфакторной аутентификацией. Трансляцию мероприятия вы сможете посмотреть на странице: http://corp.mail.ru/Moscow.pm Пожалуйста, отметьтесь здесь, если вы хотите посетить эту встречу, чтобы мы смогли ее лучше организовать. Там же, в комментариях, вы можете оставить информацию о том, какие темы вы хотите обсудить в рамках этой или следующей встречи - это поможет нам сделать их более интересными. -- С Уважением, Щербинин Павел ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From khedin на gmail.com Fri Sep 27 04:59:53 2013 From: khedin на gmail.com (Konstantin S. Uvarin) Date: Fri, 27 Sep 2013 15:59:53 +0400 Subject: [Moscow.pm] =?utf-8?b?TW91c2U6INC+0LHRgNCw0YLQvdGL0LkgY29lcmNl?= In-Reply-To: <20130925180201.GA4400@vdsl.uvw.ru> References: <20130924182455.GB2828@vdsl.uvw.ru> <20130925180201.GA4400@vdsl.uvw.ru> Message-ID: <201309271559.53262.khedin@gmail.com> Приветствую! > если бы ORM ограничивались бы только bless выборок в нечто более > удобное нежели perl hash, то цены бы им не было, но ORM зачем-то точат > под автосоставление запросов, да так точат что руками зачастую запрос > и не вписать толком (ну или 100500 телодвижений надо наваять заради > простого, "нестандартного" с точки зрения ORM селекта) > А что-то такое вообще делалось? С учётом всяких Moose-ов задача вроде бы решаемая. -- WBR, Konstantin S. Uvarin From vaneska.ru на gmail.com Fri Sep 27 05:20:03 2013 From: vaneska.ru на gmail.com (=?KOI8-R?B?6dfBziDzz8vPzM/X?=) Date: Fri, 27 Sep 2013 16:20:03 +0400 Subject: [Moscow.pm] =?koi8-r?b?TW91c2U6IM/C0sHUztnKIGNvZXJjZQ==?= In-Reply-To: <201309271559.53262.khedin@gmail.com> References: <20130924182455.GB2828@vdsl.uvw.ru> <20130925180201.GA4400@vdsl.uvw.ru> <201309271559.53262.khedin@gmail.com> Message-ID: Есть у меня идейный набросок, как жто должно выглядеть.. Но там все в глубокой разработке и выкладывать ссылку в паблик не хочется. Но кому интересно, могу скинуть в личку. 27 сентября 2013 г., 15:59 пользователь Konstantin S. Uvarin написал: > Приветствую! > >> если бы ORM ограничивались бы только bless выборок в нечто более >> удобное нежели perl hash, то цены бы им не было, но ORM зачем-то точат >> под автосоставление запросов, да так точат что руками зачастую запрос >> и не вписать толком (ну или 100500 телодвижений надо наваять заради >> простого, "нестандартного" с точки зрения ORM селекта) >> > > А что-то такое вообще делалось? С учётом всяких Moose-ов задача вроде бы > решаемая. > > -- > WBR, > Konstantin S. Uvarin > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением, Иван From worldmind на mail.ru Fri Sep 27 05:25:38 2013 From: worldmind на mail.ru (=?UTF-8?B?QWxleGV5IFNocnVi?=) Date: Fri, 27 Sep 2013 16:25:38 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLRgdGC0YDQtdGH0LAgTW9zY293LnBtIDMg0L4=?= =?utf-8?b?0LrRgtGP0LHRgNGPIDIwMTM=?= In-Reply-To: References: Message-ID: <1380284738.8781435@f331.i.mail.ru> При попытке зарегаться: Неизвестная ошибка Ой! При выполнении запроса возникла фатальная ошибка, так что ожидаемое действие не было выполнено, или было выполнено не полностью. Пожалуйста, попробуйте еще раз. А если ничего не выйдет, обратитесь в нашу службу поддержки по адресу support на timepad.ru При обращении в службу поддержки укажите пожалуйста вот этот уникальный код ошибки: 1380284668_9044faf65efbda1cbf3eb561c267fc10 Пятница, 27 сентября 2013, 14:48 +04:00 от Павел Щербинин : >  3 октября , мы в очередной раз открываем двери сообществу Moscow.pm (группа московских Perl-программистов). > В рамках мероприятия у вас есть эксклюзивная возможность послушать доклады лучших специалистов, поделиться опытом друг с другом. >  Место и время:    3 октября  с 19.30 до 22.00, переговорная ?1 на 2 этаже нашего офиса. > В программе вас ждут доклады: >1. ?Структура юнит-тестов в большом проекте?, Иван Соколов, компания  Reg.ru >- Файловая и внутрифайловая структура тестов. >- С чего начинали, к чему хотим прийти >2. ?В 3 раза быстрее, чем AnyEvent, но все еще Perl?, Mons Anderson (Владимир Перепилица) Руководитель направления, Группа backend разработки Почты, Mail.Ru Group. >3. "Implementing Two Factor Authentication", Max Maischein, перевод Павел Щербинин программист, Mail.Ru Group >- Реализация RFC 6238 в Perl при помощи "Google Authenticator". >- Обсудим вопросы, а также проблемы, которые приходят с двухфакторной аутентификацией. >Трансляцию мероприятия вы сможете посмотреть на странице:  http://corp.mail.ru/Moscow.pm >Пожалуйста, отметьтесь  здесь,   если вы хотите посетить эту встречу, чтобы мы смогли ее лучше организовать. >Там же, в комментариях, вы можете оставить информацию о том, какие темы вы хотите обсудить в рамках этой или следующей встречи ? это поможет нам сделать их более интересными. -- >С Уважением,  >Щербинин Павел >-- >Moscow.pm mailing list >moscow-pm на pm.org | http://moscow.pm.org -- Alexey Shrub From dzirtik на gmail.com Fri Sep 27 05:28:35 2013 From: dzirtik на gmail.com (=?KOI8-R?B?8MHXxcwg/cXSwsnOyc4=?=) Date: Fri, 27 Sep 2013 16:28:35 +0400 Subject: [Moscow.pm] =?koi8-r?b?99PU0sXewSBNb3Njb3cucG0gMyDPy9TRwtLRIDIw?= =?koi8-r?b?MTM=?= In-Reply-To: <1380284738.8781435@f331.i.mail.ru> References: <1380284738.8781435@f331.i.mail.ru> Message-ID: Добрый день. Это сторонний ресурс и некоторое время лежал, сейчас все ок. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From akzhan.abdulin на gmail.com Fri Sep 27 08:08:40 2013 From: akzhan.abdulin на gmail.com (Akzhan Abdulin) Date: Fri, 27 Sep 2013 19:08:40 +0400 Subject: [Moscow.pm] =?utf-8?b?TW91c2U6INC+0LHRgNCw0YLQvdGL0LkgY29lcmNl?= In-Reply-To: References: <20130924182455.GB2828@vdsl.uvw.ru> <20130925180201.GA4400@vdsl.uvw.ru> <201309271559.53262.khedin@gmail.com> Message-ID: Я бы смотрел в сторону LINQ. С ленивым выполнением запросов. Возможно, скрестив с SQL::Abstract. 27 сентября 2013 г., 16:20 пользователь Иван Соколов написал: > Есть у меня идейный набросок, как жто должно выглядеть.. > Но там все в глубокой разработке и выкладывать ссылку в паблик не хочется. > Но кому интересно, могу скинуть в личку. > > 27 сентября 2013 г., 15:59 пользователь Konstantin S. Uvarin > написал: > > Приветствую! > > > >> если бы ORM ограничивались бы только bless выборок в нечто более > >> удобное нежели perl hash, то цены бы им не было, но ORM зачем-то точат > >> под автосоставление запросов, да так точат что руками зачастую запрос > >> и не вписать толком (ну или 100500 телодвижений надо наваять заради > >> простого, "нестандартного" с точки зрения ORM селекта) > >> > > > > А что-то такое вообще делалось? С учётом всяких Moose-ов задача вроде бы > > решаемая. > > > > -- > > WBR, > > Konstantin S. Uvarin > > -- > > Moscow.pm mailing list > > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > С уважением, > Иван > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From andy на shitov.ru Sat Sep 28 08:49:53 2013 From: andy на shitov.ru (Andrew Shitov) Date: Sat, 28 Sep 2013 19:49:53 +0400 Subject: [Moscow.pm] =?utf-8?b?TW9zY293LnBtINC90YPQttC10L0g0L3QvtCy0Ys=?= =?utf-8?b?0Lkg0LvQuNC00LXRgA==?= In-Reply-To: References: Message-ID: Напишите что-нибудь хорошее в комментах: http://blogs.perl.org/users/andrew_shitov/2013/09/moscowpms-new-leader.html:-) 2013/9/26 Andrew Shitov > > Андрей, а можешь рассказать, что за поветрие такое, и почему сразу два > лидера pm-групп решили забросить группы и передать их на попечение новых > лидеров? > > Илья, текст письма очень хорошо это объясняет :-) > > Кстати, одна из частых ошибок, в регексах надо дописать /g :-) > > > > 2013/9/26 Ilya Chesnokov > >> 26 сентября 2013 г., 13:06 пользователь Andrew Shitov написал: >> >>> Всем привет! >>> >>> s/Kiev\.pm/Moscow\.pm/; >>> s/Ярослав/Андрей/; >>> >>> >> Андрей, а можешь рассказать, что за поветрие такое, и почему сразу два >> лидера pm-групп решили забросить группы и передать их на попечение новых >> лидеров? >> >> >>> Иными словами, мне тоже кажется, что мы можем сделать новый виток в >>> развитии Moscow.pm, если за дело возьмется свежий человек, который живет в >>> Москве и может заниматься организацией встреч, обновлением сайта группы и >>> пр. Моя кандидатура ? Павел Щербинин, который последние несколько месяцев >>> именно это и делает. Поддержите :-) >>> >>> >> >>> ---------- Forwarded message ---------- >>> From: Yaroslav Korshak >>> Date: 2013/9/25 >>> Subject: [Kiev-pm] Kiev.pm нужен новый лидер >>> To: "Kiev.pm group" >>> >>> >>> Господа, >>> >>> Три года назад мы взяли прекрасный старт и совместными усилиями сделали >>> Kiev.pm активным и интересным сообществом. За это время мы много общались, >>> провели несколько конференций и множество встреч. Я уверен эта активность >>> была полезна и интересна всем участникам. >>> >>> Но, я думаю, вы заметили что активность Kiev.pm снизилась в последнее >>> время. Тому есть множество причин, в том числе и организационных. Одна из >>> них - я больше не могу уделять координации и развитию группы должного >>> внимания. Я уверен, что среди нас есть те, у кого хватает идей, времени и >>> желания их реализовывать. >>> >>> Я приглашаю вас всех принять активное участие в поиске человека, >>> который возьмет на себя координацию и развитие сообщества. Предлагайте >>> себя, предлагайте других. Главное это выбрать активного и целеустремленного >>> человека, которому интересно поддерживать и развивать нашу группу. >>> >>> Я надеюсь, что в результате Kiev.pm получит нового лидера, готового >>> вывести сообщество на новый уровень развития, увеличить количество >>> участников и привнести свои свежие идеи. >>> >>> Ярослав >>> ______________________________**_________________ >>> Kiev-pm mailing list >>> Kiev-pm на pm.org >>> http://mail.pm.org/mailman/**listinfo/kiev-pm >>> >>> >>> >>> -- >>> Andrew Shitov >>> ______________________________________________________________________ >>> andy на shitov.ru | http://shitov.ru >>> >>> -- >>> Moscow.pm mailing list >>> moscow-pm на pm.org | http://moscow.pm.org >>> >>> >> >> >> -- >> Best regards, >> Ilya Chesnokov >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> >> > > > -- > Andrew Shitov > ______________________________________________________________________ > andy на shitov.ru | http://shitov.ru > -- Andrew Shitov ______________________________________________________________________ andy на shitov.ru | http://shitov.ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From timur.nozadze на gmail.com Sat Sep 28 17:14:40 2013 From: timur.nozadze на gmail.com (=?KOI8-R?B?9MnN1dIg7s/awcTaxQ==?=) Date: Sun, 29 Sep 2013 04:14:40 +0400 Subject: [Moscow.pm] =?koi8-r?b?8MXSxdfPxCBNb2Rlcm4gUGVybCBCb29r?= In-Reply-To: References: <209101379499009@web30g.yandex.ru> Message-ID: А вот ещё задачка: как красиво разграничить line (строка текста, заканчивающаяся переводом строки), и string (строка как тип значения, например, строка в двойных кавычках, возможно, содержащая несколько line)? 18 сентября 2013 г., 14:45 пользователь Ruslan Zakirov < ruz на bestpractical.com> написал: > > 2013/9/18 Oleg Alistratov > >> >> Вот ещё, кстати, есть слово directive: >> >> <> happens next in the program-depending on the values of their expressions.>> >> >> <> conditional expression evaluates to a true value:>> >> > >> > Директива - тоже неплохой вариант, но он не используется в perl >> документации. >> >> <<Директива>>, имхо, прочно закрепилась за опциями компилятора, макросами и >> прочей фигней в сорцах. >> То, что в перле называют прагмами. > > > Тут вы правы [1], но стоит ли переводить pragma как директива, а не как > прагма? Я не вижу смысла, а по этому термин директива свободен для > использования в других контекстах. Опять же вполне можно использовать > термины повторно, если очевидно о чем идет речь. > > [1] http://en.wikipedia.org/wiki/Directive_(programming) > > > -- > Best regards, Ruslan. > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- С уважением, Тимур Нозадзе ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From akzhan.abdulin на gmail.com Sat Sep 28 17:57:27 2013 From: akzhan.abdulin на gmail.com (Akzhan Abdulin) Date: Sun, 29 Sep 2013 04:57:27 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/QtdGA0LXQstC+0LQgTW9kZXJuIFBlcmwgQm9v?= =?utf-8?q?k?= In-Reply-To: References: <209101379499009@web30g.yandex.ru> Message-ID: Обычно надо переводить по контексту. Парсим каждую строку текста по отдельности... Строковый тип... 29 сентября 2013 г., 4:14 пользователь Тимур Нозадзе < timur.nozadze на gmail.com> написал: > А вот ещё задачка: как красиво разграничить line (строка текста, > заканчивающаяся переводом строки), и string (строка как тип значения, > например, строка в двойных кавычках, возможно, содержащая несколько line)? > > > 18 сентября 2013 г., 14:45 пользователь Ruslan Zakirov < > ruz на bestpractical.com> написал: > >> >> 2013/9/18 Oleg Alistratov >> >>> >> Вот ещё, кстати, есть слово directive: >>> >> ?Perl's control flow directives change the order of execution?what >>> happens next in the program?depending on the values of their expressions.? >>> >> ?The if directive performs the associated action only when its >>> conditional expression evaluates to a true value:? >>> > >>> > Директива - тоже неплохой вариант, но он не используется в perl >>> документации. >>> >>> ?Директива?, имхо, прочно закрепилась за опциями компилятора, макросами >>> и прочей фигней в сорцах. >>> То, что в перле называют прагмами. >> >> >> Тут вы правы [1], но стоит ли переводить pragma как директива, а не как >> прагма? Я не вижу смысла, а по этому термин директива свободен для >> использования в других контекстах. Опять же вполне можно использовать >> термины повторно, если очевидно о чем идет речь. >> >> [1] http://en.wikipedia.org/wiki/Directive_(programming) >> >> >> -- >> Best regards, Ruslan. >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> >> > > > -- > С уважением, Тимур Нозадзе > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From timur.nozadze на gmail.com Sat Sep 28 18:28:50 2013 From: timur.nozadze на gmail.com (=?KOI8-R?B?9MnN1dIg7s/awcTaxQ==?=) Date: Sun, 29 Sep 2013 05:28:50 +0400 Subject: [Moscow.pm] =?koi8-r?b?8MXSxdfPxCBNb2Rlcm4gUGVybCBCb29r?= In-Reply-To: References: <209101379499009@web30g.yandex.ru> Message-ID: Контекст тут мало чем поможет. Из контекста можно прояснить значение. В этом случае значения обоих терминов и разница между ними вполне понятны. Однако никакого перевода, кроме как <<строка>>, в голову не приходит. А один перевод для обоих не прокатывает, как минимум потому, что они вполне могут встречаться вместе, примерно так: <> <> 29 сентября 2013 г., 4:57 пользователь Akzhan Abdulin < akzhan.abdulin на gmail.com> написал: > Обычно надо переводить по контексту. Парсим каждую строку текста по > отдельности... Строковый тип... > > > > > 29 сентября 2013 г., 4:14 пользователь Тимур Нозадзе < > timur.nozadze на gmail.com> написал: > > А вот ещё задачка: как красиво разграничить line (строка текста, >> заканчивающаяся переводом строки), и string (строка как тип значения, >> например, строка в двойных кавычках, возможно, содержащая несколько line)? >> >> >> 18 сентября 2013 г., 14:45 пользователь Ruslan Zakirov < >> ruz на bestpractical.com> написал: >> >>> >>> 2013/9/18 Oleg Alistratov >>> >>>> >> Вот ещё, кстати, есть слово directive: >>>> >> <>>> happens next in the program-depending on the values of their expressions.>> >>>> >> <>>> conditional expression evaluates to a true value:>> >>>> > >>>> > Директива - тоже неплохой вариант, но он не используется в perl >>>> документации. >>>> >>>> <<Директива>>, имхо, прочно закрепилась за опциями компилятора, макросами >>>> и прочей фигней в сорцах. >>>> То, что в перле называют прагмами. >>> >>> >>> Тут вы правы [1], но стоит ли переводить pragma как директива, а не как >>> прагма? Я не вижу смысла, а по этому термин директива свободен для >>> использования в других контекстах. Опять же вполне можно использовать >>> термины повторно, если очевидно о чем идет речь. >>> >>> [1] http://en.wikipedia.org/wiki/Directive_(programming) >>> >>> >>> -- >>> Best regards, Ruslan. >>> >>> -- >>> 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 > > -- С уважением, Тимур Нозадзе ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From akzhan.abdulin на gmail.com Sat Sep 28 18:40:23 2013 From: akzhan.abdulin на gmail.com (Akzhan Abdulin) Date: Sun, 29 Sep 2013 05:40:23 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/QtdGA0LXQstC+0LQgTW9kZXJuIFBlcmwgQm9v?= =?utf-8?q?k?= In-Reply-To: References: <209101379499009@web30g.yandex.ru> Message-ID: Когда объявление сложного строкового литерала с серией вложенных выражений не подходит, используйте синтаксис *heredoc* для присваивания многострочных строковых литералов. Определение строкового литерала может располагаться на нескольких строках кода. Это так, навскидку. 29 сентября 2013 г., 5:28 пользователь Тимур Нозадзе < timur.nozadze на gmail.com> написал: > Контекст тут мало чем поможет. Из контекста можно прояснить значение. В > этом случае значения обоих терминов и разница между ними вполне понятны. > Однако никакого перевода, кроме как ?строка?, в голову не приходит. А один > перевод для обоих не прокатывает, как минимум потому, что они вполне могут > встречаться вместе, примерно так: > > ?When declaring a complex string with a series of embedded escapes is > tedious, use the *heredoc* syntax to assign one or more lines of a string? > ?A string declaration may cross logical newlines? > > > 29 сентября 2013 г., 4:57 пользователь Akzhan Abdulin < > akzhan.abdulin на gmail.com> написал: > > Обычно надо переводить по контексту. Парсим каждую строку текста по >> отдельности... Строковый тип... >> >> >> >> >> 29 сентября 2013 г., 4:14 пользователь Тимур Нозадзе < >> timur.nozadze на gmail.com> написал: >> >> А вот ещё задачка: как красиво разграничить line (строка текста, >>> заканчивающаяся переводом строки), и string (строка как тип значения, >>> например, строка в двойных кавычках, возможно, содержащая несколько line)? >>> >>> >>> 18 сентября 2013 г., 14:45 пользователь Ruslan Zakirov < >>> ruz на bestpractical.com> написал: >>> >>>> >>>> 2013/9/18 Oleg Alistratov >>>> >>>>> >> Вот ещё, кстати, есть слово directive: >>>>> >> ?Perl's control flow directives change the order of execution?what >>>>> happens next in the program?depending on the values of their expressions.? >>>>> >> ?The if directive performs the associated action only when its >>>>> conditional expression evaluates to a true value:? >>>>> > >>>>> > Директива - тоже неплохой вариант, но он не используется в perl >>>>> документации. >>>>> >>>>> ?Директива?, имхо, прочно закрепилась за опциями компилятора, >>>>> макросами и прочей фигней в сорцах. >>>>> То, что в перле называют прагмами. >>>> >>>> >>>> Тут вы правы [1], но стоит ли переводить pragma как директива, а не как >>>> прагма? Я не вижу смысла, а по этому термин директива свободен для >>>> использования в других контекстах. Опять же вполне можно использовать >>>> термины повторно, если очевидно о чем идет речь. >>>> >>>> [1] http://en.wikipedia.org/wiki/Directive_(programming) >>>> >>>> >>>> -- >>>> Best regards, Ruslan. >>>> >>>> -- >>>> 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 > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From v.perepelitsa на corp.mail.ru Fri Sep 13 07:45:34 2013 From: v.perepelitsa на corp.mail.ru (Mons Anderson) Date: Fri, 13 Sep 2013 14:45:34 -0000 Subject: [Moscow.pm] =?windows-1251?b?wu7r+OXh7fvpIOHg4yDxIEFueUV2ZW50Ojpw?= =?windows-1251?q?ostpone?= In-Reply-To: <1379081775.3517.100.camel@lodin-pad> References: <1379081775.3517.100.camel@lodin-pad> Message-ID: <07F3857D-45E0-42F5-A62F-A74F5BD52CF4@corp.mail.ru> Т.к. вы не делали use AnyEvent (require in compile time), то вы не получили прототип функции AE::postpone соответственно писать AE::cv { ? } или AE::postpone { ? } не имеете права. On 13.09.2013, at 18:16, "Konstantin S. Uvarin" wrote: > Приветствую. > > ############## > #!/usr/bin/perl -w > > use strict; > require AnyEvent; # not use > > my $cv = AnyEvent->condvar; > print 1; > AnyEvent::postpone{ print 3; $cv->send; }; > print 2; > $cv->recv; > print 4; > ############## > > perl script.pl выводит 1324. > > Т.е. код, который postpone ("выполнить на следующем витке event loop"), > на самом деле выполняется прямо сейчас. > > Если require заменить на use (или просто perl -MAnyEvent script.pl), всё > нормально: 1234. > > Или если написать AnyEvent::postpone( sub { ... } ); (так, видимо, и > сделаем, т.к. не хотим грузить AE в BEGIN-е). > > Такое ощущение, что foo{ code; } трактуется как "вызвать foo( результат > code )". Почему так? > > Я ожидал чего-то такого: > > perl -we 'sub foo{ print shift }; foo{ print 2 };' > Odd number of elements in anonymous hash at -e line 1. > 2HASH(0x91ff7ec) > > А, да, perl 5.14.2 (linux) и 5.14.4 (freebsd) > > -- > Konstantin S. Uvarin > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org