タグ

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

  • Algorithm - 連想配列の実装としてのハッシュはオワコン? : 404 Blog Not Found

    2012年01月17日11:45 カテゴリアルゴリズム百選Tips Algorithm - 連想配列の実装としてのハッシュはオワコン? 珠玉のプログラミング Jon Bentley / 小林健一郎訳 つまり「終わったコンテナ」。 以前からうすぼんやりと考えて来た危惧が、すこしはっきりと見えてきた。 徳丸浩の日記: Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策 もうそろそろハッシュ(テーブル)以外の手段の連想配列の実装手段を格的に模索するべきではないか、と。 そのデータ構造は、君の魂を差し出すに足るものかい? 連想配列(Associative array)がコレクション(Collection)、すなわち数多のデータ構造をまとめるデータ構造としての覇者となったのはもはや疑いようがない事実でしょう「配列で実装されるデータ構造ではなくて、配列を実装するデータ構

    Algorithm - 連想配列の実装としてのハッシュはオワコン? : 404 Blog Not Found
  • Brave New Product - 品評に代えて - MacBook Air Mid 2013 : 404 Blog Not Found

    2013年06月19日20:45 カテゴリ書評/画評/品評 Brave New Product - 品評に代えて - MacBook Air Mid 2013 Late 2010, Mid 2011 に引き続き、Mid 2013を引き続きまた勝ってしまった、もとい買ってしまったので。 いや、負けてしまった、というべきか。 今回購入したのは、13-inch/Core i7/US Keyboard/8GB RAM/512GB SSD 。 Model Name: MacBook Air Model Identifier: MacBookAir6,2 Processor Name: Intel Core i7 Processor Speed: 1.7 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core):

    Brave New Product - 品評に代えて - MacBook Air Mid 2013 : 404 Blog Not Found
    oinume
    oinume 2013/06/21
    いいレビュー。欲しくなる!
  • 型を忘れる静的言語、型を覚えてる動的言語 : 404 Blog Not Found

    2013年03月01日16:00 カテゴリLightweight Languages 型を忘れる静的言語、型を覚えてる動的言語 召還されたますた。 @dankogaiさんがブログで参入したら面白そう。 「変数に型がないということの利点について考える - サンプルコードによるPerl入門」 (id:perlcodesample / @perlcodesample2) d.hatena.ne.jp/perlcodesample…— r-west (@rwest2112) February 28, 2013 言語設計者たちが考えること Mastermind of Programming Federico Biancuzzi / Shane Warden 伊藤真浩 / 頃末和義 / 佐藤嘉一 / 鈴木幸敏 / 村上雅章訳 [原著:Masterminds of Programming] まず、よくあ

    型を忘れる静的言語、型を覚えてる動的言語 : 404 Blog Not Found
  • regexp - で Apache Combined Log を Parse する : 404 Blog Not Found

    2013年02月09日22:30 カテゴリTipsLightweight Languages regexp - で Apache Combined Log を Parse する けだし同感。 ましてや Apache Combined Log を LTSV に を書いた後では。 combined2ltsv.plの最初のバージョンのparserはこうなっていました。 sub parse_line_ng { my $line = shift; my %rec; ( $rec{host}, $rec{ident}, $rec{user}, $line ) = split ' ', $line, 4; $line =~ s/^(\[.*?\]) //; $rec{time} = $1; $line =~ s/^\"(.*?)\" //; $rec{req} = $1; ( $rec{status},

    regexp - で Apache Combined Log を Parse する : 404 Blog Not Found
  • 紹介 - Plack Handbook : 404 Blog Not Found

    2012年09月28日17:50 カテゴリ書評/画評/品評Lightweight Languages 紹介 - Plack Handbook 著者より献御礼。 Plack Handbook: Plack and PSGI Development guide ebook Plack Handbook on Gumroad miyagawa/plack-handbook いいね! 内容textもさることながら、販売戦略contextが。 書「Plack Handbook」は、タイトルどおりPSGI/Plackのハンドブック。書いたのはその父@miyagawaその人。内容は間違えようがないし、仮に間違っていたとしてもすぐ直せる。 電子書籍なのだから。 しかし作は、PerlでWeb開発している人のみではなく、電子書籍かくあるべしというロールモデルとして、電子書籍をこれから作ろうとする全ての人

    紹介 - Plack Handbook : 404 Blog Not Found
  • 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
    oinume
    oinume 2010/07/30
  • 404 Blog Not Found:perl - ワンライナーの書き方入門

    2008年03月30日19:45 カテゴリLightweight Languages一日一行野郎 perl - ワンライナーの書き方入門 まあ、ruby のコマンドラインオプションって、Perl由来ですから。 Rubyでワンライナーを書く方法のまとめ まぁ、Perlもあるしあんまり需要が無いのかも知れませんが。 というわけで、Rubyistにも役立つPerlのワンライナー入門です。 基中の基 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e 'print "Hello, World!\n"' Hello, worl

    404 Blog Not Found:perl - ワンライナーの書き方入門
  • 教科書はいらない - 書評 - PHP逆引きレシピ : 404 Blog Not Found

    2009年07月06日14:30 カテゴリ書評/画評/品評Lightweight Languages 教科書はいらない - 書評 - PHP逆引きレシピ 翔泳社片岡様より献御礼。 PHP逆引きレシピ 鈴木憲治 / 安藤建一 / 山田直明 / 八木照朗 / 山義之 / 河合勝彦 ある意味実にPHP的な一冊。PHPは、これ一冊あれば十分だと強く感じた。 PHPを使うにしても、使わないにしても。 書「PHP逆引きレシピ」は、「PHPでプログラミングを習う」のではなく、「PHPで動くWebサイトを作る」に徹した一冊。PHPは後者に特化した言語である故に、前者には徹底的に向かない。書を読めば、PHPを全く知らないプログラマーにもそれがわかるし、PHPを日時使っている人も、そのことが改めてわかるはずだ。 目次 - | PHP逆引きレシピ オフィシャルサポート より 第1章 準備 1.1 サー

    教科書はいらない - 書評 - PHP逆引きレシピ : 404 Blog Not Found
    oinume
    oinume 2009/07/06
    本書を読了した今は、確信を持って言える。PHPは、プログラミング言語として学ぶべきものではないと。
  • たった一つの冴えたやり方@IT - lingr to stop lingering : 404 Blog Not Found

    2009年05月02日16:30 カテゴリNewsArt たった一つの冴えたやり方@IT - lingr to stop lingering まずはおつかれさま>kenn & the Gang LingrとRejawサービス終了のお知らせ:江島健太郎 / Kenn's Clairvoyance - CNET Japan 5月末をもって、LingrとRejawの両サービスをシャットダウンすることになりました。いずれのサービスも、すでに新規サインアップは受付停止済み、5月15日までユーザデータのダウンロード依頼を受け付け、5月16日からは新規発言ができなくなり、5月末の完全停止までの間にデータをダウンロードしていただく段取りになります。 いや、「おつかれさま」は「日人の知らない日語」によれば目上から目下へ使う言葉とのことなので、「お疲れの出ませんように」と言い直すことにしましょう。 それで

    たった一つの冴えたやり方@IT - lingr to stop lingering : 404 Blog Not Found
    oinume
    oinume 2009/05/03
    さりげなくFind Job !にリンクを張ってくれている件
  • tips - svnメイン、でもgithubでも公開したい場合の最小手順 : 404 Blog Not Found

    2009年04月02日03:30 カテゴリTips tips - svnメイン、でもgithubでも公開したい場合の最小手順 というわけで、遅ればせながらgithubはじめました。 dankogai's Profile - GitHub のですが、正直どうもgitにはとっつけない。RCS → CVS → subversion というのは、コマンド体系も互換性が高い正常進化でとっつきやすかったのですが、gitはそもそも考え方からして違うということも大きいかと思います。 というわけで、とりあえずひきつづき subversion をメインに使いつつ、githubでも公開したい場合どうしたらいいのかという備忘録を。 gitクライアントの入手 入手は以下から。 Git - Fast Version Control System 私はOS Xのバイナリを素直にインストールしました。インストールすると

    tips - svnメイン、でもgithubでも公開したい場合の最小手順 : 404 Blog Not Found
  • perl - new module - Class::Axelerator : 404 Blog Not Found

    2009年02月14日08:00 カテゴリLightweight Languages perl - new module - Class::Axelerator Proof of Conceptだった 404 Blog Not Found:perl - no accessor; # だって遅いんだもん を元に、Class::Axelerator というモジュールをreleaseしました。 /lang/perl/Class-Axelerator/trunk - CodeRepos::Share - Trac Dan Kogai / Class-Axelerator - search.cpan.org http://www.dan.co.jp/~dankogai/cpan/Class-Axelerator-0.01.tar.gz Enjoy! Dan the Perl Monger NAME

    perl - new module - Class::Axelerator : 404 Blog Not Found
    oinume
    oinume 2009/02/16
  • 従来のソフトウェアエンジニア人事工学が決定的に間違っている点 : 404 Blog Not Found

    2009年02月06日05:30 カテゴリArt 従来のソフトウェアエンジニア人事工学が決定的に間違っている点 ここまでは、誰もが同意するだろう。 従来のソフトウェア工学が決定的に間違っている点 - kwatchの日記 仕事が高度になればなるほど、属人性は排除できないし、人材の替えはきかない。問題を解決できない人間を100人集めても、問題は解決できない。問題を解決できるのは、問題を解決できる能力を持った人間だけ。頭の悪い大人100人より、すごく頭のいい小学生1人のほうが、成果物が出る。ソフトウェア開発はそういう類いの仕事。 にも関わらず、 ソフトウェア開発も同じような体制にしたほうがいいのではないか。生産性が 30 倍違うのであれば、バカプログラマー 30 人を雇うより、スーパープログラマー 1 人にサポートスタッフ 5 人つけたほうが安くていいものができるだろう。 とならないのはなぜか。

    従来のソフトウェアエンジニア人事工学が決定的に間違っている点 : 404 Blog Not Found
    oinume
    oinume 2009/02/06
    「生産性が高い」プログラマーほど仕事を選ぶ、はなるほどと思ってしまった。会社における普通の開発業務はビジネス的な調整が多かったり、っていうのが理由なのかなぁ。
  • perl - use warnings; # -w でなくて : 404 Blog Not Found

    2008年06月19日21:45 カテゴリLightweight Languages perl - use warnings; # -w でなくて 最近は、さすがにuse strict;されていない実践コードを目にすることもほとんどなくなってきたのだけど、まだ残っているのがuse warnings;利用。以下と併せて読んでいただけると幸いだ。 404 Blog Not Found:perl - use strict; # and be happy -w って何? warnings って何? まず、以下のプログラムを見てみよう。 #!/usr/local/bin/perl use strict; sub distance { my ( $a, $b ) = @_; return sqrt( $a**2 + $b**2 ); } print distance(@ARGV), "\n"; % p

    perl - use warnings; # -w でなくて : 404 Blog Not Found
    oinume
    oinume 2008/06/20
  • 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
    oinume
    oinume 2008/05/13
    @_って参照なんだ!
  • 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

    2008年01月07日18:30 カテゴリLove 好きになることを好きになる でも、その「好きなこと」もまた変わってくんだよね。 仕事について考える(2) 〜 プログラミングより大事なこと - 将来が不安 「プログラミングは好きなの? 嫌いなの?」と問われれば、それはもちろん、一週間ずっとコード書いてられる程度には好きですね。でも、それ以上に大事なことがあるんだよな。それは「自分で仕様を決める」ことです。つまり、自分が納得する、自分が当に良いと思えることを実現すること。それが出来ないなら、コードなんて書く気にならない。わがままですか、すみません(涙)。私の場合だと、例えば PerlJavaScript 。今や私が最もよく使うプログラミング言語。でも、これらの第一印象ときたら、ひどいものだった。例えば Perl 5は だったし、 JavaScript は だった。どちらも好きになっ

    好きになることを好きになる : 404 Blog Not Found
    oinume
    oinume 2008/01/07
    いいエントリー
  • この発想はなかった - 書評 - 逆算式SQL教科書 : 404 Blog Not Found

    2007年12月28日02:45 カテゴリ書評/画評/品評Lightweight Languages この発想はなかった - 書評 - 逆算式SQL教科書 技術評論社書籍編集部池様より献御礼。 ぐんぐん実力がつく! 逆算式SQL教科書 小野哲 やられた! この発想はなかったよ。 書「ぐんぐん実力がつく!逆算式SQL教科書」は、一言で言うと「それってどう書く」のSQL版。文法や命令を説明するのではなく、「こうしたい時にはどうするの」という実例集。他の言語だと、いわゆるCookbookというのがすでにかなりあるのだけど、SQLはまだなかった。 目次 - 書籍案内:ぐんぐん実力がつく! 逆算式SQL教科書|gihyo.jp … 技術評論社 第1章 逆算してみませんか? 第2章 最も基的なSELECT文 第3章 次に重要なSELECT文 第4章 1ランク上のSELECT文 第5章 覚えてお

    この発想はなかった - 書評 - 逆算式SQL教科書 : 404 Blog Not Found
    oinume
    oinume 2007/12/30
    買おうかな
  • javascript - お伺い - Object.prototype.clone() : 404 Blog Not Found

    2007年11月26日23:45 カテゴリLightweight Languages javascript - お伺い - Object.prototype.clone() JavaScriptでオブジェクトのディープコピーをどうやってやるのか、これといったものがないようなので作ってCodeReposにおいておきました。 /lang/javascript/clone/trunk/clone.js - CodeRepos::Share - Trac なぜこういうのが必要かというと、 var a = [0,1,2,3]; alert(a); // 0,1,2,3 var a2 = a; a2[4] = 4; // a2を変えると... alert(a2); // 0,1,2,3,4 -- aも変わってしまう! からです。参照でオブジェクトを実装しているものにはJavaScriptでなくてもこう

    javascript - お伺い - Object.prototype.clone() : 404 Blog Not Found
  • perl - 文字列ばらしはsplit //, $strで : 404 Blog Not Found

    2007年11月27日13:30 カテゴリLightweight Languages perl - 文字列ばらしはsplit //, $strで うーん、ここがあきまへん。 [を] 転置インデックスによる検索システムを作ってみよう! 9 my @char = ($c =~ /([\x00-\x7f]|[\xC0-\xDF][\x80-\xBF]| 10 [\xE0-\xEF][\x80-\xBF]{2}| 11 [\xF0-\xF7][\x80-\xBF]{3})/gsx); 文字列をばらして(utf8の)文字一つ一つの配列にするには、バイト列に正規表現をかますのではなく、utf8文字列にしてからそれにsplit //をかますのが一番です。単にわかりやすいだけではなく、その方がずっと高速です。以下、Benchmark。 #!/usr/local/bin/perl use strict; u

    perl - 文字列ばらしはsplit //, $strで : 404 Blog Not Found
    oinume
    oinume 2007/11/27
  • 404 Blog Not Found:perl - パッチなしでパッチする

    2007年04月09日16:15 カテゴリLightweight LanguagesTips perl - パッチなしでパッチする Perlに限らず、動的に名前空間を書き換えることができる言語ならコンセプトはパクれるはずのtips. 状況 人様が書いたモジュールにバグ発見! バグ直した パッチも送った でも作者が$VERSION++してくれない さあどうする? オレバージョンのモジュールをつなぎでつかう? でも標準でないものをイントールするのはいやん サブクラス作ってメソッドをオーバーライドする? でも問題のモジュールが継承をサポートしているとは限らないし そもそも問題のモジュールOOじゃなかったりもするし 代替モジュールを書いてCPANにうp? -- i.e. JSON::* でも元々のモジュールがあまりによく使われているし うpは簡単でもサポート大変そうだし.... 実例 See Al

    404 Blog Not Found:perl - パッチなしでパッチする
    oinume
    oinume 2007/11/23
    動的言語は素晴らしい、の例