2008-06-01から1ヶ月間の記事一覧
HatedaEditorからの投稿.
Yokohama.pmで、kanさんの発表を聞いて、MooseX::POEはなかなか良さそうだと思い、少し使ってみようと思っていたのですが、そもそもPOEのことを全然わかってないので、POE::Component::IRCを使って簡単なbotを作ってみました。 http://github.com/dann/yairc…
Moose標準だと、ArrayRefのattributeを作ってそれをラップするメソッドを書く事になりますが、これは面倒です。そんなときに、使うのがMooseX::AttributeHelpersです。attributeを拡張してくれます。これで、arrayrefにaliasのようなものを追加できるように…
steps = FindVersion, ChangeVersion, CheckChangeLog, DistTest, Commit, Tag, MakeDist git.tagpattern = release-%v git.push_to = origingit.tagpatternでtagの付け方を指定、git.pushtoでpushする先を指定といった感じです。これで、tag付けして、commi…
今年はCPANモジュールを何かリリースできればなぁと思っているのですが、CPANモジュール作成の手順を理解していないので少しまとめてみました。 ひな形作成 pmsetup http://d.hatena.ne.jp/tokuhirom/20080424/1209021402 http://coderepos.org/share/browse…
MooseX::POEの使い方の例として、XIRCDを少し見てみました。 http://coderepos.org/share/browser/lang/perl/XIRCD/trunk/以下、メモです Component MooseX::POEを使う new時にPOCO::XXXをspawan POE系の冗長な記述を簡易に書く仕組み Sub::Exporterでpostな…
http://jjnapiorkowski.vox.com/library/post/catamoose.html moose版catalystについての、いいinterviewですね。折角なので要点だけまとめておきます。要点は、以下の5点くらい。 Moose化 NEXT to C3 applicationとcontextの分離 Moose RoleをPluginに Brea…
psh3llをmoose化してみました。 http://github.com/dann/shell-amazon-s3/tree/master役割別にクラス分けをしたので、signle script版よりは構成は綺麗になりました。 Plugin機構としてDevel::REPLのものを採用 CommandをModule::Findで一括ロード Shell::Am…
Yokohama.pmに参加してきました。色々なテーマのトークがあり、とても楽しめました。家が近かった事もあり、飲み会も殆ど終電を気にせずにいれたのもよかったです。(yokohama.pm)++以下、トークで興味深かった点についてのメモです clouderさん Imager Image…
http://github.com/dann/psh3ll/tree/master/psh3ll.plversionつけれる程度には綺麗になった。これにて、シングルスクリプト版は一旦終わり。続きはShell::Amazon::S3ですることに。
http://github.com/dann/psh3ll/tree/master/psh3ll.pl昨日よりは大分すっきりした。後はこれをmooooooooooose化して遊んでみようかなと。Devel::REPLのプラグイン機構をそのまま抽出して、思いっきりOOなコードにするつもり。Shellも一つフレームワークを作…
以下の3つ Shell::Perl CPANPLUS Devel::REPL CPANPLUSは、色々とTerm::ReadLine用のHackがしてあるからもう少し取り込んでみてもいいかもしれない。Devel::REPLがOO的には一番綺麗に実装されていて、さすがmstといった感じ。
Programming Collective Intelligenceのコードが全部pythonで書かれてて、最近pythonも結構読んでる。基礎的なアルゴリズム含めて全部がコードになっているのが素晴らしいhttp://www.amazon.co.jp/Programming-Collective-Intelligence-Building-Application…
AmazonのS3用のshellの実装が幾つかあるのですが、Perl版がないので作ってみました。 http://github.com/dann/psh3ll/tree/master/psh3ll.plCLIからbucketなどを操作できるのはなかなか快適です。rSh3llからportingしました。一部のメソッドの実装とテストが…
シェルも作ってみたら意外と面白かったので、Shell::Flickrでも作ってみようかなぁと。セットのダウンロードとかを、 fshell> listsets fshell> set <setname> fshell> getfileallのような形でできるようにできたら結構便利なんじゃないかと思った。Devel::REPLの機構</setname>…
さて、FlickrのAPIについてですが、写真のサイズを取得するのに、写真ID毎にAPI呼ばなきゃいけないのが、ちょっといまいちですね。どのサイズが公開できるようになっているのかをpublicListなどで写真のリストを撮るAPIのレスポンスに含めといてくれればいい…
http://perl-mongers.org/2008/06/webservicesimpleflickrfavorites.htmlperl-mongersにmoooooooooooseじゃない記事を書いてみました。perl-mongersには、モジュール使って、こんなことができました!といった、ユーザー視点の記事を書いていこうかなと思っ…
Livedoor picsに写真をバックアップネタを書いた。 http://perl-mongers.org/2008/06/livedoor_pics.htmlS3にバックアップとかがいいかなぁとも思ったけれど、まだちょっとバックアップ用途には高いかなぁという気がする。転送量を気にしなくてもいいバック…
S3の実験を兼ねて、バックアップスクリプトを書いてみました。 http://perl-mongers.org/2008/06/s3.html1Gで10円程度の維持費なので、写真くらいであればバックアップ用途で十分使えるかなという印象です。動画だときついかもしれないですね。# S3を初めて…
flickr to S3にバックアップするスクリプトを真面目に書いてみようかな。まだすこししかS3を試していないけど、実用で使えそうな雰囲気ではある。S3はもう少しコストが下がればいいかなぁ。自宅でRAID5なNASを組んでバックアップするのと、S3にバックアップ…
オブジェクト指向とは!とかに近いレベルの話は関数型言語の文献でもでてくるのだけれど、関数型言語のIdiomやPatternというレベルの話は探してもでてこないなぁ。 どっかにあるのかなぁ。まず、関数型言語の基礎知識をおさえておきたい。
ここ数日Erlangを触っていて、少しだけ関数型言語の面白さがわかってきた。というのも、参照透明性と高階関数がプログラムの抽象化に寄与しているというのが、なんとなくわかってきたから。参照透明性があるから副作用無く関数を組み合わせられるというとこ…
Erlang分散システム勉強会に参加したかったのだけれど、都合が悪くて出れず... 分散システムを作るための言語としてのErlangにとても興味があって、Erlangの勉強をしてみることにした。第2回は参加したいなぁ。
GWに念願のMacにswitchしました!大体使うソフトは落ち着きました。以下のような感じです。 ランチャ QuickSilver タスク切り替え Witch 仮想画面 Spaces キー割当 KeyRemap4MacBook 仮想化 VMWare Fusion ファイラ Path Finder # Windowsのcltcのようなタス…
少しcat版mooseを触ってみて、catalystもMoose版になるとActionClassはなくていいことに気づいてしまった。「Action + Attribute指定 + Base Controller」は、「MooseのRole + around modifire」でできそう。最初は、今のCatalyst::Controller::XXX + Action…
http://dann.g.hatena.ne.jp/dann/20080605/p5で書いていたものですが、ここに書いていたアイデアの実装を用意してみました。 Controllerのpluginという形で実現するために、moose branchのcatalystにパッチをあてています。setup_actionsの後でRoleをconsum…
CatalystのControllerの機能拡張をControllerにしてしまうというのが、どうも気持ちがわるいケースがあるなぁと思っていました。具体例で考えると、ValidationはControllerのスコープでするのがいいと思うんですが、ValidatorがControllerになっちゃうのが気…
hide-Kさんからコメントをもらったので少し。hide-Kさんの言われてるのは、Action+Contrllerのベースクラスという話だと理解してます。ActionClassの指定を簡単にするために、Controllerのベースクラスを使うと。Actionを使う事についてはそれがいいと思って…
http://d.hatena.ne.jp/tomyhero/20080605/1212687365 自分が言いたい事は、tomyheroさんが受けた印象とは違うので、一応自分のスタンスを簡潔に書いておきます。tomyheroさんの話は、使う話と作る話が混在してるような気がするので、分けて書くと、自分のス…
ベースクラス package My::TestBase; use strict; use warnings; use base 'Test::Class'; INIT { Test::Class->runtests } 1; テストクラス package My::Dog::Test; use base qw/My::TestBase/; use Test::More; sub test_bark : Test(2) { is '…