ブックマーク / dankogai.livedoor.blog (19)

  • perl - for(;;)よりforeach : 404 Blog Not Found

    2009年03月29日23:45 カテゴリLightweight Languages perl - for(;;)よりforeach Perlベストプラクティス Damian Conway / クイープ訳 [原著:Perl Best Practices] 最近のid:naoyaのソースがすごく気になったので。 何が気になるかというと、for(;;)の利用。それもCやJavaScriptなど、事実上それしかないソースからそのまま転写したとかならとにかく、編集距離 (Levenshtein Distance) - naoyaのはてなダイアリーでは Python版がちゃんとxrangeを使っているのにPerl版がfor(;;)のでますます解せない。 "Perl Best Practices"でも、読みやすさの観点からCスタイルのforは避けよ(pp. 100-101)と言っているが、もう一つ損な

    perl - for(;;)よりforeach : 404 Blog Not Found
    publichtml
    publichtml 2009/03/30
    "Cスタイルのforは避けよ" by "Perl Best Practices"
  • javascript - block代わりのclosureとその問題 : 404 Blog Not Found

    2009年01月19日18:15 カテゴリLightweight Languages javascript - block代わりのclosureとその問題 リハビリに手頃な問題だったので。 これ、実は「Java開発者のためのAjax実践開発入門」でも紹介されている書き方。 for 文と無名関数のイディオム - IT戦記 というわけで、これをすべて解決するのが for (var i = 0, len = list.length; i < len; i++) (function(node, i) { var text = node.textContent; node.onclick = function() { alert(text) }; })(list[i], i) なのだ。 ただし、コメント欄に残された問題が残る。 自分でも検証してみた。 n = : これ、デフォルトでは100万回にして

    javascript - block代わりのclosureとその問題 : 404 Blog Not Found
    publichtml
    publichtml 2009/01/22
    "ループの中ではclosureを生成しない方がよい。"ハイコストだから。
  • 404 Blog Not Found:javascript - Douglas Crockford on DOM

    2006年10月22日23:20 カテゴリLightweight Languages javascript - Douglas Crockford on DOM うわあ、お宝。 Video Presentation: Douglas Crockford on the “Theory of the DOM” - The Web Standards Project Douglas Crockford, discoverer of JSON and JavaScript evangelist/veteran has given a training on the theory of the DOM lately and the videos are available on the web. あのDouglas Crockfordによるセミナー。Javascripterは全員必見! Dougla

    404 Blog Not Found:javascript - Douglas Crockford on DOM
    publichtml
    publichtml 2008/12/09
    JavaScript: The Good Parts著者の、たぶん2006年の講演ビデオ
  • perl - use List::Util; # for production codes : 404 Blog Not Found

    2008年06月26日17:30 カテゴリLightweight Languages perl - use List::Util; # for production codes Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] うーん、これでもいいし、List処理というのはいざとなったら自分で再発明できてしかるべき技能ではあるのだけど、「公式の車輪」も紹介しておいてほしかった。 最大値と最小値を求める。 - サンプルコードによる Perl 入門 というわけで代わりに紹介。 "Perl Best Practices" P.170 Use the "non-builtin builtins" 「ビルトインされていないビルトイン関数」を使おう Perl 5.8 以降であればList::Utilが標準装備されているので、これのmax()が「標

    perl - use List::Util; # for production codes : 404 Blog Not Found
  • サルな科学 - 書評 - Science Made Stupid : 404 Blog Not Found

    2008年06月18日18:45 カテゴリ書評/画評/品評SciTech サルな科学 - 書評 - Science Made Stupid あまりに懐かしかったので。 Science Made Stupid Tom Weller らばQ:人類誕生の謎が解決してしまった?この二つの説の謎や矛盾を、なんと解決してしまった(?)イラストをご紹介します。 これの元ネタが、こちら。 私の年齢が今の半分以下だったころに買いました。家宝だったのだけど実家全焼と一緒に失われたまま今に至っています。 書「Science Made Stupid」は、科学のパロディとしては最も有名なものの一つ(のはず)。すでに絶版となって久しいのだけど、嬉しいことにWeb化されていた。それが再発見され同記事となった模様。 で、こちらがそのサイト。 Science Made Stupid 単にページをスキャンして画像をうpし

    サルな科学 - 書評 - Science Made Stupid : 404 Blog Not Found
  • javascript - with(second.thought) // with再考 : 404 Blog Not Found

    2008年06月15日22:00 カテゴリLightweight Languages javascript - with(second.thought) // with再考 以前 404 Blog Not Found:javascript - 勝手に添削 - JavaScript入門 with()は金輪際あきまへん。ましてやこういう高度な使い方はamachangとかでないと出てきません。サイにもそう書いてある。 と書いたのですが、Resigちゃんが John Resig - Untold JavaScript Secrets What does with(){...} do and why is it so useful? と言い出して、少し気になっていたので改めて調べてみました。 with()文とは? 念のために再確認しておくと、オブジェクトのプロパティを、あたかも変数のごとく見せる構

    javascript - with(second.thought) // with再考 : 404 Blog Not Found
    publichtml
    publichtml 2008/06/16
    with分の使い方と注意点。低速と思われているが、そうでもない。
  • 教科書として書かれた一冊- 書評 - 例解Unixプログラミング教室 : 404 Blog Not Found

    2008年05月18日11:00 カテゴリ書評/画評/品評iTech 教科書として書かれた一冊- 書評 - 例解Unixプログラミング教室 著者より献御礼。 例解Unixプログラミング教室 冨永和人 / 権藤克彦 内容が「Unix/Linuxプログラミング 理論と実践」のだけど、こちらはこちらで良著。「Unix/Linuxプログラミング 理論と実践」がクックブック的なら、こちらは「リャマ」的な一冊となっている。 書「例解Unixプログラミング教室」は、UnixプログラムをCで書くための教科書を目指して書かれた一冊。 目次 - 例解UNIXプログラミング教室 - 書籍紹介【和書】 Pearson Education Japanより。 第1章 C の復習(1):マニュアルの読み方,エラー処理,構造体,共用体 第2章 C の復習(2):ポインタ,バイトオーダ,複雑な型 第3章 低水準入出力

    教科書として書かれた一冊- 書評 - 例解Unixプログラミング教室 : 404 Blog Not Found
  • perl - @_ は参照である : 404 Blog Not Found

    2008年05月12日18:15 カテゴリLightweight Languages perl - @_ は参照である これでも正解ではありますが、perlの場合もっと簡単な方法があります。 各言語間の参照と値渡し - @author pyridoxin sub swap { my ($x , $y) = @_; $$temp = $$y; $$y = $$x; $$x = $$temp } [codepad] sub swap { my $tmp = $_[0]; $_[0] = $_[1]; $_[1] = $tmp; } my ($a, $b) = (1, 2); print "\$a = $a, \$b = $b\n"; swap($a, $b); print "\$a = $a, \$b = $b\n"; これは、Referenceが存在しなかったPerl 4以前からの仕様です。

    perl - @_ は参照である : 404 Blog Not Found
    publichtml
    publichtml 2008/05/14
    @_も$_も参照
  • 404 Blog Not Found:perl - There's more than one way to die

    2008年05月10日15:00 カテゴリLightweight Languages perl - There's more than one way to die いよいよ来週はYAPC::Asia::2008ですが、Hotel DANは日から開業。我が家では日から20日までが「YAPC旬間」です。 というわけで、その間は少なくとも一つはperlがらみのentryにしていく所存です。 で、第一回はいきなりdieの話題です。 開発日誌 pp-perl: Perlのエラー処理プログラムを停止して、メッセージ(LIST)をSTRERRに出力します。 間違っていませんが正しいとは言えません。 die = throw die()とは何か? まずは、以下のコードをご覧下さい。 [Run via codepad] eval { my $zero = 0; my $dead = 1 / $zero;

    404 Blog Not Found:perl - There's more than one way to die
    publichtml
    publichtml 2008/05/14
    "exitするな、dieせよ"
  • perl - で(Recall()|arguments.callee()|&?BLOCK()) : 404 Blog Not Found

    2008年05月01日20:30 カテゴリLightweight Languages perl - で(Recall()|arguments.callee()|&?BLOCK()) Perl Coreだけで同様のことを実装できないかと考えたらあっさり出来たので。 Perl で JS の arguments.callee 的なことしようと思ってハマった - IT戦記 それDevel::Caller でできるよ - TokuLog 改め だまってコードを書けよハゲ test run via codepad sub recallable_sub(&) { use B::Deparse; my $coderef = shift; my $src = B::Deparse->new->coderef2text($coderef); $src =~ s{\bRecall\s*\(}{\$coderef

    perl - で(Recall()|arguments.callee()|&?BLOCK()) : 404 Blog Not Found
    publichtml
    publichtml 2008/05/02
    Perlでarguments.caleeライクなもの。
  • 404 Blog Not Found:「怠惰はプログラマの美徳で言語の機能じゃない」っていうけど

    2008年04月28日21:00 カテゴリLightweight Languages 「怠惰はプログラマの美徳で言語の機能じゃない」っていうけど 怠惰を促す言語とそうでない言語は確かにあるように感じている。 「怠慢はプログラマの美徳」というけれど - kwatchの日記 はてなブックマーク - novtanのブックマーク / 2008年04月28日 怠惰はプログラマの美徳であってそれを言語の機能に求めてはいけない。「怠慢はプログラマの美徳」というけれど - kwatchの日記 例えば、スクリプト言語で次のような Hash や Dict を書いたとする。 data = [ {'name'=>'Foo', 'age'=>20, 'email'=>'foo@mail.com'}, {'name'=>'Bar', 'age'=>21, 'email'=>'bar@mail.net'}, {'nam

    404 Blog Not Found:「怠惰はプログラマの美徳で言語の機能じゃない」っていうけど
    publichtml
    publichtml 2008/04/30
    良い怠惰な書き方 dankogai版。
  • タイプ・クラス・プロトタイプ - OOの語彙 : 404 Blog Not Found

    2008年04月13日06:00 カテゴリLightweight Languages タイプ・クラス・プロトタイプ - OOの語彙 その違いは微妙というにはあまりに大きいので、ここでおさらい。 駄文 - JavaScript と「クラス」と「コンストラクタ」と「プロトタイプ」って言葉の定義が難しいよなあ - IT戦記 JavaScript関数の実体は、Functionクラスのオブジェクトです。今回はFunctionクラスの機能を網羅的に解説します。 JavaScriptの関数オブジェクトを完璧に理解する - builder by ZDNet Japan 「Function クラスのオブジェクト」って言いますよねー。 僕もそういう風に言ったりするんですけど、当は微妙ーに違うんですよね。 Type(型)って何? まず、タイプ=型から説明しよう。 型というのは、「どんなデータを、どう置くか」の

    タイプ・クラス・プロトタイプ - OOの語彙 : 404 Blog Not Found
    publichtml
    publichtml 2008/04/15
    Classはオブジェクトの設計図、Prototype)はオブジェクトの母。Prototypeベース言語では、動的にオブジェクトを変更できる(methodの追加とか)
  • 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 入門
  • 404 Blog Not Found:「10の金言」より重いアインシュタインの名言x5

    2008年04月07日14:45 カテゴリ翻訳/紹介 「10の金言」より重いアインシュタインの名言x5 以下があまりに「安い」ので。 10 Golden Lessons from Albert Einstein at LifeTweak | Get More Out of Life アインシュタインの名言いろいろ | IDEA*IDEA 上のリンクのような使い方も出来る名言もたしかにあるけど、そういう使い方はあまりにもったいないので。 以下、いずれも Albert Einstein - Wikiquote より。 政治と方程式 But to me our equations are far more important, for politics are only a matter of present concern. A mathematical equation stands for

    404 Blog Not Found:「10の金言」より重いアインシュタインの名言x5
    publichtml
    publichtml 2008/04/07
    "世界で最も不可解なのは、世界が理解可能であるということです。" かっこ良すぎる。
  • c - *sとs[]の違い : 404 Blog Not Found

    2008年04月04日03:00 カテゴリTips c - *sとs[]の違い これ、結構tricky。 The C Programmming Lanugage K&R 「 *s 」と「 s[] 」の違い - IT戦記 コメント欄にある「K&Rの5.3を読めばわかる」かというと多分わからない。それどころか P. 100 char s[]; and char *s; are equivalent; なんて書いてあるから余計わからなくなると思う。 なのだけど、すっごく簡単な覚え方がある。 答えは sの値を変更できるか 要するに char *s = "pointer"; printf("%s\n", ++s); はOKだけど、 char s[] = "array"; printf("%s\n", ++s); はNGということ。GCCなら error: wrong type argument to

    c - *sとs[]の違い : 404 Blog Not Found
    publichtml
    publichtml 2008/04/04
    文字列をポインターと配列で定義する時の違い
  • 神か悪魔かグリーンスパンか - 書評 - グリーンスパンの正体 : 404 Blog Not Found

    2008年04月04日05:00 カテゴリ翻訳/紹介Money 神か悪魔かグリーンスパンか - 書評 - グリーンスパンの正体 エクスナレッジ書籍編集部より献御礼。 グリーンスパンの正体 William A. Fleckenstein / Frederick Sheehan 北村慶監修 / 鈴木南日子訳 [原著:Greenspan's Bubbles] 努力しても決して幸せになれない理由 - FIFTH EDITIONアラン・グリーンスパンの「波乱の時代」は当に面白くて勉強になるので、是非とも読んで欲しい。今日書いた話なんて、グリーンスパンの受け売りがほとんどです。 「波乱の時代(上・下)」でグリーンスパンファンになった人には申し訳ないけど、書読了後は真実はよりこちらに近いと結論せざるを得ない。 書「グリーンスパンの正体」は、グリーンスパン人の発言も含む実データをもとに、19年

    神か悪魔かグリーンスパンか - 書評 - グリーンスパンの正体 : 404 Blog Not Found
  • 4つのすごい - 書評 - 勝間式「利益の方程式」 : 404 Blog Not Found

    2008年04月04日00:10 カテゴリ書評/画評/品評Money 4つのすごい - 書評 - 勝間式「利益の方程式」 著者人より献御礼。 勝間式利益の方程式 勝間和代 初出2008.04.02; 販売開始まで更新 勝間の中で、最も面白くて役に立つ一冊。 「10倍」シリーズを揶揄する人も、これを読んだら著者が「物」であることを納得するしかないのではないか。 書〈勝間式「利益の方程式」〉は、文字通りまるごと一冊利益の。 目次 - 私的なことがらを記録しよう!!: 勝間式「利益の方程式」、目次入りましたを大幅増補 第1章 なぜ、利益の概念が必要なのか 第2章 利益はどう計算するのか 利益 = (顧客当たり単価 - 顧客当たり獲得コスト - 顧客当たり原価) × 顧客数 第3章 利益を上げる方程式の解き方 第4章 原則1 どうやって顧客単価を上げるのか 基礎知識1 顧客単価が利益に

    4つのすごい - 書評 - 勝間式「利益の方程式」 : 404 Blog Not Found
  • perl - モジュールと%INC : 404 Blog Not Found

    2008年02月22日23:30 カテゴリLightweight Languages perl - モジュールと%INC うむむ、ちょっとload averageが高い日日が続いたせいか、久々に熱が。 こういう時にはこういうあまり心身を使わないネタを。 Perl モジュールのありかを調べる perlwhere - Tociyuki::Diary モジュールのパスをてっとり早く見つけるには、コア・モジュールの Module::Build::ModuleInfo が便利です。 Module::Buildがコア入りしたのは5.10からなので、他の方法を紹介しつつ、特殊変数%INCの紹介などを。 まず、モジュールのありかを手っ取り早く調べる方法としては、 % perldoc -ml が使える。PODが含まれてなくてもOK。 しかし、中級以上の perl monger を目指すのであれば、%INCの

    perl - モジュールと%INC : 404 Blog Not Found
    publichtml
    publichtml 2008/02/26
    %INCについて
  • javascript - 弾もcurryを煮込んでみた : 404 Blog Not Found

    2008年02月14日21:00 カテゴリLightweight Languages javascript - 弾もcurryを煮込んでみた 以下を見て私も作りたくなったので。 JavaScript でカリー化、再び: Days on the Moon で、出来上がったのがこちら。 var curry = function(f){ var fs = f.toString(); var op = fs.indexOf('('); var cp = fs.indexOf(')'); var ob = fs.indexOf('{'); var cb = fs.lastIndexOf('}'); var args = fs.substr(op+1,cp-op-1).split(/,\s*/); if (!args.length) return f; // 具がないのはそのまま返す var curr

    javascript - 弾もcurryを煮込んでみた : 404 Blog Not Found
    publichtml
    publichtml 2008/02/15
    dankogai版カリー
  • 1