タグ

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

  • 404 Blog Not Found:perl - 勝手に添削 - 40行で作るPerl用テンプレートエンジン

    2007年10月30日20:00 カテゴリLightweight Languages perl - 勝手に添削 - 40行で作るPerl用テンプレートエンジン 久々の勝手に添削。今回はこちら。 40行で作るPerl用テンプレートエンジン 正規表現がらみなので、Perl以外でも有用。 添削箇所は、こちら。 40行で作るPerl用テンプレートエンジン sub convert { return unless defined(my $str = shift); $str =~ s{&amp;}{&amp;}gso; $str =~ s{<}{&lt;}gso; $str =~ s{>}{&gt;}gso; $str =~ s{\"}{&quot;}gso; $str; } これの最初のsubstitutionが&amp;ではなくて&ではないかというのはさておき、こういった場合、何度も正規表現をかけ

    404 Blog Not Found:perl - 勝手に添削 - 40行で作るPerl用テンプレートエンジン
    kdaiba
    kdaiba 2007/10/31
    なるほどね
  • perl - behind the 2,3 turing machine : 404 Blog Not Found

    2007年10月27日16:15 カテゴリMathLightweight Languages perl - behind the 2,3 turing machine 日でもWiredが取り上げて知られるようになった2,3 Turing Machineですが、 Wolfram Blog: The Prize Is Won; The Simplest Universal Turing Machine Is Proved WIRED VISION / 「ウルフラム氏のチューリングマシン」を20歳の学生が証明 この証明に、Perlが使われていますというお話。 http://www.wolframscience.com/prizes/tm23/TM23Proof.pdf - 証明のPDF I have written several Perl programs, to demonstrate t

    perl - behind the 2,3 turing machine : 404 Blog Not Found
    kdaiba
    kdaiba 2007/10/27
    2,3 チューリングマシンの話は面白そうなんだけど,まだいまいちよくわからない
  • perl - 配列をハッシュキーとして扱う : 404 Blog Not Found

    2007年10月24日20:00 カテゴリLightweight Languages perl - 配列をハッシュキーとして扱う コメント欄にも「教科書解」がなかったので。 Perl勉強中 - YoshioriのBlog #!/usr/bin/perl use strict; use warnings; my @array = qw/1 2 3/; my @array2 = qw/1 2 3/; my %hash; $hash{@array} = 'foo'; # ちょっと変更 print $hash{ @array2 }; # foo みたいなこと出来ないのかな? 教科書解は、こちら。 $hash{ join($;, @array) } = 'foo'; これは、 $hash{1,2,3} = 'foo'; $hash{qw/1 2 3/} = 'foo'; という、配列リテラルをキーに

    perl - 配列をハッシュキーとして扱う : 404 Blog Not Found
    kdaiba
    kdaiba 2007/10/25
    へぇ〜,そんな使い方があるんだ
  • Regexp - Regexp::Commonを引くAPI : 404 Blog Not Found

    2007年10月17日17:00 カテゴリLightweight Languages Regexp - Regexp::Commonを引くAPI Mastering Regular Expression Jeffrey Friedl [邦訳: 詳説 正規表現] そういうことを防ぐにはどうしたらよいか、と考えて作りました。 秋元@サイボウズラボ・プログラマー・ブログ: phpspotの人は正規表現について語らないほうがいいのでは この人、以前にも正規表現のいいかげんな記事を書いていろいろ突っ込まれている。まずは実例から。 Server Source 何をしているかというと、Regexp::CommonをJSONPで引いているのです。このRegexp::Commonは、実際に使用され配布されている正規表現集としては最も実績のあるものの一つですが、そのままではPerlでしか使えないのでこうしてみ

    Regexp - Regexp::Commonを引くAPI : 404 Blog Not Found
    kdaiba
    kdaiba 2007/10/17
    正規表現のスラッシュはdankogaiのサスペンダー
  • ニコニ考 - ニコニコ道が見えてきた : 404 Blog Not Found

    2007年10月15日18:00 カテゴリMediaValue 2.0 ニコニ考 - ニコニコ道が見えてきた ニコニコ動画(RC2)発表会から5日。ニコ割時報にも慣れてきたこのごろ。そろそろ自分の考えをまとめておくことにする。 題に入る前に、まずはおさらい。 「ニコンドライフ」、いやニコニコ道が何かを知るためには、上のプロモーションビデオでも充分伝わってくる。それに、記者会見の質疑問答でのひろゆきの返事を加えれば、それが何なのかがはっきりとわかる。 それは、著作権に関する質疑。ありがたいことに「Pro著作権」の立場の人と、「Proクリエイティブコモンズ」の立場の人の双方から、質問の形を借りた「ニコ厨氏ね」的つっこみがあった。それに対して、彼はこう答えたのだ(ただし、正確な引用ではなく論旨再構成)。 線がはっきりわかって誰もニコニコしていないのと、線はおぼろげで見えないけどみんながニコニコ

    ニコニ考 - ニコニコ道が見えてきた : 404 Blog Not Found
    kdaiba
    kdaiba 2007/10/15
    情にあふれた名解説
  • 404 Blog Not Found:「忙しい人」と「仕事をする人」のたった一つの重要な違い

    2007年09月27日20:00 カテゴリイタい格言 -- painful proverbs 「忙しい人」と「仕事をする人」のたった一つの重要な違い 私には20も覚えるのは無理なので。 モチベーションは楽しさ創造から - 『忙しい人』と『仕事ができる人』の20の違い 「忙しい人」は、「できない理由」を20個列挙するのに忙しい。 「仕事をする人」は、「こうすればできる」を一つでも見つけると、それについては[あとで書く]ことにしてまずは仕事を片付ける。 Dan the Man @ Work 「イタい格言 -- painful proverbs」カテゴリの最新記事

    404 Blog Not Found:「忙しい人」と「仕事をする人」のたった一つの重要な違い
    kdaiba
    kdaiba 2007/09/28
    名言
  • 404 Blog Not Found:怠翻 - JavaScriptでありがちな9つのシマッタ

    2007年08月17日01:15 カテゴリ翻訳/紹介Lightweight Languages 怠翻 - JavaScriptでありがちな9つのシマッタ 私自身結構シマッタしちゃうので。 Nine Javascript Gotchas 尻カンマ注意 以下のコードはFireFoxでは動きますが、Internet Explorer (以下IE)では問題になります。 var theObj = { city : "Boston", state : "MA", } 最後にカンマが入らないよう注意しましょう。 浮気なthisは何を見てるやら 以下のコードで、thisは何を指しているでしょうか。 <input type="button" value="Gotcha!" id="MyButton" > <script> var MyObject = function () { this.alertMess

    404 Blog Not Found:怠翻 - JavaScriptでありがちな9つのシマッタ
    kdaiba
    kdaiba 2007/08/17
    あー,うー
  • 404 Blog Not Found:究極のアフィリエイト、ニコニコ市場

    2007年07月22日02:00 カテゴリValue 2.0Money 究極のアフィリエイト、ニコニコ市場 これを見て、こう感歎せざるを得なかった。 ニコニコ市場(仮)スタート! - ニコニコ動画 開発者ブログ(新着情報) 動画の下部に動画に関連する商品を登録できます。タイトルやタグから自動的に関連しそうな商品を表示していますが、自分で検索した商品を登録することもできます。 民放、オワタ\(^o^)/ これ、さらりと書いてあるけど、これがいかに画期的かというと、TVに例えればわかる。 番組制作者ではなく、視聴者がCMを入れることができるTV局。 そんなものが、かつてあっただろうか。 視聴者がCMを入れられると何がおこるか? 論より証拠、実例を見てみよう。 まずは「さよなら絶望先生」のパロティ(MAD)の市場。まだ販売されていないDVDが、合計200以上も売れている。たかが200というな

    kdaiba
    kdaiba 2007/07/22
    センス次第,と
  • perl - no encoding; # whenever possible : 404 Blog Not Found

    2007年06月22日19:15 カテゴリiTech perl - no encoding; # whenever possible うーん、これ、かなり5.8 portersの想定の範囲外の使われ方だったのですね。 Time to ditch encoding.pm: blog.bulknews.net Perl でソースコードにマルチバイトなリテラルを埋め込む場合には encoding プラグマを使うのが定石でしたが、 元々、encodingプラグマは、JPerlなど、L10Nなperlを発展的に解消させる、あるいは成仏させるためのプラグマ。5.7当初は$^ENCODING直接操作させないためのものでしたが、これを工夫すれば、L10N perlの成仏にも使えるという指摘を私がして、実験的にcharsetというpragma moduleを書いたのですが、5.8のpumpkingであるjh

    perl - no encoding; # whenever possible : 404 Blog Not Found
    kdaiba
    kdaiba 2007/06/23
    進化の過程でうまれた偶然の産物
  • 書評 - アルゴリズム・サイエンス (入口|出口)からの超入門 : 404 Blog Not Found

    2007年05月30日04:00 カテゴリ書評/画評/品評 書評 - アルゴリズム・サイエンス (入口|出口)からの超入門 正三郎さんのお薦めという事で、手に入れてみた。 出口からの超入門 入口からの超入門 共立出版「アルゴリズム・サイエンスシリーズ」: ホットコーナーの舞台裏そのとき、見つけたのが、休刊したbit誌など我々コンピュータ業界ではおなじみの共立出版が新たに刊行を開始した「アルゴリズム・サイエンスシリーズ」。 シリーズ「アルゴリズム・サイエンス」の嚆矢である「入口からの超入門」ならびに「出口からの超入門」は、読んで字のごとくアルゴリズムの入門である。入口と出口に分けているのがニクい。入口はまだアルゴリズムというものを意識していない人々のための、そして出口はすでにアルゴリズムの威力は知っていても、日々の業務に負われて仕様書をそのままプログラムに書き直すのに疲れ気味の人々にアピー

    書評 - アルゴリズム・サイエンス (入口|出口)からの超入門 : 404 Blog Not Found
    kdaiba
    kdaiba 2007/05/30
    興味あり
  • ErlangからPerlを使う : 404 Blog Not Found

    2007年05月24日18:00 カテゴリLightweight Languages ErlangからPerlを使う hio++. ひおにっき(2007-05-22) 外部ポートっていう言い方があってるのかわかんないけれど^^; 別プロセスを起動してそっちで処理して結果を返す. 返さなくてもいいんだけど. Erlang-Port-0.04として CPAN にアップしてあります.遊び方はしごく簡単で、Erlang::Portを入手したらmakeして、exampleディレクトリにcdして以下のようにするだけ。 % erl Erlang (BEAM) emulator version 5.5.4 [source] [async-threads:0] [kernel-poll:false] 1> c("perleval"). {ok,perleval} 2> perleval:start("per

    ErlangからPerlを使う : 404 Blog Not Found
    kdaiba
    kdaiba 2007/05/24
    どう使うと面白いかな
  • ruby & perl - 軽量プロセスをthreadで代用 : 404 Blog Not Found

    2007年05月18日03:30 カテゴリ ruby & perl - 軽量プロセスをthreadで代用 erlangで唯一萌える軽量プロセスですが、これはthreadでも比較的簡単に代用はできます。 Rubyist Magazine - Rubyist のための他言語探訪 【第 10 回】 Erlangで紹介されていたErlang Landのフィボナッチ数を非同期で計算する例は、rubyで書くとこんな感じになるでしょう。 thrfib.rb require 'thread' require 'Common' def worker(n, q) return Thread.new do q.push("fib(#{n}) = #{fib(n)}") end end def manager(n, q) Thread.new do n.times { puts q.shift } end end

    ruby & perl - 軽量プロセスをthreadで代用 : 404 Blog Not Found
    kdaiba
    kdaiba 2007/05/18
    threadは癖使いこなすの難しいと思うんだよね
  • OS X tips - ファイルの開き方 : 404 Blog Not Found

    2007年04月29日15:00 カテゴリTips OS X tips - ファイルの開き方 Mac OS Xがファイルとアプリケーションをどう関連づけているかに関しての備忘録。 普通に開く この場合、Finderからダブルクリックすればよいのは、我が家の娘達も三歳になる前から知っている。Windowsでも同様なのはご存じのとおり。 アプリケーションを指定して開く この場合、使いたいアプケーションのアイコンにドラッグ&ドロップするか、ctrl-クリックして[Open With...]メニューを出せばよい。マウスボタンが複数ある場合は、右クリックでもOK。これまたWindowsと同じ。 openコマンド Mac OS X ならでは、というと、openというコマンドがある。これを使うと、shellからFinderと同じことができる。 % open Usage: open [-e] [-t] [

    OS X tips - ファイルの開き方 : 404 Blog Not Found
    kdaiba
    kdaiba 2007/04/29
    openの仕方
  • Mac - CotEditorがはげしくイカしている件 : 404 Blog Not Found

    2007年04月29日08:30 カテゴリiTech Mac - CotEditorがはげしくイカしている件 このCotEditorが素晴らしい。 404 Blog Not Found:Mac OS X 用のGUI Text Editor - ちくさんのコメント他 それ言うんだったらCotEditorとSmultron,SubEthaEditorあたりも外せないでしょう.あと,Macといえば最近はTextMateでは?? AYNiMac : 自作ソフト : CotEditor 0.9.2 プレーンテキストファイルを読み書きするエディタです。 行番号表示、シンタックスカラーリング、OgreKit を使用した正規表現検索、ウィンドウの透明度設定などの機能があります。 動作環境は MacOS X 10.3.9 以上。 GPL(フリーソフトウェア)です。 以下、使用感を。使い始めてわずか一日ですが

    Mac - CotEditorがはげしくイカしている件 : 404 Blog Not Found
    kdaiba
    kdaiba 2007/04/29
    perltidy
  • 404 Blog Not Found:Digest - 今日にでも使うべきJavaScriptの7つのテクニック

    2007年04月25日12:00 カテゴリLightweight LanguagesBlogosphere Digest - 今日にでも使うべきJavaScriptの7つのテクニック 良質の記事だけに全訳したかったのだけど、時間もないので紹介と抄録。 Digital Web Magazine - Seven JavaScript Techniques You Should Be Using Today サンプルコードは、適宜書き換えてあります。 1. Branch when possible - 分岐はなるはやで これは実例を見た方が早いでしょう。クロスブラウザー対応のaddListener()を考える。機能だけを考えれば、以下でOK。 function addListener(el, type, fn) { if ( window.addEventListener ) { el.addE

    404 Blog Not Found:Digest - 今日にでも使うべきJavaScriptの7つのテクニック
    kdaiba
    kdaiba 2007/04/25
    明日には使う
  • perl - PoCo::Client::HTTP < LWP::UserAgent->new(keep_alive => 1) : 404 Blog Not Found

    2007年04月25日02:00 カテゴリLightweight Languages perl - PoCo::Client::HTTP < LWP::UserAgent->new(keep_alive => 1) POEが大流行しています。私自身POEはちょくちょく使っているのですが、サーバーはとにかくクライアントとなるとそれほど使っていません。 理由は、以下ではありません D-5 出張版 - [開発] PoCo::Client::HTTP decodes content (w/o Permission) Kazuho@Cybozu Labs: Re: PoCo::Client::HTTP が勝手に文字コードを変えてしまう件 理由は、もっと単純。非効率だからです。 以下をご覧下さい。ここでは10000bytesのコンテントを同じサーバーに100回取りに行っています。 % perl lwp

    perl - PoCo::Client::HTTP < LWP::UserAgent->new(keep_alive => 1) : 404 Blog Not Found
    kdaiba
    kdaiba 2007/04/25
    特定のURIへのアクセスならURI::Fetchの方がおすすめかと
  • perl - parser書くならgoto : 404 Blog Not Found

    2007年04月24日18:00 カテゴリLightweight Languages perl - parser書くならgoto しかし、当の当の番はこちらだったりする。 404 Blog Not Found:perl - POO と goto Perl 5のgotoは、仕組みを理解した上で使いどころを誤らなければかのごとく強力なのである。 前回の例では、それでも"One of many ways to do it"で、「知らなくても困らない」レベルのものであった。しかし、今回の例は、gotoがなければ当にきつい。 以下の例を考えてみよう。 入力: (define (fact n) (if (= n 1) 1 (* n (fact (- n 1))))) 出力: [['define',['fact','n'],['if',['=','n','1'],'1',['*','n',['f

    perl - parser書くならgoto : 404 Blog Not Found
    kdaiba
    kdaiba 2007/04/24
    パーサーは鬼門です
  • 404 Blog Not Found:perl - POO と goto

    2007年04月24日00:45 カテゴリLightweight Languages perl - POO と goto というわけで、番。 404 Blog Not Found:perl - 万能なnewの書き方 ここからが面白くなるのだが次のEntryへ譲るここに着目していただきたい。 sub init { my $self = shift; $self->{$_} = $default{$_} for keys %default; $self->SUPER::init(); } 初期化に限らず、自分で何かをしたら次のメソッドに振るというのは、OOでは非常によく見られる光景だ。特にpluginなどを使っている場合、それが著しい。 しかし、このコード、次のメソッドに振っているのはいいのだけど、振ってから戻ってくるのだ。メソッド呼び出しも関数呼び出しに過ぎないのだから、当然といえば当然だ

    404 Blog Not Found:perl - POO と goto
    kdaiba
    kdaiba 2007/04/24
    モジュール作るときに採用すべきかどうか
  • 404 Blog Not Found:perl - Regexp::Assembleのススメ

    2007年04月19日15:00 カテゴリLightweight Languages perl - Regexp::Assembleのススメ というわけで、Regexp::Assembleのご紹介。 PERL HACKS(日語版) [英語版] odz buffer - それ Regexp::Assembleん?ループ云々を抜きにして、こういうのは Regexp::Assemble の出番じゃないの? すでにPerl Hackers御用達のモジュールとなっていますが、まだ知らない方もいらっしゃるかも知れないので。 何をするモジュールか、といえば、以下を見れば一目瞭然でしょう。 Regexp::Assemble - Assemble multiple Regular Expressions into a single RE - search.cpan.org use Regexp::Asse

    404 Blog Not Found:perl - Regexp::Assembleのススメ
    kdaiba
    kdaiba 2007/04/19
    正規表現ネタ
  • 404 Blog Not Found:perl - to goto or not to goto, that's the continuation

    2007年04月18日06:45 カテゴリLightweight Languages perl - to goto or not to goto, that's the continuation Perlでもgotoを使えば、当の継続(continuation)が可能であることを示す。 継続ってなんのことだかさっぱりわからない一は、以下にあらかじめ目をとおしておいていただきたい。 なんでも継続 なんでも継続、Perl で。 : torus solutions! 404 Blog Not Found:継続は力なり Tociyuki::Diary - Perl 5.8 で似非継続 Perl 5のgotoには、3種類ある。 goto LABEL こちらはCなどで見られるgotoと等価である。 goto END; print "Hello\n"; END: print "Goobye\n"; G

    404 Blog Not Found:perl - to goto or not to goto, that's the continuation
    kdaiba
    kdaiba 2007/04/18
    すぐれた使い方は魔法と区別がつかない