perl
im.kayacを使ってカジュアルにメッセージを送るPerlのライブラリ,WebService::ImKayac::Simpleを作成・公開しました.https://github.com/moznion/WebService-ImKayac-Simple https://metacpan.org/release/WebService-ImKayac-Simple im.kayacでメッセージ…
去る2014年1月27日にNHK番組表APIが公開され,これが中々良い感じだったので,PerlからそのAPIを触れるクライアントであるWWW::NHKProgram::APIを書きました.https://metacpan.org/release/WWW-NHKProgram-API https://github.com/moznion/WWW-NHKProgram-A…
ファイルハンドルをbinmodeで変更して,そのファイルハンドルを用いて何らかの処理を行いたい,という欲求がしばしばあると思います. 単純に書くと以下のようになるでしょう. このコードではファイルハンドルを普通にopenして,それをawesome_function()に…
Text::LTSVのparse_fileとparse_file_utf8には元々ファイルパスしか引数として与えられなかったのですが,Version 0.08以降はここにOpenしてあるファイルハンドルを渡せるようになって便利です.処理がスマートに書けるようになって大変満足!
Text::Xslateのバージョン3.1.0から,テンプレートのSyntaxが正しいかそうでないかをチェックするメソッドが追加されていて便利です. 以下のように,テストしたい対象のテンプレートファイルをvalidate()メソッドの引数として食べさせてあげると,そのテン…
Hokkaido.pm #11に参加してまいりました. 以下が僕の発表スライドです. Hokkaido.pm #11 from moznion 言いたいことは大体スライドに書いてある通りで, TestとDocumentは同じ方向 (どちらも正しいソフトウェアの動作について論じている) を向いている 従…
このたび,Test::Synopsis::Expectationというモジュールをリリースしました. https://metacpan.org/pod/Test::Synopsis::Expectation https://github.com/moznion/Test-Synopsis-Expectation 使い方や仕組み等をid:mackee_wさんの記事で紹介していただいた…
ほぼ100%藤原さんの記事の受け売りですが…… [perl] Perlで同じコードを違うバージョンのモジュールでベンチマークする - 酒日記 はてな支店 モジュールを開発している時に,フィーチャブランチの変更が性能に対してどれくらい影響を及ぼしているかを調べたく…
cpanfileのシンタックスが壊れていた影響で悲劇が起きていていたので, そういうのは機械にチェックさせましょうや,という事で書いたのが以下です. Syntax test for cpanfile. 仕組みは至って簡単で,Module::CPANfile->load()にcpanfileのパスを食わせて…
Test::JsonAPI::Autodocをリリースしました. https://metacpan.org/pod/Test::JsonAPI::Autodoc https://github.com/moznion/Test-JsonAPI-Autodoc これは何 Ruby (RSpec) にはautodocという,@r7kamuraさんが書かれたクールなモジュールがあって, これが…
[追記] 色々と問題を修正しましたので、最新版 (v0.0.5) をご利用なさる事をおすすめ致します。 (問題を報告して下さった@__gfx__さん、@uzullaさんありがとうございます) [追記ここまで] この度、Pod::Text::Color::Delight というモジュールをリリース致し…
Plack::Request::WithEncoding というモジュールをリリースしました. https://metacpan.org/module/Plack::Request::WithEncoding https://github.com/moznion/Plack-Request-WithEncoding これは何 このモジュールは Plack::Request のサブクラスで, Requ…
今日は YAPC の前夜祭ですね! 今年の YAPC の前夜祭は、去年の YAPC で好評を博した LTThon が Tiny となって開催されます! 僕は LTThon にはお手伝いとして参加していて、楽しい催しになるように努力しますので是非是非ご参加下さいませ! LTソン::Tiny -…
バージョン 6.04 よりも古い LWP::UserAgent に delete メソッドが生えていない。少し驚いた。 古い LWP::UA 使ってると、それを継承している WWW::Mechanize とか、さらにそれを継承している Test::WWW::Mechanize とかでも delete メソッドが使えない。大…
Text::MeCab 入れたいけどコケるのよ!!! という方に向けた記事のはずでしたが、 もはや Text::MeCab とか関係ない感じの記事になったことを報告します。Mecab 自体のインストールについては言及しません。 以下に記すサイトが詳しいのでご参照下さい。 ht…
世の中の Perl の Package の末尾には大体 `1;` って書いてあって、これが何か言うと「このモジュールは真値を返していますよー」という表明で、まああけすけに言うとこれが記述されていなければ、そのモジュールは use とかされた時に不正なモジュールとし…
(2013/08/01 3:44 + 0900 追記) https://metacpan.org/release/MLEHMANN/common-sense-3.72 common::sense は3.72 にバージョンが上がって、 以下に書かれている様な問題は消え失せました。戦いは終わったのです!!!*1普通に $cpanm common::senseみたいな…
インストールされているモジュールをインストールされていないが如く扱う方法 - その手の平は尻もつかめるさ の続きというか訂正です。 すっげーーーーーーーーーー前に miyagawa さんから指摘を受けていたんですけど、書きそびれていたので書いておきます。…
App-pmdeps https://github.com/moznion/App-pmdeps モジュールを書いている皆さんはモジュールの依存関係に細心の注意を払っていることと思いますが、 いちいち CPAN の Web ページにアクセスしたり、curl で API を叩いたりするのがだるいですよね!!! …
cpanfile にrequires 'Acme::Buffy'; requires 'Acme::Anything'; requires 'Acme::Damn'; requires 'Acme::Coro::Suke'; などと記述されていた時に、先に書かれた (つまり上に書かれた) モジュールから先にインストールされるのか? という疑問が割と散見さ…
(2013.7.16 追記) “インストールされているモジュールをインストールされていないが如く扱う方法”の続き - その手の平は尻もつかめるさ の方法の方が良いと思いますので、そちらをご覧下さい!! (追記ここまで) 何を言っているか分からないと思いますが…
ここで紹介した Test::LocalFunctions ですが、パワーアップ致しました。 @__papix__ さんが書かれた Test::LocalFunctions::Fast 取り込んだのが主な変更点です。 元々のTest::LocalFunctions は PPI を利用していましたが、 Test::LocalFunctions::Fast で…
まだ cpanm のドキュメントに書かれていないようだったので。 以下のようにすれば入ります。 recommends $ cpanm Foo::Bar --with-recommends suggests $ cpanm Foo::Bar --with-suggests ロンモチで --installdeps とかの場合でも使えます。
CPAN のモジュールは、モジュールの名前がしっかりしているというか厳格な感じがしていて、 他の言語に多くありがちな幻覚な名前 *1 と比較すると、そのモジュールが何の仕事をするモジュールなのかが一目でわかって良いですし、 気分的に安心して使える感じ…
cpanfile が書きやすくなるかも知れないVim 拡張を書きました。 「書きやすくなるかも知れない」ってことは「書きやすくならないかも知れない」って事です。 深淵ですね。 プラグインたち https://github.com/moznion/vim-cpanfile https://github.com/mozni…
色々と[私仕]事が重なっていて忘れておりました。 Test::LocalFunctions をリリースしておりました。 https://metacpan.org/module/Test::LocalFunctions https://github.com/moznion/Test--LocalFunctions これはなに? モジュールファイル内 (MANIFEST フ…
carton をcpanm でインストールしようと思ったら、依存モジュールであるlocal::lib のインストールに失敗してしまったので、 解決策をメモ程度に書いておきます。 正直、原因が良く分かっていないので超対処療法的です。 (なお、環境はUbuntu 12.04/64bit、P…
タイトルは釣りです。 App::WithSound をリリース致しました。 https://github.com/moznion/App--WithSound https://metacpan.org/module/MOZNION/App-WithSound-v1.0.2/with-sound (2013.03.06 追記) App::WithSound はv1.1.0 にバージョンアップしました。…
いつの話だ!!! *1 今回はJPA 代表の牧さん (@lestrrat) が特別講師 *2 として来られていました。 Q&A セッションとして、1時間牧さんに自由に質問して牧さんがそれに答える、というスタイルで進めていました。 以下まとめ 牧さん (Q&A セッション) コード…
僕はXML ファイルについて、 「読みにくい」 「書きにくい (書くのがめんどい)」 「ファイルが無駄に長くなる」 の3拍子がバッチリ揃っている、「人類がマトモに扱うにはちょっと早すぎるフォーマット」だと思っていて、 「コイツ生かしといて意味あんの?」…