Your SlideShare is downloading. ×
0
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
CPAN: модули, авторы и документация
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

CPAN: модули, авторы и документация

4,727

Published on

YAPC Russia 2009 "May Perl 2"

YAPC Russia 2009 "May Perl 2"

Published in: Technology
4 Comments
1 Like
Statistics
Notes
  • В дистрибутиве создаете директорию RU и в нее кладете pod (можно сохранить иерархию директорий RU/CCCP/Encode.pod, можно и так RU/CCCP-Encode.pod)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • и. хорошая проверка сборки своего модуля представлена здесь:
    http://www.perlmonks.org/index.pl?node_id=158999
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Мда.. и из презентации не очень понятно - куда кидать 'русский' pod. В какой каталог?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • В принципе, док хороший.
    Я залил модуль на CPAN (CCCP::Encode) и часть описания в .pm была на русском (utf-8), после заливки получил кракозябру )) Почитал в гугл, оказывается нужно в POD использовать =encode utf-8 Ща попробую перезалить...
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
4,727
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
38
Comments
4
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. CPAN: модули, авторы и документация YAPC::Russia 2009 17 мая 2009 г.
  2. Что такое CPAN? 17 мая 2009 г.
  3. Comprehensive Perl 17 мая 2009 г.
  4. Archive Network 17 мая 2009 г.
  5. Comprehensive Perl Archive Network По-русски? 17 мая 2009 г.
  6. «Всеобъемлющая сеть архивов Perl» Википедия http://ru.wikipedia.org/wiki/CPAN 17 мая 2009 г.
  7. «Сеть Всемирного Архива Perl-кода» Куроводство / Наблы http://dklab.ru/chicken/nablas/36.html 17 мая 2009 г.
  8. «Всесторонняя Сеть Архива Perl» PROMT Translator http://www.translate.ru 17 мая 2009 г.
  9. Comprehensive Perl Archive Network Google Translate http://google.com/translate 17 мая 2009 г.
  10. «Обширный Perl архив» Xpoint.ru http://xpoint.ru/know-how/Perl/CPAN 17 мая 2009 г.
  11. «Гигантское Хранилище Ресурсов Perl» perl в России http://www.perl.org.ru/cpan/ 17 мая 2009 г.
  12. « Perl » По-китайски 17 мая 2009 г.
  13. me: как ты переведешь CPAN на русский?) Павел: буквально? централизованное хранилище перл-модулей или глобальное хранилище перл-модулей всё нах** я спать 17 мая 2009 г.
  14. CPAN – архив Perl Центральное хранилище всего, что касается Perl 17 мая 2009 г.
  15. CPAN – большой архив Центральное хранилище всего, что касается Perl 17 мая 2009 г.
  16. CPAN – очень большой Центральное хранилище всего, что касается Perl 17 мая 2009 г.
  17. 15750 модулей 17 мая 2009 г.
  18. 7369 авторов 17 мая 2009 г.
  19. 5533 МБ 17 мая 2009 г.
  20. 206 зеркал 17 мая 2009 г.
  21. 429,6 в неделю 17 мая 2009 г.
  22. 59,4 в день 17 мая 2009 г.
  23. Количество дистрибутивов в год 17 мая 2009 г.
  24. CPAN: •модули • авторы • документация • исходный код, порты и скрипты 17 мая 2009 г.
  25. CPAN: •модули • авторы • документация • исходный код, порты и скрипты 17 мая 2009 г.
  26. Модули • каждый пользуется модулями • писать модули нужно • зачем публиковать модули? • поделиться • сделать мир лучше :) • получить удовольствие 17 мая 2009 г.
  27. Модули • каждый пользуется модулями • писать модули нужно • зачем публиковать модули? • поделиться • сделать мир лучше :) • получить удовольствие 17 мая 2009 г.
  28. Модули • каждый пользуется модулями • писать модули нужно • зачем публиковать модули? • поделиться • сделать мир лучше :) • получить удовольствие 17 мая 2009 г.
  29. Модули • каждый пользуется модулями • писать модули нужно • зачем публиковать модули? • поделиться • сделать мир лучше :) • получить удовольствие 17 мая 2009 г.
  30. Модули • каждый пользуется модулями • писать модули нужно • зачем публиковать модули? • поделиться • сделать мир лучше :) • получить удовольствие 17 мая 2009 г.
  31. Last.fm API. Где Perl? 17 мая 2009 г.
  32. Net::LastFM Net::LastFM::Submission 17 мая 2009 г.
  33. Модули • каждый пользуется модулями • писать модули нужно • зачем публиковать модули? • поделиться • сделать мир лучше :) • получить удовольствие 17 мая 2009 г.
  34. Почему важно для меня? • В 2006 разработал HTTP::Request::Interface • Абстрактный класс для разбора запроca и обертки для CGI, ModPerl, FCGI, POE и др. • Я не опубликовал на CPAN и забросил его • Теперь использую HTTP::Body и Mojo::Parameters 17 мая 2009 г.
  35. Почему важно для меня? • В 2008 я все-таки получил PAUSE ID • В 2009 я стал CPAN-автором • Загрузил несколько модулей • Постоянно обновляю их • Не пользуюсь: use lib ‘/path/to/my/lib’; • perl -MCPAN -eshell 17 мая 2009 г.
  36. http://search.cpan.org/~sharifuln/ 17 мая 2009 г.
  37. Что мешает опубликовать модуль на CPAN? 17 мая 2009 г.
  38. или 17 мая 2009 г.
  39. Почему я сразу не смог стать автором CPAN? 17 мая 2009 г.
  40. Какой модуль загрузить первым? :) 17 мая 2009 г.
  41. Net::LastFM::Submission • Last.fm Submission API • На CPAN были похожие реализации • не устраивали меня • реализовывали старый протокол • код – не очень :) • автор модуля не ответил мне 17 мая 2009 г.
  42. Есть модуль, рабочий, но... 17 мая 2009 г.
  43. Есть модуль, рабочий, но... • Как зарегистрироваться на CPAN? • Я слышал про PAUSE, что это такое? • Блин, мой модуль нужно документировать... • Блин, еще и тесты писать... • Ну .tar.gz я сделаю сам :) 17 мая 2009 г.
  44. Есть модуль, рабочий, но... • Как зарегистрироваться на CPAN? • Я слышал про PAUSE, что это такое? • Блин, мой модуль нужно документировать... • Блин, еще и тесты писать... • Ну .tar.gz я сделаю сам :) 17 мая 2009 г.
  45. Есть модуль, рабочий, но... • Как зарегистрироваться на CPAN? • Я слышал про PAUSE, что это такое? • Блин, модуль нужно документировать... • Блин, еще и тесты писать... • Ну .tar.gz я сделаю сам :) 17 мая 2009 г.
  46. Есть модуль, рабочий, но... • Как зарегистрироваться на CPAN? • Я слышал про PAUSE, что это такое? • Блин, модуль нужно документировать... • Блин, еще и тесты писать... • Ну .tar.gz я сделаю сам :) 17 мая 2009 г.
  47. Есть модуль, рабочий, но... • Как зарегистрироваться на CPAN? • Я слышал про PAUSE, что это такое? • Блин, модуль нужно документировать... • Блин, еще и тесты писать... • Ну, *.tar.gz я сделаю сам :) 17 мая 2009 г.
  48. Что такое PAUSE? 17 мая 2009 г.
  49. The Perl Authors 17 мая 2009 г.
  50. Upload Server 17 мая 2009 г.
  51. The Perl Authors Upload Server По-русски? 17 мая 2009 г.
  52. Зэ Perl Авторы Загрузка Сервер Тут все понятно :) 17 мая 2009 г.
  53. PAUSE Сервер для загрузки модулей на CPAN 17 мая 2009 г.
  54. Получение PAUSE ID • Фамилия и Имя • Используйте кириллицу • I trust the Text::Unidecode • Email • Китайский спам :) • I trust the Gmail spam filter • PAUSE ID • [A-Z]{3,9} ? 17 мая 2009 г.
  55. Получение PAUSE ID • Фамилия и Имя • Используйте кириллицу • I trust the Text::Unidecode • Email • Китайский спам :) • I trust the Gmail spam filter • PAUSE ID • [A-Z]{3,9} ? 17 мая 2009 г.
  56. Получение PAUSE ID • Фамилия и Имя • Используйте кириллицу • I trust the Text::Unidecode • Primary email и @cpan.org • Китайский спам :) • I trust the Gmail spam filter • PAUSE ID • [A-Z]{3,9} ? 17 мая 2009 г.
  57. Gravatar.com @cpan.org Аватар 17 мая 2009 г.
  58. Получение PAUSE ID • Фамилия и Имя • Используйте кириллицу • I trust the Text::Unidecode • Email • Китайский спам :) • I trust the Gmail spam filter • PAUSE ID • [A-Z]{3,9} ? 17 мая 2009 г.
  59. SHARIFULN Почему 9, а не 10? 17 мая 2009 г.
  60. SHARIFULIN Почему 9, а не 10? 17 мая 2009 г.
  61. Who is Who (long) 17 мая 2009 г.
  62. Я решил найти русских CPAN-авторов 17 мая 2009 г.
  63. Поиск русских CPAN-авторов • Нашел всех, у кого имя написано кириллицей: qr/[а-я]+/ • Составил список русских имен и фамилий • Распарсил список «Who is Who» • Исключил украинцев, белорусов и болгар • И разослал «спам» на открытые email :) 17 мая 2009 г.
  64. 113 русских CPAN-авторов 17 мая 2009 г.
  65. 73 неактивных PAUSE ID 17 мая 2009 г.
  66. CPAN faces русских авторов 17 мая 2009 г.
  67. Acme::CPANAuthors:: Russian/Ukrainian/Norwegian http://github.com/sharifulin/acme-cpanauthors-russian http://github.com/sharifulin/acme-cpanauthors-ukrainian http://github.com/sharifulin/acme-cpanauthors-norwegian 17 мая 2009 г.
  68. Есть PAUSE ID, модуль и желание :) 17 мая 2009 г.
  69. Подготовка дистрибутива для публикации 17 мая 2009 г.
  70. Что такое дистрибутив? • Архив Имя-Модуля-Версия.tar.gz • lib/ t/ examples/ ... • Changes • MANIFEST • README • Makefile.PL Build.PL • META.yml ... 17 мая 2009 г.
  71. Что такое дистрибутив? • Архив Имя-Модуля-Версия.tar.gz • lib/ t/ examples/ ... • Changes • MANIFEST • README • Makefile.PL Build.PL • META.yml ... 17 мая 2009 г.
  72. Что такое дистрибутив? • Архив Имя-Модуля-Версия.tar.gz • lib/ t/ examples/ ... • Changes • MANIFEST • README • Makefile.PL Build.PL • META.yml ... 17 мая 2009 г.
  73. find ./lib -type f lib/Net/LastFM/Submission.pm lib/POE/Component/Net/LastFM/Submission.pm 17 мая 2009 г.
  74. Каждый модуль должен иметь версию our $VERSION = '0.64'; 17 мая 2009 г.
  75. Важно! Начинать следует c 0.01 Версия 0.1 == 0.10 Devel-версия 0.64_1 17 мая 2009 г.
  76. Документация в формате POD *.pm и *.pod 17 мая 2009 г.
  77. Документация писать нужно! чтобы CPAN не превратился «в репозиторий плохо документированного говна» 17 мая 2009 г.
  78. Основной язык документации – English 17 мая 2009 г.
  79. Jcode::CP932 – WTF? 17 мая 2009 г.
  80. Jcode::CP932 – что за нах? :) 17 мая 2009 г.
  81. Например, документация на русском: RU/Name-Module.pod 17 мая 2009 г.
  82. find ./t -type f t/00-load.t t/01-new.t t/02-api.t t/pod-coverage.t t/pod.t 17 мая 2009 г.
  83. Тесты писать тоже нужно! 17 мая 2009 г.
  84. Test::More Test::Exception очень просто и этого достаточно 17 мая 2009 г.
  85. find ./examples -type f examples/enc.pl examples/poe.pl examples/poe_client.pl examples/test.pl 17 мая 2009 г.
  86. script/ bin/ ... POD-документация из скриптов отображается на CPAN 17 мая 2009 г.
  87. Что такое дистрибутив? • Архив Имя-Модуля-Версия.tar.gz • lib/ t/ examples/ ... • Changes • MANIFEST • README • Makefile.PL Build.PL • META.yml ... 17 мая 2009 г.
  88. Changes Revision history for Net-LastFM-Submission 0.64 2009-05-02 19:50 Edit POD and add POD to examples/* 0.63 2009-05-02 16:30 Support an existing PoCo::Client::HTTP into PoCo::Net::LastFM::Submission (version 0.23). RT #45436 (thanks Martijn van Beers) Add examples/poe_client.pl Test suite (t/01-new.t and t/02-api.t) Fix small bugs in Net::LastFM::Submission and edit POD 17 мая 2009 г.
  89. Module::Changes:: ADAMK для разбора Changes Adam Kennedy 17 мая 2009 г.
  90. Что такое дистрибутив? • Архив Имя-Модуля-Версия.tar.gz • lib/ t/ examples/ ... • Changes • MANIFEST • README • Makefile.PL Build.PL • META.yml ... 17 мая 2009 г.
  91. MANIFEST Build.PL Changes MANIFEST README lib/Net/LastFM/Submission.pm lib/POE/Component/Net/LastFM/Submission.pm .lastfmrc t/00-load.t t/01-new.t t/02-api.t t/pod-coverage.t t/pod.t examples/test.pl 17 мая 2009 г.
  92. Что такое дистрибутив? • Архив Имя-Модуля-Версия.tar.gz • lib/ t/ examples/ ... • Changes • MANIFEST • README • Makefile.PL Build.PL • META.yml ... 17 мая 2009 г.
  93. README NAME Net::LastFM::Submission - Perl interface to the Last.fm Submissions Protocol SYNOPSIS use Net::LastFM::Submission; my $submit = Net::LastFM::Submission->new( 'user' => 'net_lastfm', 'password' => '12', ); ... 17 мая 2009 г.
  94. Что такое дистрибутив? • Архив Имя-Модуля-Версия.tar.gz • lib/ t/ examples/ ... • Changes • MANIFEST • README • Makefile.PL Build.PL • META.yml ... 17 мая 2009 г.
  95. ExtUtils::MakeMaker Module::Build Module::Install Dist::Zilla 17 мая 2009 г.
  96. Module::Build use Module::Build; my $builder = Module::Build->new( module_name => 'Net::LastFM::Submission', dist_abstract => 'Perl interface to the Last.fm ...', license => 'perl', dist_author => 'Anatoly Sharifulin <email>', dist_version_from => 'lib/Net/LastFM/Submission.pm', build_requires => { 'Test::More' => 0, 'Test::Exception' => 0, ... }, 17 мая 2009 г.
  97. Module::Build requires => { 'perl' => '5.008', 'LWP::UserAgent' => 0, ... }, meta_merge => { resources => { repository => 'http://github.com/sharifulin/net- lastfm-submission/tree', }, keywords => ['last.fm', 'submission',], }, add_to_cleanup => [], 17 мая 2009 г.
  98. Что такое дистрибутив? • Архив Имя-Модуля-Версия.tar.gz • lib/ t/ examples/ ... • Changes • MANIFEST • README • Makefile.PL Build.PL • META.yml ... 17 мая 2009 г.
  99. Module::Starter Для создания дистрибутива с нуля module-starter --module FirstModule --email <email> --author Anatoly Sharifulin --builder Module::Builder 17 мая 2009 г.
  100. Cборка дистрибутива perl Build.PL ./Build ./Build dist ./Build disttest ./Build fakeinstall ./Build realclean 17 мая 2009 г.
  101. Дистрибутив готов 17 мая 2009 г.
  102. Контроль версий? Github.com git 17 мая 2009 г.
  103. http://github.com/sharifulin/net- lastfm-submission 17 мая 2009 г.
  104. Загрузка дистрибутива на PAUSE 17 мая 2009 г.
  105. Интерфейс загрузки 17 мая 2009 г.
  106. Интерфейс загрузки 17 мая 2009 г.
  107. CPAN::Inject CPAN::Uploader Автоматизация процесса загрузки дистрибутивов 17 мая 2009 г.
  108. Счастье! 17 мая 2009 г.
  109. Счастье!? 17 мая 2009 г.
  110. Ошибки в POD :) 17 мая 2009 г.
  111. CPAN Testers отчет http://matrix.cpantesters.org/?dist=Net-LastFM-Submission+0.2 17 мая 2009 г.
  112. CPAN Testers Matrix 17 мая 2009 г.
  113. CPAN Testers Matrix 17 мая 2009 г.
  114. CPAN Testing Service http://cpants.perl.org/dist/overview/Net-LastFM-Submission 17 мая 2009 г.
  115. CPAN TS для дистрибутива 17 мая 2009 г.
  116. CPAN TS по автору 17 мая 2009 г.
  117. CPAN TS по автору 17 мая 2009 г.
  118. Первый Bug Report https://rt.cpan.org/Public/Bug/Display.html?id=45436 17 мая 2009 г.
  119. RT #45436 17 мая 2009 г.
  120. Неожиданность: хабраэффект http://habrahabr.ru/blogs/perl/51736/ 17 мая 2009 г.
  121. Хабраэффект 17 мая 2009 г.
  122. Какие еще есть сервисы CPAN? 17 мая 2009 г.
  123. http://kobesearch.cpan.org/ 17 мая 2009 г.
  124. http://search.cpan.org/uploads.rdf 17 мая 2009 г.
  125. http://hexten.net/cpan-faces/ 17 мая 2009 г.
  126. http://annocpan.org/ 17 мая 2009 г.
  127. http://cpanratings.perl.org/ 17 мая 2009 г.
  128. http://www.cpanforum.com/ 17 мая 2009 г.
  129. http://deps.cpantesters.org/ 17 мая 2009 г.
  130. http://ali.as/top100/ 17 мая 2009 г.
  131. http://backpan.cpan.org/ 17 мая 2009 г.
  132. Я решил сделать свой :) Acme::CPANAuthors::* CPAN Recent Uploads RSS 17 мая 2009 г.
  133. http://cpan.perlrussia.org/ 17 мая 2009 г.
  134. http://cpan.perlrussia.org/ Russian/rss.xml 17 мая 2009 г.
  135. http://cpan.perlrussia.org/ Russian/SHARIFULN/ 17 мая 2009 г.
  136. P. S. Русская документация POD2::RU http://translated.by/sharifulin/inprocess/ 17 мая 2009 г.
  137. use Perl or die 17 мая 2009 г.
  138. use CPAN or die 17 мая 2009 г.
  139. JFDI 17 мая 2009 г.
  140. Спасибо за внимание! Анатолий Шарифулин RostovOnDon.pm 17 мая 2009 г.

×