ひだまりソケットは壊れない

ソフトウェア開発に関する話を書きます。 最近は主に Android アプリ、Windows アプリ (UWP アプリ)、Java 関係です。

まじめなことを書くつもりでやっています。 適当なことは 「一角獣は夜に啼く」 に書いています。

Perl

Perlbrew で同じバージョンの Perl を別名で複数インストールする方法

Perl のバージョン管理ツール Perlbrew で、既にインストールしている Perl のバージョンを別名で新規にインストールしたい場合、--as オプションを使うことで別名を付けられる。 (いつもわからなくなって id:aereal 氏に教えてもらってばかりいるのでいい加…

Perl においてサブルーチンがどのパッケージで定義されているのかを調べる方法

Perl で、とあるパッケージの中で使用できるサブルーチン (あるいはメソッド、関数、CODE ref) がどこで定義されているのかわからないということがたまにあります。 use を使って別のパッケージのサブルーチンをインポートした場合などがその最たる例でしょ…

Kyoto.pm Tech Talks 02 で WebSocket のことを話しました

2012 年 8 月 18 日に開催された Kyoto.pm Tech Talks 02 で WebSocket のことを LT してきました。 発表資料 参考 WebSocket プロトコルの詳細 : RFC 6455 - The WebSocket Protocol WebSocket API : 10.3 Web sockets — HTML Standard Takeshi Yoshino - G…

evernote-sdk-perl で Thrift::TException が発生する原因

Evernote Cloud API を使用するためには Evernote が提供するライブラリを使用する必要があります。 (Evernote Cloud API の詳細については 公式ドキュメント をご覧ください。) Perl 用のライブラリは evernote-sdk-perl です。 内部的には Thrift が使われ…

perlbrew を使って Ubuntu 12.04 に perl 環境を構築する

Ubuntu 12.04 に perl 環境を構築しようと思って作業していたのですが、perlbrew を使って perl のインストールをしようとしたところ以下のようなエラーが発生してビルドに失敗してしまいました。 (略) <math.h> found. Checking to see if your libm supports _LIB_</math.h>…

Perl の Class::Accessor::Lvalue::Fast モジュールの使い方とか実装とか

Class::Accessor::Lvalue::Fast モジュールを使っているコードをしばしば業務で目にしつつも、ちゃんと体系だって理解してなかったので調べてみた。 自分用メモ程度の内容なので詳細はドキュメント参照ということで Class::Accessor 系のモジュール Class::A…

「Math::BigInt: couldn't load specified math lib(s)」 を解消する (Perl)

Math::BigInt 関係のモジュールを使用していると以下の警告 (エラー?) に遭遇。 必要なライブラリがないから Math::BigInt::Calc モジュール を代わりに使うよ、ってことみたいですね。 Math::BigInt: couldn't load specified math lib(s), fallback to Mat…

PerlMagick (Image::Magick) のインストール (Debian squeeze + perlbrew 環境)

ImageMagick の Perl 用インターフェイスである PerlMagick (Image::Magick モジュール) のインストールがなかなかうまくいかなかったので、メモしておきます。 環境 Debian squeeze (6.0.4) Perl 5.8.8 (Perlbrew 0.42 でインストール) 背景 最初は apt-get…

github にアップロードした README.pod が文字化けした問題 (POD の encoding コマンド)

github では、pod やら rdoc やらいくつかのマークアップ形式を理解して、自動的に README ファイルを HTML に変換してくれます。 で、Perl のプロジェクトを作っていたので POD で README ファイルを書いていたのですが、何も考えずにアップロードすると下…