tsucchi’s diary(元はてなダイアリー)

はてなダイアリー(d.hatena.ne.jp/tsucchi1022)から移行したものです

perl

Test::Module::Used 0.0.8 Released

Test::Module::Usedの 0.0.8 をリリースしました。今回は個人的にはかなりお勧めのリリースだと思います。普通のモジュールであれば、synopsis にあるように、 #!/usr/bin/perl -w use strict; use warnings; use Test::Module::Used; my $used = Test::Modu…

リファクタリングは大事です

Test::Module::Usedの version 0.0.6 をリリースしました。機能的にはほとんど変わっていません。黙々とコードをリファクタリングしてただけ。でも、その過程でバグを見つけちゃいました。。。以前は条件式で、コアモジュールかどうかの判定をしていたのを、…

tests を自分で数えるようなオレオレテストモジュール

#!/usr/bin/perl -w use strict; use warnings; my $t = MyTest->new(); $t->do_test1; $t->do_test2; package MyTest; use Test::Builder; sub new { my $class = shift; my $builder = Test::Builder->new(); $builder->{Have_Plan} = 1;#本当はこれ書きた…

Test::Module::Used について

2010/10/01: 最近少し反響があったので、このモジュールの近況をまとめてみました。ご参照ください。Test::Module::Used というモジュールを書いたの続きみたいな話。最近書いた、Test::Module::Usedというモジュールについて。 これはどんなモジュール 多分…

モジュールのテストデータに SampleModule.pm って入れたら、PAUSE の indexer に怒られたでござるの巻

Test::Module::Used というモジュールを書いたの続きみたいな話。このモジュールは、.pm ファイルを読んであれこれするため、テストデータとして、SampleModule.pm というデータを使っています。で、そのまま CPAN にアップしたら、 Status: Permission miss…

Test::Module::Used というモジュールを書いた

表題のとおりです。今まで、Makefile.PL とかに書く required とかをチェックするのに、Test::Dependenciesというモジュールを使っていました。これはこれで便利なのだけど、この前のTest::DataLoader::MySQL というモジュールを書いたら CPAN テスターに怒…

Test::DataLoader::MySQL というモジュールを書いたら CPAN テスターに怒られたでござるの巻

Test::DataLoader::MySQL というモジュールを書いたの続きみたいな話。昨日アップしたモジュールが、CPAN Tester のテストでこけまくりでした。なんでやねん、と思ってみてみたら、たとえばこんな感じ。(6018796)。Test::Perl::Critic がこけてる原因らしい…

Test::DataLoader::MySQL というモジュールを書いた

意外と早くアップロードされたなぁ。CPAN Author になりました。Test::DataLoader::MySQL - search.cpan.orgこれは何か、というと、テストコード中でテストデータをDBに流し込むためのモジュールです。最近のお仕事の話とかデータベースのテストの話とかに少…

CPAN Author になりそうです

昨日、CPAN のアカウント(PAUSE ID)を取得しました。Takuya Tsuchida - search.cpan.orgで、先ほどモジュールを up しました。登録されたらどんなやつか簡単に説明しようかな、と思いますです。これで来年の YAPC で「CPAN にうpったことある人?」とか聞か…

prove と make test の違い

テストコードでも -w をつけたほうがよさげの続きみたいな話。 make test では暗黙のうちに -w がついてるのかなぁ?ここは謎のままです。(明日調べてみよう)ざっくり調べてみました。make test は Test::Harness を使っている。ここで -w を指定してるっぽ…

テストコードでも -w をつけたほうがよさげ

File::Spec の catfile の引数の続きみたいな話。 おかしいのは、普通に prove -I lib とか perl -I lib t/001_hoge.t みたいにすると、さっきのメッセージは出ず、モジュールディレクトリ上で、 make test を実行するとさっきのエラーが出る、というところ…

サブルーチンの引数の受け方

これは良記事なので、紹介しときます。 現代的なPerlの記述方法一覧 + α - Perl入門〜サンプルコードによるPerl入門〜 Perl5.8以降における標準的なPerlの書き方を解説します。インターネットで検索するとPerl4のころの古い記述がたくさんあります。また書籍…

File::Spec の catfile の引数

CPAN モジュールのレイアウトにした(内部向けの) Perl モジュールを書いていたら、File::Spec(::Functions)の catfile を使っているコードで、 Use of uninitialized value $file in concatenation (.) or string at /usr/lib/perl/5.10/File/Spec/Unix.pm l…

strict

プラグマを import すると use したクラスにもプラグマが効くようになる - 僕ト云フ事@はてな出張版 package Hoge::Base; use strict; use warnings; use utf8; sub import { strict->import; warnings->import; utf8->import; } このクラスを use すると s…

YAPC::Asia のまとめのまとめ

YAPC::Asia のまとめのまとめです。とりあえずはてブ。自分の見つけた YAPC::Asia 関連のブログをまとめました。 はてなブックマーク - tsucchi1022のブックマーク - yapcasia2009あとは拙著。 YAPC::Asia 2日目のまとめ YAPC::Asia 1日目のまとめ YAPC::Asi…

YAPC::Asia 2日目のまとめ

もう一週間もたってしまいましたが、YAPC::Asia 2日目をまとめました。※あくまでも私の聞いた(つもりの)内容と私が書いたメモが元になっておりますので、実際のセッションや発言とは異なる可能性があります。今回は資料がアップされていることが多いので、資…

YAPC::Asia 1日目のまとめ

(ごめんなさい。途中です)一応続き書きました。自分の聞いてきたセッションを軽くまとめました。※あくまでも私の聞いた(つもりの)内容と私が書いたメモが元になっておりますので、実際のセッションや発言とは異なる可能性があります。今回は資料がアップされ…

YAPC::Asia 2009 に行ってきました(2日目)

今日は朝から行ってきました。今年は初参戦でしたが、とても楽しかったです。さてさて、細かい話は明日以降(ウチの小さな女王様のご機嫌次第です :-)書くとして、今日も雑談的なメモ。 Mac 率高い 今日も id:nekokak さんが面白かったです Job Queue はウチ…

YAPC::Asia 2009 に行ってきました

表題のとおり。でも今日は打ち合わせがあったので午前は出社。途中からの参戦となってしまいました。見てきたセッションのメモは土日か週明けにアップすると思います。以下、雑談的なメモ YAPC::Asia は「やっぷしー・(あ|えい)じあ」と読むらしい スーツ少…

バッククォート文字列

今日、ちょっとだけはまったことメモ。 Perl のバッククォート文字列って、スカラーで返ると思っていたのだけど、リストコンテキストもあるらしい。 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @ls_result = `ls /tmp/aaaa`; chomp(@l…

FTPのテスト

FTP 転送を含むコードをテストできる Perl モジュールを探したのだけど、使えそうなものが見つからなかったので、自分で書き始めました。Net::FTP のモックオブジェクトで、リモートアクセスをローカルのファイルシステムへのアクセスに置き換える機能と、Ne…

Test::More で no_plan が良くない訳

Test::More 自動試験をさらに便利にする - Perl入門〜サンプルコードによるPerl入門〜 no_planは、「テストを弱くするのでなるべく避けてください」とドキュメントにあるのですが、何が弱くなるのかよくわからない。 オイラも結構 no_plan 使ってしまうのだ…

動的に関数ベースのモジュールを読み込む

タイトルだと何のことやらさっぱりかもしれませんが、やりたいことは、モジュールの use のオプションを指定した際に、別のモジュール(関数ベースのインターフェース)を読み込む。そのときに、main パッケージで関数ベースがインポートされるようにしたい、…

YAML

YAML。嫌い、というか、なぜかあんまり使う気がしません。「XML よりも可読性が高く、コンピュータも人も読みやすい」という主張が信じられません。インデントで意味が変わるなんて、makefile と同じ筋の悪さを感じるのだけど、そう思うのは私だけ? # まあ…

XML::Simple と Devel::DProf は相性が悪い?

今日ハマったこと。XML::Simple と Devel::DProf を同時に使うとダメっぽい。 #!/usr/bin/perl use strict; use warnings; use XML::Simple; use Data::Dumper; my $xml = XML::Simple->new()->XMLin("<hoge>hage</hoge>" ); print Dumper($xml); こんな感じのてきとーな…

るびまゴルフになぜか Perl で参戦してみた

Rubyist Magazineのるびまゴルフのお題を Perl でやってみました。# Ruby だとオイラのウデではアンダーパーも厳しいからね。。。お題はこんな感じ。 Rubyist Magazine - るびまゴルフ 【第 6 回】 seq という Unix コマンドがあります。このコマンドを使う…

データベースのテストの話

最近のお仕事の話とかデータベースのテストってみんなどうやってるんだろ?の続きみたいな話。マーチン・ファウラーが Thought Works における、Ruby での開発について色々書いてます。(記事が書かれてすぐ邦訳されてた。ありがたやありがたや。)で、全編通…

久しぶりに STDOUT を捕まえてみた

STDIN/STDOUT を使うテストとか STDIN/STDOUT を使うテスト その2の続きみたいな話。Mint's log: Perl Seminar NYミーティング5月 Perlプログラムの中からコマンドを実行し、標準出力・エラーを変数に保存するCapture::Tinyの紹介。 つーことで、Capture::Ti…

Time::Local で 2038年問題

古いバージョンのTime::Local に、2040年くらいの日付を渡すと死んでしまうみたいです。たとえば、こんな感じで、1.07(CPAN で取れる一番古いバージョン)と 1.1901(最新)を配置します。 % find . -name Local.pm ./lib/1.07/Time/Local.pm ./lib/1.19/Time/L…

データベースのテストってみんなどうやってるんだろ?

最近のお仕事の話 - tsucchiの日記の続きみたいなお話。最近のお仕事の話 - tsucchiの日記 あともう一つ思ったのが、「DBのデータを使うようなテストって、みんなどうやってやってるんだろ?」ってこと。 この疑問がいまだに解消していないのです。。。DB を…