タグ

ブックマーク / charsbar.hatenadiary.org (13)

  • Hokkaido.pm #4 - Charsbar::Note

    すっかりご報告が遅くなってしまいましたが、2/19に開催されたHokkaido.pm #4に参加してきました。今回は先週はじめにslideshareにアップロードした資料がひげ文字になってしまったことを含めて、個人的にはいろいろとトラブルにも見舞われましたし、反省点も多かったのですが、イベント全体としては収支・時間等きっちり想定の範囲内におさまりましたし、午前中は誰も予想していなかったほど人も集まりました。東京組だけでなく、帯広組、そしてたしか道南からいらした方もいたようですし、ユーザ層としても、Perl専門の人だけでなく、前回同様、Rubyの人、C++の人も見えていました。先日開催されたLOCALのイベントでHokkaido.pmはいま北海道で一番熱いコミュニティと持ち上げられていたそうですが、それもむべなるかなと思います。運営にあたったみなさま、参加されたみなさま、お疲れさまでした。次

    Hokkaido.pm #4 - Charsbar::Note
    hirafoo
    hirafoo 2011/03/01
  • モダンPerl連載第31回 - Charsbar::Note

    報告が遅くなりましたが、例によって私の遅筆のせいで一日遅れの公開になりました(ごめんなさい)。今回からは日語まわりの処理について。jperlネタが混じっていたことで疑問に思われた方もいるようですが、「jperl自体はサポート対象外」だけど「そこからこちら側に出てくるための道はサポートの範囲内」ということです。なお、文中にもさらっと書いておきましたが、encodingプラグマは原則非推奨となっています。今回のような簡単なスクリプトの移植をするときには便利に使えますが、それ以外の目的で使うとハマる原因になるのでご注意をば。 http://gihyo.jp/dev/serial/01/modern-perl/0031 もう少し品のない話をしますと、今回の記事を書く直接のきっかけとなったのは、さる方に「that whole dist makes my brain hurt.」と言わしめた一連の

    モダンPerl連載第31回 - Charsbar::Note
    hirafoo
    hirafoo 2010/05/19
    jperlにしがみついてる狂信者が居るようだ
  • Test::LatestPrereqs 0.01 - Charsbar::Note

    管理しているモジュール/アプリケーションが増えてくると、なにかの理由(バグを見つけたとか新しい機能が追加されたとか)で依存モジュールのバージョンをあげようと思ったとき、「ほかにこのモジュールに依存しているものはなかったっけ?」と首をかしげることが増えてきます。そんなときのために簡単なテストを用意するのがこのモジュール。 インストールするとtest_prereqs_versionという非常にタイプしづらいコマンドがついてくるので、Makefile.PL/Build.PLがあるところで実行してやると、こんな感じでPREREQ_PMやらrequiresやらの情報をまるっと解析してバージョンチェックしてくれます。 C:\github\test-latestprereqs> test_prereqs_version 1..6 ok 1 - Test::More 0.47 is ok ok 2 - F

    Test::LatestPrereqs 0.01 - Charsbar::Note
  • Test::UseAllModules 0.11 - Charsbar::Note

    ユニットテストを多用するようになって、t/lib配下のモジュールそのもののエラーでテストが止まることが増えてきたので、Test::UseAllModulesを拡張してテストしたいディレクトリを追加できるようにしました。使い方はこんな感じ。 use strict; use warnings; use Test::UseAllModules under => qw(lib t/lib); all_uses_ok();「under => 」の部分は省略可。libはデフォルトでチェックするので入れなくてもいいです。 例によってMANIFESTに入っているモジュールしかチェックしませんので、私はなにかモジュールを追加するたびにModule::Newのmodule_new manifestコマンドでMANIFESTを更新しています。

    Test::UseAllModules 0.11 - Charsbar::Note
  • JPAとかShibuya.pmとか - Charsbar::Note

    まじめなまとめはほかの方のを読んでいただくとして、どうでもよさげなことだけいくつか。 Catalystの複数モデル/ビューの話 Catalyst::RuntimeのChangesから抜粋。なにかあったのは覚えていたけど具体的にどうだったかはすっかり忘れていた。 5.7099_01 2008-06-25 22:36:00 - Refactored component resolution (component(), models(), model(), et al). We now throw warnings for two reasons: 1) model() or view() was called with no arguments, and two results are returned -- set default_(model|view), current_(model|v

    JPAとかShibuya.pmとか - Charsbar::Note
    hirafoo
    hirafoo 2009/04/27
    t/lib派
  • Perl on Railsの話 - Charsbar::Note

    英国放送協会(BBC)がPerl on Railsを名乗るMVCフレームワークを開発したという話が一部をにぎわしていたので、簡単なまとめ。英語で話を追える人は下記を(コメント欄含めて)順に読んでいけばOKです(これ以外にもスラッシュドット(家)をはじめ、いくつかのソースに情報が分散していますが、必要な流れはだいたいこの三つで把握できるはず)。 http://www.bbc.co.uk/blogs/radiolabs/2007/11/perl_on_rails.shtml http://derivadow.com/2007/11/30/perl-on-rails/ http://iamseb.com/seb/2007/12/perl-on-rails-why-the-bbc-fails-at-the-internet/ さて、題。2007年11月30日に「BBCが自社フレームワークとして

    Perl on Railsの話 - Charsbar::Note
  • Catalyst Conference #1 - Charsbar::Note

    今回は竹迫さんのリクエストもあったのでなるべくゆっくりめに話そうと思うには思っていたのですが、結局だれだったかが「時間が長くなっても話のペースは変わらんと思う」と予言していた通りになってしまったのが申し訳ないというかなんというか。 すべては当日の朝、スライド書いている最中に 10:20 <t********> Catalyst 年表とかほしいとふとおもいますた 10:20 <t********> 2005年 sri 独裁政権時代 10:20 <t********> とか、そんな感じの。という天の声を聞いて、ちょろっとだけ差し替えるつもりが100%増量になってしまったのが敗因、ということにしておきたいと思います。 なにはともあれ資料はこちら。 http://www.tcool.org/talks/catalyst_conf1.pdf それから、今回自重したCatalystで軽量版のJifty

    Catalyst Conference #1 - Charsbar::Note
  • Catalystを語るうえで忘れちゃいけないこと - Charsbar::Note

    Catalystは、Maypole 3.0になりそこねたものだということ。 当時Maypoleのメンテナだったsriが、Railsにかぶれた挙げ句新しいMaypoleの構想をぶちあげて、もともとの作者である(こないだKansai.pmで話をした)Simon Cozensに「それMaypoleじゃないから」とダメだしをらって、「じゃあこっちで勝手にやるもんね」とフォークしたのがCatalystである、ということ。 だからこそCatalystの初期バージョンは2.99から始まるということ。 その意味で、Maypoleの文脈なら問題ないことでも、Catalystの文脈ではかならずしも正しいとは限らないということ。 もちろんCatalystも、sriが実質けり出されていまは集団指導体制になっているから、当初の文脈とはかなり異なってきているわけですが、やっぱりCatalystは、(Maypole的

    Catalystを語るうえで忘れちゃいけないこと - Charsbar::Note
  • Catalystのstashをグローバル変数的に使うのは - Charsbar::Note

    的に古い時代の名残なんじゃあるまいか。 stash は local なグローバル変数として利用されているとおもうのですが、あれはあんまりよくないんじゃないかなーと感じている。 stash じゃなくて各オブジェクトに明示的に渡した方が幸せだとおもう。 http://d.hatena.ne.jp/tokuhirom/20080608/1212897923 たとえば、Catalystで使いまくっていたら先日「使うな危険」とラベリングされてjrockway涙目のC::C::BindLex。これはstashの中身はすべて(場合によっては複数のものを連続して/切り替えて使う)ビューの出力に使うデータである、という前提があるから成り立っている。 ビューのテンプレート設定とかもそう。古くさいC::V::TTではstash経由でテンプレを渡しているけど、新しいC::V::Templatedベースのもの

    Catalystのstashをグローバル変数的に使うのは - Charsbar::Note
  • メソッドチェーンの話 - Charsbar::Note

    たしかに使い方によっては非常に読みづらくなるのは事実だから、「あまり多用しないでほしい」という気持ちもわからないではない。 でも、このサンプルでそれを言うのはあんまりじゃなかろうか。 以下のようなメソッドチェーンは読むのが困難だ。 my $loader = Loader->new; my $book = $loader->load( 'Book' )->build loadメソッドが自分自身( $loader )を返却して、そこからbuildが呼ばれたのか、他のオブジェクトが返却され、そこからbuildがよばれたのかがわからない。 だから、あんまりメソッドチェーンを多用しないでほしい。Mojoのソースコードを読んでいてそう思った。 http://d.hatena.ne.jp/perlcodesample/20090217/1233844169 ふたつめの文をそのまま英語として、名詞と動詞に

    メソッドチェーンの話 - Charsbar::Note
  • CatalystのModelの話 - Charsbar::Note

    「なんでMVCなんて使うの?」という牧さんの記事には全面的に賛成なわけですが、ここでCatalystを出してくるんだったらひとつDISっておかないといけないものがある。 Catalyst::Model::DBIC::SchemaとかCatalyst::Model::Jifty::DBIとか、O/Rマッパをそのままモデルにしちゃってるヤツだ。 自分でも書いておきながら何を、と思わんではないけれど、MVCのキモは、Mで起こっていること、Cで起こっていること、Vで起こっていることをそのまま相手に見せてはならない、ということ。 CatalystのCはMの要素とVの要素を併せ持たされてしまうことが多いわけですが、MVC的には、ふつうの人がC(やV)でやっていることのほとんどはMの中に戻してやらないといけない。O/RマッパはあくまでもMのなかでこっそり使うものであって(現代的にはMMVCパターンの一方

    CatalystのModelの話 - Charsbar::Note
    hirafoo
    hirafoo 2009/01/30
    JiftyではMason→TDという切り替えがあった
  • Mojoを使ってみた - Charsbar::Note

    ちょろっと使ってみたのでレポートしてみる。 MojoというのはCatalystの原作者sriことSebastian Riedelが最近つくっている「ウェブアプリケーションフレームワークの土台をつくる」フレームワークのこと。人いわく「rubyにおけるrack、pythonにおけるwsgiに相当するもの」だそうですが、その評価の是非はさておき、大きな特徴をいくつかあげると、 インストールはきわめて簡単 「やってみたかったから」再発明 RFC大好き コンテキスト持ち歩き系 というところでしょうか。国内では同じような趣旨のHTTP::Engineが開発されていますが、Mooseをバリバリ使っているHTTP::Engineに比べて、Mojoはアクセサからなにから、ほとんどのコードを自分で再実装しているので、インストールに困るような依存モジュールは(ほとんど)なし。ぶっちゃけ「さくらのレンタルサーバ

    Mojoを使ってみた - Charsbar::Note
  • さくらインターネットでCPAN - Charsbar::Note

    さくらの共有サーバにCPANを、という話。しばしばotsuneさんの記事が引き合いに出されるのですが、うちのとは違うのか、そのままだとうまくいかんのよねーという部分があるのでちょっと書いておく。 http://www.otsune.com/bsd/tips/usercpaninstall.html さくらのシェルに入ったら、何の準備もしなくていいから、まずはCPANシェルを起動する。これまで何もしたことがなければCPAN 1.76の初回起動時の質問が出てくるので、適当に回答。肝の部分はcpan_homeを指定する部分と(これ、いまのさくらなら「/home//.cpan」というのが自動的に用意されるはず)、「Parameters for the 'perl Makefile.PL' command?」の部分。ここ、otsuneさんの記事では「PREFIX=~/local」以外にもいろいろ書い

    さくらインターネットでCPAN - Charsbar::Note
  • 1