タグ

ブックマーク / blog.64p.org (14)

  • ここをおさえれば Perl 情報通になれるよというサイト一覧 - tokuhirom's blog

    Perl 関連の情報をあつめるには、僕は以下のサイトをみています 個人ブログ TATSUHIKO MIYAGAWA'S BLOG http://weblog.bulknews.net/ 最新の miyagawa 情報がえられます。 Charsbar::Note http://d.hatena.ne.jp/charsbar/ 最新の DBD::SQLite 情報などがえられます。 Hateburo: kazeburo hatenablog http://kazeburo.hatenablog.com/ kazeburo さんのサブブログっぽいやつ。nomadscafe.jp の方と使いわけがよくわからない。 あと「はてぶろ」で検索してもみつからない。 おまとめ情報 FrePAN http://frepan.64p.org/ 手前味噌ですが、FrePAN の feed を購読すると、Chnag

    kawaosa
    kawaosa 2013/09/10
  • MacRuby でメニューバーのステータスメニューに常駐するアプリを作るための雛形をつくりました! - tokuhirom's blog.

    MacRuby でささっとメニューバーのステータスメニューに常駐するアプリケーションをつくれたら便利だと思いませんか? メニューバーのステータスメニューとは↓のような領域のことです。 これができると daemontools で常駐とかさせなくても app を start up にいれるだけでいいし、管理が楽です。 この分野では mynu というライブラリが有名なのだが、これはコードが複雑でとりあつかいづらい上に、ドキュメントをよんでも macruby コマンドで走らせようという話しかでてこなくて不安になる。僕がほしいのは .app だ! という気持になるのだ。 というわけで、通常のアプリ開発フローでステータスバーに常駐するアプリをつくるための雛形を作成した。以下のコードを Xcode で生成した雛形の AppDelegate.rb におきかえ、適当な画像(たとえば このへん など)を ic

  • node.js で人気のあるライブラリ10選 - tokuhirom's blog

    node.js というか npm で依存されているライブラリの上位10個ぐらいがどういうものがはいっているのかをまとめます! 具体的には serach.npmjs.org の Most depends on にのっているリストに註釈をつけただけです! http://search.npmjs.org/ 1位 underscore.js 392個http://search.npmjs.org/#/underscore クライアントサイド JS で人気のたかいユーティリティーライブラリの underscore.js が堂々の第1位。 クライアントサイドでつかってるからそのままつかってる人が多いのかな、とおもっています。

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    tokuhirom blog
  • QRCode をどのフォーマットでだすのがいの?という話 - tokuhirom's blog

    http://blog.clouder.jp/archives/000759.html ちょっと遅レスですが、プロファイラにかけてみると、実際には gif に encode するところで時間をちょうくってるということがわかった。 なんでだろう。Imager がおそいのか、減色処理的なのに時間くってるのか、giflib がおそいのか。。。そこまで深追いしてない。 というわけで、出力画像フォーマット別のベンチマーク。 use strict; use Imager::QRCode; use Benchmark qw(timethese cmpthese); use Encode; my $count = shift // 100; my $text = encode('cp932', decode('utf8', 'これはテストです')); cmpthese(timethese($count,

  • How do you trace your query with DBI - tokuhirom's blog

    DBIx::QueryLog とかつかわなくても Callbacks を駆使すれば結構いけるよ!っていう話になった。いいね。 use strict; use warnings; use DBI; my $dbh = DBI->connect('dbi:SQLite:','','', { RaiseError => 1, Callbacks => { ChildCallbacks => { execute => sub { my ($obj, @binds) = @_; my $stmt = $obj->{Database}->{Statement}; $stmt =~ s/\?/'$_'/ for @binds; print STDERR $stmt, "\n"; return; }, }, }, }); $dbh->do(q{create table job (func, time)})

  • Text::MicroTemplate を高速化するために - tokuhirom's blog

    html escapeNYTProf をとると、pp_subst で時間をくっていることは明白です。pp_subst っていうのはつまり s/// のことで、s/// をつかっているのは html escape の部分なので、この html escape 部分を高速化するのが効果がありそうです。Text::Xslate::Util::html_escape() をよぶようにしたところ、パフォーマンスが倍程度向上した。 とはいえ、Text::Xslate に依存するのは負け感がすごい。id:gfx の話によれば、今後 html escape 部分を単体モジュールとしてだしたいということなので、それが出されたあかつきには、T::MT でそれを optional な dependency として設定して利用するようにすればより高速に利用できるということになるだろう。 x-poor-env.pl

    kawaosa
    kawaosa 2010/08/26
  • Text::Xslate がオススメなワケ - tokuhirom's blog

    速いエラーメッセージがとても親切型ベースの自動エスケープ複数シンタックス対応TTerse という TT2 like なシンタックスをサポートしているので TT からの移行がわりと容易Text::Xslate->new(module => ['File::Spec::Function']) のように書くだけで簡単にモジュールの関数をとりこむことができるText::Xslate::Bridge::TT2Like をつかうことで TT の VMethods や Filters をつかえるPure Perl でもうごくというような特徴があるので、よほどの理由がないかぎり今後は Xslate をつかうのが正解なのではないかとおもっている。 実装の小ささや、こまわりのきく点などで Text::MicroTemplate は生き残っていくとおもうが、基的には Perl5 のテンプレートエンジンは Xs

  • Perl5 のバージョンごとの使い分け - tokuhirom's blog

    5.6以前現状、CPAN モジュールにおいて5.6系に対するサポートは、toolchain 系をのぞいてほとんどおこなわれていません。 そもそも 5.6 系は誰もメンテしていないので、5.6 をコンパイルするのがまずむずかしいですw で、レガシーシステムにおいてはまだのこるとおもいますが、新規にえらぶ必要はありませんね。あたりまえながら。 5.8系5.8系は非常に安定しておりまして、一番安定しているのはたしかです。バグなどが含まれている可能性がいちばん低いかとおもいます。 5.8系を新規のシステムで利用する場合には 5.8.9 をつかうのがよろしいでしょう。 5.10系5.10.0 にはわりと致命的なメモリリークやSEGVをひきおこすバグがありますので、つかわない方がいいです。 5.10系をつかう場合にはかならず 5.10.1 以後をご利用ください。 5.10系以後を現在新規に採用するメリ

    kawaosa
    kawaosa 2010/07/21
  • Perl5 によるメール送信 - 実践的な Email::Sender の利用方法 - tokuhirom's blog

    Perl5 では、E-mail の送信をするためのモジュールが多数 CPAN にアップロードされているが、現在もっともまじめにメンテされていて質がよいのは Email::Sender らしい。 Email::Sender は登場当初はドキュメントもなさすぎるしつかいものにならなかったが、現在ではだいぶマシになっている。Moose 依存が気にならないケースでは、実用としてつかっても問題ないとおもう。 iso-2022-jp の日語のメールを送るには、以下のようにすればよい。 use 5.12.1; use utf8; use Email::Sender::Simple qw(sendmail); use Email::Simple; use Email::Simple::Creator; use Data::Recursive::Encode; use Encode; # e-mail o

  • モダンな Perl の開発環境の構築方法 - tokuhirom's blog

    一般的な OSX 環境および Linux 環境における、モダンな Perl 開発環境の構築方法についてまとめてみたよ。 perlbrew のインストールperlbrew をつかうことにより、簡単に最新版の Perl5 を利用することができるようになる。 perlbrew をいれる。% curl -L http://xrl.us/perlbrew | perl - install % ~/perl5/perlbrew/bin/perlbrew init ~/.bashrc (または ~/.zshrc)に source ~/perl5/perlbrew/etc/bashrc を追記。あたらしいシェルをたちあげる。最新版の perl をインストールする。% perlbrew install perl-5.12.1 % perlbrew switch perl-5.12.1 ここまできたら、she

  • mac ports やめました! ー homebrew で快適 OSX 生活! - tokuhirom's blog

    http://mxcl.github.com/homebrew/ 昨日 mac mini を購入しまして、「さて、mac ports いれなきゃなあ。でも mac ports での環境構築って時間かかるし、CPU パワーもくうし、電気代かかるしエコじゃないし」とかおもっていたところ、そういえば hsbt さんが homebrew ってのをオススメしてたなーとおもって、いれてみたところ、非常に快適。 mac ports は、システムにもともとはいっている perl とか ruby とかもいちいちコンパイルするので、序盤の環境構築が非常に時間がかかるのが難点です。 しかし homebrew は、system にもともとはいっているものはそのままつかうので、初動がはやい。自分の場合、macbook の調子がわるくって、mac mini にかいかえたので、すぐにでもつかいはじめたかったので、非常に

  • first impression for Text::Xslate - tokuhirom's blog

    僕がつくってるフレームワークであるところの Amon に Xslate 対応をいれてみた。 かなり TT とおなじ感覚でつかえるかんじ。テンプレートの継承が追加されてるぐらいで、基は TT とおなじかんじか。 フレームワークにくみこむときはこんなかんじ。 package Amon::V::Xslate; use strict; use warnings; use base qw/Amon::V::TemplateBase/; use File::Spec (); use Scalar::Util (); use Text::Xslate 0.001_08 (); sub import { my $class = shift; if (@_>0 && shift eq '-base') { my $caller = caller(0); no strict 'refs'; unshift

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • 1