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

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

Test::Module::Used 0.2.1_03 shipped

表題のとおりです。これは正式でも良かったような気がするのですが、0.2.1_01 で 「Carp を use し忘れる」、という「お前何のためにこのモジュール書いたんだよ」って突っ込まれたら何もいえないような信じられないミスをやらかしたので、もう一度デベロッ…

Test::Module::Used 0.2.1_01 shipped

表題のとおりです。以前、いろいろ「やることやら無いこと」書いた割には、全然違う対応をしてしまいました。「そういえば META ファイルって、YAML だけじゃなくて、たまに JSON 使ってるのもあるよなぁ」とか思って調べてみたら、こんな話(META.ymlの件)と…

時間に関するテストの話

昔の記事、Time::Fake もいいけど、これからは Test::MockTime だねになぜか急にブクマがついていた(しかもすごい Perl Monger の人達から)ので、ちょっと追記してみました。(「追記。。。的なもの(2010/11/20)」の部分です。)

ファイル名 or 拡張子から content-type(MIME type) を決める

実ファイルにアクセスできる場合: File::MMagic or File::MMagic::XS できない場合: File::MimeInfo の globs() File::MimeInfo の場合はこんな感じ。 use strict; use warnings; use File::MimeInfo qw(globs); my $type; $type = globs("a.txt"); warn $ty…

年齢++

これからも、がんばろう。

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

楽しかったけど、さすがに疲れたー。昨日・今日のまとめは、そのうち書きます。(多分。hirataraさんがすげーしっかりまとめてるので、モチベーションが微妙ですが。。。)見つけたスライドは随時ブクマしてます。 はてなブックマーク - tsucchi1022のブックマ…

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

今年で2度目の参加となりました。見てきたセッションのまとめ的な話は後で書く(と思う。書けなかったら申し訳ない)のでとりあえずメモ。 バッテリーの壊れたノートPCはただのゴミですね。持ってかなきゃよかったorz 去年より話を理解できてる気がする。素直…

Test::Module::Used の話

YAPC::Asia も近いので、久々に Perl の話を書こうと思います。僕が作った Test::Module::Used の話。とはいえ、新しい話は特に無いので、今までのまとめをしようと思います。 これは何? CPAN モジュールを書く際、Makefile.pm に、依存するモジュールを re…

Test::Mock::ExternalCommand というモジュールを書いてみた

久々に Perl モジュールを書いてみました。tsucchi's p5-Test-Mock-ExternalCommand at master - GitHub外部コマンドの「ふり」をする物体をでっち上げるためのモジュールです。Synopsis も書きましたが、ここにも載せときましょう。こんな感じです。 use Te…

モダン(?) ActivePerl 入門

mixi でも使われているという噂*1のActivePerl。モダンなActivePerl スクリプトでは、先頭の shebang に #!/usr/local/bin/activeperl と書くのはもはや常識ですよね!しかしながら、Unix 系 OS など、ActivePerl がインストールされていない環境が多いのも…

雑談+TSUBAMEの話

今月は本当に忙しくて、死ぬかと思いましたが一応生きています。 Twitter / Official Tsubame2.0: 今日TSUBAME1.0 のお疲れ様会を内輪でします ... 今日TSUBAME1.0 のお疲れ様会を内輪でします。来週月曜からは、徐々に解体撤去が始まるので、フル構成はもう…

CentOS 5.5 に git をソースから入れる

CentOS のパッケージに git が無いので、色々ググってみたら、yum を使う方法とかあるんだけど、なんかめんどくさい。つーかうまく行かなかった。「こういうときはソースからコンパイルするべ」と思って適当にやったら、意外とあっさりできた。こんな感じ。 …

プログラミングHaskell一人読書会 (第2章)

うーん、イマイチ理解できて無い気がしますが、とりあえず「プログラミング Haskell」を第2章まで読んでしまいました。(Real World Haskell はかなりきつかったので入門書を買ったのです)。演習問題の回答が本に無かったので、ここにさらしておきます。読み…

emacs 23.2 と color-theme.el の相性について

会社では、NTEmacs の 23.2 を使ってます。下記の gnupack のビルドです gnupack (Cygwin + NTEmacs Package) プロジェクト日本語トップページ - SourceForge.JPですが、23.2 にしてから、なぜかフレームのサイズが良く分からんサイズになってしまう。defaul…

大の大人が全力で「こたつたこ」に取り組んでみた

「こたつたこ」って知ってますか?NHK の「ピタゴラスイッチ」に出てくる歌です。可愛らしい絵と回文で構成された歌詞が特徴的です。僕はこの歌(?)が大好きです。見たこと無い人は、ぐぐってみれば良いと思います。(著作権的に微妙なので、直リンは載せませ…

テスト投稿

twitterfeed というものを使って、この日記の投稿を twitter に投げる設定をしてみたのでテスト

家でも Hudson はじめました

Hudson をはじめてみました の続きみたいな話。(なのかな???)dannさんが最近、Hudson 導入した記事を書いています。 HudsonでperlプロジェクトのCI - Devel::Coverでcoverage取得 PerlプロジェクトをHudsonで継続的インテグレーション これを読んでたら、…

Archive::Tar でアーカイブを作成する

Archive::Tar で tar.gz を作ろうと思ってぐぐってみたら、 use Archive::Tar; my $tar = Archive::Tar->new; $tar->add_files( 'a.txt', 'b.txt' ); $tar->write("hoge.tar.gz", COMPRESS_GZIP); みたいな感じの、ぶっちゃけ残念な感じのサンプルがヒットし…

ソフトウェアの品質の話

最近更新してませんが、一応生きてます。オイラがテストを重視している、ということは 最近のお仕事の話あたりから続く一連の記事を読んでいただければ分かるのではないか、と思います。TDD や自動テストを含めて、テスティングはソフトウェア品質の要だ、と…

7年目を終えて

社会人7年目が終わりました。前の会社で4年、今の会社で3年になります。自分は一応「3年やってとりあえず一人前」だと思っているので、ちょっと大きな節目なのかもしれません。この7年間は振り返ろうにも、いろいろありすぎてわけわかんない感じです。前の会…

Test::Module::Used でやりたいのだけど、できないこと

Test-Module-Usedの話。ずいぶん前から分かっている、バグじゃないけど、バグに近い挙動として、サブモジュールの扱いがあります。たとえば、DBIx::Skinny を Makefile.PL に requires 指定して、テスト対象のモジュールの lib で、DBIx::Skinny::Schema を …

Nagios plugin をいじった話(もしくは Module::Install の install_script まわりの話)

Nagios のプラグイン書いたの続きみたいな話。プラグインで使うスクリプト(check_hogehoge みたいなの)を好きな場所にインストールしたいのだけど、Module::Install でそれをどうやったらいいのか分からず悩んでました。たとえば、Makefile.PL で、 install_…

Nagios のプラグイン書いた

表題のとおりです。Solaris の check_swap プラグインが無かったのでそれと、raildctl を叩いて status が OPTIMAL かどうかをチェックするプラグインです。 Nagios-Plugin-Solaris-CheckRAIDctl Nagios-Plugin-Solaris-CheckSwap CPAN モジュールレイアウト…

テストの話

mixi の開発者ブログの下記の記事を眺めていたら、 いまからでも間に合う開発者テスト自分がここ1年くらいで迷って試行錯誤してた事とどこか似ている部分があって、ちょっと安心した。いや、mixi のほうがずっとちゃんとできてるし、凝った構成になってるけ…

grep

grep(1)コマンドの使い方 | エンタープライズ | マイコミジャーナル Regular Expressions In grep - nixCraftにおいてGNU grepコマンドの利用例が紹介されている。基本的だが役に立つ例がまとまっており、grep(1)コマンドをあまり使いこなせていない場合には…

有名だけど今まで使ったことが無かったコマンドシリーズ第一弾(nice/renice)

表題のとおり。renice コマンドをはじめて使いました。あるサーバにアクセスしてくる、お行儀の悪い FTP クライアントがいて、こいつが数個 FTP のセッションを張ってくる。で、ずっと ls しているらしく、CPU もすごく使ってたりする。(なんでも差分を送ろ…

オープンソースの注意点?

若干流行には遅れた感がありますが。。。オープンソースの注意点:夜な夜な海外ネット:ITmedia オルタナティブ・ブログ そのために、オープンソースを利用する場合は先ず開発をしている会社を調べる方が無難である。 いやいや、そんなことないと無いと思う…

一見簡単そうだけど、実は難しい処理

CSV ファイルの解析 perl で言えば、 my @items = split(/,/, $line); で済んでいるなら幸せ。ダブルクォーテーションの内部だとカンマを見ないとか、その他もろもろの本来の CSV の処理が入るとあっという間に死ねる。Perl なら、Text::CSV 系のモジュール…

Test::Module::Used 0.1.9 Released

最近あんまり更新してない気がしますが、一応生きてます。Test-Module-Used-0.1.9をリリースしました。きっかけはバグリポート。t ディレクトリに入ってるテスト用のモジュールで use してるモジュールのチェックが抜けてました orzレポートしてくれる、って…

map を使おう

仕事メモ。map の使い方で初心者っぽいハマり方をしたので。 my @aaa = qw( key1 key2 key3 ); こんな感じの配列から、「key」を除いて、(1, 2, 3)みたいなリストが欲しいとします。で、 my @aaa = qw( key1 key2 key3 ); @aaa = map { s/^key// } @aaa; #こ…