From mescalito.ua на gmail.com Thu Sep 4 22:46:42 2014 From: mescalito.ua на gmail.com (mescalito) Date: Fri, 05 Sep 2014 09:46:42 +0400 Subject: [Moscow.pm] =?utf-8?b?0JDQvdCw0LvQvtCzIElub3RpZnkg0LLQviBGcmVl?= =?utf-8?q?BSD?= Message-ID: <54094E42.2000608@gmail.com> Пардон, я об искусстве. Кто-нибудь знает/использовал какой-нибудь годный аналог линуксового inotify в *BSD, так чтобы без костылей и велосипеда? Предвидя, ответы вида "забей на все, переходи на линукс" - спасибо, не надо. -- *WBR, Dmitry mailto: mescalito.ua на gmail.com skype: mescalito_genesys icq#: 6668945 cell: +38 067 974 7812 cell: +7 915 382 2412 * ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From creaktive на gmail.com Thu Sep 4 23:13:24 2014 From: creaktive на gmail.com (Stanislaw Pusep) Date: Fri, 5 Sep 2014 08:13:24 +0200 Subject: [Moscow.pm] =?utf-8?b?0JDQvdCw0LvQvtCzIElub3RpZnkg0LLQviBGcmVl?= =?utf-8?q?BSD?= In-Reply-To: <54094E42.2000608@gmail.com> References: <54094E42.2000608@gmail.com> Message-ID: О, да, kevent()/kqueue()! https://metacpan.org/pod/IO::KQueue 2014-09-05 7:46 GMT+02:00 mescalito : > Пардон, я об искусстве. > > Кто-нибудь знает/использовал какой-нибудь годный аналог линуксового > inotify в *BSD, так чтобы без костылей и велосипеда? > Предвидя, ответы вида "забей на все, переходи на линукс" - спасибо, не > надо. > > -- > > > > > > > > > > *WBR, Dmitry mailto: mescalito.ua на gmail.com > skype: mescalito_genesys icq#: 6668945 cell: +38 067 974 7812 > <%2B38%20067%20974%207812> cell: +7 915 382 2412 <%2B7%20915%20382%202412> * > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From theathlet на yandex.ru Thu Sep 4 23:27:47 2014 From: theathlet на yandex.ru (TheAthlete) Date: Fri, 05 Sep 2014 10:27:47 +0400 Subject: [Moscow.pm] =?utf-8?b?0JDQvdCw0LvQvtCzIElub3RpZnkg0LLQviBGcmVl?= =?utf-8?q?BSD?= In-Reply-To: <54094E42.2000608@gmail.com> References: <54094E42.2000608@gmail.com> Message-ID: Думаю, нужно смотреть в сторону kqueue/kevent. Посмотри следующие модули (не проверял): Filesys::Notify::KQueue - https://metacpan.org/pod/Filesys::Notify::KQueue File::ChangeNotify::Watcher::KQueue - https://metacpan.org/pod/File::ChangeNotify::Watcher::KQueue AnyEvent::Filesys::Notify::Role::KQueue - https://metacpan.org/pod/AnyEvent::Filesys::Notify::Role::KQueue Единственная проблема - с помощью kqueue/kevent невозможно смотреть большие каталоги, т.к. для каждого каталога и файла, который проверяется, открывается filehandle Например, вот, что пишется в википедии про Gamin: Under FreeBSD, Gamin uses kqueue/kevent as the native FreeBSD kernel event notification mechanism, but in this case kqueue has one major drawback as compared to inotify: inotify is the filename-based monitoring facility and kqueue uses file descriptors for identification of monitored files, so, under FreeBSD, gam_server has to open each file in the monitored directory. This can be an issue when monitoring directories with many files stored, because the system could easily reach its kernel limits on maximum file descriptor count (kern.maxfiles and kern.maxfilesperproc). From theathlet на yandex.ru Thu Sep 4 23:39:14 2014 From: theathlet на yandex.ru (TheAthlete) Date: Fri, 05 Sep 2014 10:39:14 +0400 Subject: [Moscow.pm] =?utf-8?b?0JDQvdCw0LvQvtCzIElub3RpZnkg0LLQviBGcmVl?= =?utf-8?q?BSD?= In-Reply-To: <54094E42.2000608@gmail.com> References: <54094E42.2000608@gmail.com> Message-ID: Вот как можно увеличить количество открытых дескрипторов: On FreeBSD, you can check (and alter) your system's settings with sysctl if necessary. The important keys are: kern.maxfiles and kern.maxfilesperproc. You can see how many files your system current has open with kern.openfiles. On OpenBSD, the sysctl keys are kern.maxfiles and kern.nfiles. Per-process limits are set in /etc/login.conf. See login.conf(5) for details From mescalito.ua на gmail.com Fri Sep 5 01:20:19 2014 From: mescalito.ua на gmail.com (mescalito) Date: Fri, 05 Sep 2014 12:20:19 +0400 Subject: [Moscow.pm] =?utf-8?b?0JDQvdCw0LvQvtCzIElub3RpZnkg0LLQviBGcmVl?= =?utf-8?q?BSD?= In-Reply-To: References: <54094E42.2000608@gmail.com> Message-ID: <54097243.4050803@gmail.com> Спасибо! Проблема с большими каталогами мне не релевантна, т.к. нужно мониторить всего несколько сотен файловв определенной директории. On 05.09.2014 10:39, TheAthlete wrote: > Вот как можно увеличить количество открытых дескрипторов: > > On FreeBSD, you can check (and alter) your system's settings with > sysctl if necessary. The important keys are: kern.maxfiles and > kern.maxfilesperproc. You can see how many files your system current > has open with kern.openfiles. > > On OpenBSD, the sysctl keys are kern.maxfiles and kern.nfiles. > Per-process limits are set in /etc/login.conf. See login.conf(5) for > details -- *WBR, Dmitry mailto: mescalito.ua на gmail.com skype: mescalito_genesys icq#: 6668945 cell: +38 067 974 7812 cell: +7 915 382 2412 * ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From timur.nozadze на gmail.com Fri Sep 5 06:29:01 2014 From: timur.nozadze на gmail.com (=?UTF-8?B?0KLQuNC80YPRgCDQndC+0LfQsNC00LfQtQ==?=) Date: Fri, 5 Sep 2014 17:29:01 +0400 Subject: [Moscow.pm] =?utf-8?b?UGVybCBHb2xmINC90LAgWUFQQzo6UnVzc2lh?= Message-ID: Меня уже несколько раз просили выложить решения с конкурса Perl Golf, который мы проводили на конференции. И вот я наконец-то это сделал. Задача: https://github.com/timurn/yr2014golf/. Решения: https://github.com/timurn/yr2014golf/tree/master/solutions. Небольшая описательная хабрастатья: http://habrahabr.ru/company/regru/blog/235767/. Ещё раз спасибо всем, кто поучаствовал. Было драйвово. ;) -- С уважением, Тимур Нозадзе ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From l3talka на gmail.com Sun Sep 7 13:43:44 2014 From: l3talka на gmail.com (=?UTF-8?B?0JLRj9GH0LXRgdC70LDQsiDQpdCw0YXQsNC70LrQuNC9?=) Date: Mon, 8 Sep 2014 00:43:44 +0400 Subject: [Moscow.pm] =?utf-8?b?0JjRidC10YLRgdGPINGE0YDQuNC70LDQvdGB?= Message-ID: Доброго дня коллеги, ищу фриланс на часов 20 в неделю, опыт работы с Mojolicious, PostgreSQL, написание парсеров, для верстки юзаю HAML + bootstrap. Рассмотрю любые варианты. Связаться можно по мылу l3talka на gmail.com либо скайп l3talka. Спасибо. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From postmaster на softsearch.ru Mon Sep 8 09:21:41 2014 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Mon, 8 Sep 2014 20:21:41 +0400 Subject: [Moscow.pm] =?koi8-r?b?88vP0s/T1Ngg0drZy8/X?= Message-ID: <415834652.20140908202141@softsearch.ru> Здравствуйте. Скажите, пожалуйста, какие языки програмиирования на простых арифметических операциях и операциях с доступом к данным, например перемножение матриц или сортировке, дают скорости близкие к сишным? -- С уважением, Михаил mailto:postmaster на softsearch.ru From andrey на kostenko.name Mon Sep 8 09:24:14 2014 From: andrey на kostenko.name (=?UTF-8?B?0JDQvdC00YDQtdC5INCa0L7RgdGC0LXQvdC60L4=?=) Date: Mon, 8 Sep 2014 19:24:14 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: <415834652.20140908202141@softsearch.ru> References: <415834652.20140908202141@softsearch.ru> Message-ID: 1. Все компилируемые 2. Все с JIT W dniu poniedzia?ek, 8 wrze?nia 2014 Михаил Монашёв < postmaster на softsearch.ru> napisa?(a): > Здравствуйте. > > Скажите, пожалуйста, какие языки програмиирования на простых > арифметических операциях и операциях с доступом к данным, например > перемножение матриц или сортировке, дают скорости близкие к сишным? > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From onokonem на gmail.com Mon Sep 8 09:46:27 2014 From: onokonem на gmail.com (Daniel Podolsky) Date: Mon, 8 Sep 2014 20:46:27 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: References: <415834652.20140908202141@softsearch.ru> Message-ID: те, которые с JIT, могут оказаться на некоторых задачах быстрее C, благодаря оптимизатору на стадии исполнения. 2014-09-08 20:24 GMT+04:00 Андрей Костенко : > 1. Все компилируемые > 2. Все с JIT > > W dniu poniedzia?ek, 8 wrze?nia 2014 Михаил Монашёв > napisa?(a): > >> Здравствуйте. >> >> Скажите, пожалуйста, какие языки програмиирования на простых >> арифметических операциях и операциях с доступом к данным, например >> перемножение матриц или сортировке, дают скорости близкие к сишным? >> >> -- >> С уважением, >> Михаил mailto:postmaster на softsearch.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 vaneska.ru на gmail.com Mon Sep 8 09:52:00 2014 From: vaneska.ru на gmail.com (=?UTF-8?B?0JjQstCw0L0g0KHQvtC60L7Qu9C+0LI=?=) Date: Mon, 8 Sep 2014 20:52:00 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: References: <415834652.20140908202141@softsearch.ru> Message-ID: Go? 8 сентября 2014 г., 20:46 пользователь Daniel Podolsky написал: > те, которые с JIT, могут оказаться на некоторых задачах быстрее C, > благодаря оптимизатору на стадии исполнения. > > 2014-09-08 20:24 GMT+04:00 Андрей Костенко : > > 1. Все компилируемые > > 2. Все с JIT > > > > W dniu poniedzia?ek, 8 wrze?nia 2014 Михаил Монашёв > > napisa?(a): > > > >> Здравствуйте. > >> > >> Скажите, пожалуйста, какие языки програмиирования на простых > >> арифметических операциях и операциях с доступом к данным, например > >> перемножение матриц или сортировке, дают скорости близкие к сишным? > >> > >> -- > >> С уважением, > >> Михаил mailto:postmaster на softsearch.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 onokonem на gmail.com Mon Sep 8 10:01:22 2014 From: onokonem на gmail.com (Daniel Podolsky) Date: Mon, 8 Sep 2014 21:01:22 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: References: <415834652.20140908202141@softsearch.ru> Message-ID: JVM! :) 2014-09-08 20:52 GMT+04:00 Иван Соколов : > Go? > > 8 сентября 2014 г., 20:46 пользователь Daniel Podolsky > написал: > >> те, которые с JIT, могут оказаться на некоторых задачах быстрее C, >> благодаря оптимизатору на стадии исполнения. >> >> 2014-09-08 20:24 GMT+04:00 Андрей Костенко : >> > 1. Все компилируемые >> > 2. Все с JIT >> > >> > W dniu poniedzia?ek, 8 wrze?nia 2014 Михаил Монашёв >> > napisa?(a): >> > >> >> Здравствуйте. >> >> >> >> Скажите, пожалуйста, какие языки програмиирования на простых >> >> арифметических операциях и операциях с доступом к данным, например >> >> перемножение матриц или сортировке, дают скорости близкие к сишным? >> >> >> >> -- >> >> С уважением, >> >> Михаил mailto:postmaster на softsearch.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 > > > > > -- > С уважением, > Иван > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > From akovbovich на gmail.com Mon Sep 8 10:25:15 2014 From: akovbovich на gmail.com (Andrey Kovbovich) Date: Mon, 8 Sep 2014 21:25:15 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: References: <415834652.20140908202141@softsearch.ru> Message-ID: Perl + PDL 8 сентября 2014 г., 21:01 пользователь Daniel Podolsky написал: > JVM! > > :) > > 2014-09-08 20:52 GMT+04:00 Иван Соколов : > > Go? > > > > 8 сентября 2014 г., 20:46 пользователь Daniel Podolsky < > onokonem на gmail.com> > > написал: > > > >> те, которые с JIT, могут оказаться на некоторых задачах быстрее C, > >> благодаря оптимизатору на стадии исполнения. > >> > >> 2014-09-08 20:24 GMT+04:00 Андрей Костенко : > >> > 1. Все компилируемые > >> > 2. Все с JIT > >> > > >> > W dniu poniedzia?ek, 8 wrze?nia 2014 Михаил Монашёв > >> > napisa?(a): > >> > > >> >> Здравствуйте. > >> >> > >> >> Скажите, пожалуйста, какие языки програмиирования на > простых > >> >> арифметических операциях и операциях с доступом к данным, > например > >> >> перемножение матриц или сортировке, дают скорости близкие к сишным? > >> >> > >> >> -- > >> >> С уважением, > >> >> Михаил mailto:postmaster на softsearch.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 > > > > > > > > > > -- > > С уважением, > > Иван > > > > -- > > 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 mialinx на gmail.com Mon Sep 8 23:17:28 2014 From: mialinx на gmail.com (Dmitry Smal) Date: Tue, 09 Sep 2014 10:17:28 +0400 Subject: [Moscow.pm] =?koi8-r?b?88vP0s/T1Ngg0drZy8/X?= In-Reply-To: References: <415834652.20140908202141@softsearch.ru> Message-ID: <540E9B78.6000302@gmail.com> Кстати, забавная история про PDL. Как-то нужно было перемножить мне пару матриц.. 100x200 так. Решил сравнить PDL и чистый C (школьный алгоритм) - PDL оказался быстре (!) причем не просто быстрее, а принципиально быстрее. Школьный алгоритм на C - O(n^3) как и полагается, PDL - O(n^2). Вскрытие показало, что $x * $y в PDL это не обычное, а поэлементное умножение матриц. Что в большинстве случаев не то что нужно. Так что here be dragons. BTW, даже стандартный школьный алгоритм можно оптимизировать: Следить, что бы последовательно извлекаемые числа находились в памяти последовательно - и не выпадали из кеша. Для этого второую матрицу нужно будет транспонировать и умножать немного по-другому. On 09/08/2014 09:25 PM, Andrey Kovbovich wrote: > Perl + PDL > > 8 сентября 2014 г., 21:01 пользователь Daniel Podolsky > > написал: > > JVM! > > :) > > 2014-09-08 20:52 GMT+04:00 Иван Соколов >: > > Go? > > > > 8 сентября 2014 г., 20:46 пользователь Daniel Podolsky > > > > написал: > > > >> те, которые с JIT, могут оказаться на некоторых задачах быстрее C, > >> благодаря оптимизатору на стадии исполнения. > >> > >> 2014-09-08 20:24 GMT+04:00 Андрей Костенко > >: > >> > 1. Все компилируемые > >> > 2. Все с JIT > >> > > >> > W dniu poniedzia?ek, 8 wrzes'nia 2014 Михаил Монашёв > >> > > > napisa?(a): > >> > > >> >> Здравствуйте. > >> >> > >> >> Скажите, пожалуйста, какие языки програмиирования > на простых > >> >> арифметических операциях и операциях с доступом к данным, > например > >> >> перемножение матриц или сортировке, дают скорости близкие к > сишным? > >> >> > >> >> -- > >> >> С уважением, > >> >> Михаил mailto:postmaster на softsearch.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 > > > > > > > > > > -- > > С уважением, > > Иван > > > > -- > > 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 citrin на citrin.ru Tue Sep 9 02:00:44 2014 From: citrin на citrin.ru (Anton Yuzhaninov) Date: Tue, 09 Sep 2014 13:00:44 +0400 Subject: [Moscow.pm] =?koi8-r?b?88vP0s/T1Ngg0drZy8/X?= In-Reply-To: <415834652.20140908202141@softsearch.ru> References: <415834652.20140908202141@softsearch.ru> Message-ID: <540EC1BC.7060301@citrin.ru> On 09/08/14 20:21, Михаил Монашёв wrote: > Скажите, пожалуйста, какие языки програмиирования на простых > арифметических операциях и операциях с доступом к данным, например > перемножение матриц или сортировке, дают скорости близкие к сишным? Go, Fortran, Java. Если говорить о perl-е, то интересно было сравнивать с PDL, но результаты бенчмарков с PDL найти достаточно сложно. From ilvin на mail.ru Tue Sep 9 02:10:17 2014 From: ilvin на mail.ru (=?UTF-8?B?0JjQu9GM0Y8g0JLQuNC90L7QutGD0YDQvtCy?=) Date: Tue, 09 Sep 2014 13:10:17 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: <540E9B78.6000302@gmail.com> References: <415834652.20140908202141@softsearch.ru> <540E9B78.6000302@gmail.com> Message-ID: <1410253817.224777142@f324.i.mail.ru> 7 лет назад этим Тутубалин развлекался :) http://blog.lexa.ru/2007/01/04/o_peremnozhenii_matric_i_prochix_arxitekturnix_zam.html http://blog.lexa.ru/2007/01/20/umnozhenie_matric_int_float_i_double.html http://blog.lexa.ru/2007/01/27/umnozhenie_matric_serija_2_woodcrest_protiv_optero.html http://blog.lexa.ru/2007/02/22/umnozhenie_matric_serija_4_nvidia_g80_cuda_cublas.html http://blog.lexa.ru/2007/10/16/umnozhenie_matric_serija_5_vichislenija_na_gpu_2.html Tue, 09 Sep 2014 10:17:28 +0400 от Dmitry Smal : >Кстати, забавная история про PDL.  >Как-то нужно было перемножить мне пару матриц.. 100x200 так. >Решил сравнить PDL  и чистый C (школьный алгоритм) - PDL оказался быстре (!) причем не просто быстрее, а принципиально быстрее. >Школьный алгоритм на C - O(n^3) как и полагается, PDL - O(n^2).  >Вскрытие показало, что $x * $y  в PDL это не обычное, а поэлементное умножение матриц. >Что в большинстве случаев не то что нужно.  Так что here be dragons. > > >BTW, даже стандартный школьный алгоритм можно оптимизировать: >Следить, что бы последовательно извлекаемые числа находились в памяти последовательно - и не выпадали из кеша. >Для этого второую матрицу нужно будет транспонировать и умножать немного по-другому. > >On 09/08/2014 09:25 PM, Andrey Kovbovich wrote: >>Perl + PDL >> >>8 сентября 2014 г., 21:01 пользователь Daniel Podolsky < onokonem на gmail.com > написал: >>>JVM! >>> >>>:) >>> >>>2014-09-08 20:52 GMT+04:00 Иван Соколов < vaneska.ru на gmail.com >: >>>> Go? >>>> >>>> 8 сентября 2014 г., 20:46 пользователь Daniel Podolsky < onokonem на gmail.com > >>>> написал: >>>> >>>>> те, которые с JIT, могут оказаться на некоторых задачах быстрее C, >>>>> благодаря оптимизатору на стадии исполнения. >>>>> >>>>> 2014-09-08 20:24 GMT+04:00 Андрей Костенко < andrey на kostenko.name >: >>>>> > 1. Все компилируемые >>>>> > 2. Все с JIT >>>>> > >>>>> > W dniu poniedzia?ek, 8 wrze?nia 2014 Михаил Монашёв >>>>> > < postmaster на softsearch.ru > napisa?(a): >>>>> > >>>>> >> Здравствуйте. >>>>> >> >>>>> >> Скажите,   пожалуйста,   какие   языки   програмиирования  на  простых >>>>> >> арифметических  операциях  и  операциях  с доступом к данным, например >>>>> >> перемножение матриц или сортировке, дают скорости близкие к сишным? >>>>> >> >>>>> >> -- >>>>> >> С уважением, >>>>> >>  Михаил                          mailto: postmaster на softsearch.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 >>>> >>>> >>>> >>>> >>>> -- >>>> С уважением, >>>> Иван >>>> >>>> -- >>>> 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 Tue Sep 9 02:28:10 2014 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Tue, 9 Sep 2014 13:28:10 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQstC10YDRiNC40LvQvtGB0Ywh?= In-Reply-To: <1466556068.20140830133541@sadok.spb.ru> References: <987485256.20140826221930@softsearch.ru> <1466556068.20140830133541@sadok.spb.ru> Message-ID: 30 августа 2014 г., 13:35 пользователь Dmitry Ivanov написал: > Здравствуйте, Ilya. > > Вы писали 28 августа 2014 г., 16:56:17: > >> Кстати, как насчет того, что резюме - это же персональные данные, и не > > Сомневаюсь. Однозначно по резюме сказать, что "что вот он - это он" > нельзя. > > Вася Пупкин может публиковать резюме от имени Рулона Обоева совершенно > спокойно. Смотря какие данные есть в резюме - это может быть и номер телефона, например. Вряд ли кто-то захочет, чтобы сайт превратился в спам-базу. По другим комментариям: > Для примера можешь глянуть http://rubyjobs.ru/ Собственно, этот сайт и послужил примером, помимо jobs.perl.org :) Вскоре думаю добавить блок ссылок на интересные события. > Вот ещё бы разовых работ, как на jobs.perl.org Вот бы :) По идее все возможности для публикации разовых работ на сайте есть - нужны только те, кто будут их публиковать. Наверное надо потихоньку думать уже о каком-то продвижении, хотя я в этом мало понимаю... Пожалуй, пора искать книгу "продвижение сайта для чайников". Из обновлений: добавил RSS с работами - подписывайтесь, тестируйте, сообщайте о проблемах (в личку или в твиттер). Новости сайта пока только в твиттере - возможно, позже добавлю пару информационных страниц с новостями сайта (и соответствующую rss-ленту). > -- > С уважением, > Dmitry mailto:msk-pm на sadok.spb.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- Best regards, Ilya Chesnokov From ivan на serezhkin.com Tue Sep 9 03:58:38 2014 From: ivan на serezhkin.com (Vany Serezhkin) Date: Tue, 09 Sep 2014 14:58:38 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: References: <415834652.20140908202141@softsearch.ru> Message-ID: <540EDD5E.7050506@serezhkin.com> On 08.09.2014 20:24, Андрей Костенко wrote: > 1. Все компилируемые > 2. Все с JIT 3. минус паскаль и vb > > W dniu poniedzia?ek, 8 wrze?nia 2014 Михаил Монашёв > > napisa?(a): > > Здравствуйте. > > Скажите, пожалуйста, какие языки програмиирования на простых > арифметических операциях и операциях с доступом к данным, например > перемножение матриц или сортировке, дают скорости близкие к сишным? > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > -- WBR, Vany ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From an.gorohovski на gmail.com Tue Sep 9 04:59:16 2014 From: an.gorohovski на gmail.com (Alessandro Gorohovski) Date: Tue, 09 Sep 2014 14:59:16 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: <415834652.20140908202141@softsearch.ru> References: <415834652.20140908202141@softsearch.ru> Message-ID: Михаил Монашёв писал(а) в своём письме Mon, 08 Sep 2014 19:21:41 +0300: > Здравствуйте. > > Скажите, пожалуйста, какие языки програмиирования на простых > арифметических операциях и операциях с доступом к данным, например > перемножение матриц или сортировке, дают скорости близкие к сишным? Посмотрите в сторону Assembler-а. From nordicdyno на yandex.ru Tue Sep 9 05:04:51 2014 From: nordicdyno на yandex.ru (Orlovsky Alexander) Date: Tue, 09 Sep 2014 16:04:51 +0400 Subject: [Moscow.pm] =?koi8-r?b?88vP0s/T1Ngg0drZy8/X?= In-Reply-To: References: <415834652.20140908202141@softsearch.ru> Message-ID: <412431410264291@web24j.yandex.ru> 09.09.2014, 15:59, "Alessandro Gorohovski" : > Михаил Монашёв писал(а) в своём письме Mon, 08 > Sep 2014 19:21:41 +0300: >>  Здравствуйте. >> >>  Скажите,   пожалуйста,   какие   языки   програмиирования  на  простых >>  арифметических  операциях  и  операциях  с доступом к данным, например >>  перемножение матриц или сортировке, дают скорости близкие к сишным? > > Посмотрите в сторону > Assembler-а. чтобы на asm было быстрее чем на С ? это надо быть умнее gcc, что в большинстве случаев маловероятно From aml на rulezz.ru Tue Sep 9 05:11:00 2014 From: aml на rulezz.ru (Alexander Lourier) Date: Tue, 9 Sep 2014 14:11:00 +0200 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: <540EDD5E.7050506@serezhkin.com> References: <415834652.20140908202141@softsearch.ru> <540EDD5E.7050506@serezhkin.com> Message-ID: > > On 08.09.2014 20:24, Андрей Костенко wrote: > > 1. Все компилируемые > 2. Все с JIT > > 3. минус паскаль и vb > Плюс паскаль обратно - https://code.google.com/p/llvm-pascal/ > > > W dniu poniedzia?ek, 8 wrze?nia 2014 Михаил Монашёв < > postmaster на softsearch.ru> napisa?(a): > >> Здравствуйте. >> >> Скажите, пожалуйста, какие языки програмиирования на простых >> арифметических операциях и операциях с доступом к данным, например >> перемножение матриц или сортировке, дают скорости близкие к сишным? >> >> -- >> С уважением, >> Михаил mailto:postmaster на softsearch.ru >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> > > > > > -- > WBR, Vany > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From an.gorohovski на gmail.com Tue Sep 9 05:12:05 2014 From: an.gorohovski на gmail.com (Alessandro Gorohovski) Date: Tue, 09 Sep 2014 15:12:05 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: <412431410264291@web24j.yandex.ru> References: <415834652.20140908202141@softsearch.ru> <412431410264291@web24j.yandex.ru> Message-ID: Orlovsky Alexander писал(а) в своём письме Tue, 09 Sep 2014 15:04:51 +0300: > 09.09.2014, 15:59, "Alessandro Gorohovski" : >> Михаил Монашёв писал(а) в своём письме Mon, >> 08 >> Sep 2014 19:21:41 +0300: >>> Здравствуйте. >>> >>> Скажите, пожалуйста, какие языки програмиирования на простых >>> арифметических операциях и операциях с доступом к данным, например >>> перемножение матриц или сортировке, дают скорости близкие к сишным? >> >> Посмотрите в сторону >> Assembler-а. > > > чтобы на asm было быстрее чем на С ? это надо быть умнее gcc, что в > большинстве случаев маловероятно Вы сказали, а я - поверил :) From rtfm.rtfm.rtfm на gmail.com Tue Sep 9 10:08:01 2014 From: rtfm.rtfm.rtfm на gmail.com (Daneel Yaitskov) Date: Tue, 9 Sep 2014 21:08:01 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: References: <415834652.20140908202141@softsearch.ru> <412431410264291@web24j.yandex.ru> Message-ID: OpenCL - имеет C синтакс плюс встроенный векторный тип, минус структуры. 2014-09-09 16:12 GMT+04:00 Alessandro Gorohovski : > Orlovsky Alexander писал(а) в своём письме Tue, 09 > Sep 2014 15:04:51 +0300: > >> 09.09.2014, 15:59, "Alessandro Gorohovski" : >>> >>> Михаил Монашёв писал(а) в своём письме Mon, 08 >>> Sep 2014 19:21:41 +0300: >>>> >>>> Здравствуйте. >>>> >>>> Скажите, пожалуйста, какие языки програмиирования на простых >>>> арифметических операциях и операциях с доступом к данным, например >>>> перемножение матриц или сортировке, дают скорости близкие к сишным? >>> >>> >>> Посмотрите в сторону >>> Assembler-а. >> >> >> >> чтобы на asm было быстрее чем на С ? это надо быть умнее gcc, что в >> большинстве случаев маловероятно > > > Вы сказали, а я - поверил > :) > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- Daneel S. Yaitskov From a на lelf.me Tue Sep 9 13:47:13 2014 From: a на lelf.me (Antonio Nikishaev) Date: Wed, 10 Sep 2014 00:47:13 +0400 Subject: [Moscow.pm] =?windows-1251?b?0eLl8Pjo6+7x/CE=?= In-Reply-To: References: <987485256.20140826221930@softsearch.ru> <1466556068.20140830133541@sadok.spb.ru> Message-ID: <45B13C78-66A3-491F-A0DF-5E0B48DDDC09@lelf.me> Минутка руга^W конструктивной критики Вместо того что сейчас в rss, пишите туда лучше полный текст вакансии. (Можно координаты оставить на сайте, если прям очень хочется чтобы туда заходили) Поддержка мультиязычности© посредством заворачивания в google translate ? 1) смешно (не, ну серьёзно) 2) не в тему совершенно On 9 Sep 2014, at 13:28, Ilya Chesnokov wrote: > 30 августа 2014 г., 13:35 пользователь Dmitry Ivanov > написал: >> Здравствуйте, Ilya. >> >> Вы писали 28 августа 2014 г., 16:56:17: >> >>> Кстати, как насчет того, что резюме - это же персональные данные, и не >> >> Сомневаюсь. Однозначно по резюме сказать, что "что вот он - это он" >> нельзя. >> >> Вася Пупкин может публиковать резюме от имени Рулона Обоева совершенно >> спокойно. > > Смотря какие данные есть в резюме - это может быть и номер телефона, > например. Вряд ли кто-то захочет, чтобы сайт превратился в спам-базу. > > По другим комментариям: > >> Для примера можешь глянуть http://rubyjobs.ru/ > > Собственно, этот сайт и послужил примером, помимо jobs.perl.org :) > Вскоре думаю добавить блок ссылок на интересные события. > >> Вот ещё бы разовых работ, как на jobs.perl.org > > Вот бы :) По идее все возможности для публикации разовых работ на > сайте есть - нужны только те, кто будут их публиковать. Наверное надо > потихоньку думать уже о каком-то продвижении, хотя я в этом мало > понимаю... Пожалуй, пора искать книгу "продвижение сайта для > чайников". > > Из обновлений: добавил RSS с работами - подписывайтесь, тестируйте, > сообщайте о проблемах (в личку или в твиттер). Новости сайта пока > только в твиттере - возможно, позже добавлю пару информационных > страниц с новостями сайта (и соответствующую rss-ленту). > >> -- >> С уважением, >> Dmitry mailto:msk-pm на sadok.spb.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 From chesnokov.ilya на gmail.com Tue Sep 9 14:43:26 2014 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Wed, 10 Sep 2014 01:43:26 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQstC10YDRiNC40LvQvtGB0Ywh?= In-Reply-To: <45B13C78-66A3-491F-A0DF-5E0B48DDDC09@lelf.me> References: <987485256.20140826221930@softsearch.ru> <1466556068.20140830133541@sadok.spb.ru> <45B13C78-66A3-491F-A0DF-5E0B48DDDC09@lelf.me> Message-ID: 10 сентября 2014 г., 0:47 пользователь Antonio Nikishaev написал: > Минутка руга^W конструктивной критики > > Вместо того что сейчас в rss, пишите туда лучше полный текст вакансии. > (Можно координаты оставить на сайте, если прям очень хочется чтобы туда заходили) > > Поддержка мультиязычности© посредством заворачивания в google translate ? > 1) смешно (не, ну серьёзно) > 2) не в тему совершенно > Интересная точка зрения. А давайте проголосуем! https://perljobs.ru/voting.html По поводу второго пункта - думаю, у вас в браузере стоит предпочтительный язык английский - поэтому фрейм гугла постоянно висит наверху, что да, немного не круто выглядит. У тех, у кого русский язык предпочтителен, вообще ничего не мешается. По поводу первого - по мне так проще прочитать краткое резюме, после чего определиться, интересует ли тебя вакансия или нет, и соответственно принять решение о заходе на сайт. Кроме того, описание вакансии сохранено в html (а точнее в markdown), и я не вполне уверен, что все rss-клиенты нормально отображают html, поэтому я старался добавлять его по минимуму. > On 9 Sep 2014, at 13:28, Ilya Chesnokov wrote: > >> 30 августа 2014 г., 13:35 пользователь Dmitry Ivanov >> написал: >>> Здравствуйте, Ilya. >>> >>> Вы писали 28 августа 2014 г., 16:56:17: >>> >>>> Кстати, как насчет того, что резюме - это же персональные данные, и не >>> >>> Сомневаюсь. Однозначно по резюме сказать, что "что вот он - это он" >>> нельзя. >>> >>> Вася Пупкин может публиковать резюме от имени Рулона Обоева совершенно >>> спокойно. >> >> Смотря какие данные есть в резюме - это может быть и номер телефона, >> например. Вряд ли кто-то захочет, чтобы сайт превратился в спам-базу. >> >> По другим комментариям: >> >>> Для примера можешь глянуть http://rubyjobs.ru/ >> >> Собственно, этот сайт и послужил примером, помимо jobs.perl.org :) >> Вскоре думаю добавить блок ссылок на интересные события. >> >>> Вот ещё бы разовых работ, как на jobs.perl.org >> >> Вот бы :) По идее все возможности для публикации разовых работ на >> сайте есть - нужны только те, кто будут их публиковать. Наверное надо >> потихоньку думать уже о каком-то продвижении, хотя я в этом мало >> понимаю... Пожалуй, пора искать книгу "продвижение сайта для >> чайников". >> >> Из обновлений: добавил RSS с работами - подписывайтесь, тестируйте, >> сообщайте о проблемах (в личку или в твиттер). Новости сайта пока >> только в твиттере - возможно, позже добавлю пару информационных >> страниц с новостями сайта (и соответствующую rss-ленту). >> >>> -- >>> С уважением, >>> Dmitry mailto:msk-pm на sadok.spb.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 > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- Best regards, Ilya Chesnokov From a.prytkov на corp.mail.ru Wed Sep 10 08:28:15 2014 From: a.prytkov на corp.mail.ru (Prytkov Alexey) Date: Wed, 10 Sep 2014 15:28:15 +0000 Subject: [Moscow.pm] =?koi8-r?b?W1NQQU06IyMjXSBMdWEgV29ya3Nob3AgMjAxNCDX?= =?koi8-r?b?INzUySDX2cjPxM7ZxQ==?= Message-ID: <8160_1410362908_54106E1A_8160_3244_1_E9970A76800BCC45B5887081E1508F673407BE9D@M2EMBS4.mail.msk> Всем привет. Хочу напомнить, что в эти выходные 13-14 сентября будет Lua Workshop 2014 в Мск в офисе Mail.Ru Group. Вдруг кто еще хотел и пока не зарегистрировался. В программе конференции доклады о внутреннем устройстве Lua, LuaJIT и технологии tracing just-in-time compilation, презентации о будущем языка и новых возможностях - Lua 5.2 и Lua 5.3. Подробности http://luaconf.ru/index.html#program Язык конференции - английский. Если кто на слух тяжело воспринимает - будет тяжеловато. Видео и слайды с предыдущих конференций здесь http://www.lua.org/wshop13.html#abstracts http://www.lua.org/wshop12.html Регистрация http://www.lua.org/wshop14.html#registration Чтобы зарегистрировать, пишите на lua.workshop на gmail.com. Welcome. Alex Prytkov HR-manager Mail.Ru Group ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chesnokov.ilya на gmail.com Wed Sep 10 09:50:38 2014 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Wed, 10 Sep 2014 20:50:38 +0400 Subject: [Moscow.pm] =?utf-8?b?W1NQQU06IyMjXSBMdWEgV29ya3Nob3AgMjAxNCA=?= =?utf-8?b?0LIg0Y3RgtC4INCy0YvRhdC+0LTQvdGL0LU=?= In-Reply-To: <8160_1410362908_54106E1A_8160_3244_1_E9970A76800BCC45B5887081E1508F673407BE9D@M2EMBS4.mail.msk> References: <8160_1410362908_54106E1A_8160_3244_1_E9970A76800BCC45B5887081E1508F673407BE9D@M2EMBS4.mail.msk> Message-ID: 10 сентября 2014 г., 19:28 пользователь Prytkov Alexey написал: > Всем привет. > > Хочу напомнить, что в эти выходные 13-14 сентября будет Lua Workshop 2014 в > Мск в офисе Mail.Ru Group. > > Вдруг кто еще хотел и пока не зарегистрировался. > > > > В программе конференции доклады о внутреннем устройстве Lua, LuaJIT и > технологии tracing just-in-time compilation, презентации о будущем языка и > новых возможностях ? Lua 5.2 и Lua 5.3. > > > > Подробности http://luaconf.ru/index.html#program > > > > Язык конференции ? английский. Если кто на слух тяжело воспринимает ? будет > тяжеловато. А тем, кто Lua на слух тяжело воспринимает - нормально? ) > > > Видео и слайды с предыдущих конференций здесь > > http://www.lua.org/wshop13.html#abstracts > http://www.lua.org/wshop12.html > > > > Регистрация http://www.lua.org/wshop14.html#registration > > Чтобы зарегистрировать, пишите на lua.workshop на gmail.com. > > Welcome. > > > Alex Prytkov > HR-manager Mail.Ru Group > > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Best regards, Ilya Chesnokov From i.petro.77.00 на gmail.com Thu Sep 11 00:52:07 2014 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Thu, 11 Sep 2014 11:52:07 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: <540EDD5E.7050506@serezhkin.com> References: <415834652.20140908202141@softsearch.ru> <540EDD5E.7050506@serezhkin.com> Message-ID: <20140911075207.GD1410@vdsl.uvw.ru> > 2. Все с JIT JIT к бенчмаркам вообще не панацея. сравнивали мы тут бенчмарки lua приложения с js приложением. первое - luajit, второе - интерпретатор. на реальных кейзах luajit усасывает по полной. ну и что что jit'ится 2*2=4? зато простой оператор #array (длина массива) вычисляется банальным перебором всех элементов в массиве и когда доходит до реального бизнескейза, то простой интерпретатор уделывает эту luaJIT в пух. да, конечно, круто когда перебор всех элементов в массиве для вычисления его длины JIT'ится. это знааачительно ускоряет ;) From nordicdyno на yandex.ru Thu Sep 11 01:40:14 2014 From: nordicdyno на yandex.ru (Orlovsky Alexander) Date: Thu, 11 Sep 2014 12:40:14 +0400 Subject: [Moscow.pm] =?koi8-r?b?88vP0s/T1Ngg0drZy8/X?= In-Reply-To: <20140911075207.GD1410@vdsl.uvw.ru> References: <415834652.20140908202141@softsearch.ru> <540EDD5E.7050506@serezhkin.com> <20140911075207.GD1410@vdsl.uvw.ru> Message-ID: <2502541410424814@web8m.yandex.ru> 11.09.2014, 11:47, "Ivan Petrov" : >>  2. Все с JIT > > JIT к бенчмаркам вообще не панацея. > > сравнивали мы тут бенчмарки lua приложения с js приложением. > первое - luajit, второе - интерпретатор. > на реальных кейзах luajit усасывает по полной. > > ну и что что jit'ится 2*2=4? > зато простой оператор #array (длина массива) вычисляется банальным > перебором всех элементов в массиве и когда доходит до реального > бизнескейза, то простой интерпретатор уделывает эту luaJIT в пух. > > да, конечно, круто когда перебор всех элементов в массиве для > вычисления его длины JIT'ится. > это знааачительно ускоряет ;) 1. этот бенчмарк показывает, что массив в js и в lua ? разные структуры данных (в первом, как минимум хранится счетчик размера) и у них разная производительность в разных юзкейсах 2. V8 ? если это был он, не "простой интерпретатор" *1 З.Ы. В V8 и большинстве популярных движков JS есть JIT. [1] http://thibaultlaurens.github.io/javascript/2013/04/29/how-the-v8-engine-works/ From i.petro.77.00 на gmail.com Thu Sep 11 02:09:40 2014 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Thu, 11 Sep 2014 13:09:40 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQutC+0YDQvtGB0YLRjCDRj9C30YvQutC+0LI=?= In-Reply-To: <2502541410424814@web8m.yandex.ru> References: <415834652.20140908202141@softsearch.ru> <540EDD5E.7050506@serezhkin.com> <20140911075207.GD1410@vdsl.uvw.ru> <2502541410424814@web8m.yandex.ru> Message-ID: <20140911090940.GE1410@vdsl.uvw.ru> >> JIT к бенчмаркам вообще не панацея. >> >> сравнивали мы тут бенчмарки lua приложения с js приложением. >> первое - luajit, второе - интерпретатор. >> на реальных кейзах luajit усасывает по полной. >> >> ну и что что jit'ится 2*2=4? >> зато простой оператор #array (длина массива) вычисляется банальным >> перебором всех элементов в массиве и когда доходит до реального >> бизнескейза, то простой интерпретатор уделывает эту luaJIT в пух. >> >> да, конечно, круто когда перебор всех элементов в массиве для >> вычисления его длины JIT'ится. >> это знааачительно ускоряет ;) > 1. этот бенчмарк показывает, что массив в js и в lua ? разные структуры данных (в первом, как минимум хранится счетчик размера) и у них разная производительность в разных юзкейсах я говорю о том что не сферическая в вакууме тестовая задача, а реальная бизнес упрется в то что эти "разные структуры данных" будут использоваться в хвост и гриву. и эти "разные структуры данных" сожрут тот мнимый выигрыш JIT (как происходит в случае с lua). а вот построить JIT над "другими структурами данных", вероятно не могут. поскольку я пока не видел языка с JIT, который бы рвал другие языки по производительности на реальных, а не синтетических, задачах. From citrin на citrin.ru Thu Sep 11 03:23:38 2014 From: citrin на citrin.ru (Anton Yuzhaninov) Date: Thu, 11 Sep 2014 14:23:38 +0400 Subject: [Moscow.pm] =?koi8-r?b?88vP0s/T1Ngg0drZy8/X?= In-Reply-To: <20140911075207.GD1410@vdsl.uvw.ru> References: <415834652.20140908202141@softsearch.ru> <540EDD5E.7050506@serezhkin.com> <20140911075207.GD1410@vdsl.uvw.ru> Message-ID: <5411782A.4060302@citrin.ru> On 09/11/14 11:52, Ivan Petrov wrote: > JIT к бенчмаркам вообще не панацея. > > сравнивали мы тут бенчмарки lua приложения с js приложением. > первое - luajit, второе - интерпретатор. > на реальных кейзах luajit усасывает по полной. Кейсы у всех разные, и реальные кейсые тоже бывают разные. Большинство бенчмарков показывают что LuaJIT быстрее V8, но есть и такие задачи, где он медленее. Можно посмотреть например: http://attractivechaos.github.io/plb/ Но вообще сравнивать V8 и Lua пользы мало, потому что области приминения у них AFAIK слабо пересекаются: Lua это скриптовые расширения приложений написанных на C/C++ (в основном компьютерные игры), V8 - это nodejs и клиентский JS в Хроме. From nordicdyno на yandex.ru Thu Sep 11 03:25:19 2014 From: nordicdyno на yandex.ru (Orlovsky Alexander) Date: Thu, 11 Sep 2014 14:25:19 +0400 Subject: [Moscow.pm] =?koi8-r?b?88vP0s/T1Ngg0drZy8/X?= In-Reply-To: <20140911090940.GE1410@vdsl.uvw.ru> References: <415834652.20140908202141@softsearch.ru> <540EDD5E.7050506@serezhkin.com> <20140911075207.GD1410@vdsl.uvw.ru> <2502541410424814@web8m.yandex.ru> <20140911090940.GE1410@vdsl.uvw.ru> Message-ID: <3053641410431119@web19j.yandex.ru> > я говорю о том что не сферическая в вакууме тестовая задача, а > реальная бизнес упрется в то что эти "разные структуры данных" будут > использоваться в хвост и гриву. и эти "разные структуры данных" сожрут > тот мнимый выигрыш JIT (как происходит в случае с lua). > > а вот построить JIT над "другими структурами данных", вероятно не > могут. поскольку я пока не видел языка с JIT, который бы рвал другие > языки по производительности на реальных, а не синтетических, задачах. Вы читали мой ответ? JS ? это язык, движки которого обычно уже с JIT! То что JIT ? это не панацея будем считать очевидным) но его наличие, это обычно хорошо, а не плохо. From mshogin на gmail.com Thu Sep 11 05:31:23 2014 From: mshogin на gmail.com (=?UTF-8?B?0JzQuNGF0LDQuNC7INCo0L7Qs9C40L0=?=) Date: Thu, 11 Sep 2014 16:31:23 +0400 Subject: [Moscow.pm] =?utf-8?b?W1NQQU06IyMjXSBMdWEgV29ya3Nob3AgMjAxNCA=?= =?utf-8?b?0LIg0Y3RgtC4INCy0YvRhdC+0LTQvdGL0LU=?= In-Reply-To: References: <8160_1410362908_54106E1A_8160_3244_1_E9970A76800BCC45B5887081E1508F673407BE9D@M2EMBS4.mail.msk> Message-ID: Тогда тем более стоит сходить, что бы воспринимать стало легче ;) 10 сентября 2014 г., 20:50 пользователь Ilya Chesnokov < chesnokov.ilya на gmail.com> написал: > 10 сентября 2014 г., 19:28 пользователь Prytkov Alexey > написал: > > Всем привет. > > > > Хочу напомнить, что в эти выходные 13-14 сентября будет Lua Workshop > 2014 в > > Мск в офисе Mail.Ru Group. > > > > Вдруг кто еще хотел и пока не зарегистрировался. > > > > > > > > В программе конференции доклады о внутреннем устройстве Lua, LuaJIT и > > технологии tracing just-in-time compilation, презентации о будущем языка > и > > новых возможностях ? Lua 5.2 и Lua 5.3. > > > > > > > > Подробности http://luaconf.ru/index.html#program > > > > > > > > Язык конференции ? английский. Если кто на слух тяжело воспринимает ? > будет > > тяжеловато. > > А тем, кто Lua на слух тяжело воспринимает - нормально? ) > > > > > > > Видео и слайды с предыдущих конференций здесь > > > > http://www.lua.org/wshop13.html#abstracts > > http://www.lua.org/wshop12.html > > > > > > > > Регистрация http://www.lua.org/wshop14.html#registration > > > > Чтобы зарегистрировать, пишите на lua.workshop на gmail.com. > > > > Welcome. > > > > > > Alex Prytkov > > HR-manager Mail.Ru Group > > > > > > > > > > -- > > 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 > -- С уважением Михаил Шогин. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From chesnokov.ilya на gmail.com Thu Sep 11 06:14:45 2014 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Thu, 11 Sep 2014 17:14:45 +0400 Subject: [Moscow.pm] =?utf-8?b?W1NQQU06IyMjXSBMdWEgV29ya3Nob3AgMjAxNCA=?= =?utf-8?b?0LIg0Y3RgtC4INCy0YvRhdC+0LTQvdGL0LU=?= In-Reply-To: References: <8160_1410362908_54106E1A_8160_3244_1_E9970A76800BCC45B5887081E1508F673407BE9D@M2EMBS4.mail.msk> Message-ID: 11 сентября 2014 г., 16:31 пользователь Михаил Шогин написал: > Тогда тем более стоит сходить, что бы воспринимать стало легче ;) По-любому ;) Кстати, мне показалось, или в российских компаниях Lua занимает ту же нишу, которую в зарубежных занимает Go? > 10 сентября 2014 г., 20:50 пользователь Ilya Chesnokov > написал: > >> 10 сентября 2014 г., 19:28 пользователь Prytkov Alexey >> написал: >> > Всем привет. >> > >> > Хочу напомнить, что в эти выходные 13-14 сентября будет Lua Workshop >> > 2014 в >> > Мск в офисе Mail.Ru Group. >> > >> > Вдруг кто еще хотел и пока не зарегистрировался. >> > >> > >> > >> > В программе конференции доклады о внутреннем устройстве Lua, LuaJIT и >> > технологии tracing just-in-time compilation, презентации о будущем языка >> > и >> > новых возможностях ? Lua 5.2 и Lua 5.3. >> > >> > >> > >> > Подробности http://luaconf.ru/index.html#program >> > >> > >> > >> > Язык конференции ? английский. Если кто на слух тяжело воспринимает ? >> > будет >> > тяжеловато. >> >> А тем, кто Lua на слух тяжело воспринимает - нормально? ) >> >> > >> > >> > Видео и слайды с предыдущих конференций здесь >> > >> > http://www.lua.org/wshop13.html#abstracts >> > http://www.lua.org/wshop12.html >> > >> > >> > >> > Регистрация http://www.lua.org/wshop14.html#registration >> > >> > Чтобы зарегистрировать, пишите на lua.workshop на gmail.com. >> > >> > Welcome. >> > >> > >> > Alex Prytkov >> > HR-manager Mail.Ru Group >> > >> > >> > >> > >> > -- >> > 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 > > > > > -- > С уважением > Михаил Шогин. > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Best regards, Ilya Chesnokov From nordicdyno на yandex.ru Thu Sep 11 06:38:00 2014 From: nordicdyno на yandex.ru (Orlovsky Alexander) Date: Thu, 11 Sep 2014 17:38:00 +0400 Subject: [Moscow.pm] =?koi8-r?b?W1NQQU06IyMjXSBMdWEgV29ya3Nob3AgMjAxNCDX?= =?koi8-r?b?INzUySDX2cjPxM7ZxQ==?= In-Reply-To: References: <8160_1410362908_54106E1A_8160_3244_1_E9970A76800BCC45B5887081E1508F673407BE9D@M2EMBS4.mail.msk> Message-ID: <2360041410442680@web14g.yandex.ru> 11.09.2014, 17:15, "Ilya Chesnokov" : > 11 сентября 2014 г., 16:31 пользователь Михаил Шогин > написал: >>  Тогда тем более стоит сходить, что бы воспринимать стало легче ;) > > По-любому ;) > > Кстати, мне показалось, или в российских компаниях Lua занимает ту же > нишу, которую в зарубежных занимает Go? ИМХО, показалось. Lua ? встраиваемый язык, Go ? нет. (Go зато отлично подходит для написания серверов. И вообще он изначально более "general purpose") Кстати, если внимательно присмотреться к списку спикеров, можно увидеть что Lua в хвост и в гриву в России используют в основном в Mail.ru и Iponweb (гейминг не считаем, там Lua давно) From mail на knutov.com Sun Sep 14 18:39:50 2014 From: mail на knutov.com (Nick Knutov) Date: Mon, 15 Sep 2014 07:39:50 +0600 Subject: [Moscow.pm] iCloud api Message-ID: <54164366.7090904@knutov.com> Не могу нагуглить, есть ли что-нибудь готовое для работы с контактами в iCloud скриптами на перле? Очень хочется сделать себе синхронизацию контактов между iCloud и гуглом. -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From dsimonov на gmail.com Sun Sep 14 21:25:03 2014 From: dsimonov на gmail.com (Dmitry Simonov) Date: Mon, 15 Sep 2014 08:25:03 +0400 Subject: [Moscow.pm] iCloud api In-Reply-To: <54164366.7090904@knutov.com> References: <54164366.7090904@knutov.com> Message-ID: Там готовый синк есть. Погугли сам синк. понедельник, 15 сентября 2014 г. пользователь Nick Knutov написал: > Не могу нагуглить, есть ли что-нибудь готовое для работы с контактами в > iCloud скриптами на перле? Очень хочется сделать себе синхронизацию > контактов между iCloud и гуглом. > > -- > 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 > -- --- Dmitriy V. Simonov, Perl & Python programmer ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nordicdyno на yandex.ru Mon Sep 15 00:48:36 2014 From: nordicdyno на yandex.ru (Orlovsky Alexander) Date: Mon, 15 Sep 2014 11:48:36 +0400 Subject: [Moscow.pm] =?koi8-r?b?THVhIFdvcmtzaG9wIDIwMTQg1yDc1Mkg19nIz8TO?= =?koi8-r?b?2cU=?= In-Reply-To: <8160_1410362908_54106E1A_8160_3244_1_E9970A76800BCC45B5887081E1508F673407BE9D@M2EMBS4.mail.msk> References: <8160_1410362908_54106E1A_8160_3244_1_E9970A76800BCC45B5887081E1508F673407BE9D@M2EMBS4.mail.msk> Message-ID: <3410511410767316@web10j.yandex.ru> Вложение в формате HTML было извлечено… URL: From chesnokov.ilya на gmail.com Mon Sep 15 00:59:53 2014 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Mon, 15 Sep 2014 11:59:53 +0400 Subject: [Moscow.pm] =?utf-8?b?THVhIFdvcmtzaG9wIDIwMTQg0LIg0Y3RgtC4INCy?= =?utf-8?b?0YvRhdC+0LTQvdGL0LU=?= In-Reply-To: <3410511410767316@web10j.yandex.ru> References: <8160_1410362908_54106E1A_8160_3244_1_E9970A76800BCC45B5887081E1508F673407BE9D@M2EMBS4.mail.msk> <3410511410767316@web10j.yandex.ru> Message-ID: 15 сентября 2014 г., 11:48 пользователь Orlovsky Alexander написал: > Спасибо! Это было интересное мероприятие. Мне понравилось :) Присоединяюсь, все было супер. Спасибо организаторам и спонсорам. > 10.09.2014, 19:28, "Prytkov Alexey" : > > Всем привет. > > Хочу напомнить, что в эти выходные 13-14 сентября будет Lua Workshop 2014 в > Мск в офисе Mail.Ru Group. > > Вдруг кто еще хотел и пока не зарегистрировался. > > > > В программе конференции доклады о внутреннем устройстве Lua, LuaJIT и > технологии tracing just-in-time compilation, презентации о будущем языка и > новых возможностях ? Lua 5.2 и Lua 5.3. > > > > Подробности http://luaconf.ru/index.html#program > > > > Язык конференции ? английский. Если кто на слух тяжело воспринимает ? будет > тяжеловато. > > > > Видео и слайды с предыдущих конференций здесь > > http://www.lua.org/wshop13.html#abstracts > http://www.lua.org/wshop12.html > > > > Регистрация http://www.lua.org/wshop14.html#registration > > Чтобы зарегистрировать, пишите на lua.workshop на gmail.com. > > Welcome. > > > Alex Prytkov > HR-manager Mail.Ru Group > > > > , > > -- > 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, Ilya Chesnokov From postmaster на softsearch.ru Mon Sep 15 01:04:56 2014 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Mon, 15 Sep 2014 12:04:56 +0400 Subject: [Moscow.pm] =?koi8-r?b?8NLPIMfSwc7Jw9kgz9DUyc3J2sHDycku?= Message-ID: <801127650.20140915120456@softsearch.ru> Здравствуйте. Занимаюсь сейчас оптимизацией по скорости одно кода. Разными уловками и прочим удалось значительно его ускорить. Как ускоряться дальше пока мыслей не возникает. И возникакет вопрос, а достиг ли я предела? Как без написания копии кода на сях понять, что его скорость уже не вырастет? -- С уважением, Михаил mailto:postmaster на softsearch.ru From denis.fedoseev на gmail.com Mon Sep 15 09:13:23 2014 From: denis.fedoseev на gmail.com (Denis Fedoseev) Date: Mon, 15 Sep 2014 20:13:23 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/RgNC+INCz0YDQsNC90LjRhtGLINC+0L/RgtC4?= =?utf-8?b?0LzQuNC30LDRhtC40Lgu?= In-Reply-To: <801127650.20140915120456@softsearch.ru> References: <801127650.20140915120456@softsearch.ru> Message-ID: Ну, я думаю, стоит сначала определиться а надо ли ускорять еще и не дешевле будет докупить памяти/серверов/датацентров? А так, если профайлер уже узких мест не показывает, ковырять алгоритмы и смотреть что происходит и ускоряемо ли это в принципе. 15 сентября 2014 г., 12:04 пользователь Михаил Монашёв < postmaster на softsearch.ru> написал: > Здравствуйте. > > Занимаюсь сейчас оптимизацией по скорости одно кода. Разными уловками > и прочим удалось значительно его ускорить. Как ускоряться дальше пока > мыслей не возникает. И возникакет вопрос, а достиг ли я предела? > > Как без написания копии кода на сях понять, что его скорость уже не > вырастет? > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- С уважением, Денис Федосеев ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From andrei.protasovitski на gmail.com Mon Sep 15 09:55:16 2014 From: andrei.protasovitski на gmail.com (Andrei) Date: Mon, 15 Sep 2014 18:55:16 +0200 Subject: [Moscow.pm] =?utf-8?b?0J/RgNC+INCz0YDQsNC90LjRhtGLINC+0L/RgtC4?= =?utf-8?b?0LzQuNC30LDRhtC40Lgu?= In-Reply-To: <801127650.20140915120456@softsearch.ru> References: <801127650.20140915120456@softsearch.ru> Message-ID: Если это Perl, то есть много всяких трюков. Например, как можно меньше использовать ссылки и разыменовывание, копировать код вместо вызова методов, исключить SV для IV-only (это больше для памяти, но на больших объёмах данных улучшение скорости заметно) и т.д. И конечно, как уже отмечали ранее, пересмотреть алгоритмы. 15 сентября 2014 г., 10:04 пользователь Михаил Монашёв < postmaster на softsearch.ru> написал: > Здравствуйте. > > Занимаюсь сейчас оптимизацией по скорости одно кода. Разными уловками > и прочим удалось значительно его ускорить. Как ускоряться дальше пока > мыслей не возникает. И возникакет вопрос, а достиг ли я предела? > > Как без написания копии кода на сях понять, что его скорость уже не > вырастет? > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Andrei Protasovitski < andrei[dot]protasovitski[at]gmail[dot]com > Diemen, Netherlands ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From victor на vsespb.ru Mon Sep 15 10:05:27 2014 From: victor на vsespb.ru (Victor Efimov) Date: Mon, 15 Sep 2014 21:05:27 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/RgNC+INCz0YDQsNC90LjRhtGLINC+0L/RgtC4?= =?utf-8?b?0LzQuNC30LDRhtC40Lgu?= In-Reply-To: References: <801127650.20140915120456@softsearch.ru> Message-ID: Если это маленький кусок кода - переписать на быстрм языке и сравнить. Если это большой кусок кода - переписать на быстром языке, а старый стереть (потому что нефик в больших кусках кода заниматься оптимизацией типа "копировать код вместо вызова методов") 15 сентября 2014 г., 20:55 пользователь Andrei написал: > Если это Perl, то есть много всяких трюков. Например, как можно меньше > использовать ссылки и разыменовывание, копировать код вместо вызова методов, > исключить SV для IV-only (это больше для памяти, но на больших объёмах > данных улучшение скорости заметно) и т.д. > > И конечно, как уже отмечали ранее, пересмотреть алгоритмы. > > 15 сентября 2014 г., 10:04 пользователь Михаил Монашёв > написал: > >> Здравствуйте. >> >> Занимаюсь сейчас оптимизацией по скорости одно кода. Разными уловками >> и прочим удалось значительно его ускорить. Как ускоряться дальше пока >> мыслей не возникает. И возникакет вопрос, а достиг ли я предела? >> >> Как без написания копии кода на сях понять, что его скорость уже не >> вырастет? >> >> -- >> С уважением, >> Михаил mailto:postmaster на softsearch.ru >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > > > > -- > Andrei Protasovitski > < andrei[dot]protasovitski[at]gmail[dot]com > > Diemen, Netherlands > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > From mialinx на gmail.com Mon Sep 15 10:10:34 2014 From: mialinx на gmail.com (Dmitry Smal) Date: Mon, 15 Sep 2014 21:10:34 +0400 Subject: [Moscow.pm] =?koi8-r?b?8NLPIMfSwc7Jw9kgz9DUyc3J2sHDycku?= In-Reply-To: References: <801127650.20140915120456@softsearch.ru> Message-ID: <54171D8A.9020508@gmail.com> Это спорный момент. Разименования и вызов функций в Perl вроде относительно быстрые. Создание переменных - медленное (из-за выделения памяти). On 09/15/2014 08:55 PM, Andrei wrote: > Если это Perl, то есть много всяких трюков. Например, как можно меньше > использовать ссылки и разыменовывание, копировать код вместо вызова > методов, исключить SV для IV-only (это больше для памяти, но на > больших объёмах данных улучшение скорости заметно) и т.д. > > И конечно, как уже отмечали ранее, пересмотреть алгоритмы. > > 15 сентября 2014 г., 10:04 пользователь Михаил Монашёв > > написал: > > Здравствуйте. > > Занимаюсь сейчас оптимизацией по скорости одно кода. Разными уловками > и прочим удалось значительно его ускорить. Как ускоряться дальше пока > мыслей не возникает. И возникакет вопрос, а достиг ли я предела? > > Как без написания копии кода на сях понять, что его скорость уже не > вырастет? > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > > -- > Andrei Protasovitski > < andrei[dot]protasovitski[at]gmail[dot]com > > Diemen, Netherlands > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From aml на rulezz.ru Mon Sep 15 12:50:24 2014 From: aml на rulezz.ru (Alexander Lourier) Date: Mon, 15 Sep 2014 21:50:24 +0200 Subject: [Moscow.pm] =?utf-8?b?0J/RgNC+INCz0YDQsNC90LjRhtGLINC+0L/RgtC4?= =?utf-8?b?0LzQuNC30LDRhtC40Lgu?= In-Reply-To: <801127650.20140915120456@softsearch.ru> References: <801127650.20140915120456@softsearch.ru> Message-ID: А какой характер нагрузки? Вычислительная, сетевое взаимодействие, диск? Ну и подробности. Если вычислительная - то какого рода вычисления? Если сеть - то что за операции. Если диск, то какой характер обращения к дискам. 15 сентября 2014 г., 10:04 пользователь Михаил Монашёв < postmaster на softsearch.ru> написал: > Здравствуйте. > > Занимаюсь сейчас оптимизацией по скорости одно кода. Разными уловками > и прочим удалось значительно его ускорить. Как ускоряться дальше пока > мыслей не возникает. И возникакет вопрос, а достиг ли я предела? > > Как без написания копии кода на сях понять, что его скорость уже не > вырастет? > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From andrei.protasovitski на gmail.com Mon Sep 15 14:13:10 2014 From: andrei.protasovitski на gmail.com (Andrei) Date: Mon, 15 Sep 2014 23:13:10 +0200 Subject: [Moscow.pm] =?utf-8?b?0J/RgNC+INCz0YDQsNC90LjRhtGLINC+0L/RgtC4?= =?utf-8?b?0LzQuNC30LDRhtC40Lgu?= In-Reply-To: References: <801127650.20140915120456@softsearch.ru> Message-ID: Кстати, очень правильные вопросы. 15 сентября 2014 г., 21:50 пользователь Alexander Lourier написал: > А какой характер нагрузки? Вычислительная, сетевое взаимодействие, диск? > Ну и подробности. Если вычислительная - то какого рода вычисления? Если > сеть - то что за операции. Если диск, то какой характер обращения к дискам. > > 15 сентября 2014 г., 10:04 пользователь Михаил Монашёв < > postmaster на softsearch.ru> написал: > >> Здравствуйте. >> >> >> Занимаюсь сейчас оптимизацией по скорости одно кода. Разными уловками >> и прочим удалось значительно его ускорить. Как ускоряться дальше пока >> мыслей не возникает. И возникакет вопрос, а достиг ли я предела? >> >> Как без написания копии кода на сях понять, что его скорость уже не >> вырастет? >> >> -- >> С уважением, >> Михаил mailto:postmaster на softsearch.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 > > -- Andrei Protasovitski < andrei[dot]protasovitski[at]gmail[dot]com > Diemen, Netherlands ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From alexclear на gmail.com Mon Sep 15 14:24:39 2014 From: alexclear на gmail.com (Alex Chistyakov) Date: Tue, 16 Sep 2014 01:24:39 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/RgNC+INCz0YDQsNC90LjRhtGLINC+0L/RgtC4?= =?utf-8?b?0LzQuNC30LDRhtC40Lgu?= In-Reply-To: <801127650.20140915120456@softsearch.ru> References: <801127650.20140915120456@softsearch.ru> Message-ID: 2014-09-15 12:04 GMT+04:00 Михаил Монашёв : > Здравствуйте. > > Занимаюсь сейчас оптимизацией по скорости одно кода. Разными уловками > и прочим удалось значительно его ускорить. Как ускоряться дальше пока > мыслей не возникает. И возникакет вопрос, а достиг ли я предела? > > Как без написания копии кода на сях понять, что его скорость уже не > вырастет? Профайлером посмотреть. Если явного победителя не выявлено (грубо говоря, тормозит равномерно все) - то это как раз тот самый случай, когда надо переписывать. > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org From postmaster на softsearch.ru Mon Sep 15 20:58:36 2014 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Tue, 16 Sep 2014 07:58:36 +0400 Subject: [Moscow.pm] =?koi8-r?b?8NLPIMfSwc7Jw9kgz9DUyc3J2sHDycku?= In-Reply-To: References: <801127650.20140915120456@softsearch.ru> Message-ID: <716974253.20140916075836@softsearch.ru> Здравствуйте, Alexander. > А какой характер нагрузки? Вычислительная, сетевое взаимодействие, > диск? Ну и подробности. Если вычислительная - то какого рода > вычисления? Если сеть - то что за операции. Если диск, то какой > характер обращения к дискам. Вычисления, причём не самые сложные. -- С уважением, Михаил mailto:postmaster на softsearch.ru From vividsnow на gmail.com Mon Sep 15 23:03:06 2014 From: vividsnow на gmail.com (vividsnow) Date: Tue, 16 Sep 2014 10:03:06 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/RgNC+INCz0YDQsNC90LjRhtGLINC+0L/RgtC4?= =?utf-8?b?0LzQuNC30LDRhtC40Lgu?= In-Reply-To: <716974253.20140916075836@softsearch.ru> References: <801127650.20140915120456@softsearch.ru> <716974253.20140916075836@softsearch.ru> Message-ID: PDL, Inline::C? On Sep 16, 2014 7:58 AM, "Михаил Монашёв" wrote: > Здравствуйте, Alexander. > > > А какой характер нагрузки? Вычислительная, сетевое взаимодействие, > > диск? Ну и подробности. Если вычислительная - то какого рода > > вычисления? Если сеть - то что за операции. Если диск, то какой > > характер обращения к дискам. > > Вычисления, причём не самые сложные. > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From aml на rulezz.ru Mon Sep 15 23:03:36 2014 From: aml на rulezz.ru (Alexander Lourier) Date: Tue, 16 Sep 2014 08:03:36 +0200 Subject: [Moscow.pm] =?utf-8?b?0J/RgNC+INCz0YDQsNC90LjRhtGLINC+0L/RgtC4?= =?utf-8?b?0LzQuNC30LDRhtC40Lgu?= In-Reply-To: <716974253.20140916075836@softsearch.ru> References: <801127650.20140915120456@softsearch.ru> <716974253.20140916075836@softsearch.ru> Message-ID: Ну вычисления - не самая сильная сторона перла. Если производительность так важна, то лучше сразу переписать на чем-нибудь компилируемом. Пусть даже не всё - хотя бы внутренние циклы. Я пробовал модуль Inline - на нём всё просто получается. 16 сентября 2014 г., 5:58 пользователь Михаил Монашёв < postmaster на softsearch.ru> написал: > Здравствуйте, Alexander. > > > А какой характер нагрузки? Вычислительная, сетевое взаимодействие, > > диск? Ну и подробности. Если вычислительная - то какого рода > > вычисления? Если сеть - то что за операции. Если диск, то какой > > характер обращения к дискам. > > Вычисления, причём не самые сложные. > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From postmaster на softsearch.ru Wed Sep 17 01:23:23 2014 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Wed, 17 Sep 2014 12:23:23 +0400 Subject: [Moscow.pm] =?koi8-r?b?7MnOxcrOz8Ug1dLB187FzsnFINMgwsnUz9fZzckg?= =?koi8-r?b?z9DF0sHDydHNyQ==?= Message-ID: <1258539920.20140917122323@softsearch.ru> Здравствуйте. Имеется уравнение: (x+y)%256=z ну или его вариант с битовыми операциями: (x+y)&255=z чему равен x? -- С уважением, Михаил mailto:postmaster на softsearch.ru From ivan на serezhkin.com Wed Sep 17 01:27:16 2014 From: ivan на serezhkin.com (Vany Serezhkin) Date: Wed, 17 Sep 2014 12:27:16 +0400 Subject: [Moscow.pm] =?koi8-r?b?7MnOxcrOz8Ug1dLB187FzsnFINMgwsnUz9fZzckg?= =?koi8-r?b?z9DF0sHDydHNyQ==?= In-Reply-To: <1258539920.20140917122323@softsearch.ru> References: <1258539920.20140917122323@softsearch.ru> Message-ID: <541945E4.1030306@serezhkin.com> ну ты даёшь x%256 + y%256 = z x%256 = z - y%256 x = z - y%256 + int(rand)*256 On 17.09.2014 12:23, Михаил Монашёв wrote: > Здравствуйте. > > Имеется уравнение: > > (x+y)%256=z > > ну или его вариант с битовыми операциями: > > (x+y)&255=z > > чему равен x? > -- WBR, Vany From creaktive на gmail.com Wed Sep 17 01:30:39 2014 From: creaktive на gmail.com (Stanislaw Pusep) Date: Wed, 17 Sep 2014 10:30:39 +0200 Subject: [Moscow.pm] =?utf-8?b?0JvQuNC90LXQudC90L7QtSDRg9GA0LDQstC90LU=?= =?utf-8?b?0L3QuNC1INGBINCx0LjRgtC+0LLRi9C80Lgg0L7Qv9C10YDQsNGG0Lg=?= =?utf-8?b?0Y/QvNC4?= In-Reply-To: <1258539920.20140917122323@softsearch.ru> References: <1258539920.20140917122323@softsearch.ru> Message-ID: Не силен в математике, но, ИМХО, решений бесконечное множество. Т.е. будут x1,x2,x3...хn. Но выглядит это так: x,x+(256*1),x+(256*2),x+(256*3)...x+(256*n) 2014-09-17 10:23 GMT+02:00 Михаил Монашёв : > Здравствуйте. > > Имеется уравнение: > > (x+y)%256=z > > ну или его вариант с битовыми операциями: > > (x+y)&255=z > > чему равен x? > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From postmaster на softsearch.ru Wed Sep 17 01:50:01 2014 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Wed, 17 Sep 2014 12:50:01 +0400 Subject: [Moscow.pm] =?koi8-r?b?7MnOxcrOz8Ug1dLB187FzsnFINMgwsnUz9fZzckg?= =?koi8-r?b?z9DF0sHDydHNyQ==?= In-Reply-To: <541945E4.1030306@serezhkin.com> References: <1258539920.20140917122323@softsearch.ru> <541945E4.1030306@serezhkin.com> Message-ID: <1536409472.20140917125001@softsearch.ru> Здравствуйте, Vany. Наверное, правильнее вот так: x = z-y + int(rand()*256) > ну ты даёшь > x%256 + y%256 = z > x%256 = z - y%256 > x = z - y%256 + int(rand)*256 > On 17.09.2014 12:23, Михаил Монашёв wrote: >> Здравствуйте. >> >> Имеется уравнение: >> >> (x+y)%256=z >> >> ну или его вариант с битовыми операциями: >> >> (x+y)&255=z >> >> чему равен x? >> > -- > WBR, Vany -- С уважением, Михаил mailto:postmaster на softsearch.ru From ivan на serezhkin.com Wed Sep 17 02:02:16 2014 From: ivan на serezhkin.com (Vany Serezhkin) Date: Wed, 17 Sep 2014 13:02:16 +0400 Subject: [Moscow.pm] =?koi8-r?b?7MnOxcrOz8Ug1dLB187FzsnFINMgwsnUz9fZzckg?= =?koi8-r?b?z9DF0sHDydHNyQ==?= In-Reply-To: <1536409472.20140917125001@softsearch.ru> References: <1258539920.20140917122323@softsearch.ru> <541945E4.1030306@serezhkin.com> <1536409472.20140917125001@softsearch.ru> Message-ID: <54194E18.9000704@serezhkin.com> On 17.09.2014 12:50, Михаил Монашёв wrote: > Здравствуйте, Vany. > > Наверное, правильнее вот так: > x = z-y + int(rand()*256) Ну да, с модулями арифметика чудовищно простая. -- WBR, Vany From postmaster на softsearch.ru Wed Sep 17 02:02:45 2014 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Wed, 17 Sep 2014 13:02:45 +0400 Subject: [Moscow.pm] =?koi8-r?b?7MnOxcrOz8Ug1dLB187FzsnFINMgwsnUz9fZzckg?= =?koi8-r?b?z9DF0sHDydHNyQ==?= In-Reply-To: <1536409472.20140917125001@softsearch.ru> References: <1258539920.20140917122323@softsearch.ru> <541945E4.1030306@serezhkin.com> <1536409472.20140917125001@softsearch.ru> Message-ID: <762942020.20140917130245@softsearch.ru> Здравствуйте, Михаил. Исправление, в скобках ошибся: - x = z-y + int(rand()*256) + x = z-y + int(rand)*256 -- С уважением, Михаил mailto:postmaster на softsearch.ru From ivan на serezhkin.com Wed Sep 17 02:09:09 2014 From: ivan на serezhkin.com (Vany Serezhkin) Date: Wed, 17 Sep 2014 13:09:09 +0400 Subject: [Moscow.pm] =?koi8-r?b?7MnOxcrOz8Ug1dLB187FzsnFINMgwsnUz9fZzckg?= =?koi8-r?b?z9DF0sHDydHNyQ==?= In-Reply-To: <762942020.20140917130245@softsearch.ru> References: <1258539920.20140917122323@softsearch.ru> <541945E4.1030306@serezhkin.com> <1536409472.20140917125001@softsearch.ru> <762942020.20140917130245@softsearch.ru> Message-ID: <54194FB5.8090409@serezhkin.com> On 17.09.2014 13:02, Михаил Монашёв wrote: > Здравствуйте, Михаил. > > Исправление, в скобках ошибся: > > - x = z-y + int(rand()*256) > + x = z-y + int(rand)*256 Ты лучше расскажи зачем тебе решать уравнение с бесконечным количеством корней ? =) Публика уже греет попкорн =) -- WBR, Vany From postmaster на softsearch.ru Wed Sep 17 02:24:32 2014 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Wed, 17 Sep 2014 13:24:32 +0400 Subject: [Moscow.pm] =?koi8-r?b?7MnOxcrOz8Ug1dLB187FzsnFINMgwsnUz9fZzckg?= =?koi8-r?b?z9DF0sHDydHNyQ==?= In-Reply-To: <54194E18.9000704@serezhkin.com> References: <1258539920.20140917122323@softsearch.ru> <541945E4.1030306@serezhkin.com> <1536409472.20140917125001@softsearch.ru> <54194E18.9000704@serezhkin.com> Message-ID: <248523689.20140917132432@softsearch.ru> Здравствуйте, Vany. >> Наверное, правильнее вот так: >> x = z-y + int(rand()*256) > Ну да, с модулями арифметика чудовищно простая. Ну тогда попробуй выведи, чему равны a и b в двух линейных уравнениях: (1+a+b+4)%256 = 10 (1*0+a*1+b*2+4*3)%256 = 20 Подсказка, они равны 2 и 3 соотвественно. Но как решить эти уравнения и написать a=... , b=... , пока не придумалось. -- С уважением, Михаил mailto:postmaster на softsearch.ru From postmaster на softsearch.ru Wed Sep 17 02:26:01 2014 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Wed, 17 Sep 2014 13:26:01 +0400 Subject: [Moscow.pm] =?koi8-r?b?7MnOxcrOz8Ug1dLB187FzsnFINMgwsnUz9fZzckg?= =?koi8-r?b?z9DF0sHDydHNyQ==?= In-Reply-To: <54194FB5.8090409@serezhkin.com> References: <1258539920.20140917122323@softsearch.ru> <541945E4.1030306@serezhkin.com> <1536409472.20140917125001@softsearch.ru> <762942020.20140917130245@softsearch.ru> <54194FB5.8090409@serezhkin.com> Message-ID: <1729555037.20140917132601@softsearch.ru> Здравствуйте, Vany. >> Исправление, в скобках ошибся: >> >> - x = z-y + int(rand()*256) >> + x = z-y + int(rand)*256 > Ты лучше расскажи зачем тебе решать уравнение с бесконечным количеством > корней ? =) > Публика уже греет попкорн =) чтобы потом сделать им AND 255 и получить один единственный корень. :-) -- С уважением, Михаил mailto:postmaster на softsearch.ru From dzirtik на gmail.com Wed Sep 17 08:07:42 2014 From: dzirtik на gmail.com (=?UTF-8?B?0J/QsNCy0LXQuyDQqdC10YDQsdC40L3QuNC9?=) Date: Wed, 17 Sep 2014 19:07:42 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLRgdGC0YDQtdGH0LAgMiDQvtC60YLRj9Cx0YA=?= =?utf-8?b?0Y8=?= Message-ID: Дорогие Друзья! И вновь офис Mail.Ru Group гостеприимно открывает свои двери сообществу Moscow.pm ? группе московских Perl-программистов, участникам всемирной ассоциации Perl Mongers . *2 октября* пройдет очередная встреча, в ходе которой: *Ксения Боброва* (ведущий программист Денег Mail.Ru ) в своем докладе ?Гибкое конфигурирование Perl-приложения с помощью Dependency Injection? расскажет о Dependency Injection и DI-контейнерах ? объяснит, зачем они нужны и как их можно применить в приложениях на Perl. *Руслан Закиров *(Team lead команды Perl-разработки Sports.ru) выступит с докладом ?На крыльце одном сидели Perl, PHP, Python и JS?. Вы узнаете, как в Sports.ru подружили бекэнд с фронтэндом, и как РPP на беках не поссорились друг с другом. *Павел Щербинин* (Team lead в проекте Новости Mail.Ru ) рассмотрит популярнейшую игру Perl Golf и расскажет о ?секретных? операторах Perl. Также Павел даст участникам семинара возможность немного посоревноваться. Мечтаете осуществлять совместные проекты и делиться идеями в области Perl-программирования? Стремитесь достичь профессионального роста в среде единомышленников, узнавать о конкретных боевых задачах из первых рук? Тогда ? welcome на наш семинар! *Начало:* 19:30. Надеемся, что, как и всегда, свободных мест в конференц-зале не будет. Потому спешите *зарегистрироваться **здесь* !? -- С Уважением, Щербинин Павел ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From name2rnd на gmail.com Wed Sep 17 11:31:47 2014 From: name2rnd на gmail.com (Natalya Savenkova) Date: Wed, 17 Sep 2014 22:31:47 +0400 Subject: [Moscow.pm] =?koi8-r?b?99PU0sXewSAyIM/L1NHC0tE=?= In-Reply-To: References: Message-ID: <178C1FE2-8E60-4E27-ADED-6899EB52B9ED@gmail.com> Огогошечки! Надо идти! Savenkova Natalya name2rnd на gmail.com http://facebook.com/name.rnd > On 17 сент. 2014 г., at 19:07, Павел Щербинин wrote: > > Дорогие Друзья! > > И вновь офис Mail.Ru Group гостеприимно открывает свои двери сообществу Moscow.pm ? группе московских Perl-программистов, участникам всемирной ассоциации Perl Mongers. > > 2 октября пройдет очередная встреча, в ходе которой: > > Ксения Боброва (ведущий программист Денег Mail.Ru) в своем докладе ?Гибкое конфигурирование Perl-приложения с помощью Dependency Injection? расскажет о Dependency Injection и DI-контейнерах ? объяснит, зачем они нужны и как их можно применить в приложениях на Perl. > > > > Руслан Закиров (Team lead команды Perl-разработки Sports.ru) выступит с докладом ?На крыльце одном сидели Perl, PHP, Python и JS?. Вы узнаете, как в Sports.ru подружили бекэнд с фронтэндом, и как РPP на беках не поссорились друг с другом. > > > > Павел Щербинин (Team lead в проекте Новости Mail.Ru) рассмотрит популярнейшую игру Perl Golf и расскажет о ?секретных? операторахPerl. Также Павел даст участникам семинара возможность немного посоревноваться. > > > > Мечтаете осуществлять совместные проекты и делиться идеями в области Perl-программирования? Стремитесь достичь профессионального роста в среде единомышленников, узнавать о конкретных боевых задачах из первых рук? Тогда ? welcome на наш семинар! > > Начало: 19:30. > > Надеемся, что, как и всегда, свободных мест в конференц-зале не будет. Потому спешите зарегистрироваться здесь!? > > > -- > С Уважением, > Щербинин Павел > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From a на lelf.me Wed Sep 17 11:34:45 2014 From: a на lelf.me (Antonio Nikishaev) Date: Wed, 17 Sep 2014 22:34:45 +0400 Subject: [Moscow.pm] =?utf-8?b?0JvQuNC90LXQudC90L7QtSDRg9GA0LDQstC90LU=?= =?utf-8?b?0L3QuNC1INGBINCx0LjRgtC+0LLRi9C80Lgg0L7Qv9C10YDQsNGG0LjRj9C8?= =?utf-8?b?0Lg=?= In-Reply-To: <248523689.20140917132432@softsearch.ru> References: <1258539920.20140917122323@softsearch.ru> <541945E4.1030306@serezhkin.com> <1536409472.20140917125001@softsearch.ru> <54194E18.9000704@serezhkin.com> <248523689.20140917132432@softsearch.ru> Message-ID: <5A9FC17F-1806-45C7-BFC1-BED66B694817@lelf.me> On 17 Sep 2014, at 13:24, Михаил Монашёв wrote: > Здравствуйте, Vany. > >>> Наверное, правильнее вот так: >>> x = z-y + int(rand()*256) >> Ну да, с модулями арифметика чудовищно простая. > > Ну тогда попробуй выведи, чему равны a и b в двух линейных уравнениях: > > (1+a+b+4)%256 = 10 > (1*0+a*1+b*2+4*3)%256 = 20 a+b+5 ? 10 (mod 256), a+2b+12 ? 20 (mod 256) a+b ? 5, a+2b ? 8 a ? 2, b ? 3 a = 2+256i, b = 3+256j, i,j ? ? Школьная математика типа. -- lelf From timur.nozadze на gmail.com Fri Sep 19 15:07:02 2014 From: timur.nozadze на gmail.com (=?UTF-8?B?0KLQuNC80YPRgCDQndC+0LfQsNC00LfQtQ==?=) Date: Sat, 20 Sep 2014 02:07:02 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLRgdGC0YDQtdGH0LAgMiDQvtC60YLRj9Cx0YA=?= =?utf-8?b?0Y8=?= In-Reply-To: <178C1FE2-8E60-4E27-ADED-6899EB52B9ED@gmail.com> References: <178C1FE2-8E60-4E27-ADED-6899EB52B9ED@gmail.com> Message-ID: > > *Павел Щербинин* (Team lead в проекте Новости Mail.Ru > ) рассмотрит популярнейшую игру Perl Golf и > расскажет о ?секретных? операторахPerl. Ага, втянулся! ;) Круто. Кажется, я даже смогу поприсутствовать. 17 сентября 2014 г., 22:31 пользователь Natalya Savenkova < name2rnd на gmail.com> написал: > Огогошечки! Надо идти! > > Savenkova Natalya > name2rnd на gmail.com > http://facebook.com/name.rnd > > On 17 сент. 2014 г., at 19:07, Павел Щербинин wrote: > > Дорогие Друзья! > > И вновь офис Mail.Ru Group гостеприимно открывает свои двери сообществу > Moscow.pm ? группе московских Perl-программистов, участникам всемирной > ассоциации Perl Mongers . > > *2 октября* пройдет очередная встреча, в ходе которой: > > *Ксения Боброва* (ведущий программист Денег Mail.Ru > ) в своем докладе ?Гибкое конфигурирование Perl-приложения > с помощью Dependency Injection? расскажет о Dependency Injection и > DI-контейнерах ? объяснит, зачем они нужны и как их можно применить в > приложениях на Perl. > > > > *Руслан Закиров *(Team lead команды Perl-разработки Sports.ru) выступит с > докладом ?На крыльце одном сидели Perl, PHP, Python и JS?. Вы узнаете, как > в Sports.ru подружили бекэнд с фронтэндом, и как РPP на беках не > поссорились друг с другом. > > > > *Павел Щербинин* (Team lead в проекте Новости Mail.Ru > ) рассмотрит популярнейшую игру Perl Golf и > расскажет о ?секретных? операторахPerl. Также Павел даст участникам > семинара возможность немного посоревноваться. > > > > Мечтаете осуществлять совместные проекты и делиться идеями в области > Perl-программирования? Стремитесь достичь профессионального роста в среде > единомышленников, узнавать о конкретных боевых задачах из первых рук? Тогда > ? welcome на наш семинар! > > *Начало:* 19:30. > > Надеемся, что, как и всегда, свободных мест в конференц-зале не будет. > Потому спешите *зарегистрироваться **здесь* > !? > > -- > С Уважением, > Щербинин Павел > > -- > 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 mi на ya.ru Sun Sep 21 14:28:15 2014 From: mi на ya.ru (Nikolay Mishin) Date: Mon, 22 Sep 2014 01:28:15 +0400 Subject: [Moscow.pm] =?koi8-r?b?y8/EydLP18vBINcgUGVybCDQz97FzdUg19PFINzU?= =?koi8-r?b?zyDUwcsg09TSwc7OzyDSwcLP1MHF1D8=?= Message-ID: <37031411334895@web20m.yandex.ru> Привет, MoscowPM, тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) #!/usr/bin/env perl use utf8; use Modern::Perl; use Encode::Locale; use Encode qw( decode encode from_to); use Text::Iconv; use Encode::Detect::Detector; use Data::Dumper qw( Dumper ); if (-t) { binmode(STDIN, ":encoding(console_in)"); binmode(STDOUT, ":encoding(console_out)"); binmode(STDERR, ":encoding(console_out)"); } my $lang = shift or die "Usage: $0 What_is_your_language?\n"; my_dump('lang_01',$lang); my $converter = Text::Iconv->new( "cp1251", "utf-8"); $lang = $converter->convert($lang); my_dump('lang_02',$lang); $lang = Encode::decode("utf8",$lang); my_dump('lang_03',$lang); my_dump('lang_04_перл',qq{перл}); $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или умри!!";}) /ix;#русский не мачится, почему? sub my_dump { my ($name,$var)=@_; local $Data::Dumper::Useqq = 1; local $Data::Dumper::Indent = 0; local $Data::Dumper::Terse = 1; print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." dump=".Dumper($var)."\n"); } этот же код на гитхабе https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl моя задача была, чтобы скрипт perl 100_regex_4_moscow_pm.pl перл читая из консоли слово "перл" находил его в регексе внутри скрипта вопросы: 1) почему, если в консоле perl -MEncode::Detect::Detector -E "say Encode::Detect::Detector::detect(qq{перл})" у меня кодировка ISO-8859-7 my $converter = Text::Iconv->new( "cp1251", "utf-8"); Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? 2)что происходит со строкой здесь UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" $lang = Encode::decode("utf8",$lang); UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" --что такое делает decode? я так понимаю - он починивает utf8, но что конкретно спасибо, хорошей недели!! -- С уважением Николай Мишин From dsimonov на gmail.com Sun Sep 21 22:53:36 2014 From: dsimonov на gmail.com (Dmitry Simonov) Date: Mon, 22 Sep 2014 09:53:36 +0400 Subject: [Moscow.pm] =?utf-8?b?0JXRgdGC0Ywg0LTQstCwINCy0LDQutCw0L3RgdC4?= =?utf-8?b?0Lgg0L3QsCDRg9C00LDQu9GR0L3QutGDIDop?= Message-ID: Привет всем :) Есть две вакансии на удалёнку. Если кто-то ко мне стучался и я по какой-то причине вдруг не ответил, - постучите ещё раз, plz. Скайп: dsimonov4 --- Dmitriy V. Simonov, Perl & Python programmer ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ilvin на mail.ru Mon Sep 22 01:51:26 2014 From: ilvin на mail.ru (=?UTF-8?B?0JjQu9GM0Y8g0JLQuNC90L7QutGD0YDQvtCy?=) Date: Mon, 22 Sep 2014 12:51:26 +0400 Subject: [Moscow.pm] =?utf-8?b?0LrQvtC00LjRgNC+0LLQutCwINCyIFBlcmwg0L8=?= =?utf-8?b?0L7Rh9C10LzRgyDQstGB0LUg0Y3RgtC+INGC0LDQuiDRgdGC0YDQsNC90L0=?= =?utf-8?b?0L4g0YDQsNCx0L7RgtCw0LXRgj8=?= In-Reply-To: <37031411334895@web20m.yandex.ru> References: <37031411334895@web20m.yandex.ru> Message-ID: <1411375885.947228810@f120.i.mail.ru> Здравствуйте, Николай. Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта кодировка называется utf8. Когда строки вводятся в Perl, их нужно декодировать из различных кодировок в utf8. В том числе нужно декодировать UTF-8 в utf8. Если строку нужно вывести из Perl, то эту строку нужно кодировать в различные кодировки. В том числе нужно кодировать utf8 в UTF-8 Этим занимаются функции Encode::encode('UTF-8', $string) и Encode::decode('UTF-8', $string). Text::Iconv - не используйте это, если точно не знаете почему вам нужен именно этот модуль. Концепцию работы с кодировками в Perl я рассказал, а вот свой скрипт поправить потрудитесь сами пожалуйста... PS: Чтобы не возиться в явном виде с перекодированием строк, в перл используют binmode STDIN, ":encoding(console_in)" if -t STDIN; binmode STDOUT, ":encoding(console_out)" if -t STDOUT; binmode STDERR, ":encoding(console_out)" if -t STDERR; После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без перекодирования... С почтением,   Илья Винокуров. Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin : >Привет, MoscowPM, >тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) > >#!/usr/bin/env perl >use utf8; >use Modern::Perl; >use Encode::Locale; >use Encode qw( decode encode from_to); >use Text::Iconv; >use Encode::Detect::Detector; >use Data::Dumper qw( Dumper ); > >  >if (-t) >{ >    binmode(STDIN, ":encoding(console_in)"); >binmode(STDOUT, ":encoding(console_out)"); >binmode(STDERR, ":encoding(console_out)"); >} > >my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >my_dump('lang_01',$lang); >my $converter = Text::Iconv->new( "cp1251", "utf-8"); >$lang = $converter->convert($lang); >my_dump('lang_02',$lang); >$lang = Encode::decode("utf8",$lang); >my_dump('lang_03',$lang); >my_dump('lang_04_перл',qq{перл}); > > $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или умри!!";}) /ix;#русский не мачится, почему? >  > sub my_dump > { > my ($name,$var)=@_; > local $Data::Dumper::Useqq = 1; > local $Data::Dumper::Indent = 0; > local $Data::Dumper::Terse = 1; > print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." dump=".Dumper($var)."\n"); > } > >этот же код на гитхабе >https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl > >моя задача была, чтобы скрипт >perl 100_regex_4_moscow_pm.pl перл >читая из консоли слово "перл" находил его в регексе внутри скрипта > >вопросы: >1) почему, если в консоле >perl -MEncode::Detect::Detector -E "say Encode::Detect::Detector::detect(qq{перл})" >у меня кодировка ISO-8859-7 >my $converter = Text::Iconv->new( "cp1251", "utf-8"); >Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? > >2)что происходит со строкой здесь >UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >$lang = Encode::decode("utf8",$lang); >UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >--что такое делает decode? >я так понимаю - он починивает utf8, но что конкретно > >спасибо, хорошей недели!! > > >-- >С уважением >Николай Мишин > >-- >Moscow.pm mailing list >moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From victor на vsespb.ru Mon Sep 22 01:58:13 2014 From: victor на vsespb.ru (Victor Efimov) Date: Mon, 22 Sep 2014 12:58:13 +0400 Subject: [Moscow.pm] =?utf-8?b?0LrQvtC00LjRgNC+0LLQutCwINCyIFBlcmwg0L8=?= =?utf-8?b?0L7Rh9C10LzRgyDQstGB0LUg0Y3RgtC+INGC0LDQuiDRgdGC0YDQsNC9?= =?utf-8?b?0L3QviDRgNCw0LHQvtGC0LDQtdGCPw==?= In-Reply-To: <1411375885.947228810@f120.i.mail.ru> References: <37031411334895@web20m.yandex.ru> <1411375885.947228810@f120.i.mail.ru> Message-ID: 22 сентября 2014 г., 12:51 пользователь Илья Винокуров написал: > Здравствуйте, Николай. > > Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта кодировка > называется utf8. > Когда строки вводятся в Perl, их нужно декодировать из различных кодировок в > utf8. > В том числе нужно декодировать UTF-8 в utf8. > Если строку нужно вывести из Perl, то эту строку нужно кодировать в > различные кодировки. > В том числе нужно кодировать utf8 в UTF-8 > только тут введена какя-то странная терминология, которой на самом деле нет. В perl строки не храянятся как набор абстрактных символов. Рассуждения про их кодировку лучше присекать на корню. Отличия между utf8 и UTF-8 - вовсе не в этом, а в том что utf-8 более строкая валидация чем utf8. Но в остальном, если в тексте выше заменить "utf8" на "символьная строка", то будет ок. > Этим занимаются функции Encode::encode('UTF-8', $string) и > Encode::decode('UTF-8', $string). > > Text::Iconv - не используйте это, если точно не знаете почему вам нужен > именно этот модуль. > > Концепцию работы с кодировками в Perl я рассказал, > а вот свой скрипт поправить потрудитесь сами пожалуйста... > > PS: Чтобы не возиться в явном виде с перекодированием строк, в перл > используют > > binmode STDIN, ":encoding(console_in)" if -t STDIN; > binmode STDOUT, ":encoding(console_out)" if -t STDOUT; > binmode STDERR, ":encoding(console_out)" if -t STDERR; > > После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без > перекодирования... > > С почтением, > Илья Винокуров. > > Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin : > > Привет, MoscowPM, > тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) > > #!/usr/bin/env perl > use utf8; > use Modern::Perl; > use Encode::Locale; > use Encode qw( decode encode from_to); > use Text::Iconv; > use Encode::Detect::Detector; > use Data::Dumper qw( Dumper ); > > > if (-t) > { > binmode(STDIN, ":encoding(console_in)"); > binmode(STDOUT, ":encoding(console_out)"); > binmode(STDERR, ":encoding(console_out)"); > } > > my $lang = shift or die "Usage: $0 What_is_your_language?\n"; > my_dump('lang_01',$lang); > my $converter = Text::Iconv->new( "cp1251", "utf-8"); > $lang = $converter->convert($lang); > my_dump('lang_02',$lang); > $lang = Encode::decode("utf8",$lang); > my_dump('lang_03',$lang); > my_dump('lang_04_перл',qq{перл}); > > $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или > умри!!";}) /ix;#русский не мачится, почему? > > sub my_dump > { > my ($name,$var)=@_; > local $Data::Dumper::Useqq = 1; > local $Data::Dumper::Indent = 0; > local $Data::Dumper::Terse = 1; > print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." > dump=".Dumper($var)."\n"); > } > > этот же код на гитхабе > https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl > > моя задача была, чтобы скрипт > perl 100_regex_4_moscow_pm.pl перл > читая из консоли слово "перл" находил его в регексе внутри скрипта > > вопросы: > 1) почему, если в консоле > perl -MEncode::Detect::Detector -E "say > Encode::Detect::Detector::detect(qq{перл})" > у меня кодировка ISO-8859-7 > my $converter = Text::Iconv->new( "cp1251", "utf-8"); > Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? > > 2)что происходит со строкой здесь > UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" > $lang = Encode::decode("utf8",$lang); > UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" > --что такое делает decode? > я так понимаю - он починивает utf8, но что конкретно > > спасибо, хорошей недели!! > > > -- > С уважением > Николай Мишин > > -- > 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 asan999 на gmail.com Mon Sep 22 03:47:54 2014 From: asan999 на gmail.com (Andrey Asyakin) Date: Mon, 22 Sep 2014 14:47:54 +0400 Subject: [Moscow.pm] =?koi8-r?b?y8/EydLP18vBINcgUGVybCDQz97FzdUg19PFINzU?= =?koi8-r?b?zyDUwcsg09TSwc7OzyDSwcLP1MHF1D8=?= In-Reply-To: <37031411334895@web20m.yandex.ru> References: <37031411334895@web20m.yandex.ru> Message-ID: <541FFE5A.9060403@gmail.com> до вызова decode Перл рассматривает эту строку, которая пришла извне, как набор октетов, то есть символ в ней занимает байт и <=255, и работает с ней соответствующим образом; после decode(...) - как Unicode-строку, состоящую из символов, символ может занимать больше 1 байта и быть > 255. т.е. \320\277\ - это \x{43f} = 'п', pack "C*", oct(320), oct(277) 22.09.2014 01:28, Nikolay Mishin пишет: > Привет, MoscowPM, > тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) > > #!/usr/bin/env perl > use utf8; > use Modern::Perl; > use Encode::Locale; > use Encode qw( decode encode from_to); > use Text::Iconv; > use Encode::Detect::Detector; > use Data::Dumper qw( Dumper ); > > > if (-t) > { > binmode(STDIN, ":encoding(console_in)"); > binmode(STDOUT, ":encoding(console_out)"); > binmode(STDERR, ":encoding(console_out)"); > } > > my $lang = shift or die "Usage: $0 What_is_your_language?\n"; > my_dump('lang_01',$lang); > my $converter = Text::Iconv->new( "cp1251", "utf-8"); > $lang = $converter->convert($lang); > my_dump('lang_02',$lang); > $lang = Encode::decode("utf8",$lang); > my_dump('lang_03',$lang); > my_dump('lang_04_перл',qq{перл}); > > $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или умри!!";}) /ix;#русский не мачится, почему? > > sub my_dump > { > my ($name,$var)=@_; > local $Data::Dumper::Useqq = 1; > local $Data::Dumper::Indent = 0; > local $Data::Dumper::Terse = 1; > print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." dump=".Dumper($var)."\n"); > } > > этот же код на гитхабе > https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl > > моя задача была, чтобы скрипт > perl 100_regex_4_moscow_pm.pl перл > читая из консоли слово "перл" находил его в регексе внутри скрипта > > вопросы: > 1) почему, если в консоле > perl -MEncode::Detect::Detector -E "say Encode::Detect::Detector::detect(qq{перл})" > у меня кодировка ISO-8859-7 > my $converter = Text::Iconv->new( "cp1251", "utf-8"); > Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? > > 2)что происходит со строкой здесь > UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" > $lang = Encode::decode("utf8",$lang); > UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" > --что такое делает decode? > я так понимаю - он починивает utf8, но что конкретно > > спасибо, хорошей недели!! > > From mi на ya.ru Mon Sep 22 12:37:02 2014 From: mi на ya.ru (Nikolay Mishin) Date: Mon, 22 Sep 2014 23:37:02 +0400 Subject: [Moscow.pm] =?koi8-r?b?y8/EydLP18vBINcgUGVybCDQz97FzdUg19PFINzU?= =?koi8-r?b?zyDUwcsg09TSwc7OzyDSwcLP1MHF1D8=?= In-Reply-To: <1411375885.947228810@f120.i.mail.ru> References: <37031411334895@web20m.yandex.ru> <1411375885.947228810@f120.i.mail.ru> Message-ID: <1181811411414622@web30g.yandex.ru> 22.09.2014, 12:51, "Илья Винокуров" : > Здравствуйте, Николай. > > Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта кодировка называется utf8. > Когда строки вводятся в Perl, их нужно декодировать из различных кодировок в utf8. > В том числе нужно декодировать UTF-8 в utf8. > Если строку нужно вывести из Perl, то эту строку нужно кодировать в различные кодировки. > В том числе нужно кодировать utf8 в UTF-8 > > Этим занимаются функции Encode::encode('UTF-8', $string) и Encode::decode('UTF-8', $string). > > Text::Iconv - не используйте это, если точно не знаете почему вам нужен именно этот модуль. > > Концепцию работы с кодировками в Perl я рассказал, > а вот свой скрипт поправить потрудитесь сами пожалуйста... > > PS: Чтобы не возиться в явном виде с перекодированием строк, в перл используют > > binmode STDIN, ":encoding(console_in)" if -t STDIN; binmode STDOUT, ":encoding(console_out)" if -t STDOUT; binmode STDERR, ":encoding(console_out)" if -t STDERR; > После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без перекодирования... > > С почтением, >   Илья Винокуров. > > Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin : > >> Привет, MoscowPM, >> тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) >> >> #!/usr/bin/env perl >> use utf8; >> use Modern::Perl; >> use Encode::Locale; >> use Encode qw( decode encode from_to); >> use Text::Iconv; >> use Encode::Detect::Detector; >> use Data::Dumper qw( Dumper ); >> >> if (-t) >> { >>     binmode(STDIN, ":encoding(console_in)"); >> binmode(STDOUT, ":encoding(console_out)"); >> binmode(STDERR, ":encoding(console_out)"); >> } >> >> my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >> my_dump('lang_01',$lang); >> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >> $lang = $converter->convert($lang); >> my_dump('lang_02',$lang); >> $lang = Encode::decode("utf8",$lang); >> my_dump('lang_03',$lang); >> my_dump('lang_04_перл',qq{перл}); >> >>  $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или умри!!";}) /ix;#русский не мачится, почему? >> >>  sub my_dump >>  { >>  my ($name,$var)=@_; >>  local $Data::Dumper::Useqq = 1; >>  local $Data::Dumper::Indent = 0; >>  local $Data::Dumper::Terse = 1; >>  print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." dump=".Dumper($var)."\n"); >>  } >> >> этот же код на гитхабе >> https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl >> >> моя задача была, чтобы скрипт >> perl 100_regex_4_moscow_pm.pl перл >> читая из консоли слово "перл" находил его в регексе внутри скрипта >> >> вопросы: >> 1) почему, если в консоле >> perl -MEncode::Detect::Detector -E "say Encode::Detect::Detector::detect(qq{перл})" >> у меня кодировка ISO-8859-7 >> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >> Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? >> >> 2)что происходит со строкой здесь >> UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >> $lang = Encode::decode("utf8",$lang); >> UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >> --что такое делает decode? >> я так понимаю - он починивает utf8, но что конкретно >> >> спасибо, хорошей недели!! >> >> -- >> С уважением >> Николай Мишин >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > , > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From mi на ya.ru Mon Sep 22 12:43:03 2014 From: mi на ya.ru (Nikolay Mishin) Date: Mon, 22 Sep 2014 23:43:03 +0400 Subject: [Moscow.pm] =?koi8-r?b?y8/EydLP18vBINcgUGVybCDQz97FzdUg19PFINzU?= =?koi8-r?b?zyDUwcsg09TSwc7OzyDSwcLP1MHF1D8=?= In-Reply-To: <1411375885.947228810@f120.i.mail.ru> References: <37031411334895@web20m.yandex.ru> <1411375885.947228810@f120.i.mail.ru> Message-ID: <105861411414983@web5o.yandex.ru> 1) то, что существует внутреннее и внешнее представление перла более менее понятно 2) отказаться от Text::Iconv не могу второго такого модуля нет, который ISO-8859-7 в UTF-8 переводит 22.09.2014, 12:51, "Илья Винокуров" : > Здравствуйте, Николай. > > Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта кодировка называется utf8. > Когда строки вводятся в Perl, их нужно декодировать из различных кодировок в utf8. > В том числе нужно декодировать UTF-8 в utf8. > Если строку нужно вывести из Perl, то эту строку нужно кодировать в различные кодировки. > В том числе нужно кодировать utf8 в UTF-8 > > Этим занимаются функции Encode::encode('UTF-8', $string) и Encode::decode('UTF-8', $string). > > Text::Iconv - не используйте это, если точно не знаете почему вам нужен именно этот модуль. > > Концепцию работы с кодировками в Perl я рассказал, > а вот свой скрипт поправить потрудитесь сами пожалуйста... > > PS: Чтобы не возиться в явном виде с перекодированием строк, в перл используют > > binmode STDIN, ":encoding(console_in)" if -t STDIN; binmode STDOUT, ":encoding(console_out)" if -t STDOUT; binmode STDERR, ":encoding(console_out)" if -t STDERR; > После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без перекодирования... > > С почтением, >   Илья Винокуров. > > Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin : > >> Привет, MoscowPM, >> тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) >> >> #!/usr/bin/env perl >> use utf8; >> use Modern::Perl; >> use Encode::Locale; >> use Encode qw( decode encode from_to); >> use Text::Iconv; >> use Encode::Detect::Detector; >> use Data::Dumper qw( Dumper ); >> >> if (-t) >> { >>     binmode(STDIN, ":encoding(console_in)"); >> binmode(STDOUT, ":encoding(console_out)"); >> binmode(STDERR, ":encoding(console_out)"); >> } >> >> my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >> my_dump('lang_01',$lang); >> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >> $lang = $converter->convert($lang); >> my_dump('lang_02',$lang); >> $lang = Encode::decode("utf8",$lang); >> my_dump('lang_03',$lang); >> my_dump('lang_04_перл',qq{перл}); >> >>  $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или умри!!";}) /ix;#русский не мачится, почему? >> >>  sub my_dump >>  { >>  my ($name,$var)=@_; >>  local $Data::Dumper::Useqq = 1; >>  local $Data::Dumper::Indent = 0; >>  local $Data::Dumper::Terse = 1; >>  print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." dump=".Dumper($var)."\n"); >>  } >> >> этот же код на гитхабе >> https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl >> >> моя задача была, чтобы скрипт >> perl 100_regex_4_moscow_pm.pl перл >> читая из консоли слово "перл" находил его в регексе внутри скрипта >> >> вопросы: >> 1) почему, если в консоле >> perl -MEncode::Detect::Detector -E "say Encode::Detect::Detector::detect(qq{перл})" >> у меня кодировка ISO-8859-7 >> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >> Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? >> >> 2)что происходит со строкой здесь >> UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >> $lang = Encode::decode("utf8",$lang); >> UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >> --что такое делает decode? >> я так понимаю - он починивает utf8, но что конкретно >> >> спасибо, хорошей недели!! >> >> -- >> С уважением >> Николай Мишин >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > , > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From mi на ya.ru Mon Sep 22 12:58:07 2014 From: mi на ya.ru (Nikolay Mishin) Date: Mon, 22 Sep 2014 23:58:07 +0400 Subject: [Moscow.pm] =?koi8-r?b?y8/EydLP18vBINcgUGVybCDQz97FzdUg19PFINzU?= =?koi8-r?b?zyDUwcsg09TSwc7OzyDSwcLP1MHF1D8=?= In-Reply-To: <1411375885.947228810@f120.i.mail.ru> References: <37031411334895@web20m.yandex.ru> <1411375885.947228810@f120.i.mail.ru> Message-ID: <1194471411415887@web27j.yandex.ru> Илья, привет , удалил Text::Iconv -my $converter = Text::Iconv->new( "cp1251", "utf-8"); -$lang = $converter->convert($lang); +Encode::from_to($lang, 'windows-1251', 'utf-8'); https://github.com/mishin/presentation/commit/2d1ba8adcfc451d45454490b5bf442f95bd41e0a и все заработало, правда получается, что кодировка , которую Encode::Detect::Detector определяет как ISO-8859-7 является одновременно и кодировкой windows-1251, странно, что больше этого нигде не написано, в общем парадоксальное решение, чисто перебором 22.09.2014, 12:51, "Илья Винокуров" : >  Здравствуйте, Николай. > >  Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта кодировка называется utf8. >  Когда строки вводятся в Perl, их нужно декодировать из различных кодировок в utf8. >  В том числе нужно декодировать UTF-8 в utf8. >  Если строку нужно вывести из Perl, то эту строку нужно кодировать в различные кодировки. >  В том числе нужно кодировать utf8 в UTF-8 > >  Этим занимаются функции Encode::encode('UTF-8', $string) и Encode::decode('UTF-8', $string). > >  Text::Iconv - не используйте это, если точно не знаете почему вам нужен именно этот модуль. > >  Концепцию работы с кодировками в Perl я рассказал, >  а вот свой скрипт поправить потрудитесь сами пожалуйста... > >  PS: Чтобы не возиться в явном виде с перекодированием строк, в перл используют > >  binmode STDIN, ":encoding(console_in)" if -t STDIN; binmode STDOUT, ":encoding(console_out)" if -t STDOUT; binmode STDERR, ":encoding(console_out)" if -t STDERR; >  После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без перекодирования... > >  С почтением, >    Илья Винокуров. > >  Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin : >>  Привет, MoscowPM, >>  тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) >> >>  #!/usr/bin/env perl >>  use utf8; >>  use Modern::Perl; >>  use Encode::Locale; >>  use Encode qw( decode encode from_to); >>  use Text::Iconv; >>  use Encode::Detect::Detector; >>  use Data::Dumper qw( Dumper ); >> >>  if (-t) >>  { >>      binmode(STDIN, ":encoding(console_in)"); >>  binmode(STDOUT, ":encoding(console_out)"); >>  binmode(STDERR, ":encoding(console_out)"); >>  } >> >>  my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >>  my_dump('lang_01',$lang); >>  my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>  $lang = $converter->convert($lang); >>  my_dump('lang_02',$lang); >>  $lang = Encode::decode("utf8",$lang); >>  my_dump('lang_03',$lang); >>  my_dump('lang_04_перл',qq{перл}); >> >>   $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или умри!!";}) /ix;#русский не мачится, почему? >> >>   sub my_dump >>   { >>   my ($name,$var)=@_; >>   local $Data::Dumper::Useqq = 1; >>   local $Data::Dumper::Indent = 0; >>   local $Data::Dumper::Terse = 1; >>   print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." dump=".Dumper($var)."\n"); >>   } >> >>  этот же код на гитхабе >>  https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl >> >>  моя задача была, чтобы скрипт >>  perl 100_regex_4_moscow_pm.pl перл >>  читая из консоли слово "перл" находил его в регексе внутри скрипта >> >>  вопросы: >>  1) почему, если в консоле >>  perl -MEncode::Detect::Detector -E "say Encode::Detect::Detector::detect(qq{перл})" >>  у меня кодировка ISO-8859-7 >>  my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>  Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? >> >>  2)что происходит со строкой здесь >>  UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >>  $lang = Encode::decode("utf8",$lang); >>  UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >>  --что такое делает decode? >>  я так понимаю - он починивает utf8, но что конкретно >> >>  спасибо, хорошей недели!! >> >>  -- >>  С уважением >>  Николай Мишин >> >>  -- >>  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 victor на vsespb.ru Mon Sep 22 13:02:12 2014 From: victor на vsespb.ru (Victor Efimov) Date: Tue, 23 Sep 2014 00:02:12 +0400 Subject: [Moscow.pm] =?utf-8?b?0LrQvtC00LjRgNC+0LLQutCwINCyIFBlcmwg0L8=?= =?utf-8?b?0L7Rh9C10LzRgyDQstGB0LUg0Y3RgtC+INGC0LDQuiDRgdGC0YDQsNC9?= =?utf-8?b?0L3QviDRgNCw0LHQvtGC0LDQtdGCPw==?= In-Reply-To: <1194471411415887@web27j.yandex.ru> References: <37031411334895@web20m.yandex.ru> <1411375885.947228810@f120.i.mail.ru> <1194471411415887@web27j.yandex.ru> Message-ID: А что ещё ждать от автоматического определения кодировок? Это же эвристика. К нему лучше не прибегать, если точно известна кодировка заранее. 22 сентября 2014 г., 23:58 пользователь Nikolay Mishin написал: > Илья, привет , удалил Text::Iconv > -my $converter = Text::Iconv->new( "cp1251", "utf-8"); > -$lang = $converter->convert($lang); > +Encode::from_to($lang, 'windows-1251', 'utf-8'); > https://github.com/mishin/presentation/commit/2d1ba8adcfc451d45454490b5bf442f95bd41e0a > и все заработало, > правда получается, что кодировка , которую Encode::Detect::Detector > определяет как ISO-8859-7 является одновременно и кодировкой windows-1251, > странно, что больше этого нигде не написано, в общем парадоксальное решение, > чисто перебором > > 22.09.2014, 12:51, "Илья Винокуров" : >> Здравствуйте, Николай. >> >> Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта кодировка называется utf8. >> Когда строки вводятся в Perl, их нужно декодировать из различных кодировок в utf8. >> В том числе нужно декодировать UTF-8 в utf8. >> Если строку нужно вывести из Perl, то эту строку нужно кодировать в различные кодировки. >> В том числе нужно кодировать utf8 в UTF-8 >> >> Этим занимаются функции Encode::encode('UTF-8', $string) и Encode::decode('UTF-8', $string). >> >> Text::Iconv - не используйте это, если точно не знаете почему вам нужен именно этот модуль. >> >> Концепцию работы с кодировками в Perl я рассказал, >> а вот свой скрипт поправить потрудитесь сами пожалуйста... >> >> PS: Чтобы не возиться в явном виде с перекодированием строк, в перл используют >> >> binmode STDIN, ":encoding(console_in)" if -t STDIN; binmode STDOUT, ":encoding(console_out)" if -t STDOUT; binmode STDERR, ":encoding(console_out)" if -t STDERR; >> После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без перекодирования... >> >> С почтением, >> Илья Винокуров. >> >> Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin : >>> Привет, MoscowPM, >>> тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) >>> >>> #!/usr/bin/env perl >>> use utf8; >>> use Modern::Perl; >>> use Encode::Locale; >>> use Encode qw( decode encode from_to); >>> use Text::Iconv; >>> use Encode::Detect::Detector; >>> use Data::Dumper qw( Dumper ); >>> >>> if (-t) >>> { >>> binmode(STDIN, ":encoding(console_in)"); >>> binmode(STDOUT, ":encoding(console_out)"); >>> binmode(STDERR, ":encoding(console_out)"); >>> } >>> >>> my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >>> my_dump('lang_01',$lang); >>> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>> $lang = $converter->convert($lang); >>> my_dump('lang_02',$lang); >>> $lang = Encode::decode("utf8",$lang); >>> my_dump('lang_03',$lang); >>> my_dump('lang_04_перл',qq{перл}); >>> >>> $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или умри!!";}) /ix;#русский не мачится, почему? >>> >>> sub my_dump >>> { >>> my ($name,$var)=@_; >>> local $Data::Dumper::Useqq = 1; >>> local $Data::Dumper::Indent = 0; >>> local $Data::Dumper::Terse = 1; >>> print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." dump=".Dumper($var)."\n"); >>> } >>> >>> этот же код на гитхабе >>> https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl >>> >>> моя задача была, чтобы скрипт >>> perl 100_regex_4_moscow_pm.pl перл >>> читая из консоли слово "перл" находил его в регексе внутри скрипта >>> >>> вопросы: >>> 1) почему, если в консоле >>> perl -MEncode::Detect::Detector -E "say Encode::Detect::Detector::detect(qq{перл})" >>> у меня кодировка ISO-8859-7 >>> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>> Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? >>> >>> 2)что происходит со строкой здесь >>> UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >>> $lang = Encode::decode("utf8",$lang); >>> UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >>> --что такое делает decode? >>> я так понимаю - он починивает utf8, но что конкретно >>> >>> спасибо, хорошей недели!! >>> >>> -- >>> С уважением >>> Николай Мишин >>> >>> -- >>> 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 ilvin на mail.ru Tue Sep 23 01:48:34 2014 From: ilvin на mail.ru (=?UTF-8?B?0JjQu9GM0Y8g0JLQuNC90L7QutGD0YDQvtCy?=) Date: Tue, 23 Sep 2014 12:48:34 +0400 Subject: [Moscow.pm] =?utf-8?b?0LrQvtC00LjRgNC+0LLQutCwINCyIFBlcmwg0L8=?= =?utf-8?b?0L7Rh9C10LzRgyDQstGB0LUg0Y3RgtC+INGC0LDQuiDRgdGC0YDQsNC90L0=?= =?utf-8?b?0L4g0YDQsNCx0L7RgtCw0LXRgj8=?= In-Reply-To: References: <37031411334895@web20m.yandex.ru> <1411375885.947228810@f120.i.mail.ru> Message-ID: <1411462114.553955667@f51.i.mail.ru> Здравствуйте, Виктор. Терминология действительно сильно упрощенная, так как внутреннее представление строки Perl проще назвать еще одной кодировкой, с которой нужно работать, чем копаться в кишках. Вот попробуй человеку объяснить зачем нужно для строки в UTF-8 кодировке делать Encode::decode('UTF-8', $string). А когда говоришь, что у Perl своя кодировка, так сразу человек начинает правильно перекодировать строки... А без этой абстракции человек лезет флаги строкам устанавливать... И такой ход мыслей у многих людей, так что здесь http://search.cpan.org/~shay/perl-5.20.1/pod/perlunifaq.pod#What%27s_the_difference_between_UTF-8_and_utf8? Плюнули и согласились: Okay, if you insist: the "internal format" is utf8, not UTF-8. С почтением,   Илья Винокуров. Mon, 22 Sep 2014 12:58:13 +0400 от Victor Efimov : >22 сентября 2014 г., 12:51 пользователь Илья Винокуров < ilvin на mail.ru > написал: >> Здравствуйте, Николай. >> >> Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта кодировка >> называется utf8. >> Когда строки вводятся в Perl, их нужно декодировать из различных кодировок в >> utf8. >> В том числе нужно декодировать UTF-8 в utf8. >> Если строку нужно вывести из Perl, то эту строку нужно кодировать в >> различные кодировки. >> В том числе нужно кодировать utf8 в UTF-8 >> > >только тут введена какя-то странная терминология, которой на самом деле нет. > >В perl строки не храянятся как набор абстрактных символов. Рассуждения >про их кодировку лучше присекать на корню. >Отличия между utf8 и UTF-8 - вовсе не в этом, а в том что utf-8 более >строкая валидация чем utf8. > >Но в остальном, если в тексте выше заменить "utf8" на "символьная >строка", то будет ок. > >> Этим занимаются функции Encode::encode('UTF-8', $string) и >> Encode::decode('UTF-8', $string). >> >> Text::Iconv - не используйте это, если точно не знаете почему вам нужен >> именно этот модуль. >> >> Концепцию работы с кодировками в Perl я рассказал, >> а вот свой скрипт поправить потрудитесь сами пожалуйста... >> >> PS: Чтобы не возиться в явном виде с перекодированием строк, в перл >> используют >> >> binmode STDIN, ":encoding(console_in)" if -t STDIN; >> binmode STDOUT, ":encoding(console_out)" if -t STDOUT; >> binmode STDERR, ":encoding(console_out)" if -t STDERR; >> >> После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без >> перекодирования... >> >> С почтением, >> Илья Винокуров. >> >> Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin < mi на ya.ru >: >> >> Привет, MoscowPM, >> тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) >> >> #!/usr/bin/env perl >> use utf8; >> use Modern::Perl; >> use Encode::Locale; >> use Encode qw( decode encode from_to); >> use Text::Iconv; >> use Encode::Detect::Detector; >> use Data::Dumper qw( Dumper ); >> >> >> if (-t) >> { >> binmode(STDIN, ":encoding(console_in)"); >> binmode(STDOUT, ":encoding(console_out)"); >> binmode(STDERR, ":encoding(console_out)"); >> } >> >> my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >> my_dump('lang_01',$lang); >> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >> $lang = $converter->convert($lang); >> my_dump('lang_02',$lang); >> $lang = Encode::decode("utf8",$lang); >> my_dump('lang_03',$lang); >> my_dump('lang_04_перл',qq{перл}); >> >> $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или >> умри!!";}) /ix;#русский не мачится, почему? >> >> sub my_dump >> { >> my ($name,$var)=@_; >> local $Data::Dumper::Useqq = 1; >> local $Data::Dumper::Indent = 0; >> local $Data::Dumper::Terse = 1; >> print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." >> dump=".Dumper($var)."\n"); >> } >> >> этот же код на гитхабе >> https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl >> >> моя задача была, чтобы скрипт >> perl 100_regex_4_moscow_pm.pl перл >> читая из консоли слово "перл" находил его в регексе внутри скрипта >> >> вопросы: >> 1) почему, если в консоле >> perl -MEncode::Detect::Detector -E "say >> Encode::Detect::Detector::detect(qq{перл})" >> у меня кодировка ISO-8859-7 >> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >> Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? >> >> 2)что происходит со строкой здесь >> UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >> $lang = Encode::decode("utf8",$lang); >> UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >> --что такое делает decode? >> я так понимаю - он починивает utf8, но что конкретно >> >> спасибо, хорошей недели!! >> >> >> -- >> С уважением >> Николай Мишин >> >> -- >> 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 a на lelf.me Tue Sep 23 01:53:14 2014 From: a на lelf.me (Antonio Nikishaev) Date: Tue, 23 Sep 2014 12:53:14 +0400 Subject: [Moscow.pm] =?koi8-r?b?y8/EydLP18vBINcgUGVybCDQz97FzdUg19PFINzU?= =?koi8-r?b?zyDUwcsg09TSwc7OzyDSwcLP1MHF1D8=?= In-Reply-To: <1194471411415887@web27j.yandex.ru> References: <37031411334895@web20m.yandex.ru> <1411375885.947228810@f120.i.mail.ru> <1194471411415887@web27j.yandex.ru> Message-ID: <5939D475-B38E-4F38-8114-E767E0C3E55D@lelf.me> On 22 Sep 2014, at 23:58, Nikolay Mishin wrote: > Илья, привет , удалил Text::Iconv > -my $converter = Text::Iconv->new( "cp1251", "utf-8"); > -$lang = $converter->convert($lang); > +Encode::from_to($lang, 'windows-1251', 'utf-8'); > https://github.com/mishin/presentation/commit/2d1ba8adcfc451d45454490b5bf442f95bd41e0a > и все заработало, > правда получается, что кодировка , которую Encode::Detect::Detector > определяет как ISO-8859-7 является одновременно и кодировкой windows-1251, > странно, что больше этого нигде не написано, Потому что это не так. > в общем парадоксальное решение, > чисто перебором > > 22.09.2014, 12:51, "Илья Винокуров" : >> Здравствуйте, Николай. >> >> Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта кодировка называется utf8. >> Когда строки вводятся в Perl, их нужно декодировать из различных кодировок в utf8. >> В том числе нужно декодировать UTF-8 в utf8. >> Если строку нужно вывести из Perl, то эту строку нужно кодировать в различные кодировки. >> В том числе нужно кодировать utf8 в UTF-8 >> >> Этим занимаются функции Encode::encode('UTF-8', $string) и Encode::decode('UTF-8', $string). >> >> Text::Iconv - не используйте это, если точно не знаете почему вам нужен именно этот модуль. >> >> Концепцию работы с кодировками в Perl я рассказал, >> а вот свой скрипт поправить потрудитесь сами пожалуйста... >> >> PS: Чтобы не возиться в явном виде с перекодированием строк, в перл используют >> >> binmode STDIN, ":encoding(console_in)" if -t STDIN; binmode STDOUT, ":encoding(console_out)" if -t STDOUT; binmode STDERR, ":encoding(console_out)" if -t STDERR; >> После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без перекодирования... >> >> С почтением, >> Илья Винокуров. >> >> Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin : >>> Привет, MoscowPM, >>> тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) >>> >>> #!/usr/bin/env perl >>> use utf8; >>> use Modern::Perl; >>> use Encode::Locale; >>> use Encode qw( decode encode from_to); >>> use Text::Iconv; >>> use Encode::Detect::Detector; >>> use Data::Dumper qw( Dumper ); >>> >>> if (-t) >>> { >>> binmode(STDIN, ":encoding(console_in)"); >>> binmode(STDOUT, ":encoding(console_out)"); >>> binmode(STDERR, ":encoding(console_out)"); >>> } >>> >>> my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >>> my_dump('lang_01',$lang); >>> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>> $lang = $converter->convert($lang); >>> my_dump('lang_02',$lang); >>> $lang = Encode::decode("utf8",$lang); >>> my_dump('lang_03',$lang); >>> my_dump('lang_04_перл',qq{перл}); >>> >>> $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или умри!!";}) /ix;#русский не мачится, почему? >>> >>> sub my_dump >>> { >>> my ($name,$var)=@_; >>> local $Data::Dumper::Useqq = 1; >>> local $Data::Dumper::Indent = 0; >>> local $Data::Dumper::Terse = 1; >>> print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." dump=".Dumper($var)."\n"); >>> } >>> >>> этот же код на гитхабе >>> https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl >>> >>> моя задача была, чтобы скрипт >>> perl 100_regex_4_moscow_pm.pl перл >>> читая из консоли слово "перл" находил его в регексе внутри скрипта >>> >>> вопросы: >>> 1) почему, если в консоле >>> perl -MEncode::Detect::Detector -E "say Encode::Detect::Detector::detect(qq{перл})" >>> у меня кодировка ISO-8859-7 >>> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>> Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? >>> >>> 2)что происходит со строкой здесь >>> UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >>> $lang = Encode::decode("utf8",$lang); >>> UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >>> --что такое делает decode? >>> я так понимаю - он починивает utf8, но что конкретно >>> >>> спасибо, хорошей недели!! >>> >>> -- >>> С уважением >>> Николай Мишин >>> >>> -- >>> 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 ilvin на mail.ru Tue Sep 23 02:15:17 2014 From: ilvin на mail.ru (=?UTF-8?B?0JjQu9GM0Y8g0JLQuNC90L7QutGD0YDQvtCy?=) Date: Tue, 23 Sep 2014 13:15:17 +0400 Subject: [Moscow.pm] =?utf-8?b?0LrQvtC00LjRgNC+0LLQutCwINCyIFBlcmwg0L8=?= =?utf-8?b?0L7Rh9C10LzRgyDQstGB0LUg0Y3RgtC+INGC0LDQuiDRgdGC0YDQsNC90L0=?= =?utf-8?b?0L4g0YDQsNCx0L7RgtCw0LXRgj8=?= In-Reply-To: <1194471411415887@web27j.yandex.ru> References: <37031411334895@web20m.yandex.ru> <1411375885.947228810@f120.i.mail.ru> <1194471411415887@web27j.yandex.ru> Message-ID: <1411463717.807692597@f307.i.mail.ru> Здравствуйте, Николай! Вы используете Console::Locale. Почитайте документацию https://metacpan.org/pod/Encode::Locale Из нее вы поймете, что этот модуль определяет кодировку консоли более точно, чем детекторы. Если для STDIN, STDERR, STDOUT вы сделали телодвижения по автоматической перекодировке, то для @ARGV ничего не сделано, поэтому разумно использовать: my $lang = decode( locale => $ARGV [0]); А детекторы кодировок - это зло, существующее из-за безнадеги... С почтением,   Илья Винокуров. Mon, 22 Sep 2014 23:58:07 +0400 от Nikolay Mishin : >Илья, привет , удалил Text::Iconv >-my $converter = Text::Iconv->new( "cp1251", "utf-8"); >-$lang = $converter->convert($lang); >+Encode::from_to($lang, 'windows-1251', 'utf-8'); >https://github.com/mishin/presentation/commit/2d1ba8adcfc451d45454490b5bf442f95bd41e0a >и все заработало, >правда получается, что кодировка , которую Encode::Detect::Detector >определяет как ISO-8859-7 является одновременно и кодировкой windows-1251, >странно, что больше этого нигде не написано, в общем парадоксальное решение, >чисто перебором > >22.09.2014, 12:51, "Илья Винокуров" < ilvin на mail.ru >: >>  Здравствуйте, Николай. >> >>  Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта кодировка называется utf8. >>  Когда строки вводятся в Perl, их нужно декодировать из различных кодировок в utf8. >>  В том числе нужно декодировать UTF-8 в utf8. >>  Если строку нужно вывести из Perl, то эту строку нужно кодировать в различные кодировки. >>  В том числе нужно кодировать utf8 в UTF-8 >> >>  Этим занимаются функции Encode::encode('UTF-8', $string) и Encode::decode('UTF-8', $string). >> >>  Text::Iconv - не используйте это, если точно не знаете почему вам нужен именно этот модуль. >> >>  Концепцию работы с кодировками в Perl я рассказал, >>  а вот свой скрипт поправить потрудитесь сами пожалуйста... >> >>  PS: Чтобы не возиться в явном виде с перекодированием строк, в перл используют >> >>  binmode STDIN, ":encoding(console_in)" if -t STDIN; binmode STDOUT, ":encoding(console_out)" if -t STDOUT; binmode STDERR, ":encoding(console_out)" if -t STDERR; >>  После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без перекодирования... >> >>  С почтением, >>    Илья Винокуров. >> >>  Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin < mi на ya.ru >: >>>  Привет, MoscowPM, >>>  тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) >>> >>>  #!/usr/bin/env perl >>>  use utf8; >>>  use Modern::Perl; >>>  use Encode::Locale; >>>  use Encode qw( decode encode from_to); >>>  use Text::Iconv; >>>  use Encode::Detect::Detector; >>>  use Data::Dumper qw( Dumper ); >>> >>>  if (-t) >>>  { >>>      binmode(STDIN, ":encoding(console_in)"); >>>  binmode(STDOUT, ":encoding(console_out)"); >>>  binmode(STDERR, ":encoding(console_out)"); >>>  } >>> >>>  my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >>>  my_dump('lang_01',$lang); >>>  my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>>  $lang = $converter->convert($lang); >>>  my_dump('lang_02',$lang); >>>  $lang = Encode::decode("utf8",$lang); >>>  my_dump('lang_03',$lang); >>>  my_dump('lang_04_перл',qq{перл}); >>> >>>   $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или умри!!";}) /ix;#русский не мачится, почему? >>> >>>   sub my_dump >>>   { >>>   my ($name,$var)=@_; >>>   local $Data::Dumper::Useqq = 1; >>>   local $Data::Dumper::Indent = 0; >>>   local $Data::Dumper::Terse = 1; >>>   print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." dump=".Dumper($var)."\n"); >>>   } >>> >>>  этот же код на гитхабе >>> https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl >>> >>>  моя задача была, чтобы скрипт >>>  perl 100_regex_4_moscow_pm.pl перл >>>  читая из консоли слово "перл" находил его в регексе внутри скрипта >>> >>>  вопросы: >>>  1) почему, если в консоле >>>  perl -MEncode::Detect::Detector -E "say Encode::Detect::Detector::detect(qq{перл})" >>>  у меня кодировка ISO-8859-7 >>>  my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>>  Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? >>> >>>  2)что происходит со строкой здесь >>>  UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >>>  $lang = Encode::decode("utf8",$lang); >>>  UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >>>  --что такое делает decode? >>>  я так понимаю - он починивает utf8, но что конкретно >>> >>>  спасибо, хорошей недели!! >>> >>>  -- >>>  С уважением >>>  Николай Мишин >>> >>>  -- >>>  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 victor на vsespb.ru Tue Sep 23 02:19:49 2014 From: victor на vsespb.ru (Victor Efimov) Date: Tue, 23 Sep 2014 13:19:49 +0400 Subject: [Moscow.pm] =?utf-8?b?0LrQvtC00LjRgNC+0LLQutCwINCyIFBlcmwg0L8=?= =?utf-8?b?0L7Rh9C10LzRgyDQstGB0LUg0Y3RgtC+INGC0LDQuiDRgdGC0YDQsNC9?= =?utf-8?b?0L3QviDRgNCw0LHQvtGC0LDQtdGCPw==?= In-Reply-To: <1411462114.553955667@f51.i.mail.ru> References: <37031411334895@web20m.yandex.ru> <1411375885.947228810@f120.i.mail.ru> <1411462114.553955667@f51.i.mail.ru> Message-ID: 23 сентября 2014 г., 12:48 пользователь Илья Винокуров написал: > Здравствуйте, Виктор. > > Терминология действительно сильно упрощенная, так как > внутреннее представление строки Perl проще назвать еще одной кодировкой, > с которой нужно работать, чем копаться в кишках. Не согласен. Термин "кодировка" к этому нельзя применять. Когда речь идёт о кодировке - речь идёт о бинарных данных (байтах). Символы же это не байлы - это элементы, код у которых может быть больше 255. Так же в Perl чётко идеологически разграничены операции над текстом и над бинарными данными. А именно есть операции которые думают что их операнды текст (регэкспы, вывод в файл у которго стоит binmode encoding), есть операции которые думают что их операнды - байты (вывод в файл где нет binmode encoding, функции типа pack). Это всё нельзя уложить в концепцию кодировок. символы vs байты определены здесь http://search.cpan.org/~shay/perl-5.20.1/pod/perlunitut.pod#Text_strings_%28character_strings%29 > > Вот попробуй человеку объяснить зачем нужно для строки в UTF-8 кодировке > делать Encode::decode('UTF-8', $string). А когда говоришь, что у Perl своя > кодировка, > так сразу человек начинает правильно перекодировать строки... А без этой > абстракции человек лезет флаги строкам устанавливать... Может новичку это поможет на ранней стадии только потом помешает. Если бы концепция про кодировки была верная, можно было бы конвертировать между кодировками с помощью Encode::from_to, и вообще не понятно API когда делаются две функции Encode::decode/encode чтобы конвертировать из/в кодировку. > > И такой ход мыслей у многих людей, так что здесь > http://search.cpan.org/~shay/perl-5.20.1/pod/perlunifaq.pod#What%27s_the_difference_between_UTF-8_and_utf8? > Плюнули и согласились: > Okay, if you insist: the "internal format" is utf8, not UTF-8. Не согласен с интерпретацией этого куска документации. На самом деле речь там идёт про что: 1) Есть кодировка "UTF-8" и "utf8". Когда декодируют первую, принимают во внимание то что не все Unicode символы существуют в прикоде. Когда декодируют вторую, это игнорируется, т.е. вторая используется как "кодек" похожий на UTF-8 для произвольных (бинарных !) данных а не текста. 2) Внутрненний формат строки в perl, когда у ней установлен UTF-8 флаг, является не строгим вариантом UTF-8, т.е. в ней могут содержаться вообще не символы, просто набор чисел закодированных в кодек UTF8, не являющийся валидным UTF-8 но с точки зрения перл полностью валидным. например perl -e 'print v100.2000.3000' v100.2000.3000 - это строка из трёх элементов: 100, 2000 и 3000. закодированна этим кодеком. без оглядки на то есть ли в стандарте unicode эти символы. так можно закодировать произвольные числа. т.е. UTF8 как бы используется perl не по назначению. именно поэтому написан этот параграф. > > С почтением, > Илья Винокуров. > > > Mon, 22 Sep 2014 12:58:13 +0400 от Victor Efimov : > > 22 сентября 2014 г., 12:51 пользователь Илья Винокуров > написал: >> Здравствуйте, Николай. >> >> Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта >> кодировка >> называется utf8. >> Когда строки вводятся в Perl, их нужно декодировать из различных кодировок >> в >> utf8. >> В том числе нужно декодировать UTF-8 в utf8. >> Если строку нужно вывести из Perl, то эту строку нужно кодировать в >> различные кодировки. >> В том числе нужно кодировать utf8 в UTF-8 >> > > только тут введена какя-то странная терминология, которой на самом деле нет. > > В perl строки не храянятся как набор абстрактных символов. Рассуждения > про их кодировку лучше присекать на корню. > Отличия между utf8 и UTF-8 - вовсе не в этом, а в том что utf-8 более > строкая валидация чем utf8. > > Но в остальном, если в тексте выше заменить "utf8" на "символьная > строка", то будет ок. > >> Этим занимаются функции Encode::encode('UTF-8', $string) и >> Encode::decode('UTF-8', $string). >> >> Text::Iconv - не используйте это, если точно не знаете почему вам нужен >> именно этот модуль. >> >> Концепцию работы с кодировками в Perl я рассказал, >> а вот свой скрипт поправить потрудитесь сами пожалуйста... >> >> PS: Чтобы не возиться в явном виде с перекодированием строк, в перл >> используют >> >> binmode STDIN, ":encoding(console_in)" if -t STDIN; >> binmode STDOUT, ":encoding(console_out)" if -t STDOUT; >> binmode STDERR, ":encoding(console_out)" if -t STDERR; >> >> После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без >> перекодирования... >> >> С почтением, >> Илья Винокуров. >> >> Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin : >> >> Привет, MoscowPM, >> тут родился вопрос под win7 (юникс могут быть теже странности, не >> проверял) >> >> #!/usr/bin/env perl >> use utf8; >> use Modern::Perl; >> use Encode::Locale; >> use Encode qw( decode encode from_to); >> use Text::Iconv; >> use Encode::Detect::Detector; >> use Data::Dumper qw( Dumper ); >> >> >> if (-t) >> { >> binmode(STDIN, ":encoding(console_in)"); >> binmode(STDOUT, ":encoding(console_out)"); >> binmode(STDERR, ":encoding(console_out)"); >> } >> >> my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >> my_dump('lang_01',$lang); >> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >> $lang = $converter->convert($lang); >> my_dump('lang_02',$lang); >> $lang = Encode::decode("utf8",$lang); >> my_dump('lang_03',$lang); >> my_dump('lang_04_перл',qq{перл}); >> >> $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или >> умри!!";}) /ix;#русский не мачится, почему? >> >> sub my_dump >> { >> my ($name,$var)=@_; >> local $Data::Dumper::Useqq = 1; >> local $Data::Dumper::Indent = 0; >> local $Data::Dumper::Terse = 1; >> print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." >> dump=".Dumper($var)."\n"); >> } >> >> этот же код на гитхабе >> >> https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl >> >> моя задача была, чтобы скрипт >> perl 100_regex_4_moscow_pm.pl перл >> читая из консоли слово "перл" находил его в регексе внутри скрипта >> >> вопросы: >> 1) почему, если в консоле >> perl -MEncode::Detect::Detector -E "say >> Encode::Detect::Detector::detect(qq{перл})" >> у меня кодировка ISO-8859-7 >> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >> Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? >> >> 2)что происходит со строкой здесь >> UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >> $lang = Encode::decode("utf8",$lang); >> UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >> --что такое делает decode? >> я так понимаю - он починивает utf8, но что конкретно >> >> спасибо, хорошей недели!! >> >> >> -- >> С уважением >> Николай Мишин >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> >> >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > From ilvin на mail.ru Tue Sep 23 03:05:09 2014 From: ilvin на mail.ru (=?UTF-8?B?0JjQu9GM0Y8g0JLQuNC90L7QutGD0YDQvtCy?=) Date: Tue, 23 Sep 2014 14:05:09 +0400 Subject: [Moscow.pm] =?utf-8?b?0LrQvtC00LjRgNC+0LLQutCwINCyIFBlcmwg0L8=?= =?utf-8?b?0L7Rh9C10LzRgyDQstGB0LUg0Y3RgtC+INGC0LDQuiDRgdGC0YDQsNC90L0=?= =?utf-8?b?0L4g0YDQsNCx0L7RgtCw0LXRgj8=?= In-Reply-To: References: <37031411334895@web20m.yandex.ru> <1411462114.553955667@f51.i.mail.ru> Message-ID: <1411466709.206819467@f347.i.mail.ru> Здравствуйте, Виктор! Убедил. (Прошу разрешения называть вас на "ты") Теперь я буду говорить так: Строки в Perl существуют во внутреннем формате, который называется utf8. Все данные в Perl поступают в бинарном виде, т.е. Perl их интерпретирует как набор байтов. Чтобы Perl понял, что бинарные данные являются строкой, эти данные нужно декодировать с помощью Encode::decode('UTF-8', $bin). Чтобы вывести строки из Perl, их нужно закодировать в бинарный вид так: Encode::encode('UTF-8', $str) Теперь у меня все в порядке с терминологией? С почтением,   Илья Винокуров. Tue, 23 Sep 2014 13:19:49 +0400 от Victor Efimov : >23 сентября 2014 г., 12:48 пользователь Илья Винокуров < ilvin на mail.ru > написал: >> Здравствуйте, Виктор. >> >> Терминология действительно сильно упрощенная, так как >> внутреннее представление строки Perl проще назвать еще одной кодировкой, >> с которой нужно работать, чем копаться в кишках. > >Не согласен. Термин "кодировка" к этому нельзя применять. Когда речь >идёт о кодировке - речь идёт о бинарных данных (байтах). >Символы же это не байлы - это элементы, код у которых может быть >больше 255. Так же в Perl чётко идеологически разграничены операции >над текстом и над бинарными данными. >А именно есть операции которые думают что их операнды текст (регэкспы, >вывод в файл у которго стоит binmode encoding), есть операции которые >думают что их операнды - байты (вывод в файл где нет binmode encoding, >функции типа pack). Это всё нельзя уложить в концепцию кодировок. > >символы vs байты определены здесь >http://search.cpan.org/~shay/perl-5.20.1/pod/perlunitut.pod#Text_strings_%28character_strings%29 > >> >> Вот попробуй человеку объяснить зачем нужно для строки в UTF-8 кодировке >> делать Encode::decode('UTF-8', $string). А когда говоришь, что у Perl своя >> кодировка, >> так сразу человек начинает правильно перекодировать строки... А без этой >> абстракции человек лезет флаги строкам устанавливать... > >Может новичку это поможет на ранней стадии только потом помешает. >Если бы концепция про кодировки была верная, можно было бы >конвертировать между кодировками с помощью Encode::from_to, >и вообще не понятно API когда делаются две функции >Encode::decode/encode чтобы конвертировать из/в кодировку. > >> >> И такой ход мыслей у многих людей, так что здесь >> http://search.cpan.org/~shay/perl-5.20.1/pod/perlunifaq.pod#What%27s_the_difference_between_UTF-8_and_utf8 ? >> Плюнули и согласились: >> Okay, if you insist: the "internal format" is utf8, not UTF-8. > > >Не согласен с интерпретацией этого куска документации. >На самом деле речь там идёт про что: > >1) Есть кодировка "UTF-8" и "utf8". Когда декодируют первую, принимают >во внимание то что не все Unicode символы существуют в прикоде. Когда >декодируют вторую, это игнорируется, >т.е. вторая используется как "кодек" похожий на UTF-8 для произвольных >(бинарных !) данных а не текста. > >2) Внутрненний формат строки в perl, когда у ней установлен UTF-8 >флаг, является не строгим вариантом UTF-8, т.е. в ней могут >содержаться вообще не символы, просто набор чисел закодированных в >кодек UTF8, не являющийся валидным UTF-8 но с точки зрения перл >полностью валидным. > >например perl -e 'print v100.2000.3000' > >v100.2000.3000 - это строка из трёх элементов: 100, 2000 и 3000. >закодированна этим кодеком. без оглядки на то есть ли в стандарте >unicode эти символы. так можно закодировать произвольные числа. т.е. >UTF8 >как бы используется perl не по назначению. > >именно поэтому написан этот параграф. > > > >> >> С почтением, >> Илья Винокуров. >> >> >> Mon, 22 Sep 2014 12:58:13 +0400 от Victor Efimov < victor на vsespb.ru >: >> >> 22 сентября 2014 г., 12:51 пользователь Илья Винокуров < ilvin на mail.ru > >> написал: >>> Здравствуйте, Николай. >>> >>> Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта >>> кодировка >>> называется utf8. >>> Когда строки вводятся в Perl, их нужно декодировать из различных кодировок >>> в >>> utf8. >>> В том числе нужно декодировать UTF-8 в utf8. >>> Если строку нужно вывести из Perl, то эту строку нужно кодировать в >>> различные кодировки. >>> В том числе нужно кодировать utf8 в UTF-8 >>> >> >> только тут введена какя-то странная терминология, которой на самом деле нет. >> >> В perl строки не храянятся как набор абстрактных символов. Рассуждения >> про их кодировку лучше присекать на корню. >> Отличия между utf8 и UTF-8 - вовсе не в этом, а в том что utf-8 более >> строкая валидация чем utf8. >> >> Но в остальном, если в тексте выше заменить "utf8" на "символьная >> строка", то будет ок. >> >>> Этим занимаются функции Encode::encode('UTF-8', $string) и >>> Encode::decode('UTF-8', $string). >>> >>> Text::Iconv - не используйте это, если точно не знаете почему вам нужен >>> именно этот модуль. >>> >>> Концепцию работы с кодировками в Perl я рассказал, >>> а вот свой скрипт поправить потрудитесь сами пожалуйста... >>> >>> PS: Чтобы не возиться в явном виде с перекодированием строк, в перл >>> используют >>> >>> binmode STDIN, ":encoding(console_in)" if -t STDIN; >>> binmode STDOUT, ":encoding(console_out)" if -t STDOUT; >>> binmode STDERR, ":encoding(console_out)" if -t STDERR; >>> >>> После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без >>> перекодирования... >>> >>> С почтением, >>> Илья Винокуров. >>> >>> Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin < mi на ya.ru >: >>> >>> Привет, MoscowPM, >>> тут родился вопрос под win7 (юникс могут быть теже странности, не >>> проверял) >>> >>> #!/usr/bin/env perl >>> use utf8; >>> use Modern::Perl; >>> use Encode::Locale; >>> use Encode qw( decode encode from_to); >>> use Text::Iconv; >>> use Encode::Detect::Detector; >>> use Data::Dumper qw( Dumper ); >>> >>> >>> if (-t) >>> { >>> binmode(STDIN, ":encoding(console_in)"); >>> binmode(STDOUT, ":encoding(console_out)"); >>> binmode(STDERR, ":encoding(console_out)"); >>> } >>> >>> my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >>> my_dump('lang_01',$lang); >>> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>> $lang = $converter->convert($lang); >>> my_dump('lang_02',$lang); >>> $lang = Encode::decode("utf8",$lang); >>> my_dump('lang_03',$lang); >>> my_dump('lang_04_перл',qq{перл}); >>> >>> $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или >>> умри!!";}) /ix;#русский не мачится, почему? >>> >>> sub my_dump >>> { >>> my ($name,$var)=@_; >>> local $Data::Dumper::Useqq = 1; >>> local $Data::Dumper::Indent = 0; >>> local $Data::Dumper::Terse = 1; >>> print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." >>> dump=".Dumper($var)."\n"); >>> } >>> >>> этот же код на гитхабе >>> >>> https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl >>> >>> моя задача была, чтобы скрипт >>> perl 100_regex_4_moscow_pm.pl перл >>> читая из консоли слово "перл" находил его в регексе внутри скрипта >>> >>> вопросы: >>> 1) почему, если в консоле >>> perl -MEncode::Detect::Detector -E "say >>> Encode::Detect::Detector::detect(qq{перл})" >>> у меня кодировка ISO-8859-7 >>> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>> Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? >>> >>> 2)что происходит со строкой здесь >>> UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >>> $lang = Encode::decode("utf8",$lang); >>> UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >>> --что такое делает decode? >>> я так понимаю - он починивает utf8, но что конкретно >>> >>> спасибо, хорошей недели!! >>> >>> >>> -- >>> С уважением >>> Николай Мишин >>> >>> -- >>> 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 >> >-- >Moscow.pm mailing list >moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From victor на vsespb.ru Tue Sep 23 11:17:35 2014 From: victor на vsespb.ru (Victor Efimov) Date: Tue, 23 Sep 2014 22:17:35 +0400 Subject: [Moscow.pm] =?utf-8?b?0LrQvtC00LjRgNC+0LLQutCwINCyIFBlcmwg0L8=?= =?utf-8?b?0L7Rh9C10LzRgyDQstGB0LUg0Y3RgtC+INGC0LDQuiDRgdGC0YDQsNC9?= =?utf-8?b?0L3QviDRgNCw0LHQvtGC0LDQtdGCPw==?= In-Reply-To: <1411466709.206819467@f347.i.mail.ru> References: <37031411334895@web20m.yandex.ru> <1411462114.553955667@f51.i.mail.ru> <1411466709.206819467@f347.i.mail.ru> Message-ID: 23 сентября 2014 г., 14:05 пользователь Илья Винокуров написал: > Здравствуйте, Виктор! > > Убедил. (Прошу разрешения называть вас на "ты") Теперь я буду говорить так: ok > > Строки в Perl существуют во внутреннем формате, который называется utf8. не, оно не называется utf8. соотношение такое; utf8 - кодировка. UTF-8 кодировка. внутренний формат строк - если UTF-8 флаг установлен, то данные в пемяти там скорее в utf8 чем в UTF-8. (это по ссылке было как бы в шуточной форме "Okay, if you insist"..) различия с твоей формулировкой: - не всё что называется utf8 является внутренним форматом строк. utf8 может быть просто кодировка. - даже если вот у нас есть строка, с UTF-8 флагом, в которой текст.. в этой кодировке UTF8 (ой, прошу прощения - utf8). то это вовсе не utf8. потому что у этой строки UTF8 флаг. в частности она не равна строке без UTF8 флага, но в которой те же байты в памяти (если это не чистый ASCII) - внутренний формат может быть вовсе не UTF8/utf8 - ( по той же ссылке есть "When it's not some other encoding" ), Так вот, он может быть Latin1. текст в котором только символы из Latin1 может находиться в двух разных форматах. между ними ковертируют операциями utf8::downgrade utf8::upgrade. И если после utf8::downgrade он находится в формате Latin1 он полностю эквивалентен тому же тексту, который в utf8 (после utf8::upgrade). эквивалентен значит perl "eq" оператор говорит что это одни и те же строки, и они равны во всех смыслах и ведут себя одинаково. > > Все данные в Perl поступают в бинарном виде, т.е. Perl их интерпретирует > как набор байтов. ок. > > Чтобы Perl понял, что бинарные данные являются строкой, эти данные нужно > декодировать с помощью Encode::decode('UTF-8', $bin). "Чтобы Perl понял, что бинарные данные являются текстовой строкой" - так лучше. > > Чтобы вывести строки из Perl, их нужно закодировать в бинарный вид так: > Encode::encode('UTF-8', $str) > да. > Теперь у меня все в порядке с терминологией? > почти! > С почтением, > Илья Винокуров. > > > Tue, 23 Sep 2014 13:19:49 +0400 от Victor Efimov : > > 23 сентября 2014 г., 12:48 пользователь Илья Винокуров > написал: >> Здравствуйте, Виктор. >> >> Терминология действительно сильно упрощенная, так как >> внутреннее представление строки Perl проще назвать еще одной кодировкой, >> с которой нужно работать, чем копаться в кишках. > > Не согласен. Термин "кодировка" к этому нельзя применять. Когда речь > идёт о кодировке - речь идёт о бинарных данных (байтах). > Символы же это не байлы - это элементы, код у которых может быть > больше 255. Так же в Perl чётко идеологически разграничены операции > над текстом и над бинарными данными. > А именно есть операции которые думают что их операнды текст (регэкспы, > вывод в файл у которго стоит binmode encoding), есть операции которые > думают что их операнды - байты (вывод в файл где нет binmode encoding, > функции типа pack). Это всё нельзя уложить в концепцию кодировок. > > символы vs байты определены здесь > http://search.cpan.org/~shay/perl-5.20.1/pod/perlunitut.pod#Text_strings_%28character_strings%29 > >> >> Вот попробуй человеку объяснить зачем нужно для строки в UTF-8 кодировке >> делать Encode::decode('UTF-8', $string). А когда говоришь, что у Perl своя >> кодировка, >> так сразу человек начинает правильно перекодировать строки... А без этой >> абстракции человек лезет флаги строкам устанавливать... > > Может новичку это поможет на ранней стадии только потом помешает. > Если бы концепция про кодировки была верная, можно было бы > конвертировать между кодировками с помощью Encode::from_to, > и вообще не понятно API когда делаются две функции > Encode::decode/encode чтобы конвертировать из/в кодировку. > >> >> И такой ход мыслей у многих людей, так что здесь >> >> http://search.cpan.org/~shay/perl-5.20.1/pod/perlunifaq.pod#What%27s_the_difference_between_UTF-8_and_utf8? >> Плюнули и согласились: >> Okay, if you insist: the "internal format" is utf8, not UTF-8. > > > Не согласен с интерпретацией этого куска документации. > На самом деле речь там идёт про что: > > 1) Есть кодировка "UTF-8" и "utf8". Когда декодируют первую, принимают > во внимание то что не все Unicode символы существуют в прикоде. Когда > декодируют вторую, это игнорируется, > т.е. вторая используется как "кодек" похожий на UTF-8 для произвольных > (бинарных !) данных а не текста. > > 2) Внутрненний формат строки в perl, когда у ней установлен UTF-8 > флаг, является не строгим вариантом UTF-8, т.е. в ней могут > содержаться вообще не символы, просто набор чисел закодированных в > кодек UTF8, не являющийся валидным UTF-8 но с точки зрения перл > полностью валидным. > > например perl -e 'print v100.2000.3000' > > v100.2000.3000 - это строка из трёх элементов: 100, 2000 и 3000. > закодированна этим кодеком. без оглядки на то есть ли в стандарте > unicode эти символы. так можно закодировать произвольные числа. т.е. > UTF8 > как бы используется perl не по назначению. > > именно поэтому написан этот параграф. > > > >> >> С почтением, >> Илья Винокуров. >> >> >> Mon, 22 Sep 2014 12:58:13 +0400 от Victor Efimov : >> >> 22 сентября 2014 г., 12:51 пользователь Илья Винокуров >> написал: >>> Здравствуйте, Николай. >>> >>> Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта >>> кодировка >>> называется utf8. >>> Когда строки вводятся в Perl, их нужно декодировать из различных >>> кодировок >>> в >>> utf8. >>> В том числе нужно декодировать UTF-8 в utf8. >>> Если строку нужно вывести из Perl, то эту строку нужно кодировать в >>> различные кодировки. >>> В том числе нужно кодировать utf8 в UTF-8 >>> >> >> только тут введена какя-то странная терминология, которой на самом деле >> нет. >> >> В perl строки не храянятся как набор абстрактных символов. Рассуждения >> про их кодировку лучше присекать на корню. >> Отличия между utf8 и UTF-8 - вовсе не в этом, а в том что utf-8 более >> строкая валидация чем utf8. >> >> Но в остальном, если в тексте выше заменить "utf8" на "символьная >> строка", то будет ок. >> >>> Этим занимаются функции Encode::encode('UTF-8', $string) и >>> Encode::decode('UTF-8', $string). >>> >>> Text::Iconv - не используйте это, если точно не знаете почему вам нужен >>> именно этот модуль. >>> >>> Концепцию работы с кодировками в Perl я рассказал, >>> а вот свой скрипт поправить потрудитесь сами пожалуйста... >>> >>> PS: Чтобы не возиться в явном виде с перекодированием строк, в перл >>> используют >>> >>> binmode STDIN, ":encoding(console_in)" if -t STDIN; >>> binmode STDOUT, ":encoding(console_out)" if -t STDOUT; >>> binmode STDERR, ":encoding(console_out)" if -t STDERR; >>> >>> После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 >>> без >>> перекодирования... >>> >>> С почтением, >>> Илья Винокуров. >>> >>> Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin : >>> >>> Привет, MoscowPM, >>> тут родился вопрос под win7 (юникс могут быть теже странности, не >>> проверял) >>> >>> #!/usr/bin/env perl >>> use utf8; >>> use Modern::Perl; >>> use Encode::Locale; >>> use Encode qw( decode encode from_to); >>> use Text::Iconv; >>> use Encode::Detect::Detector; >>> use Data::Dumper qw( Dumper ); >>> >>> >>> if (-t) >>> { >>> binmode(STDIN, ":encoding(console_in)"); >>> binmode(STDOUT, ":encoding(console_out)"); >>> binmode(STDERR, ":encoding(console_out)"); >>> } >>> >>> my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >>> my_dump('lang_01',$lang); >>> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>> $lang = $converter->convert($lang); >>> my_dump('lang_02',$lang); >>> $lang = Encode::decode("utf8",$lang); >>> my_dump('lang_03',$lang); >>> my_dump('lang_04_перл',qq{перл}); >>> >>> $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или >>> умри!!";}) /ix;#русский не мачится, почему? >>> >>> sub my_dump >>> { >>> my ($name,$var)=@_; >>> local $Data::Dumper::Useqq = 1; >>> local $Data::Dumper::Indent = 0; >>> local $Data::Dumper::Terse = 1; >>> print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." >>> dump=".Dumper($var)."\n"); >>> } >>> >>> этот же код на гитхабе >>> >>> >>> https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl >>> >>> моя задача была, чтобы скрипт >>> perl 100_regex_4_moscow_pm.pl перл >>> читая из консоли слово "перл" находил его в регексе внутри скрипта >>> >>> вопросы: >>> 1) почему, если в консоле >>> perl -MEncode::Detect::Detector -E "say >>> Encode::Detect::Detector::detect(qq{перл})" >>> у меня кодировка ISO-8859-7 >>> my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>> Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? >>> >>> 2)что происходит со строкой здесь >>> UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >>> $lang = Encode::decode("utf8",$lang); >>> UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >>> --что такое делает decode? >>> я так понимаю - он починивает utf8, но что конкретно >>> >>> спасибо, хорошей недели!! >>> >>> >>> -- >>> С уважением >>> Николай Мишин >>> >>> -- >>> 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 >> > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > From mi на ya.ru Tue Sep 23 12:51:49 2014 From: mi на ya.ru (Nikolay Mishin) Date: Tue, 23 Sep 2014 23:51:49 +0400 Subject: [Moscow.pm] =?koi8-r?b?y8/EydLP18vBINcgUGVybCDQz97FzdUg19PFINzU?= =?koi8-r?b?zyDUwcsg09TSwc7OzyDSwcLP1MHF1D8=?= In-Reply-To: <1411463717.807692597@f307.i.mail.ru> References: <37031411334895@web20m.yandex.ru> <1411375885.947228810@f120.i.mail.ru> <1194471411415887@web27j.yandex.ru> <1411463717.807692597@f307.i.mail.ru> Message-ID: <535371411501909@web16o.yandex.ru> Здравствуйте, Илья добавил $lang = decode(locale => $lang); удалив все лишнее, вы просто супер!! https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl а код модуля говорит сам за себя if ($^O eq "MSWin32") { unless ($ENCODING_LOCALE) { # Try to obtain what the Windows ANSI code page is eval { unless (defined &GetACP) { require Win32::API; Win32::API->Import('kernel32', 'int GetACP()'); }; if (defined &GetACP) { my $cp = GetACP(); $ENCODING_LOCALE = "cp$cp" if $cp; } }; } 23.09.2014, 13:15, "Илья Винокуров" : > Здравствуйте, Николай! > > Вы используете Console::Locale. > Почитайте документацию https://metacpan.org/pod/Encode::Locale > Из нее вы поймете, что этот модуль определяет кодировку консоли > более точно, чем детекторы. > > Если для STDIN, STDERR, STDOUT вы сделали телодвижения по > автоматической перекодировке, то для @ARGV ничего не сделано, > поэтому разумно использовать: > > my $lang = decode(locale => $ARGV[0]); > > А детекторы кодировок - это зло, существующее из-за безнадеги... > > С почтением, >   Илья Винокуров. > > Mon, 22 Sep 2014 23:58:07 +0400 от Nikolay Mishin : > >> Илья, привет , удалил Text::Iconv >> -my $converter = Text::Iconv->new( "cp1251", "utf-8"); >> -$lang = $converter->convert($lang); >> +Encode::from_to($lang, 'windows-1251', 'utf-8'); >> https://github.com/mishin/presentation/commit/2d1ba8adcfc451d45454490b5bf442f95bd41e0a >> и все заработало, >> правда получается, что кодировка , которую Encode::Detect::Detector >> определяет как ISO-8859-7 является одновременно и кодировкой windows-1251, >> странно, что больше этого нигде не написано, в общем парадоксальное решение, >> чисто перебором >> >> 22.09.2014, 12:51, "Илья Винокуров" : >>>  Здравствуйте, Николай. >>> >>>  Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта кодировка называется utf8. >>>  Когда строки вводятся в Perl, их нужно декодировать из различных кодировок в utf8. >>>  В том числе нужно декодировать UTF-8 в utf8. >>>  Если строку нужно вывести из Perl, то эту строку нужно кодировать в различные кодировки. >>>  В том числе нужно кодировать utf8 в UTF-8 >>> >>>  Этим занимаются функции Encode::encode('UTF-8', $string) и Encode::decode('UTF-8', $string). >>> >>>  Text::Iconv - не используйте это, если точно не знаете почему вам нужен именно этот модуль. >>> >>>  Концепцию работы с кодировками в Perl я рассказал, >>>  а вот свой скрипт поправить потрудитесь сами пожалуйста... >>> >>>  PS: Чтобы не возиться в явном виде с перекодированием строк, в перл используют >>> >>>  binmode STDIN, ":encoding(console_in)" if -t STDIN; binmode STDOUT, ":encoding(console_out)" if -t STDOUT; binmode STDERR, ":encoding(console_out)" if -t STDERR; >>>  После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без перекодирования... >>> >>>  С почтением, >>>    Илья Винокуров. >>> >>>  Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin : >>>>  Привет, MoscowPM, >>>>  тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) >>>> >>>>  #!/usr/bin/env perl >>>>  use utf8; >>>>  use Modern::Perl; >>>>  use Encode::Locale; >>>>  use Encode qw( decode encode from_to); >>>>  use Text::Iconv; >>>>  use Encode::Detect::Detector; >>>>  use Data::Dumper qw( Dumper ); >>>> >>>>  if (-t) >>>>  { >>>>      binmode(STDIN, ":encoding(console_in)"); >>>>  binmode(STDOUT, ":encoding(console_out)"); >>>>  binmode(STDERR, ":encoding(console_out)"); >>>>  } >>>> >>>>  my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >>>>  my_dump('lang_01',$lang); >>>>  my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>>>  $lang = $converter->convert($lang); >>>>  my_dump('lang_02',$lang); >>>>  $lang = Encode::decode("utf8",$lang); >>>>  my_dump('lang_03',$lang); >>>>  my_dump('lang_04_перл',qq{перл}); >>>> >>>>   $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или умри!!";}) /ix;#русский не мачится, почему? >>>> >>>>   sub my_dump >>>>   { >>>>   my ($name,$var)=@_; >>>>   local $Data::Dumper::Useqq = 1; >>>>   local $Data::Dumper::Indent = 0; >>>>   local $Data::Dumper::Terse = 1; >>>>   print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." dump=".Dumper($var)."\n"); >>>>   } >>>> >>>>  этот же код на гитхабе >>>> https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl >>>> >>>>  моя задача была, чтобы скрипт >>>>  perl 100_regex_4_moscow_pm.pl перл >>>>  читая из консоли слово "перл" находил его в регексе внутри скрипта >>>> >>>>  вопросы: >>>>  1) почему, если в консоле >>>>  perl -MEncode::Detect::Detector -E "say Encode::Detect::Detector::detect(qq{перл})" >>>>  у меня кодировка ISO-8859-7 >>>>  my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>>>  Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? >>>> >>>>  2)что происходит со строкой здесь >>>>  UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >>>>  $lang = Encode::decode("utf8",$lang); >>>>  UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >>>>  --что такое делает decode? >>>>  я так понимаю - он починивает utf8, но что конкретно >>>> >>>>  спасибо, хорошей недели!! >>>> >>>>  -- >>>>  С уважением >>>>  Николай Мишин >>>> >>>>  -- >>>>  Moscow.pm mailing list >>>> moscow-pm на pm.org | http://moscow.pm.org >>>  , >>> >>>  -- >>>  Moscow.pm mailing list >>> moscow-pm на pm.org | http://moscow.pm.org >> >> -- >> С уважением >> Николай Мишин >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > , > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From mi на ya.ru Tue Sep 23 13:09:18 2014 From: mi на ya.ru (Nikolay Mishin) Date: Wed, 24 Sep 2014 00:09:18 +0400 Subject: [Moscow.pm] =?koi8-r?b?y8/EydLP18vBINcgUGVybCDQz97FzdUg19PFINzU?= =?koi8-r?b?zyDUwcsg09TSwc7OzyDSwcLP1MHF1D8=?= In-Reply-To: <535371411501909@web16o.yandex.ru> References: <37031411334895@web20m.yandex.ru> <1411375885.947228810@f120.i.mail.ru> <1194471411415887@web27j.yandex.ru> <1411463717.807692597@f307.i.mail.ru> <535371411501909@web16o.yandex.ru> Message-ID: <650721411502958@web20h.yandex.ru> там есть шикарная функция Encode::Locale::decode_argv(); все уменьшилось до #!/usr/bin/env perl use utf8; use Modern::Perl; use Encode::Locale qw(decode_argv); if (-t) { binmode(STDIN, ":encoding(console_in)"); binmode(STDOUT, ":encoding(console_out)"); binmode(STDERR, ":encoding(console_out)"); } Encode::Locale::decode_argv(); my $lang = shift or die "Usage: $0 What_is_your_language?\n"; $lang =~ / (perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или умри!!";}) /ix; https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl 23.09.2014, 23:52, "Nikolay Mishin" : > Здравствуйте, Илья > добавил > $lang = decode(locale => $lang); > удалив все лишнее, вы просто супер!! > https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl > а код модуля говорит сам за себя > >  if ($^O eq "MSWin32") { >         unless ($ENCODING_LOCALE) { >             # Try to obtain what the Windows ANSI code page is >             eval { >                 unless (defined &GetACP) { >                     require Win32::API; >                     Win32::API->Import('kernel32', 'int GetACP()'); >                 }; >                 if (defined &GetACP) { >                     my $cp = GetACP(); >                     $ENCODING_LOCALE = "cp$cp" if $cp; >                 } >             }; >         } > > 23.09.2014, 13:15, "Илья Винокуров" : >>  Здравствуйте, Николай! >> >>  Вы используете Console::Locale. >>  Почитайте документацию https://metacpan.org/pod/Encode::Locale >>  Из нее вы поймете, что этот модуль определяет кодировку консоли >>  более точно, чем детекторы. >> >>  Если для STDIN, STDERR, STDOUT вы сделали телодвижения по >>  автоматической перекодировке, то для @ARGV ничего не сделано, >>  поэтому разумно использовать: >> >>  my $lang = decode(locale => $ARGV[0]); >> >>  А детекторы кодировок - это зло, существующее из-за безнадеги... >> >>  С почтением, >>    Илья Винокуров. >> >>  Mon, 22 Sep 2014 23:58:07 +0400 от Nikolay Mishin : >>>  Илья, привет , удалил Text::Iconv >>>  -my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>>  -$lang = $converter->convert($lang); >>>  +Encode::from_to($lang, 'windows-1251', 'utf-8'); >>>  https://github.com/mishin/presentation/commit/2d1ba8adcfc451d45454490b5bf442f95bd41e0a >>>  и все заработало, >>>  правда получается, что кодировка , которую Encode::Detect::Detector >>>  определяет как ISO-8859-7 является одновременно и кодировкой windows-1251, >>>  странно, что больше этого нигде не написано, в общем парадоксальное решение, >>>  чисто перебором >>> >>>  22.09.2014, 12:51, "Илья Винокуров" : >>>>   Здравствуйте, Николай. >>>> >>>>   Внутри Perl строки хранятся в кодировке, совместимой с UTF-8. Эта кодировка называется utf8. >>>>   Когда строки вводятся в Perl, их нужно декодировать из различных кодировок в utf8. >>>>   В том числе нужно декодировать UTF-8 в utf8. >>>>   Если строку нужно вывести из Perl, то эту строку нужно кодировать в различные кодировки. >>>>   В том числе нужно кодировать utf8 в UTF-8 >>>> >>>>   Этим занимаются функции Encode::encode('UTF-8', $string) и Encode::decode('UTF-8', $string). >>>> >>>>   Text::Iconv - не используйте это, если точно не знаете почему вам нужен именно этот модуль. >>>> >>>>   Концепцию работы с кодировками в Perl я рассказал, >>>>   а вот свой скрипт поправить потрудитесь сами пожалуйста... >>>> >>>>   PS: Чтобы не возиться в явном виде с перекодированием строк, в перл используют >>>> >>>>   binmode STDIN, ":encoding(console_in)" if -t STDIN; binmode STDOUT, ":encoding(console_out)" if -t STDOUT; binmode STDERR, ":encoding(console_out)" if -t STDERR; >>>>   После этого в STDIN/STDOUT можно читать/писать строки в кодировке utf8 без перекодирования... >>>> >>>>   С почтением, >>>>     Илья Винокуров. >>>> >>>>   Mon, 22 Sep 2014 01:28:15 +0400 от Nikolay Mishin : >>>>>   Привет, MoscowPM, >>>>>   тут родился вопрос под win7 (юникс могут быть теже странности, не проверял) >>>>> >>>>>   #!/usr/bin/env perl >>>>>   use utf8; >>>>>   use Modern::Perl; >>>>>   use Encode::Locale; >>>>>   use Encode qw( decode encode from_to); >>>>>   use Text::Iconv; >>>>>   use Encode::Detect::Detector; >>>>>   use Data::Dumper qw( Dumper ); >>>>> >>>>>   if (-t) >>>>>   { >>>>>       binmode(STDIN, ":encoding(console_in)"); >>>>>   binmode(STDOUT, ":encoding(console_out)"); >>>>>   binmode(STDERR, ":encoding(console_out)"); >>>>>   } >>>>> >>>>>   my $lang = shift or die "Usage: $0 What_is_your_language?\n"; >>>>>   my_dump('lang_01',$lang); >>>>>   my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>>>>   $lang = $converter->convert($lang); >>>>>   my_dump('lang_02',$lang); >>>>>   $lang = Encode::decode("utf8",$lang); >>>>>   my_dump('lang_03',$lang); >>>>>   my_dump('lang_04_перл',qq{перл}); >>>>> >>>>>    $lang =~ /(perl|перл) (?{print "use Perl or die!!\nИспользуй Перл или умри!!";}) /ix;#русский не мачится, почему? >>>>> >>>>>    sub my_dump >>>>>    { >>>>>    my ($name,$var)=@_; >>>>>    local $Data::Dumper::Useqq = 1; >>>>>    local $Data::Dumper::Indent = 0; >>>>>    local $Data::Dumper::Terse = 1; >>>>>    print(Encode::Detect::Detector::detect(qq{$lang})." ".qq{\$$name }." dump=".Dumper($var)."\n"); >>>>>    } >>>>> >>>>>   этот же код на гитхабе >>>>>  https://github.com/mishin/presentation/blob/master/100_regex_4_moscow_pm.pl >>>>> >>>>>   моя задача была, чтобы скрипт >>>>>   perl 100_regex_4_moscow_pm.pl перл >>>>>   читая из консоли слово "перл" находил его в регексе внутри скрипта >>>>> >>>>>   вопросы: >>>>>   1) почему, если в консоле >>>>>   perl -MEncode::Detect::Detector -E "say Encode::Detect::Detector::detect(qq{перл})" >>>>>   у меня кодировка ISO-8859-7 >>>>>   my $converter = Text::Iconv->new( "cp1251", "utf-8"); >>>>>   Text::Iconv ее проглатывает как cp1251 (причем ISO там не проходит) ? >>>>> >>>>>   2)что происходит со строкой здесь >>>>>   UTF-8 $lang_02 dump="\320\277\320\265\321\200\320\273" >>>>>   $lang = Encode::decode("utf8",$lang); >>>>>   UTF-8 $lang_03 dump="\x{43f}\x{435}\x{440}\x{43b}" >>>>>   --что такое делает decode? >>>>>   я так понимаю - он починивает utf8, но что конкретно >>>>> >>>>>   спасибо, хорошей недели!! >>>>> >>>>>   -- >>>>>   С уважением >>>>>   Николай Мишин >>>>> >>>>>   -- >>>>>   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 > > -- > С уважением > Николай Мишин > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From i.petro.77.00 на gmail.com Thu Sep 25 02:44:27 2014 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Thu, 25 Sep 2014 13:44:27 +0400 Subject: [Moscow.pm] =?utf-8?b?0LjRidGDINGD0YLQuNC70LjRgtC60YM=?= Message-ID: <20140925094427.GJ26222@vdsl.uvw.ru> есть программка на perl, которая написана в обычном стиле: 30-50 модулей и скрипт который делает use на них. есть некоторое желание распространять эту программку именно как одиночный perl скрипт (модули врядли кому будут нужны), но разработку продолжать вести как обычно (модули итп) соответственно хочу скрипт, который возьмет все модули из директории покатит их в один файлик и соберет итоговый скрипт. use'ы которые смотреть будут вне директории - оставит как есть (там use'ы только на base). понятно что на коленке такую утилитку сваять несложно, но может есть что готовое? From dionys на gmail.com Thu Sep 25 02:46:22 2014 From: dionys на gmail.com (Denis Ibaev) Date: Thu, 25 Sep 2014 13:46:22 +0400 Subject: [Moscow.pm] =?utf-8?b?0LjRidGDINGD0YLQuNC70LjRgtC60YM=?= In-Reply-To: <20140925094427.GJ26222@vdsl.uvw.ru> References: <20140925094427.GJ26222@vdsl.uvw.ru> Message-ID: Привет. https://metacpan.org/pod/fatpack Сам не пользовался. 25 сентября 2014 г., 13:44 пользователь Ivan Petrov написал: > > есть программка на perl, которая написана в обычном стиле: 30-50 > модулей и скрипт который делает use на них. > > есть некоторое желание распространять эту программку именно как > одиночный perl скрипт (модули врядли кому будут нужны), но разработку > продолжать вести как обычно (модули итп) > > соответственно хочу скрипт, который возьмет все модули из директории > покатит их в один файлик и соберет итоговый скрипт. > use'ы которые смотреть будут вне директории - оставит как есть (там > use'ы только на base). > > понятно что на коленке такую утилитку сваять несложно, но может есть > что готовое? -- Денис Ибаев ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From victor на vsespb.ru Thu Sep 25 03:41:57 2014 From: victor на vsespb.ru (Victor Efimov) Date: Thu, 25 Sep 2014 14:41:57 +0400 Subject: [Moscow.pm] =?utf-8?b?0LjRidGDINGD0YLQuNC70LjRgtC60YM=?= In-Reply-To: References: <20140925094427.GJ26222@vdsl.uvw.ru> Message-ID: 25 сентября 2014 г., 13:46 пользователь Denis Ibaev написал: > Привет. > > https://metacpan.org/pod/fatpack +1 > > Сам не пользовался. > > 25 сентября 2014 г., 13:44 пользователь Ivan Petrov > написал: > >> >> есть программка на perl, которая написана в обычном стиле: 30-50 >> модулей и скрипт который делает use на них. >> >> есть некоторое желание распространять эту программку именно как >> одиночный perl скрипт (модули врядли кому будут нужны), но разработку >> продолжать вести как обычно (модули итп) как-то не тянет на причину юзать fatpack. можно распространять как CPAN модуль. все модули поставятся в нужные директории автоматически. никому не мешают (кроме того что занимают место на диске, должны находиться в отдельном неймспейсе, и желательно в каждый проставить версию и проверять рантайм, если целевая аудитория крайне криворука) From sergle.ua на gmail.com Thu Sep 25 04:25:52 2014 From: sergle.ua на gmail.com (Sergey Leschenko) Date: Thu, 25 Sep 2014 14:25:52 +0300 Subject: [Moscow.pm] =?utf-8?b?0LjRidGDINGD0YLQuNC70LjRgtC60YM=?= In-Reply-To: <20140925094427.GJ26222@vdsl.uvw.ru> References: <20140925094427.GJ26222@vdsl.uvw.ru> Message-ID: Percona Toolkit используют похожий подход - у них каждый скрипт включает в себя несколько package секций. https://launchpad.net/percona-toolkit Можно посмотреть как они их собирают, кажется - тот же fatpack. 2014-09-25 12:44 GMT+03:00 Ivan Petrov : > есть программка на perl, которая написана в обычном стиле: 30-50 > модулей и скрипт который делает use на них. > > есть некоторое желание распространять эту программку именно как > одиночный perl скрипт (модули врядли кому будут нужны), но разработку > продолжать вести как обычно (модули итп) > > соответственно хочу скрипт, который возьмет все модули из директории > покатит их в один файлик и соберет итоговый скрипт. > use'ы которые смотреть будут вне директории - оставит как есть (там > use'ы только на base). > > понятно что на коленке такую утилитку сваять несложно, но может есть > что готовое? > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Sergey ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From i.petro.77.00 на gmail.com Thu Sep 25 04:46:47 2014 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Thu, 25 Sep 2014 15:46:47 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQvtC30LTQsNC90LjQtSDQv9GA0LXQt9C10L0=?= =?utf-8?b?0YLQsNGG0LjQuQ==?= Message-ID: <20140925114647.GK26222@vdsl.uvw.ru> Народ, а посоветуйте что-то для создания презентаций? когда-то пользовался такахаси, но он подох (вернее новая мозила больше его не поддерживает). Хочется следующего: 1. редактирование в ТЕКСТОВОМ редакторе (чтобы хранить презенташку в Git, а так же видеть diff'ы изменений итп) 2. простая генерация pdf (чтобы отдать на чужой комп и они не думали чем ето открыть итп) 3. чтобы можно было вставить картинку (иногда надо там блоксхему какую нарисовать) From bobrovaksenia на gmail.com Thu Sep 25 04:44:59 2014 From: bobrovaksenia на gmail.com (=?UTF-8?B?0JrRgdC10L3QuNGPINCR0L7QsdGA0L7QstCw?=) Date: Thu, 25 Sep 2014 15:44:59 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQvtC30LTQsNC90LjQtSDQv9GA0LXQt9C10L0=?= =?utf-8?b?0YLQsNGG0LjQuQ==?= In-Reply-To: <20140925114647.GK26222@vdsl.uvw.ru> References: <20140925114647.GK26222@vdsl.uvw.ru> Message-ID: Beamer? https://ru.wikipedia.org/wiki/Beamer_(LaTeX) 25 сентября 2014 г., 15:46 пользователь Ivan Petrov написал: > Народ, а посоветуйте что-то для создания презентаций? > > > когда-то пользовался такахаси, но он подох (вернее новая мозила больше > его не поддерживает). > > Хочется следующего: > > 1. редактирование в ТЕКСТОВОМ редакторе (чтобы хранить презенташку в > Git, а так же видеть diff'ы изменений итп) > 2. простая генерация pdf (чтобы отдать на чужой комп и они не думали > чем ето открыть итп) > 3. чтобы можно было вставить картинку (иногда надо там блоксхему какую > нарисовать) > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Ksenia Bobrova Senior Perl Developer ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ivan на bessarabov.ru Thu Sep 25 05:36:50 2014 From: ivan на bessarabov.ru (=?UTF-8?B?0JjQstCw0L0g0JHQtdGB0YHQsNGA0LDQsdC+0LI=?=) Date: Thu, 25 Sep 2014 16:36:50 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQvtC30LTQsNC90LjQtSDQv9GA0LXQt9C10L0=?= =?utf-8?b?0YLQsNGG0LjQuQ==?= In-Reply-To: References: <20140925114647.GK26222@vdsl.uvw.ru> Message-ID: http://shwr.me/ 2014-09-25 15:44 GMT+04:00 Ксения Боброва : > Beamer? https://ru.wikipedia.org/wiki/Beamer_(LaTeX) > > 25 сентября 2014 г., 15:46 пользователь Ivan Petrov > написал: > >> Народ, а посоветуйте что-то для создания презентаций? >> >> >> когда-то пользовался такахаси, но он подох (вернее новая мозила больше >> его не поддерживает). >> >> Хочется следующего: >> >> 1. редактирование в ТЕКСТОВОМ редакторе (чтобы хранить презенташку в >> Git, а так же видеть diff'ы изменений итп) >> 2. простая генерация pdf (чтобы отдать на чужой комп и они не думали >> чем ето открыть итп) >> 3. чтобы можно было вставить картинку (иногда надо там блоксхему какую >> нарисовать) >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > > > > -- > Ksenia Bobrova > Senior Perl Developer > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > From worldmind на mail.ru Fri Sep 26 00:29:23 2014 From: worldmind на mail.ru (=?UTF-8?B?QWxleGV5IFNocnVi?=) Date: Fri, 26 Sep 2014 11:29:23 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQvtC30LTQsNC90LjQtSDQv9GA0LXQt9C10L0=?= =?utf-8?b?0YLQsNGG0LjQuQ==?= In-Reply-To: References: <20140925114647.GK26222@vdsl.uvw.ru> Message-ID: <1411716563.225408483@f415.i.mail.ru> Да, вполне вариант, юзал для простых презентаций, есть примеры у меня на гитхабе, если будет надо скину ссылку Thu, 25 Sep 2014 15:44:59 +0400 от Ксения Боброва : > Beamer?  https://ru.wikipedia.org/wiki/Beamer_(LaTeX)   -- Alexey Shrub From i.petro.77.00 на gmail.com Fri Sep 26 04:30:34 2014 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Fri, 26 Sep 2014 15:30:34 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQvtC30LTQsNC90LjQtSDQv9GA0LXQt9C10L0=?= =?utf-8?b?0YLQsNGG0LjQuQ==?= In-Reply-To: <1411716563.225408483@f415.i.mail.ru> References: <20140925114647.GK26222@vdsl.uvw.ru> <1411716563.225408483@f415.i.mail.ru> Message-ID: <20140926113034.GC30939@vdsl.uvw.ru> > Да, вполне вариант, юзал для простых презентаций, есть примеры у меня на гитхабе, если будет надо скину ссылку Хочется конечно нормального языка, аля вики но в принципе html (тот что кинули в соседнем письме) подойдет на безрыбье латех изучать ради презентаций неохота From chesnokov.ilya на gmail.com Fri Sep 26 04:29:03 2014 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Fri, 26 Sep 2014 12:29:03 +0100 Subject: [Moscow.pm] =?utf-8?b?0KHQvtC30LTQsNC90LjQtSDQv9GA0LXQt9C10L0=?= =?utf-8?b?0YLQsNGG0LjQuQ==?= In-Reply-To: <20140926113034.GC30939@vdsl.uvw.ru> References: <20140925114647.GK26222@vdsl.uvw.ru> <1411716563.225408483@f415.i.mail.ru> <20140926113034.GC30939@vdsl.uvw.ru> Message-ID: Кто-то в Vim-е делает презентации. Такие были на YAPC::EU последней (по-моему в презентации про то, как создавать pm-группы / организовывать воркшопы/конференции). И еще одна американская девушка делала презентацию про Filesys::POSIX - тоже вроде бы в виде текста. Можно просто написать авторам и попросить рассказать, как они их делают. 26 сентября 2014 г., 12:30 пользователь Ivan Petrov написал: >> Да, вполне вариант, юзал для простых презентаций, есть примеры у меня на гитхабе, если будет надо скину ссылку > > Хочется конечно нормального языка, аля вики > > но в принципе html (тот что кинули в соседнем письме) подойдет на > безрыбье > > латех изучать ради презентаций неохота > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- Best regards, Ilya Chesnokov From chesnokov.ilya на gmail.com Fri Sep 26 04:29:40 2014 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Fri, 26 Sep 2014 12:29:40 +0100 Subject: [Moscow.pm] =?utf-8?b?0KHQvtC30LTQsNC90LjQtSDQv9GA0LXQt9C10L0=?= =?utf-8?b?0YLQsNGG0LjQuQ==?= In-Reply-To: References: <20140925114647.GK26222@vdsl.uvw.ru> <1411716563.225408483@f415.i.mail.ru> <20140926113034.GC30939@vdsl.uvw.ru> Message-ID: 26 сентября 2014 г., 12:29 пользователь Ilya Chesnokov написал: > Кто-то в Vim-е делает презентации. Такие были на YAPC::EU последней > (по-моему в презентации про то, как создавать pm-группы / > организовывать воркшопы/конференции). И еще одна американская девушка > делала презентацию про Filesys::POSIX - тоже вроде бы в виде текста. > Можно просто написать авторам и попросить рассказать, как они их > делают. Заодно и с нами поделитесь рецептом потом ;-) > 26 сентября 2014 г., 12:30 пользователь Ivan Petrov > написал: >>> Да, вполне вариант, юзал для простых презентаций, есть примеры у меня на гитхабе, если будет надо скину ссылку >> >> Хочется конечно нормального языка, аля вики >> >> но в принципе html (тот что кинули в соседнем письме) подойдет на >> безрыбье >> >> латех изучать ради презентаций неохота >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Best regards, > Ilya Chesnokov -- Best regards, Ilya Chesnokov From an.gorohovski на gmail.com Fri Sep 26 05:34:54 2014 From: an.gorohovski на gmail.com (Alessandro Gorohovski) Date: Fri, 26 Sep 2014 15:34:54 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHQvtC30LTQsNC90LjQtSDQv9GA0LXQt9C10L0=?= =?utf-8?b?0YLQsNGG0LjQuQ==?= In-Reply-To: <1411716563.225408483@f415.i.mail.ru> References: <20140925114647.GK26222@vdsl.uvw.ru> <1411716563.225408483@f415.i.mail.ru> Message-ID: Здравствуйте Алексей, Alexey Shrub писал(а) в своём письме Fri, 26 Sep 2014 10:29:23 +0300: > Да, вполне вариант, юзал для простых презентаций, есть примеры у меня на > гитхабе, если будет надо скину ссылку Пожалуйста скиньте ссылку, если не в тягость :) Оч.интересно посмотреть. > Thu, 25 Sep 2014 15:44:59 +0400 от Ксения Боброва > : >> Beamer? https://ru.wikipedia.org/wiki/Beamer_(LaTeX) -- ANG From worldmind на mail.ru Fri Sep 26 05:37:42 2014 From: worldmind на mail.ru (=?UTF-8?B?QWxleGV5IFNocnVi?=) Date: Fri, 26 Sep 2014 16:37:42 +0400 Subject: [Moscow.pm] =?utf-8?b?0KHQvtC30LTQsNC90LjQtSDQv9GA0LXQt9C10L0=?= =?utf-8?b?0YLQsNGG0LjQuQ==?= In-Reply-To: References: <20140925114647.GK26222@vdsl.uvw.ru> <1411716563.225408483@f415.i.mail.ru> Message-ID: <1411735062.814062462@f223.i.mail.ru> Когда-то пытался знаниями со студнтами своего ВУЗа поделится, набрасывал презенташку небольшую, не особо для этого что изучать нужно https://github.com/worldmind/typical-dev-tasks-presentation-ru Fri, 26 Sep 2014 15:34:54 +0300 от "Alessandro Gorohovski" : > Пожалуйста скиньте ссылку, если не в тягость :) > Оч.интересно посмотреть. -- Alexey Shrub From an.gorohovski на gmail.com Fri Sep 26 05:45:22 2014 From: an.gorohovski на gmail.com (Alessandro Gorohovski) Date: Fri, 26 Sep 2014 15:45:22 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHQvtC30LTQsNC90LjQtSDQv9GA0LXQt9C10L0=?= =?utf-8?b?0YLQsNGG0LjQuQ==?= In-Reply-To: <1411735062.814062462@f223.i.mail.ru> References: <20140925114647.GK26222@vdsl.uvw.ru> <1411716563.225408483@f415.i.mail.ru> <1411735062.814062462@f223.i.mail.ru> Message-ID: Alexey Shrub писал(а) в своём письме Fri, 26 Sep 2014 15:37:42 +0300: > Когда-то пытался знаниями со студнтами своего ВУЗа поделится, набрасывал > презенташку небольшую, не особо для этого что изучать нужно > https://github.com/worldmind/typical-dev-tasks-presentation-ru Алексей, Премного благодарен :) > Fri, 26 Sep 2014 15:34:54 +0300 от "Alessandro Gorohovski" > : >> Пожалуйста скиньте ссылку, если не в тягость :) >> Оч.интересно посмотреть. > -- ANG From mmm3 на bk.ru Fri Sep 26 07:59:13 2014 From: mmm3 на bk.ru (=?UTF-8?B?0JzQsNC60YHQuNC8INCS0LvQsNC00LjQvNC40YDQvtCy0LjRhw==?=) Date: Fri, 26 Sep 2014 18:59:13 +0400 Subject: [Moscow.pm] =?utf-8?q?utf8_json_Mojolicious?= Message-ID: <1411743553.345945587@f208.i.mail.ru> Кто нибудь знает как поправить кодировку use Mojolicious::Lite; get '/' => sub {   my $c   = shift;   $c->render(json => "тест"); }; app->start; дает битую кодировку   $c->render(text => "тест"); все нормально С уважением, Максим ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From kostya на yandex.ru Fri Sep 26 08:00:47 2014 From: kostya на yandex.ru (=?koi8-r?B?68/T1NEg9MXO?=) Date: Fri, 26 Sep 2014 19:00:47 +0400 Subject: [Moscow.pm] utf8 json Mojolicious In-Reply-To: <1411743553.345945587@f208.i.mail.ru> References: <1411743553.345945587@f208.i.mail.ru> Message-ID: <73221411743647@web12g.yandex.ru> Вложение в формате HTML было извлечено… URL: From mmm3 на bk.ru Fri Sep 26 14:34:05 2014 From: mmm3 на bk.ru (=?UTF-8?B?0JzQsNC60YHQuNC8INCS0LvQsNC00LjQvNC40YDQvtCy0LjRhw==?=) Date: Sat, 27 Sep 2014 01:34:05 +0400 Subject: [Moscow.pm] =?utf-8?q?utf8_json_Mojolicious?= Message-ID: <1411767245.936780803@f374.i.mail.ru> Спасибо. работает app->types->type(json=>'text/plain; charset=utf-8'); С уважением, Максим ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From aml на rulezz.ru Fri Sep 26 22:38:20 2014 From: aml на rulezz.ru (Alexander Lourier) Date: Sat, 27 Sep 2014 05:38:20 +0000 Subject: [Moscow.pm] utf8 json Mojolicious References: <1411767245.936780803@f374.i.mail.ru> Message-ID: Кто же json отдаёт с типом text/plain? Я с mojo не работал, но может ему не byte-encoded utf8 нужен? Попробуйте перед строкой с "тест" написать use utf8; Как битая кодировка выглядит? On Fri, Sep 26, 2014, 23:34 Максим Владимирович wrote: > Спасибо. > работает > > app->types->type(json=>'text/plain; charset=utf-8'); > > > С уважением, > > Максим > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vovkasm на gmail.com Sat Sep 27 00:56:44 2014 From: vovkasm на gmail.com (Vladimir Timofeev) Date: Sat, 27 Sep 2014 11:56:44 +0400 Subject: [Moscow.pm] utf8 json Mojolicious In-Reply-To: <1411743553.345945587@f208.i.mail.ru> References: <1411743553.345945587@f208.i.mail.ru> Message-ID: А у меня этот пример просто работает правильно, что я делаю не так? Или, быть может, не вся информация для идентификации проблемы содержится в письме? Тестировал вот так: === begin of test.pl === #!env perl #use utf8; # Если откомментировать, всё продолжает работать как надо use Mojolicious::Lite; get '/' => sub { my $c = shift; $c->render( json => "тест" ); }; app->start; === end of test.pl === uname -a Darwin vovkasm-mac.home 13.4.0 Darwin Kernel Version 13.4.0: Sun Aug 17 19:50:11 PDT 2014; root:xnu-2422.115.4~1/RELEASE_X86_64 x86_64 perl -V (частично) Summary of my perl5 (revision 5 version 20 subversion 0) configuration: Platform: osname=darwin, osvers=13.2.0, archname=darwin-2level uname='darwin vovkasm-mac.local 13.2.0 darwin kernel version 13.2.0: thu apr 17 23:03:13 pdt 2014; root:xnu-2422.100.13~1release_x86_64 x86_64 ' config_args='-de -Dprefix=/Users/vovkasm/perl5/perlbrew/perls/perl-5.20.0 -Uusethreads -Aeval:scriptdir=/Users/vovkasm/perl5/perlbrew/perls/perl-5.20.0/bin' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Built under darwin Compiled at Jun 3 2014 15:11:56 Перед тестом сделал cpan-outdated|cpanm так что все модули свежие. Запускаю: perl test.pl daemon далее: curl ?http://localhost:3000' Вижу: "тест" Добавляю use utf8; Повторяю, вижу то же самое. :-) Content-Type автоматом проставляется и он application/json, что подразумевает utf-8. Следовательно возможны три варианта: 1. У вас файл не в кодировке utf-8 2. Вы смотрите браузером, который не умеет application/json 3. Баг в софте (Mojolicious или perl) в вашем окружении 2014-09-26 18:59 GMT+04:00 Максим Владимирович : > Кто нибудь знает как поправить кодировку > > use Mojolicious::Lite; > > > get '/' => sub { > my $c = shift; > > $c->render(json => "тест"); > }; > > > app->start; > > дает битую кодировку > > > > $c->render(text => "тест"); > > все нормально > > > С уважением, > > Максим > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Vladimir Timofeev From cub.uanic на gmail.com Sat Sep 27 01:54:56 2014 From: cub.uanic на gmail.com (Oleg Kostyuk) Date: Sat, 27 Sep 2014 11:54:56 +0300 Subject: [Moscow.pm] =?utf-8?b?0KHQvtC30LTQsNC90LjQtSDQv9GA0LXQt9C10L0=?= =?utf-8?b?0YLQsNGG0LjQuQ==?= In-Reply-To: References: <20140925114647.GK26222@vdsl.uvw.ru> <1411716563.225408483@f415.i.mail.ru> <1411735062.814062462@f223.i.mail.ru> Message-ID: https://github.com/hakimel/reveal.js A framework for easily creating beautiful presentations using HTML. Check out the live demo. reveal.js comes with a broad range of features including nested slides, markdown contents, PDF export, speaker notes and a JavaScript API. It's best viewed in a browser with support for CSS 3D transforms but fallbacks are available to make sure your presentation can still be viewed elsewhere. 26 сентября 2014 г., 15:45 пользователь Alessandro Gorohovski < an.gorohovski на gmail.com> написал: > Alexey Shrub писал(а) в своём письме Fri, 26 Sep 2014 > 15:37:42 +0300: > > Когда-то пытался знаниями со студнтами своего ВУЗа поделится, набрасывал >> презенташку небольшую, не особо для этого что изучать нужно >> https://github.com/worldmind/typical-dev-tasks-presentation-ru >> > > Алексей, > Премного благодарен > :) > > Fri, 26 Sep 2014 15:34:54 +0300 от "Alessandro Gorohovski" < >> an.gorohovski на gmail.com>: >> >>> Пожалуйста скиньте ссылку, если не в тягость :) >>> Оч.интересно посмотреть. >>> >> >> > > -- > ANG > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Sincerely yours, Oleg Kostyuk (CUB-UANIC) ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mmm3 на bk.ru Sat Sep 27 02:44:32 2014 From: mmm3 на bk.ru (=?UTF-8?B?0JzQsNC60YHQuNC8INCS0LvQsNC00LjQvNC40YDQvtCy0LjRhw==?=) Date: Sat, 27 Sep 2014 13:44:32 +0400 Subject: [Moscow.pm] =?utf-8?q?utf8_json_Mojolicious?= Message-ID: <1411811072.299378492@f161.i.mail.ru> спасибо. поправил 'application/json use Mojolicious::Lite; get '/' => sub {   my $c   = shift;     my $f = {ss => 'jj', uu => 'тест'};   $c->render(json => $f); }; app->types->type(json=>'application/json; charset=utf-8'); app->start; дергая curl - работает нормально firefox 30.0  когда запускаешь без строки app->types->type(json=>'application/json; charset=utf-8'); показывает {"uu":"б?аЕб?б?","ss":"jj"} нажимаем 'информация о странице' видим кодировка : ISO-8859-5 С уважением, Максим ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From ilvin на mail.ru Sat Sep 27 11:52:29 2014 From: ilvin на mail.ru (=?UTF-8?B?0JjQu9GM0Y8g0JLQuNC90L7QutGD0YDQvtCy?=) Date: Sat, 27 Sep 2014 22:52:29 +0400 Subject: [Moscow.pm] =?utf-8?q?utf8_json_Mojolicious?= In-Reply-To: <1411811072.299378492@f161.i.mail.ru> References: <1411811072.299378492@f161.i.mail.ru> Message-ID: <1411843949.264868625@f329.i.mail.ru> Опять неверно :) text/html для IE < 10 application/javascript - для Opera application/json - для остальных Ну это так - минутка занудства :) С почтением,   Илья Винокуров Sat, 27 Sep 2014 13:44:32 +0400 от Максим Владимирович : >спасибо. поправил 'application/json >use Mojolicious::Lite; > >get '/' => sub { >  my $c   = shift; >  >  my $f = {ss => 'jj', uu => 'тест'}; >  $c->render(json => $f); >}; > >app->types->type(json=>'application/json; charset=utf-8'); >app->start; > > >дергая curl - работает нормально > >firefox 30.0  когда запускаешь без строки app->types->type(json=>'application/json; charset=utf-8'); >показывает {"uu":"б?аЕб?б?","ss":"jj"} > >нажимаем 'информация о странице' видим кодировка : ISO-8859-5 > > > >С уважением, > >Максим >-- >Moscow.pm mailing list >moscow-pm на pm.org | http://moscow.pm.org > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From secrethost на gmail.com Sun Sep 28 00:14:43 2014 From: secrethost на gmail.com (=?UTF-8?B?0JDQvdC00YDQtdC5INCk0ZHQtNC+0YDQvtCy?=) Date: Sun, 28 Sep 2014 11:14:43 +0400 Subject: [Moscow.pm] utf8 json Mojolicious In-Reply-To: <1411843949.264868625@f329.i.mail.ru> References: <1411811072.299378492@f161.i.mail.ru> <1411843949.264868625@f329.i.mail.ru> Message-ID: Это зачем же? JSON ведь не для пользователей возвращается, чтоб они его в браузере в сыром виде лицезрели. По-моему, корректно возвращать именно application/json 27 сентября 2014 г., 22:52 пользователь Илья Винокуров написал: > Опять неверно :) > > text/html для IE < 10 > application/javascript - для Opera > application/json - для остальных > > Ну это так - минутка занудства :) > > С почтением, > Илья Винокуров > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From akzhan.abdulin на gmail.com Sun Sep 28 09:41:37 2014 From: akzhan.abdulin на gmail.com (Akzhan Abdulin) Date: Sun, 28 Sep 2014 20:41:37 +0400 Subject: [Moscow.pm] utf8 json Mojolicious In-Reply-To: <1411843949.264868625@f329.i.mail.ru> References: <1411811072.299378492@f161.i.mail.ru> <1411843949.264868625@f329.i.mail.ru> Message-ID: правильно-таки application/json, и это работает везде. ну и еще не забывать менять тип при JSONP. 27 сентября 2014 г., 22:52 пользователь Илья Винокуров написал: > Опять неверно :) > > text/html для IE < 10 > application/javascript - для Opera > application/json - для остальных > > Ну это так - минутка занудства :) > > С почтением, > Илья Винокуров > > Sat, 27 Sep 2014 13:44:32 +0400 от Максим Владимирович : > > спасибо. поправил 'application/json > use Mojolicious::Lite; > > get '/' => sub { > my $c = shift; > > my $f = {ss => 'jj', uu => 'тест'}; > $c->render(json => $f); > }; > > app->types->type(json=>'application/json; charset=utf-8'); > app->start; > > > дергая curl - работает нормально > > firefox 30.0 когда запускаешь без строки > app->types->type(json=>'application/json; charset=utf-8'); > показывает {"uu":"б?аЕб б?","ss":"jj"} > > нажимаем 'информация о странице' видим кодировка : ISO-8859-5 > > > > С уважением, > > Максим > -- > 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 ilvin на mail.ru Mon Sep 29 01:26:43 2014 From: ilvin на mail.ru (=?UTF-8?B?0JjQu9GM0Y8g0JLQuNC90L7QutGD0YDQvtCy?=) Date: Mon, 29 Sep 2014 12:26:43 +0400 Subject: [Moscow.pm] =?utf-8?q?utf8_json_Mojolicious?= In-Reply-To: References: <1411811072.299378492@f161.i.mail.ru> <1411843949.264868625@f329.i.mail.ru> Message-ID: <1411979203.19484590@f292.i.mail.ru> Да, правильно application/json, но устаревшие браузеры об этом не знали: http://stackoverflow.com/questions/17701992/ie-iframe-doesnt-handle-application-json-response-properly http://stackoverflow.com/questions/10579836/getjson-is-return-a-file-with-ie-and-opera-browsers Посему, тащим костыли, если поддерживаем антиквариат... С почтением,   Илья Винокуров. Sun, 28 Sep 2014 20:41:37 +0400 от Akzhan Abdulin : >правильно-таки application/json, и это работает везде. ну и еще не забывать менять тип при JSONP. > >27 сентября 2014 г., 22:52 пользователь Илья Винокуров < ilvin на mail.ru > написал: >>Опять неверно :) >> >>text/html для IE < 10 >>application/javascript - для Opera >>application/json - для остальных >> >>Ну это так - минутка занудства :) >> >>С почтением, >>  Илья Винокуров >> >>Sat, 27 Sep 2014 13:44:32 +0400 от Максим Владимирович < mmm3 на bk.ru >: >>>спасибо. поправил 'application/json >>>use Mojolicious::Lite; >>> >>>get '/' => sub { >>>  my $c   = shift; >>>  >>>  my $f = {ss => 'jj', uu => 'тест'}; >>>  $c->render(json => $f); >>>}; >>> >>>app->types->type(json=>'application/json; charset=utf-8'); >>>app->start; >>> >>> >>>дергая curl - работает нормально >>> >>>firefox 30.0  когда запускаешь без строки app->types->type(json=>'application/json; charset=utf-8'); >>>показывает {"uu":"б?аЕб б?","ss":"jj"} >>> >>>нажимаем 'информация о странице' видим кодировка : ISO-8859-5 >>> >>> >>> >>>С уважением, >>> >>>Максим >>>-- >>>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 grisxa на gmail.com Mon Sep 29 02:01:29 2014 From: grisxa на gmail.com (Grigory Batalov) Date: Mon, 29 Sep 2014 13:01:29 +0400 Subject: [Moscow.pm] utf8 json Mojolicious In-Reply-To: <1411811072.299378492@f161.i.mail.ru> References: <1411811072.299378492@f161.i.mail.ru> Message-ID: <20140929130129.326b5def@gbatalov> В Sat, 27 Sep 2014 13:44:32 +0400 Максим Владимирович пишет: > дергая curl - работает нормально > > firefox 30.0  когда запускаешь без строки > app->types->type(json=>'application/json; charset=utf-8'); показывает > {"uu":"б?аЕб?б?","ss":"jj"} > > нажимаем 'информация о странице' видим кодировка : ISO-8859-5 Может, он авто-определением кодировки занимается и не угадывает? From dsimonov на gmail.com Mon Sep 29 10:37:04 2014 From: dsimonov на gmail.com (Dmitry Simonov) Date: Mon, 29 Sep 2014 21:37:04 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/QvtC10LfQtNC60LAg0LIg0J/QuNGC0LXRgA==?= Message-ID: Коллеги! Я в среду-четверг в Питере. Если кто хочет встретится-пообщаться, - велком! --- Dmitriy V. Simonov ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mons на cpan.org Tue Sep 30 14:10:13 2014 From: mons на cpan.org (Mons Anderson) Date: Wed, 1 Oct 2014 01:10:13 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/RgNC+INCz0YDQsNC90LjRhtGLINC+0L/RgtC4?= =?utf-8?b?0LzQuNC30LDRhtC40Lgu?= In-Reply-To: <801127650.20140915120456@softsearch.ru> References: <801127650.20140915120456@softsearch.ru> Message-ID: <956ED5D2-B648-4DFC-924A-CE28923C079C@corp.mail.ru> Приведи пример, пожалуйста. неплохо бы, если в формате cmpthese timethese -1, { old => sub { ? }, new => sub { ? }, }; в принципе пишут всё правильно, но при наличии опыта бывает можно на глаз сказать по типу операций - предел это или можно ещё ускорить -- Mons Anderson On 15.09.2014, at 12:04, Михаил Монашёв wrote: > Здравствуйте. > > Занимаюсь сейчас оптимизацией по скорости одно кода. Разными уловками > и прочим удалось значительно его ускорить. Как ускоряться дальше пока > мыслей не возникает. И возникакет вопрос, а достиг ли я предела? > > Как без написания копии кода на сях понять, что его скорость уже не > вырастет? > > -- > С уважением, > Михаил mailto:postmaster на softsearch.ru > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From postmaster на softsearch.ru Tue Sep 30 22:58:09 2014 From: postmaster на softsearch.ru (=?Windows-1251?B?zOj14OjrIMzu7eD4uOI=?=) Date: Wed, 1 Oct 2014 09:58:09 +0400 Subject: [Moscow.pm] =?windows-1251?b?z/DuIOPw4O3o9vsg7u/y6Ozo5+D26Ogu?= In-Reply-To: <956ED5D2-B648-4DFC-924A-CE28923C079C@corp.mail.ru> References: <801127650.20140915120456@softsearch.ru> <956ED5D2-B648-4DFC-924A-CE28923C079C@corp.mail.ru> Message-ID: <381204779.20141001095809@softsearch.ru> Здравствуйте, Mons. > Приведи пример, пожалуйста. > неплохо бы, если в формате  > cmpthese timethese -1, {    old =>> sub { ? },    new =>> sub { ? }, > }; > в принципе пишут всё правильно, но при наличии опыта бывает можно > на глаз сказать по типу операций - предел это или можно ещё ускорить Я не на перле, а под Ноду оптимизировал код. Для меня это была новая среда, и было не ясно что к чему. Там вообще ещё есть в чём разбираться, но пока идёт активная разработка составляющих Ноды, производительность скачет в разы от версии к версии и нет смысла сильно морочиться, и что-то кардинально переписывать. Пока, например, замечены чудеса, что изменение элемента массива имеет такую же скорость, как изменение локальной переменной и вдвое быстрее, чем изменение переменной, объявленной на уровне файла с исходным кодом. Или вот ещё пример: for(var i=0;i0;){i--;...} оба цикла для перебора элементов массива arr работают одинаково быстро, хотя можно было бы предположить, что второй цикл должен быть побыстрее. Такое ощущение, что есть специальные оптимизации, рассчитанные на часто используемые варианты написания кода. -- С уважением, Михаил mailto:postmaster на softsearch.ru