タグ

*dankogaiに関するdealforestのブックマーク (19)

  • perl - O'ReillyのiPhoneアプリ本からepubをぶっこぬく : 404 Blog Not Found

    2010年07月16日01:15 カテゴリ書評/画評/品評Lightweight Languages perl - O'ReillyのiPhoneアプリからepubをぶっこぬく W00t! たった600円でオライリーiPadKindleで読む。すてき。 - このブログは証明できない。 ところが、紙のと比べてそれほど安くないんですね。iPhone版の600円はやはり魅力です。大丈夫。実はこのアプリからiPadで読めるepubを取り出すことができるんです。特殊なハックというわけではなく、オライリーのサイトでもやり方が書かれています。 Ebook Bundles - Getting The Most はてなブックマーク - samurai20000のbookmarkこれすごすぎる。ただ、やり方が面倒なので自動化したいとこ。 やりましょう。 できました。 #!/usr/bin/env p

    perl - O'ReillyのiPhoneアプリ本からepubをぶっこぬく : 404 Blog Not Found
  • perl - tie()って何をtieするの? : 404 Blog Not Found

    2008年07月05日01:30 カテゴリLightweight Languages perl - tie()って何をtieするの? 私はタイをまとうのがだいっきらいですが、Perl 5の中で一番好きな関数がtie()だったりします。 tie関数とは - 燈明日記 すると、裏で処理が動き、オブジェクトをコンストラクトしたり、とある処理結果が参照できたり、代入したものに対応したものを格納出来たりする。 というわけで、tie()について語っておくことにしましょう。 tie()とはなにか? ずばり、「オブジェクトではない、perlの組み込みデータタイプを裏でオブジェクト化する仕組み」のことです。それがなぜtieと呼ばれるかと言えば、変数を指定されたクラスに結びつけるから、です。 論より証拠、実際に見てみましょう。 use strict; use warnings; { package MySca

    perl - tie()って何をtieするの? : 404 Blog Not Found
  • tips - ApacheのLogフォーマットの方を変えて高速化 : 404 Blog Not Found

    2007年10月05日00:00 カテゴリTipsLightweight Languages tips - ApacheのLogフォーマットの方を変えて高速化 というより、高負荷サーバーの場合、ApacheのLog Formatを変更しちゃった方がいいでしょう。 ? (高速に)Apache の log を解析する正規表現 : a++ My RSS 管理人ブログ こんなの広めちゃいかん と思いついついエントリ。具体的には、 LogFormat "%h\t%l\t%u\t%t\t\"%r\"\t%>s\t%b\t\"%{Referer}i\"\t\"%{User-Agent}i\"" combined_tsv ないし、さらに LogFormat "%h\t%l\t%u\t%t\t%r\t%>s\t%b\t%{Referer}i\t%{User-Agent}i" combined_tsv として

    tips - ApacheのLogフォーマットの方を変えて高速化 : 404 Blog Not Found
  • #perl #regexp - $utf8 =~ /.../i # の傾向と対策 : 404 Blog Not Found

    2009年10月01日18:00 カテゴリLightweight Languages書評/画評/品評 #perl #regexp - $utf8 =~ /.../i # の傾向と対策 というわけで、その傾向と対策を。 [Perl]UTF8-flagged strings affects regexps with the "i" modifier - use GFx::WebLog; Perlではutf8フラグ付きの文字列に対するuc/lc/"i"正規表現修飾子は非常に遅いのだが,H::F::Liteでは/iを使っているので,試しに/iを使わないようにしてみると,速度が改善した id:gfxの主張は、以下のようにして確かに確かめられる。 use strict; use warnings; use Benchmark qw/cmpthese timethese/; { use bytes; m

    #perl #regexp - $utf8 =~ /.../i # の傾向と対策 : 404 Blog Not Found
  • #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found

    2009年09月13日13:00 カテゴリLightweight Languages #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 駄目です。 [を] Perl の utf8 まわりのおまじない 最近良く使うおまじない、というかイディオム。 utf8::decode($text) unless utf8::is_utf8($text); こういう場合は、Encode::decode_utf8()でないと。 以下をごらんください。 #!/usr/bin/perl use strict; use warnings; use Encode; use Devel::Peek; for my $bytes ( "\x2F", "\xC0\xAF", "\xE0\x80\xAF", "\xF0\x80\x80\xAF" ) { my $u

    #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found
    dealforest
    dealforest 2009/09/14
    utf8::decode()は、不正なUTF-8バイト列に対して何もしません。
  • #yapcasia2009 - Perl? Which Perl? : 404 Blog Not Found

    2009年09月11日15:00 カテゴリYAPC::AsiaLightweight Languages #yapcasia2009 - Perl? Which Perl? 〆切と体調不良で数え役満状態ではありましたが、なんとか自分の分のtalkを終えました。 以下からご覧下さい。 YAPC::Asia::2009 - Perl? Which Perl 実際にllevalで動作させながらプレゼンしました。あわせて以下もご覧下さい。 http://colabv6.dan.co.jp/lleval.html http://blog.livedoor.jp/dankogai/archives/51190474.html (Japanese) Enjoy! Dan the Perl Monger, Whichever Perl It May Be 「YAPC::Asia」カテゴリの最新記事

    #yapcasia2009 - Perl? Which Perl? : 404 Blog Not Found
    dealforest
    dealforest 2009/09/13
    [YAPC::Asia2009]
  • perl - URI::Amazon::APA released! : 404 Blog Not Found

    2009年05月10日20:15 カテゴリLightweight Languages perl - URI::Amazon::APA released! そんなわけで、作りました。 /lang/perl/URI-Amazon-APA/trunk - CodeRepos::Share - Trac dankogai's p5-uri-amazon-apa at master - GitHub @CPAN (coming soon) Amazon アソシエイト・プログラム(アフィリエイト) 公式ブログ: Amazon アソシエイト Web サービスの名称変更および署名認証についてのお知らせ名称変更にともない、Product Advertising API にリクエストを送信いただく都度、認証のための電子署名を含めていただくことが必要になります。この変更は、2009年5月11日より3ヶ月の間の移

    perl - URI::Amazon::APA released! : 404 Blog Not Found
    dealforest
    dealforest 2009/09/07
    [URI::Amazon::APA]sasata299 が dis やれてるw
  • 後悔なき公開 - 書評 - 4Gbpsを超えるWebサービス構築術 : 404 Blog Not Found

    2009年08月13日15:00 カテゴリ書評/画評/品評iTech 後悔なき公開 - 書評 - 4Gbpsを超えるWebサービス構築術 ライブドア櫛井様より献御礼。 4Gbpsを超えるWebサービス構築術 伊勢幸一 / 池邉智洋 / 栗原由樹 / 山下拓也 / 谷口公一 / 井原郁央 元取締役であるという立場を離れて言う。書の内容は、すごいものが当に多すぎる。書を紹介しているだけのエントリーに対して、対象となっているを読まずに、批判コメントや自分の意見を書くのは、4Gbpsを超えるWebサービスを構築してからにしろ。 書「4Gbpsを超えるWebサービス構築術」は、日を代表するWebサービスプロバイダー、livedoorの手口公開。「親バカ」を差し引いても、その凄さは「[24時間365日]サーバ/インフラを支える技術」を凌駕すると言える。 目次 - ソフトバンク クリエイ

    後悔なき公開 - 書評 - 4Gbpsを超えるWebサービス構築術 : 404 Blog Not Found
  • tips - Webサーバーの負荷テストならまずab : 404 Blog Not Found

    2009年05月13日16:45 カテゴリTips tips - Webサーバーの負荷テストならまずab だめじゃん。 WEBアプリ開発に便利な機能&負荷テストツール集:phpspot開発日誌 abがないじゃん。 abとは何かというと、apacheに標準でついてくる負荷テストツールの名前。apacheが入っている環境であれば、まず間違いなく入っているはず。 引数なしだと、help表示。 ~% abab: wrong number of arguments Usage: ab [options] [http[s]://]hostname[:port]/path Options are: -n requests Number of requests to perform -c concurrency Number of multiple requests to make -t timelimi

    tips - Webサーバーの負荷テストならまずab : 404 Blog Not Found
  • perl - use Carp; # warn() と die() だけじゃなくて : 404 Blog Not Found

    2008年06月30日04:00 カテゴリLightweight LanguagesTips perl - use Carp; # warn() と die() だけじゃなくて 以下のエラー処理の方法にちょっと口を挟みたくなったので。 エラー処理を行う。 - サンプルコードによる Perl 入門 warn() vs. die() まず、warn()の使い方。エラーに対して使ってはいけません。warnはその名の通り、あくまでもエラーではなく警告です。エラーの際にはdie()を使わなければなりません。 警告とエラーの違いですが、警告は「続けて処理してもいいけど、これはあなたの意図ではないかもしれません」という場合、エラーは「このままでは処理を続けられません」という場合です。 たとえばperlの場合、抜けた引数はundefなので、数値としては0、文字列としては''として解釈されます。それらをデフ

    perl - use Carp; # warn() と die() だけじゃなくて : 404 Blog Not Found
  • perl - use utf8; #って何だ? : 404 Blog Not Found

    2009年06月15日07:00 カテゴリLightweight Languages perl - use utf8; #って何だ? id:otsuneに建設予定フラグがたてられていたので。 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech Perl の utf8 関係が未だ全く理解できない。わからないことがわからないので整理 use utf8はいつフラグをたてるか use utf8 しててもフラグたたないことがある…… これは、以下の実例を見ていただくのが一番よいだろう。 #!/usr/bin/perl use strict; use warnings; use utf8 (); sub check_flag{ my $str = shift; print qq("$str" ), utf8::is_utf8($str) ? 'is' : 'IS NOT',

    perl - use utf8; #って何だ? : 404 Blog Not Found
  • perl - use encoding; #は黒歴史 : 404 Blog Not Found

    2009年06月08日14:30 カテゴリLightweight Languages perl - use encoding; #は黒歴史 ぎゃあぁぁ length関数で文字列の長さを求める - perl初心者BLOG - Hatena::Group::Perl語の文字数を正確に求めたい場合、use encodingを指定する use encoding;は、jperlなど、かつて存在したL10Nされたperl用に書かれたレガシースクリプトを、モダンperlで動かすときのためのおまじないです。こういう目的で利用すべきではありません。 このあたりのことは、以前 404 Blog Not Found:perl - no encoding; # whenever possible でも書いたのですが、大事なことなのでまた書きます。 スクリプトはUTF-8で書き、use utf8;する のがモ

    perl - use encoding; #は黒歴史 : 404 Blog Not Found
  • 404 Blog Not Found:perl - Encode 入門

    2008年04月09日01:00 カテゴリLightweight Languages perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ 入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これがすべてです!とにかくこの基方針をまもっていれば幸せになれます。ここでは、EUC-JPでエンコードされたファイル中の「小飼弾」「こがいだん」「コガイダン」「Kogai Dan」を正規表現で書き換えて標準出力にEUC-JPで出力するプログラムを例にとって説明します。 decode() then encode(

    404 Blog Not Found:perl - Encode 入門
    dealforest
    dealforest 2009/05/03
    binmode STDOUT, ":encoding(eucjp)"; これをすれば use Encode; しなくてもよくなる
  • CPAN - URI::Escape::XS Released! : 404 Blog Not Found

    2007年04月28日02:30 カテゴリLightweight Languages CPAN - URI::Escape::XS Released! URI-Escape-XS を Release したのでお知らせします。 on CPAN (coming soon) URI-Escape-XS-0.01.tar.gz なぜ車輪を再発明したかといえば、今ある車輪のころがりがよくなかったから。 URI::Escapeへの不満は二つあって、一つは速度が不十分だったこと。LWPなどと組み合わせて使う場合は、正規表現ベースの変換でも、他のタスクの方がずっと重いので充分速いのですが、ログの解析する時などに利用すると、ずいぶんと遅く感じます。このあたりはある作業をしていて、気になってProfileしてみてはじめて気がつきました。 もう一つは、%uHHHHの対応。一応にぽたん作のURI::Escape:

    CPAN - URI::Escape::XS Released! : 404 Blog Not Found
    dealforest
    dealforest 2009/04/27
    [URI::Escape::XS]%uHHHH 対応とパフォーマンス改善
  • perl - Shibuya.pm #11:The Catcher in the INT 80h : 404 Blog Not Found

    2009年04月22日19:15 カテゴリLightweight Languages perl - Shibuya.pm #11:The Catcher in the INT 80h Shibuya Perl Mongersテクニカルトーク#11で先ほど発表を終えたところです。 Shibuya.pm #11:The Catcher in the INT 80h llevalをどう実装したかというスライドですが、それにしてもこの tech talk の no perl ぶりときたら!私のスライドにしてから FreeBSD の system call がどうなっているだのといった話だし。 ウィークデイのど真ん中の夜学会、それもこんなでぃ〜ぷな奴に200人も参加する東京という土地に~(絶望)*0した! Dan the ~"\x8f\x9a\x8d\x93" Hacker ~はビット演算。 「Li

    perl - Shibuya.pm #11:The Catcher in the INT 80h : 404 Blog Not Found
  • Ajax - tips - JSONPをブラウザにキャッシュさせない : 404 Blog Not Found

    2009年04月13日12:00 カテゴリTips Ajax - tips - JSONPをブラウザにキャッシュさせない というわけで、添削おじさん登場。 [を] 笑い顔顔文字APIを作りました (なお、なぜか IE と Safari だと一回しか動きません。添削希望!)理由は単純で、IEとSafariはJSONPをキャッシュしてしまうのです。 理由がわかれば、解決法も簡単です。たとえば以下のようにしてURIをUniqueにしちゃえばOK. function WarosuJSON(cb){ this.proxy = 'http://mimitako.net/api/warosuapi.cgi'; this.cb = cb; this.count = 0; this.parse = function(cb){ var script = document.createElement('scri

    Ajax - tips - JSONPをブラウザにキャッシュさせない : 404 Blog Not Found
    dealforest
    dealforest 2009/04/13
    IEとSafariはJSONPをキャッシュしてしまう
  • perl, et al. - キーの存在確認 : 404 Blog Not Found

    2007年06月10日02:15 カテゴリLightweight Languages perl, et al. - キーの存在確認 格的添削はあとまわしにして、Perlに限らないつっこみどころを先に。 [を] Wikipediaのキーワードリンクを使って関連語データを作ってみた ソースを見てすぐわかるのは、ハッシュキーの存在確認をdefinedでしているところ。このソースの場合たまたま動いてしまっているけど、「値が未定義」なのと「そもそも存在しない」とでは意味も異なる。以下のcode snippetを動かしてみれば、その違いがよくわかる。 my %hash = ( key => undef ); while(my ($k, $v) = each %hash){ printf "exists \$hash{$k} = %d\n", exists $hash{$k}; printf "def

    perl, et al. - キーの存在確認 : 404 Blog Not Found
  • perl - myとourとscopeと : 404 Blog Not Found

    2008年01月10日10:15 カテゴリLightweight Languages perl - myとourとscopeと うーん、微妙に違います。 local と my - IT戦記 our 名前をソース上のスコープに限定. local 値をスタック上のスコープに限定. my 名前と値の両方をソース上のスコープに限定 なら、理解しやすいと思います>< 以下のコードを見てみましょう。何と表示されるでしょうか。 { package Foo; our $bar = 'baz'; } our $bar = 'drink'; warn $bar; warn $Foo::bar; 「ソースに限定する」あるいは「ファイルに限定する」のだとしたら、この挙動はありえないはずです。 ここで、Perlのスコープに関するルールを覚えておきましょう。すっごく簡単です。 {}は、問答無用でスコープを作る = b

    perl - myとourとscopeと : 404 Blog Not Found
    dealforest
    dealforest 2009/03/23
    「do{ no strict 'refs'; ${ __PACKAGE__ . '::var' } = 'val'; };」と「our $var = 'val'」と等価
  • tips - Mac OS X - asrでボリューム全コピー : 404 Blog Not Found

    2009年02月12日14:30 カテゴリ書評/画評/品評iTech tips - Mac OS X - asrでボリューム全コピー asrがあまり知られていないようなので、紹介。 [を] MacBook の HDD を交換した話 いよいよ体の HDD の中身を全て外の HDD にコピーします。 コピーソフトは、最近の rsync でも大丈夫だそうですが、 ここでは「SuperDuper!」というフリーソフトを使いました。 ボリュームの全コピーは、asrを使うと以下の一行コマンドで済む。 Mac OS X Manual Page For asr(8) # Volume cloning: sudo asr restore --source /Volumes/Classic --target /Volumes/install 起動ボリュームだったら、こう。 sudo asr restore

    tips - Mac OS X - asrでボリューム全コピー : 404 Blog Not Found
    dealforest
    dealforest 2009/02/13
    ボリュームのコピー sudo asr restore --source / --target /Volumes/newdisk
  • 1