perl
お仕事帰りに池袋ジュンク堂によったら 洋書コーナーでmastering Perlっていうオライリーの新刊が出てたので他に欲しい本があったのにかかわらずカッとなって購入。Mastering Perl作者: Brian D. Foy,Randal L. Schwartz出版社/メーカー: Oreilly & Associat…
懇親会でコールかけられてビール瓶いっきしてたのは僕でs。(ビール瓶は飲みかけで中身は少なかった) 本編の方は しっかりまとめていらっしゃる方が多いので、特別書かなくてもいいよね...とにかく実りの多い二日間でした。参加して良かったです。
MacのAutomatorを使います. (デブサミのYoupyさんのプレゼンを見て感化されました) 以下のように設定。 Safariでしょこたんブログ開いて、上記のワークフローを実行するとしょこたんの携帯画像だけが勝手に落ちてきます。似たようなネタはあちこちで見かけま…
Perl Hacks ―プロが教えるテクニック & ツール101選作者: chromatic,Damian Conway,Curtis "Ovid" Poe,株式会社ロングテール,長尾高弘出版社/メーカー: オライリー・ジャパン発売日: 2007/01/23メディア: 単行本(ソフトカバー)購入: 5人 クリック: 62回こ…
メモ sub cons { #construct Pair Data my ($x, $y) = @_; return sub { my $m = shift; #dispatch if ( $m == 0) { return $x; }elsif ($m == 1) { return $y; } }; } sub car { #$z must be Pair Data my $z = shift; $z->(0); } sub cdr { my $z = shift;…
antipopさん Plagger で、はてなミュージックを Windows 以外でも使えるようにする http://music.hatelabo.jp/hiboma/anitpopさんのおかげではてなミュージック使えるようになりましたよ〜.どうもありがとうございますです。 *文字コードあわなかったのか、…
\C-x $ :set-selective-display・・・指定した桁数以上字下げしている行を隠す関数とのことhttp://www.bookshelf.jp/texi/emacs-20.6-man-jp/emacs_12.html#SEC80 と言われてもよく分からんので画像.こういうのが、M-4 C-x $ で (4字下げの行を隠して表示)…
zsh: diffの結果をvimで色付けして表示するグローバルエイリアス でも、diffの結果はちょっと読みにくい。もしdiffの結果が色付けされていたら、もっと読みやすいじゃないかと、今日ふと思いました。 そこで、zshのグローバルエイリアスを使って、diffの結果…
Plaggerで取得したフィードをフィルターでJSON化してMozReplに食わせる。んでMozReplでlocation.hrefとかでどこかのページに飛ぶ。そのページには JSONを整形して見やすくするJavascript(テンプレート)を仕込んでおいて、コードが実行されるとFirefox上にフ…
#!/usr/bin/perl use strict; use warnings; use Net::Telnet; my $t = new Net::Telnet( Port => 4242, Host => 'localhost', ); $t->cmd(qq|content.location.href='http://www.google.co.jp'|); my @message = $t->cmd(qq/alert('Hello,World!')/); $t->c…
Software Design (ソフトウエア デザイン) 2006年 10月号 [雑誌]出版社/メーカー: 技術評論社発売日: 2006/09/16メディア: 雑誌購入: 3人 クリック: 43回この商品を含むブログ (17件) を見るSoftware Design 10月号に載っていた「Plagger Server で作る盗難…
今日は渋谷に用事があったので出かけたのだけど、あいにくの雨模様だったので、用事を済ませた後はNHKのそばのスタバでPerlの勉強してた。なかなかやまないじとじと雨の降るを街頭を横目で眺めつつ、紙に印刷してきたPlaggerのソースコードを読み進めてたら…
RSS->Javascriptの変換をしてくれる XML::RSS::JavaScript をベースにして簡単なRSSアグリゲーターを書いた。今時RSSアグリゲーターなんて珍しくも何ともないのがミソ。作ってて無力感に襲われるhttp://hiroya.dyndns.org/rssjs/XML::RSS::Javascriptの機能…
こんな配列があったとして my @array = qw/hiroya naoya tatuya cinamon hoge hage/;配列各要素に何らかの処理をするとする。で、例えば先頭から3つの要素だけで処理を終わらせたいってときは for文やらwhileでカウンターを回して処理する方法しかないのか…
CatalystのコンテキストオブジェクトをDumperして、perltidyで整形 というエントリを書いたんだけど、 「普通にスタックトレース見ればいいんじゃん」 ってことで自爆。RSSで全文見てる人は気にしないでください。流してください。
Plagger動いた わーい。 (以前にも試したことあったんだけど、設定してる途中で寝てしまったか なんかミスったかで、それ以来いじったことなかった)これで「それPla」 って堂々と言える
モジュールの呼び出し位置を洗い出すハックhttp://hiroya.g.hatena.ne.jp/hiboma/20060707/p1
http://hiroya.g.hatena.ne.jp/hiboma/20060706/p2
http://hiroya.g.hatena.ne.jp/hiboma/20060706/p1
Lightweight Language Ring のチケット買った。http://ll.jus.or.jp/2006Rubyカンファレンスの時みたいに速攻で売り切れてるのかなと思ったけど、そうでもなかったみたい。チケットが3,500円でひよったけど、おまけとしてTシャツがもらえるみたいなので良し…
PerlHacksに載ってるやつを試す。 ミニサーバーを起動してpodをブラウザで見れるようにするpodwebserver。 CPAN> install Pod::Webserver $ podwebserverI am process 1555 = perl Pod::Webserver v3.03 Indexing all of @INC -- this might take a minute. …
Perlで数字演算はあんまりしないけど print int(2.4/0.2); # 結果は11になる! 2.4÷0.2 といった計算は、浮動小数点がほにゃららのせいで誤差が生じるということをメモしておく。あれ、でも int を外したら12になる。よく分からん。Mastering Algorithms With…
ベンチマークする時の留意点をあげてみます。ちょと長いけど興味ある人は読んでね。ファイルを読み込んで操作するコードについて、Perl Best Practiceでは my $code = do { local $/; } とすることで、ファイルを一気読みすることを薦めている。 これに対し…
2次元の配列でビットマップをまねて、左右対称に反転/上下対称に反転 を再現する操作 の続きをやります。 今度は2次元の配列(行列?平面?)を「90度回転」する操作をしてみようと思います。画像を90度回転する ってよくやるよね。写真の縦横の向きを変…
唐突ですが my $A = ['a1' , 'a2' , 'a3' , 'a4']; my $B = ['b1' , 'b2' , 'b3' , 'b4']; my $C = ['c1' , 'c2' , 'c3' , 'c4']; my $D = ['d1' , 'd2' , 'd3' , 'd4']; my @XY = ($A , $B , $C , $D ); #もしくはこっちの方が書き方キレイかな? # #my @A …
母ちゃんがパソコンに向かって「ああ これこれ。パール パール。パールだよ。」って言ってるからびっくりして画面をのぞきんで見たら、なんてことはない「真珠」の方のパールだった。Perlにあらず。
ベンチマークしたことがなかったのでやってみた。配列要素を一個ずつインクリメントする時、foreachとmapでどっちが速いんだろうなーっと。 use Benchmark; my @array = 1..10000; timethese(10000 , { 'foreach' => sub { $_++ foreach @array; } , 'map' =…
foreach や if/else やらがごちゃごちゃに絡んだコードを、mapやgrepで短く簡潔に書き換えているコードを見るとスゴいなーと思う。 いろんなやり方がある と言われるPerlだけど、スマートに(しかも分かりやすい)コードを書ける人が一番クールだと思う。ハ…
調べていたらこんなやり方を発見した package Name; my $singleton; BEGIN { $singleton = { attribute => 'value', another => 'something', }; bless $singleton, "Name"; } sub new { my $class = shift; return $singleton; } BEGINブロック内でオブジェ…
「これぐらい読めるようになれyo!」と、どこかのエントリーで紹介されていたClass::Data::Inheritableのソースを読んでみます。読めるかな・・・ドキドキ package Class::Data::Inheritable; use strict qw(vars subs); use vars qw($VERSION); $VERSION = '…