nDiki : CPAN
Related term
2006年4月29日 (土)
■ 最新の Module::Install は Perl 5.005_03 ステ?

ゴールデンウィークに突入。 9連休を利用して、一気に WiKicker コーディングを企んでいる。
さっそくちょこちょこ修正してパッケージングし、www.naney.org へインストール。 …… Perl Makefile.PL でコケる。
どうも use inc::Module::Install; でエラーを起してしまっているようだ。 Makefile.PL は変更していないので、そうすると Module::Install の問題っぽい。
tarball をパッケージングするホスト側の Module::Install を 0.57 まで落としたところ、Perl 5.005_03 でも通るようになった。
Module::Install is a package for writing installers for CPAN (or CPAN-like) distributions that are clean, simple, minimalist, act in a strictly correct manner with both the ExtUtils::MakeMaker and Module::Build build systems, and will run on any Perl installation version 5.004 or newer. (Module::Install 0.61 より)
とあるように古い Perl もサポートにも気を払っているのが気にいって ExtUtils::MakeMaker から移行しただけにちょっと残念。
今後また 5.005_03 でも動くようになるのか、それとも捨てられるのか要チェック。
- WiKicker の Makefile.PL を Module::Inst... (2006-02-10)
- Time::Local::gmtime の範囲チェック (2003-12-23)
- 野良パッケージと依存 Perl モジュールのインストールセット をCPAN... (2006-02-11)
- [ WiKicker ] SpeedyCGI 対応するも…… (2003-11-09)
- [ Perl ] Memcached を使ってみる (2004-01-12)
2006年6月10日 (土)
■ Plagger のインストールが大変なので XML::RSS で RSS から JavaScript コードへ変換するスクリプトを自作

一昨日社内メイン Wiki のレイアウトを変更してサイドバーを設けたので、徐々に増えてきた社内 Blog の ヘッドラインをそこに表示することにした。
最初は Plagger を使ってみようと思ったのだが、依存 CPAN モジュールが多くて CPAN.pm を使ってもなかなかインストールが終わらない。
ということで今回は Plagger を見送って、XML::RSS でちょちょっと aggregator を自作して済ますことにした。
基本的には nDiki 用に書いた「はてなブックマーク上の最新ブックマークを表示するためのコード(2005年5月16日)」をちょっと修正して利用。 HTML フラグメントを生成するかわりに、JavaScript Include 用 JavaScript ファイルを生成するように変更した。
これで社内 Blog が読まれる回数も増えるかな。
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- はてなブックマーク上の最新ブックマークを nDiki に (2005-05-16)
- はてなブックマーク上の検索結果を nDiki に (2005-10-30)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- クリッピングに便利な CMS 「Tumblr」を使ってみる (2007-04-13)
2006年6月16日 (金)
■ PAR に関する ActivePerl のライセンス

確認したら ActivePerl Community License v2.1 (ActivePerl 5.8.8.817 はこれ) には PAR (や PerlApp や Perl2Exe など) で ActivePerl に含まれているファイルをラッピングしてアプリケーションに含めることができると書いてあった (一部条件あり)。
今まで見落していたよ。
「ActivePerl」 + 「The Artistic License 下な CPAN にあるモジュール」 + 「自作コード」を PAR でバイナリ化して配布しても OK ということが分ってちょっとすっきり。
- PAR + ActivePerl で実行形式ファイルを作った時のライセンスは? (2004-07-21)
- ActivePerl 5.6.1 Build 638 にバンドルされている... (2004-08-19)
- Perl プログラムと必要なモジュールの配布 (2005-05-16)
- 自前 PPM リポジトリの管理 (2006-07-03)
- PAR を ActivePerl 5.6.1 build 638 に (2004-07-20)
2006年6月28日 (水)
■ ExtUtils::MakeMaker で prompt

Perl でy/n 入力やパス入力などを対話的に行う簡単なセットアップツールをたまに書きたくなることがある。 CPAN.pm の初期化や Module::Install で feature の選択の時に入力を求められる形のアレ。
何かいいモジュールがあるのかなと思ったら、上記の2つは ExtUtils::MakeMaker::prompt を使っていた。 灯台下暗し。 ExtUtils::MakeMaker は標準でいつでも使えるから、ちょっとしたデフォルト値付き問い合わせをするのに便利。
@ Perl モジュールインストール時の、対話入力をデフォルトで済ます環境変数
それから PERL_MM_USE_DEAFAULT という環境変数の使い方もチェック。
Perl モジュールをインストールする際にいろいろ問い合わせに答えるのが面倒な場合 (どうせ全部デフォルトで OK な時など)、PERL_MM_USE_DEFAULT=1 としておくと ExtUtils::MakeMaker::prompt は入力を省略してくれる。
- WiKicker の Makefile.PL を Module::Inst... (2006-02-10)
- 野良パッケージと依存 Perl モジュールのインストールセット をCPAN... (2006-02-11)
- bundle を作成して Perl モジュールをまとめてインストール。 (2004-10-21)
- CPAN のPerl モジュールを RPM パッケージ化する (2003-04-22)
- 最新の Module::Install は Perl 5.005_03 ステ? (2006-04-29)
2006年7月8日 (土)
■ Perl v5.8.8 の CGI.pm の PATH_INFO 処理の問題にぶつかる

手元の WiKicker (や DiKicker) で、「C++」という文字列を含む URI にアクセスしたらエラー。
Nested quantifiers in regex; marked by <-- HERE in m//C++ <-- HERE .html$/ at (eval 27) line 7.
正規表現の一部として使う時には \Q...\E していたと思ったが抜けがあったか。 とコードをチェックしてみたが、それっぽいところなし。 そもそも、Perl 5.005_03 だと問題おきていないし。
確認したら CGI.pm の url() の中でのエラーだった。 quotemeta されていない。
Perl v5.8.8 に含まれている CGI.pm 3.15 で問題を確認。3.17 までは駄目で、3.19 以降だと \Q...\E するように修正されている (3.18 は CPAN にないので不明)。
標準 Perl ライブラリのバグを踏んだか……。 標準 Perl ライブラリのアップグレードはなにかと面倒なので、システム要件にはしたくはないんだよねぇ。
- 最新の Module::Install は Perl 5.005_03 ステ? (2006-04-29)
- Time::Local::gmtime の範囲チェック (2003-12-23)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
- [ WiKicker ] URI抽出正規表現修正 (2004-07-24)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
2006年7月22日 (土)
■ Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合

入社してから社内情報共有の一環として
といろいろ手をつけてきた。 次に狙っているのは SBS である。
Wiki や社内 Blog に書くほどではないけれどメモ程度にブックマークしておきたい URL を、気軽に晒せるようにするのが目的。
はてなブックマークのような公開サービスは
- タグ・コメント・傾向などが外に出るのはよろしくない
- あるいは、それを気にして活用されない
- そもそも社内リソースについてはブックマークできない
という点から、今回は利用できない。
ということで社内に SBS を設置したい考えている。
最初は Scuttle にしてみようと思ったのだが、PHP ベースであるのと MySQL を使うというところで気遅れしている。 いや SQLite でもいけそうらしいということで、実は Debian でちょっと試そうとしたのだが、テーブル作成の SQL が MySQL 用で、これを修正するのが面倒なので断念。
次に Perl + SQLite で動く Rubric を試してみることにした。
@ Rubric 0.140
Rubric は CPAN にあがっているので CPAN.pm から install Rubric でインストールできる。 モジュールをインストールしたら、セットアップ。
- CGI プログラムを動かすディレクトリを決める (以下 $RUBRIC)
- Rubric tarball の bin/rubric.cgi を $RUBRIC/ にコピーし、必要なら #! を修正する。
- Rubric tarball の templates ディレクトリを $RUBRIC/ にコピーする。
- Rubric tarball の style/rubric.css を $RUBRIC/ にコピーする。
- Rubric tarball の etc/rubric.yml を $RUBRIC/ にコピーして環境に合わせて編集する。
- データベースを初期化する。0.140 には makedb.pl が同梱されていないので、0.13_01 の bin/makedb.pl を参考に perl -MRubric::DBI::Setup -e 'Rubric::DBI::Setup->setup_tables' で初期化する。ちなみに 0.140 付属の rubric コマンドで rubric db -s してみたが、これはうまく動かなかった。
- 必要に応じて .htaccess を作成・編集し rubric.cgi を CGI プログラムとして実行できるようにする。またその他アクセスされたくないファイルを deny するようにしておく。
これで OK。
rubric.cgi にアクセスしページが表示されればひとまず成功。 メニューの「register」から、ユーザ登録する。 確認用のメールが届くはずだが、面倒くさいのでこれを待たずに
rubric user -a ユーザ名
でアクティベートする。
Rubric の HTML フォームからのブックマーキングは成功し、うまく動いているようである。 ただし、日本語の処理はどうもよくない。 title や description が化ける。 惜しい。
基本的には UTF-8 ベースでうまくいきそうなのだが、どこかで化けるようだ。 ちょっと手を入れれば直るかなと思ったが、化けるところと化けないところとがあるので逆に直す場所が多そうなので今日はやめておくことにした。
とりあえず Rubric はおいておいて、他のものも試してみることにするか。
- Debian GNU/Linux に Hyper Estraier 1.2... (2006-05-31)
- Hyper Estraier で社内 Web コンテンツ検索 (2006-06-01)
- DiKicker の出力する HTML コードを小さく (2006-10-05)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- ケータイ用にプライベート Wiki を設置 (2008-01-07)
2006年9月5日 (火)
■ WiKicker 0.37 リリース - 主に添付関連の機能を改良

24時を過ぎたので、日付的には9月6日のリリース。
主に添付関連の機能を改良。 それから設定ファイルに BOM があっても問題ないように動くように改良。 BOM 対応は他のデータファイルもおいおい対応したい。
認証/承認機能についてはなかなか進まず。この間 DBIx::Class を CPAN からインストールしようとしたら make test でこけるし。 DBIx::Class は依存モジュールも多くいろいろ面倒なので、やっぱりやめた方がいいかなと思いつつある。 素の DBI でいくべきか?
- DBIx::Class + SQLite で Wiki 用認証/承認データベース (2006-06-18)
- DBIx::Class はあきらめて素の DBI + DBD::SQLit... (2006-09-12)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
- FreeBSD と Apache::Htpasswd (2006-03-02)
2006年12月13日 (水)
■ wxPerl PPM パッケージ

PAR リポジトリでいろいろ遊べそうなので、GUI 作成に wxPerl の方も久しびりにまた使おうかなと。
ただ wxPerl の本家が配布しているビルド済み PPM パッケージは、いまだに Wx 0.26 + wxWidgets 2.6.2 だったりして使う気になれない。 かといって、自分でビルドするのも結構手間だし。
で探していたところ Wx::Perl::Packager の開発者が、自身のサイトで PPM パッケージを配布しているのを発見。
最新のパッケージがあるのが嬉しい。
というか12月12日 にリリースされた wxWidgets 2.8.0 と、 CPAN にもまだない CVS 版 Wx (次の 0.66 のためのスナップショット)が、同じ12月12日に公開されているという早さ。
これがあれば、最新の機能が堪能できそうだ。
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- Wx::ActiveX をビルド (2004-08-27)
- wxPerl + ActivePerl 5.6.1 build 638 (2004-07-21)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- [ Perl ] PDL 2.4.1 から eigens が固有ベクトルを... (2004-03-05)
2007年4月3日 (火)
■ WiKicker に JSON でのページ出力機能を追加

最近は DiKicker ばかりに手を入れていたが、久しぶりに WiKicker の改良も行っている。 しばらく前から実装を始めていた JSON 形式での出力機能が今日完成。
今までは WikiPage について
という2つの出力形式を持っていたので、JSON が加わることで3つめとなる。
@ サーバ側で WikiPage の構文解析まではやる
クライアントサイドの JavaScript でページの内容に合わせて様々な処理をできるように、サーバ側で構文解析まではしてあげるというのが主な目的。
JavaScript でまたパーサを書いてメンテしていくのも大変なので、その部分はサーバでやってしまおうかと。 構文解析した結果の解析木を JSON 形式で返して、JavaScript 側であとはお好きにという形。
@ CPAN にある JSON モジュールを使用
サーバ側の Perl プログラムには、構文解析をして解析木を作れるようになっている。 この解析木から Visitor パターンで JSON 形式を生成していく。
依存モジュールを増やすことを避けるべく、最初は自前で JSON 形式に変換していこうと思ったのだがやっぱり面倒だった。 ということで CPAN にあるモジュールをチョイス。
JSON 関連では JSON、JSON::Syck、JSON::PC などがあるが今回はインストールのしやすさを考えて pure Perl モジュールとして実装されている JSON を採用することにした。
Visitor クラスで解析木を無名ハッシュ/無名配列のツリーに変換して、JSON モジュールに流しこめば OK。
use JSON; my $json = JSON->new(pretty => 1); my $js = $json->objToJson($tree);
WiKicker のフレームワークにはフォーマット別に出力を切り換える機構があるので、これに JSON を追加して application/json で送るようにして完成。
ちなみに残念ながら JSON 1.07 は Perl 5.005_03 では make test が fail するので、NaneyOrgWiki では使えない。
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- WiKicker の Makefile.PL を Module::Inst... (2006-02-10)
- [ WiKicker ] hell mode - HTMLタグ付けブロックの導入 (2005-09-13)
- 定型書式で内容を記述していくのに便利な形式は? (2005-11-21)
- [ WiKicker ] 「最近のアクセスログ」処理思案 (2004-01-17)
2007年4月7日 (土)
■ 携帯電話(iモード)から Twitter を更新する

Twitter をいろいろ遊んでみて「やはり携帯電話から更新できないと」と思えてきた。
携帯電話からメールを送る事で Twitter にアップデートをかけてくれるゲートウェイを設置できれば一番いいのだけれど、そのようなメールアドレスを作る場所が今はない(さすがに会社のサーバはまずい)。
ということでiモードから更新をかけられるように短い CGI プログラムを書くことにした。 CPAN には Net::Twitter という Perl モジュールがあるのだが、JSON::Any (と JSON::XS / JSON / JSON::DWIW / JSON::Syck のどれか)が必要で、ちょっと大げさなので今回は使用は見送り。 普通に CGI.pm と LWP::UserAgent で書いた。
#!/usr/bin/perl -w
use 5.005_03;
use strict;
use CGI qw(-no_xhtml);
use Jcode;
use LWP::UserAgent;
my $query = CGI->new;
my $user_name = $query->param('u');
my $password = $query->param('p');
my $status = $query->param('s');
$user_name = '' unless defined $user_name;
$password = '' unless defined $password;
$status = '' unless defined $status;
my $message = '';
if ($user_name ne '' && $password ne '' && $status ne '') {
my $ua = LWP::UserAgent->new;
Jcode::convert(\$status, 'utf8', 'sjis');
$ua->credentials('twitter.com:80', 'Twitter API', $user_name, $password);
my $request = $ua->post('http://twitter.com/statuses/update.json',
{status => $status . ' '});
if ($request->is_success) {
$message = '<p>OK</p>';
}
}
print $query->header(-type => 'text/html', -charset => '');
print '<html><head><title>Twitter update</title></title><body>';
print '<form method="post" action="twitter">';
print 'ユーザ名:', $query->textfield('u'), '<br>';
print 'パスワード:', $query->password_field('p'), '<br>';
print 'ステータス:', $query->textfield('s'), '<br>';
print '<input type="submit">';
print '</form>';
print $message;
print '</body></html>';
とりあえずこれで、iモードから送信できることを確認。 パスワードの入力が面倒だけれども、サーバ側に書いておくのも嫌なので毎回送ることにした。FOMA 端末側には定型文として保存しておく以外にいい手はないのかな。
最初うまく送れなくてなんだろうと思ったが、あきやん氏の「Twitterで日本語を入力する方法 (akiyan.com)」の記事にある
- 全て全角文字で入力して、最後に半角スペースをいれる
- 半角全角を混在させるときは、半角文字と全角文字の間にスペースをいれる
といった日本語を入力する際の注意点がらみだったようである。 とりあえず CGI プログラムの方で最後に必ずいわゆる半角空白を追加するようにしておいた。
文字数チェックとか Twitter API の返り値チェックとか、改善すべきところはいろいろあるけれど、自分用にはまずこれでいいかな。
気が向いた時に外出先から更新かけます。
- 携帯電話からの Twitter 投稿に tmitter を使ってみることにした (2007-07-26)
- ケータイ用にプライベート Wiki を設置 (2008-01-07)
- Twitter を使い始めて1年 (2008-04-06)
- 半分は Twitter のためにパケ・ホーダイを契約 (2007-08-01)
- 防災@nifty で地震・鉄道運行状況をメール配信してもらう (2007-08-20)
Related web page
<strong>CPAN</strong>::Mini って便利ですね。 <strong>CPAN</strong>::Mini って何をするモジュールかというと、<strong>CPAN</strong> に登録されているモジュールの最新版をまるごと取ってくる便利なモジュールです。(<strong>CPAN</strong>::Mini について詳しくは、富田さんの use <strong>CPAN</strong>::Mini; - 今日の<strong>CPAN</strong>モジュール をごらんください) <strong>CPAN</strong> のデイリースナップショットがほしい 日頃使っている <strong>CPAN</strong> モジュール群に大きな変更が入るとしたら、確実に動くことhttp://perl-mongers.org/2008/06/daily-archive-of-cpanmini-with-glastree.html
<strong>CPAN</strong> モジュールを .deb にするスクリプトを作りました.単純に .deb に まとめるだけでなく,もう少し賢く振る舞ってくれます. # 同じことをしている人はたくさんいそうだし,ツールも公開されているの # かもしれませんが,見つからなかったので作ってみました.より良いもの # をご存じの方がいましたら教えてください. 開発環境のモジュール構成を忠実に再現したいときにhttp://teahut.sakura.ne.jp/b/2008-03-31-1.html
dh-make-perlhttp://www.hinet.mydns.jp/~hiraku/tDiary/?date=20070414#p03
内から外が見えないサーバがけっこうあって、そういうサーバに<strong>CPAN</strong>モジュールを入れるときはひとつひとつ、configure, make, make installしてたけど、CDBIとか、ましてやSVKを入れるときにいい加減ウンザリしたので、調べてみたら、nDiki: 野良パッケージと依存 Perl モジュールのインストールセット を<strong>CPAN</strong>... (2006-02-11)にバッチリ書いてあるし、これも<strong>CPAN</strong>のドキュメント嫁って話でした。http://d.hatena.ne.jp/shrkw/20060710/1152712358
にあるとおり、dh-make-perlという、 <strong>CPAN</strong>モジュールを<strong>CPAN</strong>のサイトからひっぱってきてdebパッケージにしてくれるツールを使います。 まずSynapticで dh-make-perl liburi-perl(XML::Parser::Lite::Treeが依存) libsoap-lite-perl(XML::Parser::Lite::Treeが依存) をインストールします。 後はdh-make-perlを使って XML::Parser::Lite::Treeのdebパッケージ作成およびインストール。 (XML::Parser::Lite::TreeはSynapticではインストールでhttp://elsal.jocv.net/linux/ubuntu/flickrupload.html
http://d.hatena.ne.jp/s025236/20060113
いつも、インスコした <strong>CPAN</strong> モジュールの .pm ファイルがある場所を探すのに、今までいい方法が思いつかずに % perl -MDBIx::Class -e'print $INC{"DBIx/Class.pm"}, "\n"' こんなんしてたわけだが、よくよく考えたら、こんな方法でイケることに気付く。 % perldoc -ml DBIx::Class あぁぁ、今まで同じ結果を求めるために、なんであんなに苦労していたんだろう…。 ちょっと .pm を書き換えhttp://blog.livedoor.jp/nipotan/archives/50146747.html
http://memo.xight.org/2004-10-26-5.html
CPANhttp://www-6.ibm.com/jp/developerworks/linux/050325/j_l-depperl.html
ところで、livedoor のエンジニアあるいは元 livedoor の方々には <strong>CPAN</strong> Author が結構たくさんいらっしゃいます。はてなでも、Perl コミュニティあるいは <strong>CPAN</strong> にはかなりお世話になっているので、自分たちの成果をいくばくか還元できないか、と考えています。 目下の目標は、はてな記法の parser とはてなのウェブアプリケーションフレームワークのオープンソース化で、前者は少し進捗http://d.hatena.ne.jp/naoya/20050622/1119392029
■よく検索されるキーワード
torrent(68) perl(60) windows(51) cvs(42) linux(41) 書き方(39) ganttproject(33) アジェンダ(26) debian(25) 使い方(24) 提案書(20) サンプル(19) java(19) ドラマ(17) tc-1(17) x31(16) 壁紙(16) google(16) ほぼ日手帳(16) subversion(15) バッグインバッグ(14) ヨドバシカメラ(14) 2009(14) 設定(14) firefox(13) 秋葉原(13) ssh(13) 修理(13) バッグ(13) インストール(12) 動画(12) svn(12) usb(12) 影舞(12) ファイル(11) rcs(11) ほぼ日(11) アジェンダとは(11) wiki(11) c#(10) ダイソー(10) thinkpad(10) centos(10) 無印(9) 価格(9) 画像(9) 手帳(9) activeperl(9) apache(9) 市原隼人(9) リフィル(9) ミノルタ(9) 冷蔵庫(9) 作り方(9) tortoisesvn(9) 大井町(9) ほぼ日手帳2009(8) gmail(8) 生年月日(8) truecrypt(8) mailpia(8) so905ics(7) cgi(7) スーベレーン(7) mew(7) spidermonkey(7) emacs(7) ご査収(7) ダウンロード(7) パスワード(7) テンプレート(7) cygwin(7) chrome(7) make(7) suunto(7) gimp(7) 評判(7) gtd(7) 写真(7) 方法(7)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 方法 設定 サンプル ダウンロード セール 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 最新 MP3 動画 Torrent 解説 意味 用語集 参考文献 お薦め お勧め おすすめ 便利 Blog ブログ mixi 待受画面 修理Process Time: 0.14207s / load averages: 0.56, 0.46, 0.49
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク