WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Pragmatic Perl 10

pragmaticperl.com

Выпуск 10. Декабрь 2013

Другие выпуски и форматы журнала всегда

можно загрузить с http://pragmaticperl.

com. С вопросами и предложениями пишите

на [email protected].

Комментарии к каждой статье есть в htmlверсии. Подписаться на новые выпуски можно

по ссылке pragmaticperl.com/subscribe.

Авторы статей: Сергей Романов, Сергей Можайский, Владимир Леттиев

Корректор: Андрей Шитов

Выпускающий редактор: Вячеслав Тихановский (vti) Ревизия: 2013-12-04 07:37 © «Pragmatic Perl»

Оглавление 1 От редактора.......... 1 2 Воркшоп Saint Perl 5...... 3 3 Что такое cpanle?....... 6 4 Обзор CPAN за ноябрь 2013 г. 22 5 Интервью с Marc Lehmann.

Часть 2.............. 31 6 Морской бой на Perl — решение Perl Golf 09......... 7 Perl Golf............. 1 От редактора 21 декабря в Санкт-Петербурге пройдет пятый воркшоп, посвященный языку Perl и его сообществу. Приезжайте пообщаться, послушать доклады и просто хорошо провести время! Анонс мероприятия читайте в этом номере.

С начала декабря и до католического рождества некоторые популярные Perlпроекты запускают так называемый Advent Calender (Рождественский календарь), где каждый день публикуется новая статья. В этом году ведутся следующие календари:

Perl, Perl 6, Futures.

В предыдущие годы подобные календари были у Catalyst, Dancer, Plack.

Сложно предположить, когда именно выйдет следующий номер, поэтому всех читателей поздравляем с наступающими праздниками и желаем интересных проектов в новом году!

Мы продолжаем искать авторов для следующих номеров. Если у вас есть идеи или желание помочь, пожалуйста, свяжитесь с нами.

Приятного чтения.

Вячеслав Тихановский 2 Воркшоп Saint Perl 18 декабря 2013 года исполнится 26 лет с момента выхода первой версии языка программирования Perl. А уже через два дня, 21 декабря, в Санкт-Петербурге пройдёт ежегодный воркшоп Saint Perl. В этот раз Saint Perl пройдёт уже в пятый раз, отмечая таким образом своеобразный юбилей. (Первые три воркшопа нам удалось провести прямо 18 декабря!) В этом году площадку для воркшопа любезно согласилась предоставить компания JetBrains — её основной центр разработок и исследований находится практически в самом центре Санкт-Петербурга, на Василиевском острове, в 10 минутах ходьбы от Университетской набережной.

В течение дня участники прослушают ряд докладов (прием докладов все ещё открыт!), получат возможность задать вопросы выступающим специалистам и пообщаться на тему современного состояния дел в разработке на одном из самых заслуженных скриптовых языков современности. Традиционная секция блиц-докладов завершит официальную часть мероприятия.

Организаторы выражают благодарность всем, кто помогает подготовиться к мероприятию и оказывает медийную поддержку.

Мы также рады сотрудничеству со спонсорами, которые обеспечат возможность проведения конференции на ещё более высоком уровне.

Сайт конференции: event.yapcrussia.org/saintpe Электронная почта: [email protected] Увидимся в Петербурге!

Сергей Романов 3 Что такое cpanle?

От создателя cpanminus и Plack, революционная инновация в процессе подготовки Perl-приложения для распространения — cpanfile. Начните использование сегодня, и установка ваших модулей будет мягкой и шелковистой даже из git.

cpanle cpanfile — это название файла, а также формата, который описывает CPANзависимости для Perl-приложений. Идея cpanfile пришла из мира Ruby, где для описания зависимостей используется Gemfile. На сам формат сильно повлиял DSL, используемый в системе сборки Module::Install, и, кстати, cpanfile обратно-совместим с ним. Кроме того, описание зависимостей использует терминологию спецификации META при описании зависимостей: те же типы и фазы зависимостей.

Рассмотрим пример:

1 # требуется Perl 5.8.5 или старше 2 requires 'perl', 5.008_ 4 # рекомендуется Foo::Bar версии 5 # но меньше версии 2. 6 recommends 'Foo::Bar', '>= 1.0, < 8 # Зависимости фазы тестирования 10 # Test::More версии 0.88 или 11 requires 'Test::More', '0.88' Зачем нужен cpanle?

Все существующие системы сборки, такие как ExtUtils::MakeMaker, Module::

Build, Module::Install и другие имеют средства для описания зависимостей.

1 use ExtUtils::MakeMaker;

2 WriteMakefile( 3 NAME => "Foo::Bar", Как правило, утилиты для установки CPANмодулей используют файл META.yml, который автоматически формируется средствами сборки и содержит информацию о зависимостях. Таким образом, типичный CPANмодуль содержит всё необходимое для корректной сборки и установки в систему. Зачем нужно что-то ещё?

Прежде всего, cpanfile предлагает универсальный формат описания зависимостей, не перегруженный избыточным многословием, который может использоваться различными утилитами, начиная от инсталляторов, заканчивая статическими анализаторами или сервисами непрерывной интеграции.

На данный момент уже созданы плагины для многих систем сборок, которые позволяют использовать cpanle для извлечения списка зависимостей. Например, для ExtUtils::MakeMaker есть модуль ExtUtils::MakeMaker::CPANle, который позволяет переписать указанный выше пример так:

1 # Makefile.PL 2 use ExtUtils::MakeMaker::CPANfile 3 WriteMakefile( 4 NAME => "Foo::Bar", 7 # cpanfile 8 requires 'JSON::XS', '3. Для других систем сборки соответственно есть Module::Install::CPANle, Dist::Zilla::Plugin::Prereqs::FromCPANle, Module::Build::Pluggable::CPANle. Таким образом, можно использовать cpanfile совместно с существующими системами сборки и избежать дублирования информации о зависимостях.

Кроме того, существует несколько ситуаций, когда применение cpanfile имеет явные преимущества. Рассмотрим такие примеры.

Веб-приложение или скрипт Разрабатывается приложение, которое использует модули CPAN, но при этом нет задачи по выкладыванию самого приложения на CPAN. В этом случае для нормальной установки приложения требуется удобный способ описания зависимостей без необходимости создания полноценного CPAN-дистрибутива с Makefile.PL (выбора системы сборки и формальное следование всем её требованиям).

В такой ситуации после создания cpanfile все необходимые CPAN-модули можно установить с помощью команд:

1 $ carton install или $ cpanm installdeps.

Установка модуля из git-репозитория Всё больше авторов используют git в качестве системы контроля версий и github как публичный хостинг проектов. В этом отношении всё большее значение приобретает возможность брать и использовать код непосредственно из git (или любой другой VCS).

Как правило, при разработке модуля в gitрепозитории отсутствуют автоматически генерируемые файлы. В случае использования Dist::Zilla это означает отсутствие Makefile.PL или Build.PL вообще, что требует от пользователя необходимость установки dzil и множества модулей этой среды разработки, которые не имеют никакого отношения к работе модуля, всё только ради возможности выяснить, какие он требует зависимости. В случае Module::Install потребуется знать, какие нужны модули в каталоге inc только для бутстрапа самого Makefile.PL.

В подобных ситуациях наличие cpanfile позволяет быстро и просто установить необходимые зависимости с помощью cpanm или carton, что существенно повышает доступность кода для использования непосредственно из git-репозитория.

Фиксация зависимостей Существующие средства описания зависимостей фиксируют саму зависимость и минимальную необходимую версию. Таким образом, не исключена возможность установки более новой версии зависимого модуля, с которой работа приложения не тестировалась. С помощью cpanfile существует возможность точно указать требуемые версии модулей или диапазоны таких версий, а также явно указывать версии, которые использовать нельзя.

Например, 1 # зафиксировать версию 2 requires 'JSON::XS', '== 3.01' 4 # диапазон версий с исключениями 5 requires 'Plack', 6 '> 1.0000, != 1.0020, != 4 recommends 'JSON::XS', '2.0';

5 conflicts 'JSON', '< 1.0';

7 on 'test' => sub { 8 requires 'Test::More', '>= 9 recommends 'Test::TCP', '1.12';

12 on 'develop' => sub { 13 recommends 'Devel::NYTProf';

16 feature 'sqlite', 'SQLite support 17 recommends 'DBD::SQLite';

Ключевые слова requires, recommends, conflicts, а также suggests описывают зависимости модуля соответственно как обязательные, рекомендуемые, конфликтующие и опциональные. После ключевого слова идёт название модуля, затем через запятую указывается строка с диапазоном версий, формат которой соответствует спецификации CPAN::Meta::Spec Version Range:

• undef, '', 0 — любая версия • '1.00' или '>= 1.00' — минимальная версия (1.00 или старше) • '> 1.00' — любая версия старше 1.

Похожие работы:

«1 Протокол заседания Исполкома Совета Межрегионального общественного движения мордовского (мокшанского и эрзянского) народа г. Саранск 7 августа 2013 г. 1. Итоги мониторинга в сфере изучения мордовского (мокшанского, эрзянского) языка в учреждениях дошкольного и общего образования муниципальных районов Республики Мордовия. 2. О выборе делегатов на V съезд финно-угорских народов Российской Федерации. По первому вопросу повестки дня выступил с докладом секретарь Исполкома Совета Движения Карпов...»

«ПРАВА ЧЕЛОВЕКА В РОССИЙСКОЙ ФЕДЕРАЦИИ Сборник докладов о событиях 2009 года Москва 2010 УДК 342.7(470+571)(042.3)2009 ББК 67.400.7(2Рос) П68 Доклад подготовлен при финансовой поддержке Фонда Джона Д. и Кэтрин Т. Макартуров Составитель Д. Мещеряков Отв. редактор Н. Костенко Права человека в Российской Федерации : докл. о событиях 2009 г. П68 / [сост. Д. Мещеряков]. — М. : Моск. Хельсинк. группа, 2010. — 282 с. — ISBN 978-5-98440-051-0. В сборник вошли тематические доклады, подготовленные в...»

«УТВЕРЖДЕНО постановлением Отделения историко-филологических наук Российской академии наук от 30 января 2013 г. № 17 ПОЛОЖЕНИЕ о порядке проведения археологических полевых работ (археологических раскопок и разведок) и составления научной отчётной документации Москва 2013 1 Содержание 1. Общие положения....................................................... 3 2. Виды археологических полевых работ..........................»

«СОДЕРЖАНИЕ: Раздел 1. Общие сведения 3 1.1. Фирменное наименование Общества 3 1.2. Место нахождения Общества 3 1.3. Учреждение Общества 3 1.4. Государственная регистрация Общества 3 1.5. Органы управления Общества 3 1.6. Реестродержатель Общества 4 1.7. Аудитор Общества 4 1.8. Филиалы и представительства Общества Раздел 2. Положение Общества в отрасли Раздел 3. Приоритетные направления деятельности Общества Раздел 4. Отчёт Совета директоров Общества о результатах развития Общества по...»

«НЕФТЯНАЯ КОМПАНИЯ РОСНЕФТЬ Из истории развития нефтяной и газовой промышленности 21 ВЫПУСК ВЕТЕРАНЫ Москва ЗАО Издательство Нефтяное хозяйство 2008 Ветераны: из истории развития нефтяной и газовой промышленности. Вып. 21. - М.: ЗАО Издательство Нефтяное хозяйство, 2008. - 256 с. Сборник Ветераны содержит воспоминания ветеранов-нефтяников и статьи, посвященные истории нефтяной и газовой промышленности России, рассказывает о деятельности Совета пенсионеров-ветеранов войны и труда ОАО НК Роснефть...»

«Geographical Society of the USSR INSTITUTE OF KARSTOLOGY AND SPELEOLOGY Gorkii University in Perm PESHCHERY (CAVES) № 12—13 Former Speleological Bulletin founded in 1947 PERM 1972 Географическое общество Союза ССР ИНСТИТУТ КАРСТОВЕДЕНИЯ И СПЕЛЕОЛОГИИ Пермский ордена Трудового Красного Знамени государственный университет имени А. М. Горького ПЕЩЕРЫ выпуск 12—13 ПЕРМЬ — 1972 ОСНОВАН В 1947 ГОДУ Ранее выходил под названием Спелеологический бюллетень В настоящем очередном выпуске сборника, кроме...»

«Муниципальное образование Город Таганрог муниципальное общеобразовательное бюджетное учреждение средняя общеобразовательная школа № 3 им. Ю.А. Гагарина ул. Калинина 109, г. Таганрог, Ростовская область, Россия, 347913 /факс (8634) 36-24-00, E-mail: sс[email protected] Уважаемые учредители, родители, обучающиеся, педагоги, представители общественности! Вашему вниманию предлагается ПУБЛИЧНЫЙ ДОКЛАД за 2013-2014 учебный год директора школы Цветковой Е.Н. Средняя общеобразовательная школа №3 им....»

«РАЗМЫШЛЕНИЯ МАТЕМАТИКА О РУССКОМ ЯЗЫКЕ И ЛИТЕРАТУРЕ Доклад ректора МГУ имени М.В.Ломоносова, вице-президента РАН академика В.А.Садовничего на Всероссийском съезде учителей русского языка и литературы 4 июля 2012 года (Интеллектуальный центр-Фундаментальная библиотека МГУ) Глубокоуважаемые коллеги! Я рад приветствовать собравшихся в этом зале участников первого Всероссийского съезда учителей русского языка и литературы. Здесь – более восьмисот учителей из семидесяти трёх регионов России,...»

«Духоборы в Грузии: Исследование Вопроса Земельной Собственности и Межэтнических Отношений в районе Ниноцминда Хедвиг Лом Европейский центр по делам меньшинств, рабочий доклад #35 Ноябрь 2006 EUROPEAN CENTRE FOR MINORITY ISSUES (ECMI) ECMI Headquarters: Schiffbruecke 12 (Kompagnietor) D-24939 Flensburg Germany +49-(0)461-14 14 9-0 fax +49-(0)461-14 14 9-19 Internet: http://www.ecmi.de ECMI Tbilisi office: 16 Paliashvili St, 2nd Floor, 0179 Tbilisi, Georgia. (32) 223 833 ECMI Akhalkalaki office:...»

«ДОКЛАДЫ ПЕРЕСЛАВЛЬ-ЗАЛЕССКОГО НАУЧНО-ПРОСВЕТИТЕЛЬНОГО ОБЩЕСТВА ВЫПУСК 19 Курные избы Переславль-Залесского уезда Санитарная оценка крестьянских жилищ в селе Нагорье и деревне Черницкой Москва 2004 ББК 26.89(2Рос-4Яр) Д 63 Издание подготовлено ПКИ — Переславской Краеведческой Инициативой. Редактор А. Ю. Фоменко. Обработка иллюстраций Н. А. Воронова, А. Ю. Фоменко. Д 63 Доклады Переславль-Залесского Научно-Просветительного Общества. — М.: MelanarЁ, 2004. — Т. 19. — 40 с. Нет аннотации. Некому...»

«Санкт-Петербургский государственный университет Высшая школа менеджмента НАУЧНЫЕ ДОКЛАДЫ К.В. Кротов НАПРАВЛЕНИЯ РАЗВИТИЯ КОНЦЕПЦИИ УПРАВЛЕНИЯ ЦЕПЯМИ ПОСТАВОК № 14 (R)–2010 Санкт-Петербург 2010 К.В. Кротов. Направления развития концепции управления цепями поставок. Научный доклад № 14 (R)–2010. СПб.: ВШМ СПбГУ, 2010. Ключевые слова и фразы: управление цепями поставок, управление цепями спроса, логистика. Управление цепями поставок является одной из эффективных стратегий создания конкурентных...»

«А.А.Азизов, Н.Г.Акиншина ОБРАЗОВАНИЕ В ИНТЕРЕСАХ УСТОЙЧИВОГО РАЗВИТИЯ ЗАДАНИЯ И УПРАЖНЕНИЯ Для учащихся школ, колледжей и лицеев Ташкент – 2009  Сборник заданий и упражнений по Образованию в интересах устойчивого развития предназначен для учащихся старших классов средних школ, лицеев, колледжей, а также для преподавателей и слушателей институтов повышения квалификации. Авторы: А.А.Азизов, кандидат химических наук, гл. науч. сотр., руководитель Отдела прикладной экологии Национального...»

«Geographical Society of the USSR ALL-UNION INSTITUTE OF KARSTOLOGY AND SPELEOLOGY Gorkii University in Perm PESHCHERY (CAVES) N 16 Former Speleological Bulletin founded in 1947 PERM 1976 МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ РСФСР ГЕОГРАФИЧЕСКОЕ ОБЩЕСТВО СОЮЗА ССР ВСЕСОЮЗНЫЙ ИНСТИТУТ КАРСТОВЕДЕНИЯ И СПЕЛЕОЛОГИИ ПЕРМСКИЙ ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им. А. М. ГОРЬКОГО ПЕЩЕРЫ выпуск ПЕРМЬ— ОСНОВАН В 1947 ГОДУ РАНЕЕ ВЫХОДИЛ ПОД НАЗВАНИЕМ...»

«Федеральное агентство по печати и массовым коммуникациям РОССИЙСКИЙ РЫНОК ПОЛИГРАФИЧЕСКИХ РАБОТ 2008 год Состояние, тенденции и перспективы развития ДОКЛАД Москва 2009 год Доклад составлен Управлением периодической печати, книгоиздания и полиграфии при содействии авторского коллектива в составе: С. М. Галкин - к. т. н., профессор Д. М. Закиров - инж. Г. Б Зерченинов. - к. т. н., старший научный сотрудник Б. В. Каган - к. т. н., старший научный сотрудник Б. А. Кузьмин - к. т. н., профессор А. В....»

«ОТКРЫТОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО НЕЗАВИСИМАЯ ЭНЕРГОСБЫТОВАЯ КОМПАНИЯ КРАСНОДАРСКОГО КРАЯ Годовой отчёт 2008 Предварительно утверждён Советом директоров ОАО НЭСК (протокол от 15 мая 2009 г.) и вынесен на утверждение Годовому общему собранию акционеров Генеральный директор А.А. Невский Главный бухгалтер Е.Л. Пехова СОДЕРЖАНИЕ Обращение к акционерам Председателя Совета директоров и Генерального директора Общества 5 О компании 11 Корпоративное управление 17 Производственная деятельность 25...»

«Публичный доклад МОУ СОШ № 20 по итогам 2010-2011 учебного года Структура доклада: 1. Основные направления развития системы образования города Нижний Тагил, реализуемые МОУ СОШ № 20 в 2010-2011 учебном году 2. Реализация приоритетного национального проекта Образование; 3. Реализация национальной образовательной инициативы Наша новая школа 4. Основные финансово-экономические показатели деятельности и развития МТБ. Сокращение неэффективных расходов. 5. Обеспечение условий для предоставления...»

«ПРОЕКТ ЕВРОПЕЙСКОЙ ЭКОНОМИЧЕСКОЙ КОМИССИИ ООН Water Quality in Central Asia Качество воды в Центральной Азии ИСПОЛНИТЕЛЬ ПРОЕКТА - РЕГИОНАЛЬНЫЙ ЭКОЛОГИЧЕСКИЙ ЦЕНТР ЦЕНТРАЛЬНОЙ АЗИИ РЕГИОНАЛЬНЫЙ ДОКЛАД Правовые и институциональные основы управлением качеством вод в странах Центральной Азии Региональный эксперт РЭЦЦА Петраков И.А Данный материал опубликован при поддержке ЕЭКООН. Содержание публикации является предметом ответственности экспертов и не отражает точку зрения ЕЭКООН Алматы, 2010 г....»

«Список научных трудов Пурыгина П.П. 2006 г. Статьи Апоптоз и его роль в формировании фетоплацентарной недостаточности / Липатов И.С., Тезиков Ю.В., Быков А.В., Насихуллина Р.Н., Ергунова Г.А., Потапова И.А., Пурыгин П.П., Зарубин Ю.П. // Вестник СамГУ. 2006, № 4. С. 220-226. (ВАК) Реакции 1-цианазолов с гидразидами карбоновых кислот / Соколов А.В., Нечаева О.Н., Пурыгин П.П. // Журн. общ. химии. 2006. Т.76, вып.1. С. 41-43. (ВАК) Синтез азол-1-илкарбоксамидразонов и...»

«Ядерный потенциал Республик Казахстан Астана 2014 2 1 О СИЛЬНОМ ЗЕМЛЕТРЯСЕНИИ 28.01.2013 г. НА СЕВЕРНОМ ТЯНЬ-ШАНЕ (ПО СТАНЦИЯМ ЯДЕРНОГО МОНИТОРИНГА) Рябенко П.В., Узбеков Р.Б. ББК 31.4я 43 РГП Институт геофизических исследований КАЭ РК, Курчатов Я34 АННОТАЦИЯ В статье рассмотрен вопрос параметризации основного толчка землетрясения, на Северном Тянь-Шане 28 января 2013 г. с магнитудой mb=6.6. Изучены пространственное положение очага, геолого-тектонические особенности района, механизм Я34 Ядерный...»

«Аннотация Публичный доклад является аналитическим документом Департамента природных ресурсов и охраны окружающей среды Вологодской области о деятельности департамента по исполнению своих полномочий в 2012 году. Представление доклада является одной из основных форм реализации конституционных прав граждан на достоверную информацию о состоянии окружающей среды и природных ресурсов на территории области. В целях реализации полномочий Департаментом решаются задачи по охране и использованию водных...»




























 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.