All slide content and descriptions are owned by their creators.
All slide content and descriptions are owned by their creators.
朝も早うから雑多な話を駆け足で詰め込んだので、消化不良になった方も多かったろうと申し訳なくも思っていますが、ポイントは、CPAN本家のFAQからたどれる「CPANにアップロードする方の責務」についてのこの一節(「私たちはみなさんも空気を読んでくれるものと信じています」)と、 Your duties, the basics, traps We trust that you have read the perlmodinstall, perlmodlib, perlmodstyle, and perlnewmod manpages and that you regularly check out uploads to CPAN and that you have been watching CPAN activities for a while to have an impression of
だいたいこのへんで教えてもらった話のまとめです。 http://lingr.com/room/perl_jp/archives/2013/04/03 CPANで名前空間を取るのは簡単です。今ならCPANに上げるコードベースの「どこか」に package Hoge; と書けば、CPAN Indexerにインデックスされていとも簡単にHoge名前空間のオーナーになれます。 (執筆時現在Hogeのオーナーはいません) これはlib/以下の.pmファイルやファイル先頭のpackage宣言だけに限った話ではありません。 例えば、example/MyApp.pmとかも対象です。 ちなみに誰がどの名前空間を持っているかは以下を見ることでわかります。 http://www.cpan.org/modules/02packages.details.txt 多くの場合この挙動に困ることはありませんが、以下の様な
みなさんCPANモジュールの管理どうしてますか? rpm? deb?いやーメンドクサイですね。 メンドクサすぎて日がくれます。 それにそんな一元管理の方法したらコンポーネントが複数ある場合、 簡単にmoduleのバージョンがupでいないじゃないですか。 so badですね。 いまだとperlbrewとextlibでコンポーネント毎にcpanモジュールを管理することが 大分と楽にはなりましたが、OSの差はどう仕様も無い! 実際にサービスに撒くmoduleに関してはサービスのosで作ったperlbrew+extlibで管理していいとおもいますが、 localの開発環境が、MacOSとかだとすると激しくメンドクサイですね! さらにextlibとかに入れてるバージョンと全く同じバージョンのモジュールを 手元のmacに入れるとか実は結構むずかしいんですよね。 Makefile.PLでバージョンを指定
cpanmのように素のPerlだけで余裕で動くぜっていう配布物を作る時に便利な小道具×2です。 App::FatPacker App::FatPackerとは、依存モジュールを全て1つのファイルに押し込んでパックしてくれるライブラリです。 1枚のスクリプトに全てをまとめてくれるApp::FatPacker Module::CoreList CGI の配布や、アプリケーションの配布のときに、どのモジュールがどのバージョンから 標準添付になったのかを知りたくなります。 Module::CoreList - 標準添付ライブラリかどうかを調べる 後はHTTP::Tiny だとかText::MicroTemplate とかPurePerl で小粒なモジュールを集めれば、レトロでCPANモジュールがメンテされてない環境でも動作するスクリプトを、割とモダンな構成で作れて大変気分が良くなります。 ちなみに
YAPC のLT で告知した CPANモジュールの解説本、来月発売になります! このサイトを見てくださった出版社から執筆の声をいただいたのですが、最終的に全部で200ほどのモジュールを解説しています。ほんの数行をひねりだすのに30分ウンウンうなったり、執筆は楽しいながらも大変でした。今はHUNTERxHUNTERがなかなか進まないことに完全に賛同できます(笑) 書いている長い間、退職したり、ノロウイルスにやられたり(もう二度と生牡蠣は食べない!)、そしてこの地震、と振り返るとなんだかいろいろありました。 この本は Perl コミュニティに何か還元したいというモチベーションで書きあげました。具体的には、中級者を増やすものになればいいなと思っています。A5版の本で(たぶん)簡単に読みきれるものですが、これに書いてあることだけを使っても相当なことができますし、CPAN を使いこなすショートカット
これまでサービスで使うCPANモジュールの管理と言えばrpm/debパッケージが主流だと思いますが、最近ではperlbrewで使いたいバージョンのperlをインストールすることもあり、rpm/debでは対応できなくなってきています。 perlbrewのperlに対してプロジェクトが依存しているCPANモジュールを入れる際、 $ perlbrew switch perl-5.12.3 $ cd /path/to/MyProj $ perl Makefile.PL $ cpanm --installdeps . などと cpanm —installdeps が使えます。 しかし、これではサーバを新規セットアップするたびに、最新のモジュールが入ることになりサーバ間でモジュールのバージョンの差異が生まれる可能性があります。 そこで対応策として考えられるのが開発サーバで—installdepsを実行
bulknews.typepad.com Tatsuhiko Miyagawa's blog to discuss mostly tech and nerdy stuff. When you upload a new module to CPAN, most of you would say something like this on your blog or tweet: "Module Foo::Bar 0.50 is shipped to CPAN -- will be coming to a mirror near you soon, or if you can't wait you can get the latest from [git or svn URL]". As we discussed, "soon" is not really soon: it's a few h
ExtUtils::Install, ExtUtils::Installed を使うと cpan コマンドでインストールしたモジュールについてあれやこれや調べる事が出来ます。 インストールされているモジュール一覧 perl -MExtUtils::Installed -le 'print join "\n" => sort ExtUtils::Installed->new->modules;' 特定のモジュール名が属する dist に含まれるファイル一覧 $ perl -MExtUtils::Installed -le 'print join "\n" => sort ExtUtils::Installed->new->files(shift @ARGV);' YAML::Syck /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
新しいモジュールの使い方を調べるときに真っ先に目を通すのがPODのSYNOPSISセクションである。特に,英語が母語ではないPerlerにとってはPODの中で最も重要なセクションといっても過言ではない。それだけに,自らモジュールを書くときは細心の注意を払う。 ところで,その内容の構文チェックは今まで手動でやっていたのだが,Test::Weakenのテストファイルを眺めていると面白いテストがあった。synpsis.tというのがそれで,PODのSYNPISISセクションの中身を抜き出して実行するというものだ。考えてみれば,構文チェックで十分なら特別なモジュールのサポートを得なくても簡単に書くことができる。 そこで,一般化してModule::Setup用のテンプレートにしてみた。 #!perl -w use strict; use Test::More tests => 1; use [% mo
少し前にmizzyさんに そういえば、まっさらなサーバを30分で本番投入できるようにする で stanaka さんが「CPANの依存関係を解析してrpm化する手製スクリプトで、CPANモジュールのrpm化が、ほぼ自動化されています」と書いてるんだけど、これって公開してくれないのかなー。 HowToRpmizeCpanModules - mizzy.org - Trac と突かれたので、githubで公開してみます。 http://github.com/stanaka/cpan-dependency/tree/master 突かれたついでにmizzyさんに軽く動作確認してもらったところ、それなりに動いているようです。また、はてなでは、このスクリプトを利用して、日々それなりの数のCPANモジュールのrpm化を行っていますので、だいたいうまく動くのではないかと思います。 CentOSやFedor
miyagawaさんが紹介されていたlocal::libを使って非rootでのCPAN環境を作ってみました。平たく言えばさくらインターネットのレンタルサーバで一般ユーザーでCPAN環境を作ってみました。 とはいえ、多くは先人たちの otsune's FreeBSD memo :: ユーザー領域にCPANをインストールする方法 さくらインターネットでCPAN - Charsbar::Note と大差ありません。 まずはlocal::libのアーカイブを取得・解凍します。最新のバージョンは1.003001です。 wget http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.003001.tar.gz tar xzvf local-lib-1.003001.tar.gz cd local-lib-1.003001 ots
Wassr で ZIGOROu さん や hidek さん とやりとりした内容をまとめてみます。 CPAN モジュールの rpm パッケージ作成なんですが、自分はRPM::Specfile に付属している、cpanflute2 を基本的に使ってます。 cpan2rpm の方がメジャーだとは思うんですが、オリジナルのダウンロード用FTPサイトが接続できないのと、吐き出す SPEC ファイルが微妙な感じがするので、なんとなくイヤで使ってないんですが、それ以外はそんなに明確な理由もなく、cpanflute2 の方を使ってます。 ただ、cpanflute2 には以下の問題点があります。 依存関係を自動的に解決してくれない(これは cpan2rpm も同じ) モジュールの tar ball を自分で取得しないといけない(cpan2rpm はsearch.cpan.org から取得してくれる) なので
このエントリで書いたんだけど CPANモジュールをアンインストールするぐらいならパッケージにしてしまえという話。 で、私がやってる方法をまとめてみることにした。 概要(?) APTはsvn-buildpackage + debpool yumはビルドしたrpmとrepodataをsubversionに放り込んで管理する パッケージ化はAPT -> rpmの順で作成する(別にRPMだけ作ってもいいけどRPMだけだとAPT作るの忘れるので) これはパッケージツールの関係でsvn-buildpackageはソースをそのままレポジトリに放り込めるが、rpmはsrc.rpmのような形でしかソースを取っておけないため 配布はAPT、yumともにHTTPで(設定が簡単だから(w) svn-buildpackage ぐぐって(w とか言うとあんまりなので大まかな手順を # 作業ディレクトリに移動 % cd
Module::Setup - pmsetupをモジュール化した Perlのモジュールをまず最初に作る時はpmsetupやModule::Starterなどを使うのが一般的です。 かく言う余もpmsetupでガリガリ書いてたんですが、はこべさんやらdannさんやらの最近の記事を見て思う所もあってpmsetupをモジュール化してみました。 http://svn.coderepos.org/share/lang/perl/Module-Setup/trunk/ 使い方は簡単!cpan Module::Setupでinstallして(まだCPANにあげてないよ!) $ module-setup Foo:Bar を実行するだけ! ほぼpmsetupと同等の挙動でひな形を作ってくれます。あらべんり! これだけじゃまったく意味が無いのでModule::Setupらしい所を。。。 flavor Modu
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
WebService::Hatena::Diary 0.01リリース/わーい,CPAN Authorになったよー - はこべブログ ♨ でCPANパッケージをつくった時のメモをおもむろに公開.なんか変なとこあったらおしえてくださいな みたいな. 書いてから気づいたのですが,Makefile.PLを書こう - soffritto::journalに書かれている,まず,Makefile.PLから書くやりかたの方が,より良さそうすね.Makefile.PLが開発プロセスをコントロールしていて,迷わずに開発がすすめられそうです. ともあれ,以下メモ. 基本的に上から下の順番に実行していく. pmsetup でひな形をつくる パッケージのひな形を作成するためのpmsetupというプログラムを実行する.もともとは,miyagawaさんの作ったスクリプトで,自分用にカスタマイズして使う.(CodeRep
2008年06月17日03:00 カテゴリLightweight Languages perl - Convert::BaseN released! 以前から作ろうと思っていたのですが、最近必要になったので。 /lang/perl/Convert-BaseN/trunk - CodeRepos::Share - Trac @CPAN (coming soon) 早い話、MIME::Base64をはじめとする、Base{2,4,8,16,32,64} encodingの親戚を全てカヴァーするというモジュールです。 きっかけは、こちら。 Kazuho@Cybozu Labs: MIME::Base64::URLSafe 少し前になりますが、CPAN に MIME::Base64::URLSafe を登録しました。URL に Base64 されたバイナリデータを埋め込みたいけど、 +,/,= と
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
いささか遅くなりましたが予告通り完全版の一覧を掲載します。このデータは基本的にYAPC直前、2008年5月15日時点でのものですが、抜けが判明したworemacxさんの分については先ほど目視で抽出しました。ほかの方のYAPC後の更新については反映されていませんのであしからずご了承ください。 ちなみに過去の選手権の結果はnipotanさんのサイトに掲載されています。 2006年度 2005年度 というわけで、あらためてなんちゃらかんちゃら出てこいや〜、とな。 モジュール数5個以上の部 過去二回の選手権ではモジュール数による分類はなかったのですが、この一覧のもとになっているCPANTSの仕組み上、モジュール登録数の少ない新しいAuthorの方が有利になる側面があるので、今回は本家CPANTSの分類にしたがってランキングを分けました。YAPC当日に発表したのはこのグループのベスト10です。表は、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く