タグ

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

  • Pod::PerldocJp - Charsbar::Note

    Perlのドキュメントはわざわざサーバにアクセスして読むものではなく、インストールして読むものですよね?――というわけで、日人向けに特化したperldocをつくってみました。Pod::PerldocJpをインストールすると、perldocjpというコマンドが利用できるようになります。これを使うと、 =encodingが指定されている(たいていは日語の)PODも(端末の文字コードによらず)正しく表示できるようになります。 perlコアに付属している一部のドキュメントについてはperldoc.jpで公開されている日語のPODをダウンロードしてきてローカルで読めるようになります。 fによるコマンド検索などにも対応していますので、コマンドラインから $ perldocjp -Jf printとタイプすれば、日語でprintコマンドの説明が読めるようになります(perlfuncを訳してくださ

    Pod::PerldocJp - Charsbar::Note
  • YAPC::Asiaの資料、ほか - Charsbar::Note

    期間中にノートパソコンが2台お釈迦になったことをはじめ、個人的にはいろいろとorzなことの多かったYAPCでしたが、それはそれとして、ひとまず下記にスライドを上げてあります。フォント崩れとか起こしているようなので後日別の場所に別形式のファイルを用意するかもしれませんが、まずはご報告まで。 Practical Bug ReportingView more presentations from charsbar. Top Tens of 2008/2009View more presentations from charsbar. 今年こそは番5分前までスライドを書いているなんてことはやめて、もっとゆったり楽しもうと思っていたのですが、結局Jonathan Worthington氏とShawn Moore氏のスライドがそれぞれ2つに、Jesse Vincent氏のが1つ、公開されなかったYu

    YAPC::Asiaの資料、ほか - Charsbar::Note
  • Mojoの旧版をインストールしていた方はご用心 - Charsbar::Note

    先日リリースされたMojo 0.991250のChangesにこんなことが書いてあります。 This release contains many substantial changes that are not backwards compatible, but good news is that it's also the last major feature breaking release before 1.0. ;) Older releases of Mojo did contain additional Mojo::Script::* and Mojolicious::Script::* modules that are obsolete now and might break this version if they are still present on your sys

    Mojoの旧版をインストールしていた方はご用心 - Charsbar::Note
  • DBD::SQLite 1.20 - Charsbar::Note

    長らくバグが放置されたままだったDBD::SQLiteですが、先日AliasことAdam Kennedyがメンテナを引き継いだのを受けて、いま何人かのCPAN Authorsが集まってごりごり直しています。tokuhiromさんのところでパッチが紹介されていたもののように、有名どころのバグはあらかた潰し終わって、これからSQLiteのソースをamalgamationに変えたり、unicodeまわりのバグを直したり、という作業が行われる予定なのですが、とりあえず一区切りということで、正式版の1.20が出ています。 Class::DBI、Jifty::DBI、Rose::DB、Data::ObjectDriverなどをお使いの方は、ぜひアップデートしてみてください(以上のものは、私のところで全部テストが通ることを確認済みです。ほかにテストしておいてほしいものがあったらご一報をば)。 追記:DO

    DBD::SQLite 1.20 - Charsbar::Note
  • モダンPerl連載第4回 - Charsbar::Note

    今回はMooseからMouse、Any::Mooseに至る流れを簡単に紹介してみました。実際にはもっとどろどろした話もありましたが、その辺はさらっと流す方向で。Mooseが実際に使われ始めている様子とか、Mooseといってもたいていの場合は(Class::Accessor::Fastなどと同じように)ふつうのPerl 5オブジェクトに便利なアクセサをはやしているだけなんだから、もっと気軽に使ってみてほしいとか、そんな話(もちろんこだわって書こうと思えばものすごくこだわって書けるのもMooseなんですけれどね)。 http://gihyo.jp/dev/serial/01/modern-perl/0004

    モダンPerl連載第4回 - 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
  • Mojoの連載 - Charsbar::Note

    こちらではアナウンスしていませんでしたが、お正月からgihyo.jpに連載させていただいていたMojoの特集記事が最後までたどりつきましたのでご報告。「そんなんやってたんだ」と驚かれた方は下記のリンクから一気にどうぞ。 http://gihyo.jp/dev/feature/01/mojo/ 11月末にお話をいただいたときは終わるまで2ヶ月あるから多少は開発も進むだろうし、もっとおすすめしやすい状況になるかなと期待していたのですが、あろうことか、12月初頭に原作者のsri氏がダウンしてしまいまして。えらく戻ってこないので最初はそのまま冬期休暇にでも入ったのかと思ったら、しまいには手術することになったというのですから、ご人もさぞ大変だったろうと思いますが、こちらも胃の痛い毎日だったことです。結局昨日、ぎりぎりまで引き延ばしていた最後の原稿を提出した直後に復帰の報告があったので一安心というと

    Mojoの連載 - Charsbar::Note
  • Mojoを使ってみた - Charsbar::Note

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

    Mojoを使ってみた - Charsbar::Note
  • Windows上でCPANモジュールを書いていた人は要注意 - Charsbar::Note

    詳細については下記メーリングリストのスレッドを追っていただくとして、問題の概要と、当面の解決策となりそうなことのみ書いておきますと、 http://www.nntp.perl.org/group/perl.qa/2008/09/msg11568.html 1) 通常Windows上でnmake distしてtarballをつくると、EUMM(というか、ExtUtils::Manifest)内部で(Perlの)chmod処理が入っているにもかかわらず、各ファイルのパーミッションは777になります。 2) これをCPAN(正確にはスモーカー)からインストールしようとすると、特定の環境ではworld-writableなファイルがあるということでセキュリティアラートを出す――らしいのですね。 3) それが現実的なセキュリティホールにつながるかどうかはまったくの別問題として、その状況を憂慮したPAU

    Windows上でCPANモジュールを書いていた人は要注意 - Charsbar::Note
  • CPANは幼稚園児の砂場じゃないよね - Charsbar::Note

    またCatalystがでた当初、Plugin::* って簡単に作れるし、使うのも $c->fooでできるしと、それをきっかけに好きになった人もいると思います。 「幼稚園児がやっと足し算を覚えたんだけど、3+3+3 は 3 x 3 だから、3+3+3は馬鹿なやりかただからやるな。」 的にきこえる人もいるのかなぁと思いました。もちろん、3+3+3より3x3の方が良いよ!と教えてあげるのは重要なんですが、3+3+3をその人自身が当に理解して、3x3にたどり着かないと数学の楽しさがわからないのと同じで、perlの楽しさがわからなくなっちゃわないかなぁと思いました。 なので僕は、「Pluginをたくさん書いて、使ったりして、ひどい目にあうか確かめよう!」 でも良い気がします。よくないのは伝えた上で。 http://d.hatena.ne.jp/tomyhero/20080605/121268736

    CPANは幼稚園児の砂場じゃないよね - Charsbar::Note
  • 「輝け!全日本最強 CPAN Author 決定選手権 2007」完全版 - Charsbar::Note

    いささか遅くなりましたが予告通り完全版の一覧を掲載します。このデータは基的にYAPC直前、2008年5月15日時点でのものですが、抜けが判明したworemacxさんの分については先ほど目視で抽出しました。ほかの方のYAPC後の更新については反映されていませんのであしからずご了承ください。 ちなみに過去の選手権の結果はnipotanさんのサイトに掲載されています。 2006年度 2005年度 というわけで、あらためてなんちゃらかんちゃら出てこいや〜、とな。 モジュール数5個以上の部 過去二回の選手権ではモジュール数による分類はなかったのですが、この一覧のもとになっているCPANTSの仕組み上、モジュール登録数の少ない新しいAuthorの方が有利になる側面があるので、今回は家CPANTSの分類にしたがってランキングを分けました。YAPC当日に発表したのはこのグループのベスト10です。表は、

    「輝け!全日本最強 CPAN Author 決定選手権 2007」完全版 - Charsbar::Note
  • MVC今昔 - Charsbar::Note

    ウェブアプリをどう開発するのが正しいか、というのはひとまずおきます。 MVC「モデル・ビュー・コントローラ」って、いまはもう誤解の方が広まりすぎて大元の意味が忘れられているんじゃないかと思いますが、誕生した1979年当時は、語順にしっかり意味があったんですね。 モデルは、コンピュータが生のデータを扱うところ。 ビューは、モデルからもらってきたデータを取捨選択して、人間がわかるように直すところ。 コントローラは、その人間にわかるように直したデータを、今度は出力デバイスが理解できる生のデータに直すところ。 逆もしかりで、 コントローラは、入力デバイスから生のデータをもらうところ。 ビューは、コントローラからもらってきたデータを、人間がわかるように直すところ。 モデルは、ビューからもらったデータを、コンピュータが理解できる生のデータに直して更新するところ。 しかも、ただ機能を分割するだけでなく、

    MVC今昔 - 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の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
  • さくらインターネットで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
  • DateTimeX::Web 0.01 - Charsbar::Note

    いい加減DateTimeまわりのモジュールを列挙するのがいやになったので、工場を書いた。 use strict; use warnings; use DateTimeX::Web; my $dtx = DateTimeX::Web->new( timezone => 'Asia/Tokyo', on_error => 'ignore' ); my $dt = $dtx->from( year => 2008, month => 2, ... ) || $dtx->now;などとすると、タイムゾーンとかをよきにはからったDateTimeオブジェクトが出てくる寸法。 $dtx->for_mail( $dt ); # Fri, 29 Feb 2008 20:57:00 +0900 $dtx->for_mysql; # 2008-02-29 20:57:00 という感じで日時の文字列をつくったり、

    DateTimeX::Web 0.01 - Charsbar::Note
  • CPANモジュールは一般的にどのくらいほかのモジュールに依存しているのか - Charsbar::Note

    まじめに統計取る気はないのですが、うちのPPMリポに入っているものがどのくらいほかのモジュールに依存しているか、ちょっと調べてみた。 何度か書いているように、うちのリポは 依存モジュールのバージョンを確認して、5.8.1までにコアに入っているものはインストール済みとみなしてカウントしない recommends、build_requiresの類はカウントする めったにありませんが、Win環境ではどうしてもインストールできない(あるいはあまりに環境依存が強すぎる)依存は取っ払う ごく一部のループする依存もどこかでループを断ち切るようにする くらいのローカルルールがあるので、かならずしもCPANからインストールするときの依存モジュールの数とは一致しません。また、Catalystのプラグインのように、大量の依存モジュールがあるモジュールに依存しているモジュールは必要以上に依存モジュールが多く見えて

    CPANモジュールは一般的にどのくらいほかのモジュールに依存しているのか - Charsbar::Note
  • Win32::IEHistory 0.01 - Charsbar::Note

    先日miyagawaさんが某所で 07:34 Win32のIE5History読むモジュール 07:34 charsbarさんあたりがつくってたりしないだろうか と言っておられたので、でっちあげました。Win2Kと、おそらくXP、98でも動くかもしれない、(たぶん)IE5.0以上の履歴、キャッシュ、クッキーのインデックスを解析するモジュール。 こんな感じのスクリプトを書くと、 use strict; use warnings; use Win32::IEHistory::History; my $history = Win32::IEHistory::History->new; foreach my $entry ( $history->urls ) { printf "%s (%s)\n", $entry->url, $entry->last_modified; }こんな感じの出力が返っ

    Win32::IEHistory 0.01 - Charsbar::Note
  • WWW::Mixi::Scraper 0.09とCustomFeed::MixiScraper - Charsbar::Note

    false@PC日記さんからパッチをいただいていたので、のっそり対応しました。 http://www.wizard-limit.net/mt/pc/archives/002681.html http://www.wizard-limit.net/mt/pc/archives/002682.html WWW::Mixiとの互換性を考えるとどうかなとも思ったのですが、とりあえず 1) ViewBBS/ViewEventのコメント部分、WWW::Mixiでは発言者のプロフィールがlinkになるのですが、このままだとPlaggerを通したときに陶しいので、fragmentにコメント番号を付与した架空のリンクをでっちあげてあります。従来のプロフリンクはname_linkの方に移動。 2) ViewBBSのコメント番号がsubjectに入っていなかったので、追加(いただいたパッチではここで元タイトル

    WWW::Mixi::Scraper 0.09とCustomFeed::MixiScraper - Charsbar::Note
  • WWW::Mixi::Scraper 0.07 - Charsbar::Note

    昨日のリニューアルに対応した0.07をCPANにアップしました。手元のlive testsは全部パスしていますが、環境によってはまだうまくとれないものがあるかもしれません。おかしなところを見つけた方はcodereposにコミットするか、立場上おおっぴらにコミットするわけにはいかないお方はCPANのメールアドレスあたりにパッチを投げていただけると助かります。 PlaggerでCustomFeed::Mixiを使っていた方は、代替品のCF::MixiScraperもあわせてどうぞ(ネームスペースの問題とかあるのでまだ家にはコミット申請していませんが、どうしましょうね)。 #追記:家にコミットしました。

    WWW::Mixi::Scraper 0.07 - Charsbar::Note