タグ

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

  • 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
    zetamatta
    zetamatta 2008/01/19
    タイトルどおり。goto を使った方がシンプルだし、速く動く例
  • 404 Blog Not Found:perl - warn()とdie()の振る舞いを変更する

    2007年04月12日01:30 カテゴリLightweight Languages perl - warn()とdie()の振る舞いを変更する こういった場合の対処法です。 shag の日記 - inetd 経由で起動されても peeraddr は取得可能 ところで Perl で inetd 起動のスクリプト書くと STDIN から入力を読み取って, STDOUT に出力すれば良いだけなんだけど、実は STDERR も inetd を通してネットワークストリームに出力されるので use warnings; する人は注意が必要です。これは、例を見てもらうのが一番速いでしょう。 #!/usr/local/bin/perl use strict; use warnings; use Fcntl; # for sysopen our $LOGFILE = 'warn.log'; warn $0;

    404 Blog Not Found:perl - warn()とdie()の振る舞いを変更する
    zetamatta
    zetamatta 2008/01/12
    warn や die をトラップする方法など
  • Titanic 2 = Sequel 2.0 : 404 Blog Not Found

    2007年12月14日18:45 カテゴリ翻訳/紹介 Titanic 2 = Sequel 2.0 どれどれ.... Life is beautiful: 映画「タイタニック2」の予告編 「タイタニックって沈んだのにどうして続編があるの?」と疑問に思う人はぜひとも一度ご覧いただきたい。 ぐほ。そうきたか。 まさかデビルマンとマッシュアップするとは! これが!これが! おれが身を捨てて守ろうとしたハリウッドの正体か! いくらなんでも病み鍋すぐる、かと思ったけど、Simon and GarfunkelのOnly Living Boy in New York(15局目)の挿れ方が絶妙で、不覚にも「あ、いいかも」と思ってしまった。音楽の力って偉大だなあ。 Dan the Frozen Blogger 「翻訳/紹介」カテゴリの最新記事

    Titanic 2 = Sequel 2.0 : 404 Blog Not Found
    zetamatta
    zetamatta 2007/12/15
    タイタニックの続編のネタ? そうきたか。すごい編集力だ
  • 404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10

    2007年11月26日18:15 カテゴリMathLightweight Languages プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10 ぎくっ あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな なぜぎくってしているかというと、実はすでにアルゴリズムの発注を受けているからなのだ。いつまでも伏せておくのもなんなので、ここにえいやっとdiscloseしてしまうことにする。 アルゴリズム大募集! C&R研究所 - トップページ その下書きもかねて、そこでも紹介しないわけに行かないメジャーなアルゴリズムをとりあえず10個紹介しておくことにする。 ユークリッドの互除法(Euclidean algorithm) その昔(数百年ほど前)は「アルゴリズム」といえば、「手順一般」を指すのではなく、この「互除法

    404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10
    zetamatta
    zetamatta 2007/12/01
    曰く「互除法・篩・二分検索・ニュートン法・クイックソート・マージソート・ハッシュ・二分木・ハフマン符号・メルセンヌ=ツイスタ」
  • 404 Blog Not Found:紹介 - 一つのファイルでperl,javascript,HTMLそしてGIF

    2007年11月05日23:30 カテゴリLightweight Languages 紹介 - 一つのファイルでperl,javascript,HTMLそしてGIF takesako['www']++; TAKESAKO @ Yet another Cybozu Labs: Real UNIX MAGAZINE Day ライトニングトーク 若輩者ながら、昨今のAjaxの技術のGIF89a(ハック)について newtype と oldtype の話を交えながら、ライトニングトークさせていただきました。これが、問題のソース。ちょっとだけ改変してあります。以下のリンクを追ってお試しあれ。 polyglot.(html|gif|pl) GIF89a(q=/*=);sub GIF89a{ print "Hello, Perl!"} __END__#*/1);function GIF89a(){ale

    404 Blog Not Found:紹介 - 一つのファイルでperl,javascript,HTMLそしてGIF
    zetamatta
    zetamatta 2007/11/11
    スライドショーによる解説
  • イメージを形にできない人は減衰する : 404 Blog Not Found

    2007年11月06日03:45 カテゴリArt イメージを形にできない人は減衰する イメージを形にできないものに産業の名は値しない。IT産業はイメージの具現化がすべてである。人気を魅力と勘違いする人は減衰する。 ユメのチカラ: 若い人に人気のない産業は減衰する 未来をイメージできない産業に人は集まらない。IT産業は人がすべてである。魅力のない産業は減衰する。ユメのチカラ: 若い人に人気のない産業は減衰する参加者がすごい。業界の重鎮。岡晋氏(TIS株式会社 代表取締役社長)、浜口友一氏(社団法人情報サービス産業協会 会長、株式会社NTTデータ 取締役相談役)、藤原武平太氏(IPA 理事長)。 大変恐縮なのだが、私はこの参加者のすごさが全く理解できなかった。なぜ業界の重鎮なのかさらに理解できなかった。「IPAフォーラム2007:プログラム(詳細)」を見たら、それがますますわからなくなった。

    イメージを形にできない人は減衰する : 404 Blog Not Found
    zetamatta
    zetamatta 2007/11/07
    そうそう、やっぱり「魂」を言葉に変えて、発信してくれる人でないと、ついてゆく気になれんぞな、もし
  • 加齢臭付きの正論 - 書評 - プログラマー現役続行 : 404 Blog Not Found

    2007年10月15日01:30 カテゴリ書評/画評/品評Art 加齢臭付きの正論 - 書評 - プログラマー現役続行 吉岡さんのおかげで書評在庫が少しずつ片付いて行く。ありがとうございます。 プログラマー現役続行 柴田芳樹 ユメのチカラ: 職業としてのプログラマそして、そのような若い人たちを発見、発掘するのもわたしたちの責任だと思う。 その期待に答えてくれると思って買ってみた。 書「プログラマー現役続行」は、47歳、現役29年目のプログラマーが、その秘訣を一冊にまとめたもの。 目次 まえがき 35年定年説は当か 第01章 ソフトウェアは「人」が作る 第02章 プログラマー現役続行 第03章 論理思考力 第04章 読みやすいコードを書く力 第05章 継続学習力 第06章 コンピューターサイエンスの基礎力 第07章 朝型力 第08章 コミュニケーション力 第09章 英語力 第10章 コー

    加齢臭付きの正論 - 書評 - プログラマー現役続行 : 404 Blog Not Found
    zetamatta
    zetamatta 2007/10/15
    『10年以上現役プログラマーなら、後輩を師匠とあおぐ場面が絶対あるはず』―― 今、dankogai氏がいいことを言った!
  • 全ての奇数は素数であることの証明いろいろ : 404 Blog Not Found

    2007年10月09日04:00 カテゴリ1st Day of AprilMath 全ての奇数は素数であることの証明いろいろ まだwww(ワワワじゃないぞwww)もない頃、rec.humorとかでさんざん使われたネタだけど、ぐぐると数学者、物理学者、工学者バージョンぐらいしか見当たらなくて寂しいので。 以下、弾脳内学者の意見も踏まえて。 数学者 3は、素数である。 5は、素数である。 7は、素数である。 ∴数学的帰納法により、全ての奇数は素数であることが証明された。 物理学者 1は特異点。 3は、素数。 5は、素数。 7は、素数。 9は計測誤差。 すべての奇数は素数であることが観測により実証された。 ソフトウェア工学者 #define is_prime(n) ((n) & 1) 保守議員 「賛成の諸君の起立を求めます」「『すべての奇数は素数である』法案は賛成多数により可決されました」 革新

    全ての奇数は素数であることの証明いろいろ : 404 Blog Not Found
    zetamatta
    zetamatta 2007/10/10
    コメントより「これはエスニックジョークと呼ばれるジョークの一種ですね/ゲームみたいなものです」
  • 404 Blog Not Found:tips - sshでパスワード無しログイン

    2007年09月30日13:30 カテゴリTips tips - sshでパスワード無しログイン 以下に加えて、これも覚えておくといいかも。 odz buffer - SSH の接続を共有する パスワード無しの認証ファイルを作る $ ssh-keygen -d -f ~/.ssh/nopass-dsa -N '' または $ ssh-keygen -d -f ~/.ssh/nopass-dsa -N '' -C you@your.example.com -N ''がポイントです。 前者の場合、ssh commentは$USER@$HOSTになりますが、最近はDHCPホスト名を決めちゃう場合も多いので、それがいやな場合は後者の方法で決め打ちするのがいいでしょう。 完了すると、~/.ssh/nopass-dsaと、~/.ssh/nopass-dsa.pubの二つのファイルが出来ます。前者は絶

    404 Blog Not Found:tips - sshでパスワード無しログイン
    zetamatta
    zetamatta 2007/09/30
    これは嬉しい。そのうち試してみよう。
  • perl - $scalarの中身が数値か否かを判定する : 404 Blog Not Found

    2007年09月21日00:45 カテゴリLightweight Languages perl - $scalarの中身が数値か否かを判定する 詳しくはCookbookの2.1を参照してもらうとして、これは以外とよく出てくる設問なので。 Perl Cookbook (English) Christiansen / Torkington [邦訳: Perlクックブック] Kazuho@Cybozu Labs: MySQL の高速化プチBKところで、実数の場合はどうすればいいんでしょうね。 Scalar::Util::looks_like_number() Perl 5.8.1以降であれば、第一選択はこれです。第一引数の結果が数値か否かを、Perl APIに直接問い合わせるので高速です。ベンチマークを最後に示しますが、真偽ともに正規表現と比較して250倍高速です。 Regexp::Common

    perl - $scalarの中身が数値か否かを判定する : 404 Blog Not Found
    zetamatta
    zetamatta 2007/09/22
    最も速いのは『sub is_a_num { $_[0] != 0 or $_[0] =~ /\A0(?:\.0+)\z/ }』
  • perl - ニコニコ動画ダウンローダー新認証対応版 : 404 Blog Not Found

    2011年08月13日21:00 カテゴリLightweight Languages perl - ニコニコ動画ダウンローダー新認証対応版 初出2007.08.26; 追記2011.08.13 この仕様変更の影響は、ニコニコ動画ダウンローダーにも及びます。というわけで改訂版。 パスワード変更のお知らせ【更新 20:31】 - ニコニコ動画 開発者ブログ(新着情報) 以前プレミアムパスを設定していなかった、または設定したが忘れてしまった方はログインフォームの下にある【パスワードを忘れた】から新しいパスワードを設定してください。 とはいっても、変更する必要があったのはわずか一カ所、認証用のURIだけでしたが。 #!/usr/bin/env perl # # $Id: nicoget.pl,v 0.3 2011/08/13 12:12:02 dankogai Exp dankogai $ # o

    perl - ニコニコ動画ダウンローダー新認証対応版 : 404 Blog Not Found
    zetamatta
    zetamatta 2007/09/09
    ActivePerl の時は、あと「ppm install YAML::Syck」が必要
  • 404 Blog Not Found:こんなスクリプト言語は仕事にならない

    2007年06月25日18:15 カテゴリLightweight Languages一日一行野郎 こんなスクリプト言語は仕事にならない 梅雨です。空梅雨だけど。 こういう時にはDRYよりWET (Waste of Efficiency and Time)を指向したいものです。 求人募集広告がこんなだ 団員募集中!宇宙人、未来人、超能力者大歓迎! 今開発中のマッシュアップサイトの名前が「RoRは大変なものを盗んで行きました」 見積書の金額に「おくせんまん」と書いてしまう 遅れに遅れているリリース時期を聞かれて思わず「ひぐらしのなく頃に」と答えてしまう ペアプログラミングの相手があべさん ついでに自分の名字が道下 #!がこんなだ #!/さあはじまるざますよ/いくでがんす/ふが/さっさとはじめなさいよっ 組み込みの正規表現ライブラリーがこれ。 バグトラッキングページにアクセスするたびに、こんなB

    404 Blog Not Found:こんなスクリプト言語は仕事にならない
    zetamatta
    zetamatta 2007/06/28
    dankogai殿、自重しる(笑)
  • 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
    zetamatta
    zetamatta 2007/06/23
    曰く「UTF-8以外の文字列リテラルは極力ソース中には置かず、これらを外部データとして持った上でEncodeやPerlIOを使って都度変換するべきだ」
  • perl - There's more than one way to duck-type : 404 Blog Not Found

    2007年06月14日00:15 カテゴリLightweight Languages perl - There's more than one way to duck-type 違う部分もあるので、そこを補足。 rubyco(るびこ)の日記 - Duck Typingは大規模プロジェクトでも大丈夫か? 考えてみたらPerlも同じか。Perlの場合、ContextがDuck Typingの代わりをつとめることが多い。 例えば、文字列を数値として扱う時に、rubyでは "1".to_i + "2".to_i と、明示的にto_iで型変換しなければならないのに対し、Perlでは "1" + "2" が3になる。状況、すなわちcontextに応じて、自動で型変換がなされるからだ。初心者に好かれ、中級者に嫌われ、上級者がやみつきになるのがこのcontext drivenという考えかただ。 なぜ初心者

    perl - There's more than one way to duck-type : 404 Blog Not Found
    zetamatta
    zetamatta 2007/06/16
    オブジェクトの文字列変換をオーバーロードする方法
  • The Single Most Important Open Source Project : 404 Blog Not Found

    2007年06月04日05:30 カテゴリOpen SourceCode The Single Most Important Open Source Project しかしバザールを可能にしたのは何なのか? ユメのチカラ: オープンソースの破壊力 Richard Stallmanの功績は、GPLというライセンスを発明した事にあるが、80年代から90年代中頃まで、Richardとごく一部の周辺の人達くらいしかGNUの開発に参加していなかった。実際、Richardはインターネットの向う側のプログラマを信用していなかったので、パッチや改良を貰うときにFSFに著作権を譲渡するような書類にサインさせていた。彼の人柄かもしれないが、当時バザールは発生したとは言えないと思う。 gcc、ではないのか? LAMPの各文字には、それぞれ代替がある。Linuxの代わりに*BSD、Apacheの代わりにlight

    The Single Most Important Open Source Project : 404 Blog Not Found
    zetamatta
    zetamatta 2007/06/10
    曰く「LAMPというのはgccという釈迦の手のひらの上の孫悟空なのだ」――たしかにそうだ。
  • 404 Blog Not Found:君は新言語xtalを知っているか?

    2007年05月23日05:00 カテゴリLightweight Languages 君は新言語xtalを知っているか? Lua に関してねっとをぼげぇ〜と眺めていて発見。 xtal-language - Google Code xtal_doc/syntax xtal_doc/ref xtal_doc/cpp 新言語 Xtalを作る日記 DOFI-BLOG どふぃぶろぐ Matzさんでさえ言及した様子がないこのxtalですが、なかなかどうして面白い。for loopの後ろにelseが書けたり、Fiberを持っていたり...callee()で無名再帰関数も書けたり...そうそそう、...といえば、可変引数の引数は、...という配列に入って、...[0]がその最初の要素というのも楽しいですね。 XTALというとOSの方を思い出してしまいますが、組み込み向けという点で共通しているかも。偶然の一

    404 Blog Not Found:君は新言語xtalを知っているか?
    zetamatta
    zetamatta 2007/05/27
    ←作者のブログの方ね。中括弧系言語。代入の類にコロンを統一して使うのが特徴的。なかなかよろしいかも
  • DBという中間搾取 : 404 Blog Not Found

    2007年05月22日16:15 カテゴリiTech DBという中間搾取 これは事実の半分に過ぎない。 naoyaのはてなダイアリー - Linux のページキャッシュ ということでデータサイズを見てページキャッシュに任せられそうなサイズなら OS に任せておくのが良いんじゃないかなと思います。まず、Disk Cacheはreadには強くても、writeにはそれほど強くないということ。以下をご覧いただきたい。これは、/usr/shre/dict/wordsをBerkeley DBに変換するというトリビアルな例で(ソースは後ろ)、./が普通のdisk,/mdがmemory disk(md)。読み込みに関しては差が全く出ていないのに、書き込みに関しては有意に遅い。 # write /usr/share/dict/words => ./words.db: 10.1032350063324 sec

    DBという中間搾取 : 404 Blog Not Found
    zetamatta
    zetamatta 2007/05/23
    『このあたりの「中間搾取」を何とか減らせないだろうか。』――ほんとうにそう思う
  • twitterが最近復活した理由 : 404 Blog Not Found

    2007年05月20日01:20 カテゴリBlogosphere twitterが最近復活した理由 が判明したので報告。 原因 電力不足。 pal-9999の日記 - twitterの発電用過労死 発電でサーバーの電力を賄うなんて土台無理だったんだよ。 解決法 ユーザーのぬこ化。 twitterはどうやらガスコン研究所から新しいぬこ発電機を導入したらしい。 ガスコン研究所: ■発電のしくみ 私なりの「発電」のしくみを考えてみた。 (※一度、画面内をクリックしてから「↑」キーを押してね) [ホットリンク失礼] 細かい突っ込みですが、発電量はwではなくJないしwh(= 3600J)ではないかと。 こうなると、ヌイッターも早く自家発電を実装しないと、YouTubeにハブられたニコニコ動画の二の舞になるかも:-) Dan the Occasional Twitterer 「Blogosph

    twitterが最近復活した理由 : 404 Blog Not Found
    zetamatta
    zetamatta 2007/05/20
    時間あたりの発電量だから、ワットでいいんじゃないかな。
  • λ萌え - たらいを後回し : 404 Blog Not Found

    2007年05月13日06:30 カテゴリLightweight Languages λ萌え - たらいを後回し Gauche Nightではしゃぎすぎたところにもってきて、昨日はEncodeをメンテしながらホームパーティーなんぞをしていたらどうやら風邪を引いてしまったみたい。 風邪で頭が痛いときには、λと戯れるに限る、ということでこの話題。 前回までのあらすじ 404 Blog Not Found:たらいを回すならHaskell 404 Blog Not Found:javascriptでもたらいを回してみた 404 Blog Not Found:gaucheでもたらいを回してみた 404 Blog Not Found:C - Judyでたらい回し ここまでのあらすじでわかった事は、遅延評価(lazy evaluation)するHaskellがむちゃくちゃ優秀なこと、遅延評価がない言語で

    λ萌え - たらいを後回し : 404 Blog Not Found
    zetamatta
    zetamatta 2007/05/13
    いろんな言語で遅延評価による高速化を試してみるテスト
  • ブクマゴルフってどうよ? : 404 Blog Not Found

    2007年05月08日16:45 カテゴリ一日一行野郎Lightweight Languages ブクマゴルフってどうよ? これを見て思い立ったのだけど.... どうしてプログラマに・・・プログラムが書けないのか? 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 一行で書き下ろせる問題はぶくマで答えるというのはどうか。 例: はてなブックマーク - 404 Bookmark Not Found / 2007年05月08日 問題は、このあたりにたくさん。 anarchy golf 「はてブコメントを実行可能に」というアイディアはさすがに上げないでおこう。 Dan the Just Another One-Line Hacker 「

    ブクマゴルフってどうよ? : 404 Blog Not Found
    zetamatta
    zetamatta 2007/05/08
    やろうとしたけど、角括弧がうまく扱えないっすよ