理系学生日記

おまえはいつまで学生気分なのか

perl

クローズドな図書館を作ろうプロジェクトは頓挫しました

そういえばこんなプロジェクトがありました。 友人間で本を貸し借りするのは法律的にどうなのか - 理系学生日記 これは、同期の間で共有できる知識を含んだ本とかあるハズだから、そういうのが簡単に貸し借りできるシステムを作ったら良いんじゃないかと、ぼ…

screen に LDR の未読数を表示する

screen の backtick を初めて知りました。 そもそも screen ってよっぽどターミナルの切替えが面倒くさいときしか使っていなくて、この間 Mac OS を再インストールしてからは .screenrc すら作っていないとか、そんな感じ。今日はそのへんの設定してたら、ba…

CGI::Application の文字化け

前と同じところ詰まったけど、結局、UTF-8 で書いた日本語入りのテンプレートなのに、HTTP のヘッダでの文字コード指定が間違っているという前回と同じ過ち。 CGI::Application において、ヘッダをクライアントへ送出する直前に呼ばれる cgiapp_postrun にて…

IT 勉強会カレンダーを iCal でちょっと使い易くする

IT 勉強会カレンダーにはぼくもお世話になっています。ぼくはこのカレンダーを iCal に登録している。ところが、iCal だとちょっと困ったことが起こってしまいます。勉強会カレンダーには、その勉強会に関する URL まで配信してくれていますが、iCal ではこ…

POE の処理の流れを把握してみる

メモ書き程度に。 準備 POE の多くのクラスは、POE::Kernel に対する mix-in となっています。つまり、POE::Kernel パッケージに属するメソッドなのに、Kernel.pm にないんだけど…!! ということがよく起こる。これをなんとかするために、とりあえず TAGS フ…

PoCo::Client::Twitter で POE を学ぶ

使ってみたいと思っていたフレームワークに POE がありました.ぼくは一言で POE を言い表せられるほど POE に詳しくないですけど,ドキュメント的には POE - portable multitasking and networking framework for Perl POE - portable multitasking and net…

Gmail の フォロー返しスクリプト修正

先日のエントリでコメントを頂いて,Twitter からのメールのヘッダに様々な情報があることを知りました. gmail 宛に届く follow メールに対して自動で follow 返しする - 理系学生日記 なんでみなさん知ってるんだろう,どこにドキュメント化されてんのかと…

gmail 宛に届く follow メールに対して自動で follow 返しする

以前に nipotan さんが,以下のようなスクリプトを作っていました. Twitter でイチイチ follow するのが面倒くさい - にぽたん研究所 しかしながらぼくが twitter に登録しているのは gmail のアドレスですから,こういうのできないよなーと思って思考停止…

指定した文字の数を数えるワンライナー

なんか先輩がログファイルから指定した文字の数を数えるということをされていて,Perl だったらどうやるだろうとか思ったりした.直感的にはこんな感じだけど,なんかもっと良い方法がありそう. $ cat count-char.dat aaaaaaaaiiiaabcxbfjdjal;djifa;jfdlsd…

Perl の組み込み関数一覧を作るワンライナー

Perl の組み込み関数ってどうやって取得するかなーとしばし悩んだ後,特段何も思いつかなかったので,perldoc perlfunc から取り出してみることにしました.これだと -X とかは出ませんけど,まぁそういうのは良いかなーって思ってました. $ perldoc -otxt …

Cricket のソースコードを読む際のポイント

Cricket Home Cricket では,各監視対象に関するデータをコンフィグファイルから一旦 config.db というファイル名の Berkeley DB に書き出すことになっています.そのため,この config.db をどう操作するのかさえ理解していれば,随分とソースコードは読み…

Higher Order Perl がおもしろすぎる件

読み終わってから「Higher Order Perl ってとても面白かったです!!」とか言ってカッコつけようとか思ってたんですけど,電車の中でしか読まないからなかなか進まないし,そもそも今週は全然日記書けなかったから,この日に何を考えてたのか忘れたし,繋ぎの…

Web::Scraper で CDTV のランキングを Get しよう

Perl で CDTV のランキングを Get するモジュールとしては,WWW-CDTV がありますが,とりあえず Web::Scraper で書いてみた. #!/opt/local/bin/perl use strict; use warnings; use Web::Scraper; use URI; use YAML::Syck; binmode STDOUT => ':utf8'; my …

Solaris で Perl モジュールを make しようとしたらハマった

諸事情により,インターネットに接続できない Solaris 上で Perl のモジュールを make しなければならないというワケの分からんことになってしまったのですが,そこでハマってしまったので情報共有など.なにがどうなったかと言いますと, # perl Makefile.P…

XML::XPath で XPath に入門してみた

XPath は XML ドキュメントに対するアドレッシングを行う技術です,みたいなことが W3C に書いてあるんですけど,まぁ今のところは XML のノード(とかノードセットとか)を探したり,ちょっと操作できるようにできるものって理解しているのでした.今は http:…

フォルダ一式を iPhone に入れてソース・リーディングするためのスクリプト

iPhone はソース・リーディングのお供ですが,基本的にはシンタックス・ハイライトの機能はありません *1.そこで Text::VimColor を使ってシンタックス・ハイライト済みの HTML を生成後 iPhone に転送してやり,iPhone からはブラウジング機能を持つアプリ…

CPANPLUS で CPAN::Mini を使うには

CPAN::Mini は CPAN の mirror (ただしモジュールの最新版のみを保持) をローカルに持っておくことを可能にするモジュールで,minicpan コマンドとかがバンドルされていて,このコマンドだけで mirror が作れる. $ minicpan -r http://ftp.funet.fi/pub/lan…

CGI::Application で UTF-8 のテンプレートを読み込んで文字化けするときの対処

CGI::Application で Web アプリを作っているのですが,表示する画面が文字化けしました. 原因調査 CGI::Application はデフォルトのテンプレートエンジンとして HTML::Template を使いますが,HTML::Template が utf-8 で書かれたテンプレートファイルを読…

正規表現にマッチした数を数える

なんか誤読されていた感じなので. 正規表現にマッチした個数 - 理系学生日記 my $str = "ababab"; print "マッチした個数は ", scalar( () = $str =~ /abab/g ), " 個です\n"; これは "abab" という正規表現にマッチした数を出力させていますが,オーバーラ…

MySQL で DBIC (DBIx::Class) の Example を実行するまで

Perl の ORM として大人気の DBIx::Class を試そうと思ったところ,わりと苦戦したので,その苦戦記なのです. **DBIC のインストール DBIx::Class のインストールは非常に簡単でした. |tcsh| $ sudo cpanp i DBIx::Class ||< **DBD::mysql 今回は MySQL を…

London.pm に点心の話題が多すぎる件

下手すりゃ Perl の話題より点心の話のほうが多いのではないか.

QUERY_STRING 中のパラメータの区切りは必ずしも '&' ではない

cricket とは SNMP を使って様々な機器から情報を取得し,CGI でグラフまで作成するという代物です. Cricket Home ぼくはその CGI を愛でては溜息をつく,みたいな憂いのある午後を過ごしてたんですけど,どうも CGI に渡すパラメータがセミコロン (';') で…

CGI::Application::Dispatch のディスパッチ

CGI::Application を使ったときのディスパッチをしてくれるクラスとして,CGI::Application::Dispatch がある. CGI::Application::Dispatch - Dispatch requests to CGI::Application based objects - metacpan.orgCGI::Application::Dispatch を使ったとき…

CGI::Application での Run mode 決定

まだあんまし CGI::Application 分かってないんだけど,CGI::Application を使ったときのアプリの動作(どの関数が呼び出されるか)は Run mode で決まる. じゃぁどこで Run mode が決まるかというと,実際に決定がなされているのは CGI::Application::__get_…

システムの計画

実は WEB アプリみたいなの作るの初めてなんだけど,MENTA 使ってみたい.

Perl における system 関数の振舞い

ほとんどの言語には system という関数が用意されていて,これはプログラムから外部プログラムを呼び出すことができます.例えば C 言語では,system に渡された引数が /bin/sh 経由で実行されたりします(ref: http://www.linux.or.jp/JM/html/LDP_man-pages…

Test::Output

Perl というとテスト回りのモジュールが大変充実しておりまして,受験勉強の学生なんかメじゃないくらいに皆さんテストばっかしやっておられることでしょう. ところでテスト対象となるのは基本的にはデータです. データとはとかいうと何か深淵な議論になっ…

mod_auth_cookie (テスト編)

-mod_auth_cookie (インストール編) - 理系学生日記 -mod_auth_cookie (設定編) - 理系学生日記 -mod_auth_cookie (テスト編) - 理系学生日記 **テスト用 CGI ここでは,クライアントにクッキーを設定するための単純な CGI (cookie.cgi) を作成しました.こ…

cricket

cricket とかを勉強せざるを得ない状況になってきました. Cricket Home まだ十分にソースもドキュメントも読めてないダメな状況なので,仕方がないのかどうかも良く分かりませんが,一関数が 700 行あるのは正直どうなんだとか思うなどしているところです.

CGI 関係で Apache 1.x から Apache 2.x に乗り換えるときのハマりポイント

ぼくはちょっくら Apache 1.x から 2.x に乗り換えようとか調子コいたことをやってみたんですけど,なんか CGI とかでいろいろ不都合が出たりしたので,ちょっとメモしておこうと思ったのでした. **Apache::SizeLimit メモリがデカくなりすぎるとプロセス k…