perl

Perl の Log 系モジュールのベンチマークを取ってみた

今年の YAPC や他のセミナーでも、ログの重要性をよく聞いたので、ログをしっかり取るようにしようと考えた。そこで Perl の主要(だと思われる)Log 系のモジュールのベンチマークを取ってみた。 環境及びモジュール Perl-5.14.2 Log::Dispatch-2.29 Log::H…

Perl で Microsoft Translator API を使って翻訳するコードを書いてみた

Microsoft が提供している、Microsoft Translator API を Perl からコールして翻訳するコードを書いた。man page とか perldoc で英語を読む時に、分からない文章をコピーして、翻訳サイトに貼り付けるのが面倒くさくなったんで、コマンドラインから翻訳出来…

Teng で検索あれこれ

前回までの説明で、Teng を何となく使えるようになると思う。今回は Teng が提供する検索メソッドについて触れてなかった箇所についての説明をする。 Teng の検索メソッド 以下の4つのメソッドが提供されている。 Teng#search Teng#single Teng#search_named…

Teng でリレーションを使う方法

前回は Teng でトランザクション処理をする方法を紹介しました。実際に色々試して、ブログに書くと頭にいい感じで入ってくるので続けていきたいです。今回は Teng でリレーションを使う方法を紹介していきます。 題材 説明に使用する題材は、掲示板へのエン…

Perlにおける設定ファイルを自分なりに比較してみた

Twitterで10日くらい前に、Perlから設定ファイルを扱う際に、どの形式を使うのがいいんだろう?みたいな感じなつぶやきをしていたら、フォロワーの方からリプライが付いたので、メジャーな設定ファイル(と思われる)をそれぞれ自分なりに比較検討してみたので…

Teng でトランザクション処理 & はまった点

前回は、Teng で一通りの CRUD の仕方を紹介したんですが、トランザクション処理を考慮していなかったので、Teng でトランザクション処理をする方法を紹介します。 準備 テーブルは前回使用した memo テーブルを使います。 事前に以下の様なデータを入れてお…

Teng で CRUD をしてみる

id:nekokak さんが開発されている、Teng で CRUD を一通りやってみました。僕自身、DBIx::Class を以前使っていたんですが、あまりにも機能が富豪的すぎて使うのをやめてしまいました。それからは生 DBI を使っていたんですが、開発効率を考えたときに、ORM …

モジュールをロードするモジュールはどれを使うのがいい?

モジュールをロードするモジュールは幾つかあるが、どれを使うのがいいんだろうか。まぁ場合によりけりなんだろうけど。僕が知ってるのはだいたいこんな所です。 UNIVERSAL::require ちなみに僕は普段、何も気にせず UNIVERSAL::require を使ってました。OO …

YAPC::Asia Tokyo 2011 に行ってきた

東京工業大学で開催された、YAPC::Asia Tokyo 2011 に行ってきました。僕は、今年を含めて4回目の参加でしたが、今年は参加者と交流をするという目的を持って参加しました。そのかいもあり、色んな方と交流できて、本当に楽しい2日間となりました。前夜祭は…

gtk2-perl #3 イメージビューアにメニューバーとファイルを開くダイアログを追加してみた

前回作ったイメージビューアにメニューバーとファイルを開くダイアログを追加して、アプリ開発をしやすい様に、簡単にクラス化してみた。ソースはこんな感じ。メニューバーはXMLで構造を定義して、それに対応する、コマンドやハンドラを登録するという感じで…

gtk2-perl #2 イメージビューアを作ってみた

入門GTK+の第2章の画像ビューアを Perl で作ってみた。前回から相当期間があいているが、またちょくちょくやっていこうと思う。入門GTK+作者: 菅谷保之出版社/メーカー: オーム社発売日: 2009/10/15メディア: 単行本(ソフトカバー)購入: 6人 クリック: 138…

東京電力の電力使用量を表示するスクリプトを書いてみた

http://linknode.net/tepco.htmlの JSON API を使用して、コマンドラインから現在の電気使用量/電気使用率を表示するスクリプト書いてみた。gist にアップしてあるのでソースコードはここ東京電力の電気使用量を表示するスクリプト · GitHubで確認できます。…

MySQL Cluster の ndb_size.pl を使うための準備

MySQL のストレージエンジン、NDB Cluster のテーブルサイズの見積をするのに便利なコマンド、ndb_size.pl*1は、依存モジュール等がありそのままでは使えないんで、その準備の仕方をメモしておく。 依存しているモジュール HTML::Template Class::MethodMake…

Perlのリハビリ開始

昨年、転職した会社の開発言語が、PHP と Perl だったのだが、なぜかやったこともない PHP の案件ばっかりやることになって、ここ最近はPHP の勉強を中心にやってた。PHP に関しては、良い作法もまだよくわからないし、自分のスキルを生かすことなく悶々とし…

gtk2-perl #1

Linux の GNOME 環境用の GUI を Perl で書きたいと突然思い立って勉強を始めますた。GNOME 環境で GUI をやるときには GTK+ を使う。と言われてもなんのこっちゃという感じなので、自分なりの解釈で説明してみる。 GTK+ とはなんぞや GNOME 環境で GUI なア…

Parse::RecDescent 使ってみた

最近、字句解析やら構文解析に興味があるので、perl の強力なパーサ Parse::RecDescent を使ってみた。まずは簡単に足し算の文法を考えてみる。バッカス・ナウア記法を使って書いていますが、勉強を始めたばかりなので誤りがあるかもしれません。 expression…

AnyEvent で echo サーバ作ってみた

最近ちょくちょく勉強している、AnyEvent で簡単な echo サーバを作ってみた。入力された文字を単純に返すだけだと面白くないので、入力した時の日時を表示するようにしてみた。 #!/usr/bin/env perl use strict; use warnings; use feature qw/say/; use Da…

Perl で QRcode を作ってみる

業務の都合上、Perl で QRcode を作る必要があったのでそのやり方をメモしとく。 GD::Barcode::QRcode を使って QRcodeを作成する おそらくこのやり方が、事実上のデファクトスタンダードだと思う。 #!/usr/bin/perl use strict; use warnings; use GD::Barc…

AnyEvent でイベント駆動プログラミング

昨年の YAPC で非同期系のセッションが人気があったので、ちょっと遅いけど、手を出してみることにする。AnyEvent を小2時間ほどいじってみたので、自分なりの解釈で記事を書くことにする。 イベント駆動プログラミングって何? プログラムが上から下に実行…

Crypt::RC4 試してみた

可逆暗号を使う必要があって色々調べてみた。Blowfish やら RC4 やらいっぱいあるけど、とりあえず、RC4 を試してみた。以下ソースコードです。 #!/usr/bin/perl use strict; use warnings; use feature qw/say/; use Crypt::RC4; my $key = 'amari3'; my $p…

YAPC::Asia 2009 行ってきた

諸事情があって2日目のみの参加となったが、YAPC::Asia 2009(以下 YAPC) に行ってきた。僕が参加したセッション一覧です。 DeNA Loves Perl endeworks での WebApp の作り方 OpenGL Programming with Perl Asynchronous Database Queries with Perl Asynchro…

Perl のテスト

Perl のテストは、Test::More を使って書いてるけど、これってもう時代遅れっぽい。←語弊がありそうです。すみません。Perl のテスト事情を詳しく知る必要がありますね。なので、Test::Base とかに乗り換えようと思ってるんやけど、もっといいテストフレーム…

Parse::AccessLogEntry::Accessor

CPAN に Parse::AccessLogEntry::Accessor なるモジュールをアップしました。しかも、CPAN に初アップです!!やったね。なので、モジュールの説明などをちょこちょこと。 何するモジュールなの? Apache の アクセスログを一行解析する、Parse::AccessLogEn…

CPAN::Mini入れてみた

CPANミラーをローカルに作れる、CPAN::Miniを今更ながら入れてみた。めちゃくちゃうれしいところは、こんな感じっすかね。 飛行機や地下鉄といったオフラインな所でもCPANモジュールをごりごり入れられる ダウンロードする手間が無い分だけインストールも早…

CPAN モジュールを deb パッケージ化

CPAN モジュールを dpkg とか aptitude でインストールできるように deb パッケージ化してみる。まずは、CPAN モジュールを deb パッケージにするために必要なコマンド、dh-make-perl をインストールする。 # aptitude install dh-make-perldh-make-perl の…

とりあえず CPAN の初期設定

あんまり勉強をやる気にならなかったけど、CPAN の設定だけしてみた。まずは、必要(そう)なパッケージをインストール。 # aptitude install make unzip lynx続いて CPAN の初期設定。設定内容はほぼデフォルト(なので設定内容は割愛)。どっちかで CPAN の対…

CGI::Application::Plugin::Redirectではまった

CGI::Application::Plugin::Redirectではまった。といってもインストールでの話し。ちょい古い環境(Perl 5.6.1な環境)に、いつもどおりcpanからCGI::Application::Plugin::Redirectを入れようとしたんやけど、make testでエラーが出て一日くらいはまる。エ…

YAPC Asia 2008のチケット買った

今年もやってきた。Perlの祭典http://conferences.yapcasia.org/ya2008/のチケットが今日から販売だったので購入。去年は二日目が、急性腸炎で行けなくてがっかりしたのを覚えてます。今年はしっかり体調も万全にして、二日間堪能してやるぞ!全世界のPerlハ…

Perlでテストファーストな開発

この頃勉強日記が全然更新できてません。。何もやってない訳じゃないけど、私的な引越しが9月中旬にあって、色んな手続きをやったりとか、盆休みすぐに一週間の出張があったりとかでちょっとしんどいです。とは言いつつも、「Perl Testing」っていう本(洋書)…

HTTP::MobileUserIDを試してみた

id:fbisさんの携帯のユーザーIDを取得する - Unknown::Programmingを見て試してみました。 #!/usr/bin/perl use strict; use warnings; use HTTP::MobileUserID; use HTTP::MobileAgent; my $agent = HTTP::MobileAgent->new; my $userid = HTTP::MobileUser…