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

Like this? Share it with your network

Share

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

on

  • 6,587 views

YAPC Russia 2009 "May Perl 2"

YAPC Russia 2009 "May Perl 2"

Statistics

Views

Total Views
6,587
Views on SlideShare
6,562
Embed Views
25

Actions

Likes
1
Downloads
37
Comments
4

2 Embeds 25

http://lj-toys.com 16
http://l.lj-toys.com 9

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • В дистрибутиве создаете директорию RU и в нее кладете pod (можно сохранить иерархию директорий RU/CCCP/Encode.pod, можно и так RU/CCCP-Encode.pod)
    Are you sure you want to
    Your message goes here
    Processing…
  • и. хорошая проверка сборки своего модуля представлена здесь:
    http://www.perlmonks.org/index.pl?node_id=158999
    Are you sure you want to
    Your message goes here
    Processing…
  • Мда.. и из презентации не очень понятно - куда кидать 'русский' pod. В какой каталог?
    Are you sure you want to
    Your message goes here
    Processing…
  • В принципе, док хороший.
    Я залил модуль на CPAN (CCCP::Encode) и часть описания в .pm была на русском (utf-8), после заливки получил кракозябру )) Почитал в гугл, оказывается нужно в POD использовать =encode utf-8 Ща попробую перезалить...
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

CPAN: модули, авторы и документация Presentation 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 г.