Archive

For the Perl category

QRコードを作成するプログラムを作ってみた

No Comments

最近、仕事でも携帯電話やスマートフォンでURLを入力する機会が増えてきた。
簡単なURLならまだしも、長ったらしいURLだと入力するのも面倒だし、打ち間違えたりするとイラッ!ときてしまう。

このURL入力を簡素化するためQRコードを生成して、それをカメラで読み取ればいいやと思い、プログラムを作成。

今回は開発スピード重視ということで、開発言語はPerlを用いた。

ちなみにPerlの場合、CPANにGD::Barcode::QRcodeという便利なモジュールがあるのだ。
使い方はいたって簡単。


use GD::Barcode::QRcode;
binmode(STDOUT);
my $qr = new GD::Barcode::QRcode->new(
     'http://www.geekwind.net',
     { Ecc=>'L', Version=>5, ModuleSize=>4 }
);
print $qr->plot->png;
exit;


なんとまぁ、簡単なこと。
ということで、これをCGI化してWebでQRコードを表示できるようにしたのである。

ひとまず楽天商品検索用のPerlモジュールができた

No Comments

昨日から触り始めた楽天WEB SERVICEの商品検索用のPerlモジュールができた。

ということで、キーワードを渡せば、アフィリエイトコード付きで商品検索結果を取得することができるようになった。

モジュールそのものは、わりと汎用的に使えるようにしてあるので、オブジェクトを生成する際に、引数を指定すれば私以外の人でもアフィリエイトコード付きの商品検索結果を得ることが可能となる。

とはいえ、そのままだと私のデベロッパーIDを使うことになってしまうため、デベロッパーIDも指定してできるようにはなっている。

明日はAmazonのAPIを利用して、汎用モジュールを作成しようかと思ったが、実はNet::AmazonのようなモジュールがCPANには登録されているので、Amazonに関しては作る必要がない。

なので、明日はValueCommerceのAPIもしもドロップシッピングのAPI(PDF)、Yahoo!ショッピングのAPIを使った検索モジュールを作成しようと思う。

 

 

朝っぱらからバグ修正

No Comments

誕生日をつぶやくTwitter Botにバグがあった。

いつものように朝、Twitter Botのつぶやきを見ると、今日(2/14)のつぶやきがない。
「あれ?おかしいな?」と思い、プログラムの動作ログを見ると、エラーになっている。

エラーは単純明快で誕生日の人物が取得できていないためエラーになっていた。
実際のWikipediaの2月14日のエントリーには誕生日の人物は掲載されている。

ということは必然的に解析部分のエラーとなる。
調べてみると、とある条件で取得できないパターンがあることが判明。
今回はまさにそれにハマっていた。

ということで、朝からバグ取りをして、Twitter Botの再開をしたのであった。

TwitterBotにGoo.glの短縮URLを追加

No Comments

先日作成していたTwitterBotにGoo.glの短縮URLを追加した。

結局、先のエントリーの「BSDあれこれ」さんのものは全く使わず、シンプルな方法を選択。

シンプルな方法とはOAuthは使わず、JSON形式でLWP::UserAgentを使ってPOSTする方法である。

割とあっさりできた。

次回、起動するBotからリンク情報が埋まるはずである。

もし、リンク先にミスがあった場合には連絡してもらえると嬉しい限りだ。

ところで、さらにネットで調べたところ、CodeZineにPerlモジュールもPHP用のラッパーもあると記載されていた。
それを使えばよかったかな、と思うが、まぁ大したことではないので、よしとしよう。

Goo.glを今度はPerlで

No Comments

先日、PHPでGoo.glの短縮URL生成をやってみたが、今度はPerlでやってみようかと思う。

とはいいつつも、おそらくどなたかが実践されていると思うので先にググってみた。

やっぱりいらっしゃいますね。

BSDあれこれ」さんのところの「Googleの短縮URL goo.gl APIが公開されたのでperlで試す」というエントリー。

CGIそのものは利用するつもりはないけれども、ソースを流れでみたいのでダウンロードさせて頂きました。(感謝)

これからソースを読もうかな、と。



Blue Taste Theme created by Jabox