日向夏特殊応援部隊

俺様向けメモ

Perl

LEGO::Colors

タイトル通り、LEGO::Colorsと言うモジュールがCPANにあったので使ってみました。 ソース #!/usr/bin/perl use strict; use warnings; use LEGO::Colors; use HTML::Template; my $template = HTML::Template->new(filehandle => *DATA, option => 'value');…

X-REPROXY-CACHE-FORを使いたい人向けショートBK

id:tokuhiromさんとかid:precuredaisukiさんとか既知だろうけども。。。 CREATE SERVICE balancer SET listen = 0.0.0.0:81 SET role = reverse_proxy SET pool = myclusters SET persist_client = on SET persist_backend = on SET verify_backend = on SET…

Software Design 9月号でMogileFSの記事を書きました

Software Design (ソフトウェアデザイン) 6%OFF | Fujisan.co.jpの雑誌・電子書籍(デジタル版)・定期購読 Software Design 3回連続でMogileFSについて記事を書きます。 今回はその第1回目でShibuya.pmのテクニカルトークで話した内容を現在の状況に合わせた…

ブラウザキャッシュの挙動を見てみる

改めて勉強したかったので、こんなテストしてみました。 Apacheの設定とテスト内容 <VirtualHost *:80> ServerAdmin zigorou@localhost DocumentRoot /home/zigorou/www/cache ServerName cachetest.art-code.org ExpiresDefault "access plus 5 minutes" Alias /test1 /home/z</virtualhost>…

直積の導出と考えうる全ての値を網羅したハッシュの生成

昨日から激しく悩んでいた内容で、id:kazuhookuさんとnishioさんに色々教わったので、その内容のまとめ。 やりたい事 my $entries = { A => [0..5], B => ["A".."D"], C => ["a".."c"] }; みたいな集合A, B, Cってのがあるとして、A, B, Cから一個ずつ値を抽…

メソッド名一覧の表示

と言う訳でつたないコードですけど投稿してみたお! CPANに頼りまくる系 #!/usr/bin/perl package Foo; { no strict 'refs'; for my $method (qw/foo bar baz test_foo test_bar test_baz/) { *{"Foo::$method"} = sub { print $method . "\n"; }; } } sub n…

warningsプラグマで使えるキーワード一覧

perl -Mwarnings -e '$\ = "\n"; print for keys %warnings::Offsets;'inplace ambiguous semicolon pipe substr closure redefine parenthesis bareword prototype syntax io unopened newline exec recursion once debugging portable layer deprecated mi…

Cache::Memcached::GetParserXSを使うと速くなるのか?

試してみた。あと追記・修正した。 追記(2007-09-11T11:20:32+09:00) 激しく既出だった。(d:id:spiritloose:20060909:1157767723) id:spiritlooseさんとやりたい方向性がかなり被ってるなぁ。wあと、 新しいbinary protocol使えばもっと差が出るかも むむ!…

指定したdomainのファイルを全て消す

こんな感じかなー。 #!/usr/bin/perl use strict; use warnings; use Getopt::Long; use MogileFS::Client; my ($domain, $host); GetOptions( "domain=s" => \$domain, "host=s@" => \$host ); die("host or domain is not valid") unless ($domain && $hos…

DBD::mysqlをOSXにインストールする途中でハマったの巻

もう何度これでハマったか分からん位、DBD::mysqlってcpanで入れられない時にハマる率が高いんですけども、とりあえず僕の環境での話。 OSX 10.4.9 Perl 5.8.6 MySQL 5.0.41 (dmg形式の奴) で結論ですけど、d:id:nskj77:20070527:1180276582 に書いてありま…

Data::ClearSilver::HDFにcspageコマンドつけた

といってもまだCPANには反映されてないと思いますが、一応cspageってコマンドを付けてみました。0.02から使えます。 機能としては、 HDFファイルの生成 HDFファイル化する際の文字列ダンプ HDFファイルとCSファイルからレンダリング 指定した変数群からCSフ…

Data::ClearSilver::HDFをリリース

昨日の夜にリリースしました。 ちと手抜きしちゃったのでPODが適当*1なんですが、とりあえず使い方としては、 use strict; use warnings; use ClearSilver; use Data::ClearSilver::HDF; my ClearSilver::HDF $hdf = Data::ClearSilver::HDF->hdf({ foo => 1…

ClearSilverのPerlバインディングのインストール

ClearSilverは超高速なテンプレートエンジンです。 どのくらい速いかと言えば、id:spritlooseさんがベンチマーク(d:id:spiritloose:20060812)を取ってますので、参考にして下さい。今日そのPerlバインディングをインストールする際にハマったのでメモ。 conf…

MogileFS::Plugin::FilePaths, MogileFS::Client::FilePathsを試してみる

はじめに MogileFS::Client::FilePathsのドキュメントですが、激しく適当に書かれているのと、使い方だとかセットアップの仕方とかは笑えるくらい情報が無いので、ソース嫁しか手段が無い事を予めお断りしておきます。 FilePathsプラグインとは? MogileFSで…

CPANモジュールのパスを表示する

#!/usr/bin/perl use strict; use warnings; my $pm = $ARGV[0]; exit unless $pm; $pm = join("/", split(/::/, $pm)) . ".pm"; exit unless (eval{ require $pm; }); print $INC{$pm} . "\n"; こんな感じ?pmpath.plとかで保存して、PATHの通ったディレク…

File::MMagic, File::MimeInfo::Magic

以前もインストールして使おうとしてちょびっとハマったのでメモ。 共にmime-info databaseを使います。http://www.freedesktop.org/wiki/Software/shared-mime-infoでこいつはRed Hat系ならrpmで入れられるしMacPortsにもありますので、インストールする訳…

Catalystのデプロイに関するあれこれ

雑多なメモです。とりあえずCatalystにおけるデプロイってどーよって辺りからごニョゴニョしてた内容です。 Module::Install + Module::Install::Catalyst catalyst.plでgenerateされたMakefile.PLは、 use inc::Module::Install; name 'MyApp'; all_from 'l…

cperl-mode で Non-hex digit used for Unicode escape な現象が起きる

現在CPANにあがってるcperl-mode v5.0ですが、Linuxに入れたEmacs22では「Non-hex digit used for Unicode escape」なるエラーが出て使えません。orz...軽くgoogle先生に聞いたところ、 http://kamakiri.ddo.jp/nc/blogs/software/?itemid=183 に当たったの…

Carp::Clanのメリット

すみません、今までずっと知りませんでした。orz... 前々から人のソースに良く出て来るのでなんでかなーと思ったんですけども、ふと気になって調べてみました。 carp, croakの違い 論より証拠 #!/usr/bin/perl use strict; use warnings; package Pack::C; u…

CPANモジュールの品質評価

ちょっと考えた事なんですけど、 Testersがどれほど評価したか(PASS & FAIL両方) CPANTSのdist評価 RATING Google Code Searchとか使って、どれほど他から使われているか などを組み合わせたら結構参考になる数値が出てきそうな気がします。少なくとも最近、…

JavaScript::Minifierを使ったJavaScriptファイルの軽量化ワンライナー

cat foo.js | perl -MJavaScript::Minifier -e 'jsmin(*STDIN, *STDOUT);' 終了。

MozRepl module released

先ほど反映されたようです。リリースしました。 今回は真面目にドキュメントを書いたつもりなんで、詳細はドキュメント見て頂けたらと。podより抜粋すれば、 use strict; use warnings; use MozRepl; my $repl = MozRepl->new; $repl->setup; ### You must w…

DBI-1.55は結構良さそう

DBI::Changes - List of significant changes to the DBI - metacpan.orgによれば、 今回は結構意欲的なバージョンアップのようですね。 パフォーマンス面 Changed some handle creation code from perl to C code, to reduce handle creation cost by ~20%.…

URIとURI::fileの挙動

URIモジュールですが、良く使われるモジュールではあるのですが、 schemeを指定しないでURIモジュールでインスタンス化してから、改めてschemeを指定すると酷い結果になります。 use strict; use warnings; use Data::Dump qw(dump); use URI; local $\ = "\…

ack --thpppt でちょっと息抜き

App::Ackをいれてる人は下記のコマンドを打ってみましょう。 $ ack --thppptで結果ですけども、 _ /| \'o.O' =(___)= U ack --thpppt!ワロスw

Data::JavaScript, Data::JavaScript::LiteObject, Data::JavaScript::Anon

pirlと共に使ってみました。淡々と紹介します。w Data::JavaScript pirl @> use Data::JavaScript; jsdump('hoge', 1); "var hoge = 1;" pirl @> use Data::JavaScript; jsdump('hoge', "hogehoge"); "var hoge = \"hogehoge\";" pirl @> use Data::JavaScri…

Module::Pluggable::Fast Source Code Reading

そもそも論ですけど Similar to C but instantiates plugins as soon as they're found, useful for code generators like C. ってあるように、Module::Pluggableと同じインターフェースな訳じゃなくて似てるモジュールです。 似てる 速い すぐインスタンス…

Module::Pluggable Source Code Reading

Module::Pluggable import() まずModule::Pluggableってのはuse時に各種パラメータを指定して使うモジュールなんで、 まずはimportメソッドから。 sub import { my $class = shift; my %opts = @_; my ($pkg, $file) = caller; # the default name for the m…

Games-Nintendo-Wii-Mii Release

物凄いネタっぽぃモジュールですが昨日リリースしました。 肝心の機能ですけども、 mii binaryをparse mii dataの操作 mii binary出力 mii dataのxml出力 が出来ます。将来的にはBluetooth経由でWiimote(Wiiリモコン)にアクセスして直接データ交換出来るよう…

ソースから読むOpenID (1)

追記 特に暗号、認証周りの自分の理解が足りなかったので、結構加筆しました。(><) はじめに 仕様も大事だけどやっぱりエンジニアなのでソース嫁ですよね^^ よりOpenIDの規格を理解する為に、少しずつ読んだ内容をメモって行きます。 Net-OpenID-Consu…