タグ

ブックマーク / punitan.hatenadiary.org (5)

  • App::cpanmigrate - punitan (a.k.a. punytan) のメモ

    前回エントリーに とコメント頂いたので App::cpanmigrate - migrate installed modules to new environment - metacpan.org として出しました。 まだbashしか対応していませんが、他の環境用の pull request いただければ merge で対応します。 「え、シェルスクリプトなの?」 実行される体はシェルスクリプトを exec (正確には bash -c)しているだけ(参考:How can I use bash syntax in Perl's system()? - Stack Overflow)ですが、 とのこと。 http://search.cpan.org/dist/Text-CSV-UniqueColumns/lib/Text/CSV/UniqueColumns.pm たしかにコレは…!

    App::cpanmigrate - punitan (a.k.a. punytan) のメモ
    n2s
    n2s 2012/06/07
    CPANモジュールだけど本体はほとんどid:entry:48281150のシェルスクリプト。その発想は意外だった。でもPurePerlで書き換えたいw
  • perl のリリースサイクルと perlbrew の共存 - punitan (a.k.a. punytan) のメモ

    perl のリリースサイクルが短くなったこの頃、みなさまいかがお過ごしでしょうか。 リリースサイクル短期化による影響 perlbrew を使ってリリース毎にバージョンを切り替えたりしていると、意外と面倒に感じるのがインストール済みのモジュール類を別バージョンに移行することではないでしょうか? さらに頻繁にリリースされるとなると、移行するのが面倒ですね。 移行時にやるべき事 移行時には、 既存のバージョンにインストールされているモジュール一覧の抽出 新バージョンのインストール 既存のバージョンにインストールされていたモジュールを新バージョンでインストール 結構手間がかかります。 そこで こんな bash script を ~/.bashrc などに追記しておくと楽に移行できる tips をお届けします。 ちなみに、最新の perlbrew 0.25 からはエラーが起きた際には exit 1;

    perl のリリースサイクルと perlbrew の共存 - punitan (a.k.a. punytan) のメモ
    n2s
    n2s 2012/06/06
    ExtUtils::Installed->new->modulesで旧バージョンにインストールされているモジュールリスト作成→新バージョン上でcpanmに食わせる、と / そしてid:entry:48403482
  • LWP::UserAgent と LWP::Protocol::PSGI でテストを書くと楽できる話 - punitan (a.k.a. punytan) のメモ

    Plack::Test + HTTP::Request::Common 世の中には Plack::Test + HTTP::Request::Common という方法もあるが、この場合ブラウザを模したようなテストを書くと意外にも破綻しやすい。とりわけセッション周りの挙動が必須になると大変な手間になる。 LWP::UserAgent + LWP::Protocol::PSGI 最近は LWP::UserAgent + LWP::Protocol::PSGI で楽をするような方法で書くようにしている。ユーザー寄りのテスト(ログイン後の処理やCSRF対策用のトークンが必須等)をわりと楽に書ける点がメリット。 subtest と scope のメリットも享受できる /zento+/ 方式が見通し良く出来そう。*1 サンプル Some::Middleware::CSRFDefenderのテストを書く

    LWP::UserAgent と LWP::Protocol::PSGI でテストを書くと楽できる話 - punitan (a.k.a. punytan) のメモ
  • Ubuntu 11.04 (Natty) で perl がインストール出来ない場合の理由と対策 - punitan (a.k.a. punytan) のメモ

    追記 perlbrew 最新版では修正済みです。 patchperl にパッチ投げておきました。 perlbrewも最新のpatchperl を使うようになったので、失敗する場合はもう一度perlbrew の最新版を再インストールしてください(perlbrew のバージョン番号は変わってないので注意) 追記終わり http://d.hatena.ne.jp/Itisango/20110504/1304487042 の原因。 原因 - Ubuntu の math ライブラリ諸々がディレクトリごと移動した Configure はデフォルトで /usr/local/lib /lib /usr/lib /usr/lib64を読みに行くところ、Ubuntu Natty からは libm などのライブラリが /lib/i386-linux-gnu /usr/lib/i386-linux-gnuなどに移

    Ubuntu 11.04 (Natty) で perl がインストール出来ない場合の理由と対策 - punitan (a.k.a. punytan) のメモ
    n2s
    n2s 2011/05/12
  • pjax こそが pushState + Ajax の本命 - punitan (a.k.a. punytan) のメモ

    pjaxの前にpushStateとは AjaxとjQueryの説明は不要として、pushStateとはなんぞや。 pushStateを使ってブラウザの履歴に対する操作をし、HTMLの一部のみを書き換える動作でもブラウザの戻る/進む機能を実現できる方法のひとつ。Ajaxなページを再現し、かつURLを見慣れた方法で自然にpermalinkを表現できる。 有名なところではGitHubで使われてるアレ。 hash fragment (/#!/) ブラウザの履歴を機能させるため、URL の fragment (#) を使ってAjaxなページを実現する方法。一時期もてはやされた感があるが、さらなる「#!」URL批判 - karasuyamatenguの日記 など合理的な反論があり、これから導入するのはためらわれるところ。 有名なところではTwitterで使われているあの厄介者。 pjaxとは pjax

    pjax こそが pushState + Ajax の本命 - punitan (a.k.a. punytan) のメモ
  • 1