タグ

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

  • 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
  • algorithm - bucket sort - 比較しなければソートは相当速い : 404 Blog Not Found

    2012年01月11日07:00 カテゴリアルゴリズム百選Math algorithm - bucket sort - 比較しなければソートは相当速い 珠玉のプログラミング Jon Bentley / 小林健一郎訳 絶賛風邪こじらせ中につきコードと戯れることに。 新ソートアルゴリズム「配列挿入ソート」だ! - hp12c その名も「配列挿入ソート」! すでに突っ込み入ってるけど、それ、もしかしたら人類最古のアルゴリズムだから。 最古にして最速? おそらくプログラムを組んだことがない人でも「誰にも教えられずに」知った「天然の」アルゴリズムの筆頭に来るのがこのバケットソートではないでしょうか。 ソートしたいものに適当に番号を振っておく 番号がついたバケツを用意する ソートしたいものの番号がついたバケツにそれを放り込む 必要があればバケツの中身を同じやり方でソートする 番号順にバケツの中身をぶち

    algorithm - bucket sort - 比較しなければソートは相当速い : 404 Blog Not Found
  • 私がソフトウェア技術者でもありつづける理由 : 404 Blog Not Found

    2010年09月25日22:45 カテゴリLoveCode 私がソフトウェア技術者でもありつづける理由 一言でいえば、「自分に報い続けたいから」ということになる。 私がソフトウェア技術者をやめた理由 - Rails で行こう!私の職業生活でもっとも多くの時間を注いだのがソフトウェア作りだ。その作業に対して、実際のところ、好きとか嫌いとか一言で割り切れるはずがない。複雑な感情を持っているというのが正直なところだ。 以下に照らし合わせれば、その複雑な感情とやらそのものがお嫌いなのだろう。 私の職業プログラマのとしての最大の欠点は、ソースコードに対して強い美意識を持たずにいられなかったところだろう。生来の生真面目な性格が災いし、私の基準で美しいとはいえないソースコードを敵視しすぎた。 で、何をもって美醜を決めているかといえば、コルモゴロフ複雑性と、そこからの距離をお使いのようだ。 うるう年を計算

    私がソフトウェア技術者でもありつづける理由 : 404 Blog Not Found
    eiji8pou
    eiji8pou 2010/09/26
    ああ、そうだよなあ。
  • perl & javascript - PNGにテキストを埋め込む : 404 Blog Not Found

    2010年09月05日05:30 カテゴリLightweight Languages perl & javascript - PNGにテキストを埋め込む いっそこんな利用法はどうか。 404 Blog Not Found:Ajax - データ交換 via PNG 使いどころが限定的すぎる。 Demo 0 アイコンの中にエンコーダーのソースコードを埋め込んである。 $('#demo0 input').click(function(){ $('#demo0dst').text(showTextInPNG($('#demo0img').get(0))); }); Perlでテキストを取り出すソースコードは以下のとおり。 #!/usr/bin/env perl use strict; use warnings; use Imager; use autodie; my $img = Imager->

    perl & javascript - PNGにテキストを埋め込む : 404 Blog Not Found
    eiji8pou
    eiji8pou 2010/09/05
    うーん。以前、これをやった人を知っているが、後からでも声が大きな人が以下略
  • iOS - なんちゃってAjaxマンガビューワーiPhone対応 : 404 Blog Not Found

    2010年06月26日17:00 カテゴリLightweight LanguagesTips iOS - なんちゃってAjaxマンガビューワーiPhone対応 Retina Displayを見ていたら… 404 Blog Not Found:iPad - なんちゃってAjaxマンガビューワー というわけで、こさえたのが、これ。 iPhoneにも対応させたくなってきたので。 http://colabv6.dan.co.jp/~dankogai/ubunchu01/ 使い方 Safari 4 iPad向けですが、他でも動きます 画面の右側をクリックすると次のページ、左で前のページ 中央をクリックすると「なんちゃってコントローラー」表示/非表示切替 なんちゃってコントローラーをクリックすると、ページ番号入力のプロンプト表示 window.localStorage を使って以前読んだページを記憶。

    iOS - なんちゃってAjaxマンガビューワーiPhone対応 : 404 Blog Not Found
  • 404 Blog Not Found:perl - 勝手に添削 - Acme::JapaneseAvActress

    2007年12月05日12:30 カテゴリRated R書評/画評/品評 perl - 勝手に添削 - Acme::JapaneseAvActress おまえはこんなものまで添削するのか>弾 ゆーすけべー日記: 日のAV女優一覧を取得するPerlモジュール「Acme::JapaneseAvActress」をCodeReposに といっても、添削するのはコードでなくて設計。 まずモジュール名。Acme::JapaneseAvActressでなくて、Acme::PornStars::JPの方が後の国際化を考えるとよくないか? 男女平等を考えれば、Acme::JapaneseAvActorsもいるのでは?PornStarsだとこの問題がない。 次にAcme::JapaneseAvActress::Actressのフィールド。$aja->yomiに対応する$aja->engnameがあると、海外

    404 Blog Not Found:perl - 勝手に添削 - Acme::JapaneseAvActress
  • 幸福屋さんにご用心 - 書評 - 幸福の方程式 : 404 Blog Not Found

    2009年09月26日16:00 カテゴリ書評/画評/品評Lightweight Languages 幸福屋さんにご用心 - 書評 - 幸福の方程式 ディスカヴァーより献御礼。 幸福の方程式 山田昌弘 / 電通チームハピネス だいたいあってる。 なのになぜ書にこれほどのおぞましさを感じるのだろうか。 著者名から来る偏見に違いない。 しかしその偏見が、読者を不幸から遠ざけることもまた確かなのだ。 書「幸福の方程式」は、 ディスカヴァー社長室blog: 幸福の方程式 物質的豊かさを超えた幸福はあり得るのか? ●干場 21世紀の幸福の価値基準を提案していくこと を目的とした一冊である。 目次 - Discover: ショッピングカートより 第1章 戦後消費モデルの変化と幸福の物語 1 物質的豊かさと幸福との関係を探る 2 消費社会の「物語」、ふたつの段階 3 消費不安の時代 4 脱・消費社

    幸福屋さんにご用心 - 書評 - 幸福の方程式 : 404 Blog Not Found
    eiji8pou
    eiji8pou 2009/09/26
    電通が幸福について語る。ギャグにしか聞こえない。
  • #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
  • perl - JPEG判定をPure Perlで : 404 Blog Not Found

    2009年08月18日13:45 カテゴリLightweight Languages perl - JPEG判定をPure Perlで やってみてもいいと思ったので。 JPEG かどうかを判断する C のコード - TokuLog 改めB日記 こんな感じで。 #!/usr/bin/perl use strict; use warnings; use LWP::Simple; my $url = 'http://ec2.images-amazon.com/images/P/4757215339.01.MZZZZZZZ.jpg'; my $content = get($url) or die "Couldn't get $url"; print "$url : ", isjpeg(\$content); if (0){ # test my $fn = shift; my $content; p

    perl - JPEG判定をPure Perlで : 404 Blog Not Found
  • perl - にも真偽値は存在する : 404 Blog Not Found

    2009年08月09日21:00 カテゴリLightweight Languages perl - にも真偽値は存在する 実は、あるのです。 第135回 Perlに true, falseなんてない - bingo_nakanishiの他言語出身者のためのPerl入門 Perlにも true, falseなんてないのさ 真偽値 - Perl入門〜サンプルコードによるPerl入門〜 Perlにおける偽値 0 "0" "" 空文字列 undef () 空リスト Perlにおける真値 上記以外すべて "0.0"は、数値としては0と等しいが、真として扱われる。 これも、厳密ではありません。 以下の条件が存在します。 値がオブジェクトで、かつ演算子boolが定義されている場合、その結果 この事を利用して、Perlはブール演算の際には数値がゼロかどうかではなく、空文字列か否かでもなく、真偽値を要求して

    perl - にも真偽値は存在する : 404 Blog Not Found
  • 悪「言語」身に付かず - 「書ける」と「身に付く」の間に : 404 Blog Not Found

    2009年07月26日15:30 カテゴリArtLightweight Languages 悪「言語」身に付かず - 「書ける」と「身に付く」の間に 習うきっかけは、これでいいと思う。 プログラミング言語を身につける唯一の方法 - ぼくはまちちゃん!(Hatena) たぶんこれかな… なにか作りたいものがある または なにかを作る必要がある なんて状況以外で、マトモにプログラミング言語を習得してる人って ぼくほとんど見たことないんだけど、みなさんはどうでしょう…! けど、これでは「身に付かない」と弾言しちゃう。 なんでそう言い切るか、というと、「作りたい」ものがあって、それを実際にその言語で「作った」のにも関わらず、全然身に付いていない言語が私にはあるから。 たとえば、shell script。 これとの付き合いは、perlよりも古い。にも関わらず、私は未だに shell script を

    悪「言語」身に付かず - 「書ける」と「身に付く」の間に : 404 Blog Not Found
    eiji8pou
    eiji8pou 2009/07/27
    非職業プログラマの俺にとっては実に頷ける話だ。
  • perl - use CGI; use Encode; # 非英語Webプログラミング3原則 : 404 Blog Not Found

    2009年06月23日15:30 カテゴリLightweight Languages perl - use CGI; use Encode; # 非英語Webプログラミング3原則 これは、実はPerlに限らず未だに事実だったりするのですが.... Perl でフォームデータから UTF-8語文字をとりだす方法 (プログラミングの小石・大石) UTF-8 のフォームによっておくられたデータのなかから日語文字をとりだすことは,日Perl CGI プログラマならたいてい必要になることである. ところが,その方法は意外に確立されていないようにみえる. しかし、元発言の方法は先祖帰りすぎるので。 Perlプログラマー以外にも、Webプログラマーであれば有用なentryです。 PerlでWebプログラミングする場合の三原則 QueryはCGIモジュールで処理する 文字コードはEncode

    perl - use CGI; use Encode; # 非英語Webプログラミング3原則 : 404 Blog Not Found
  • perl - で全角半角変換をモダンに行う : 404 Blog Not Found

    2009年06月06日01:15 カテゴリLightweight Languages perl - で全角半角変換をモダンに行う 今ならLingua::JA::Regular::Unicodeが第一選択肢ですが、こういう方法もあるということで。 Perl で半角カナと全角カナの変換をする : Serendip - Webデザイン・プログラミング Perl を使って半角カタカナと全角カタカナの変換をするスクリプトを、標準モジュールの Encode.pm と Unicode::Japanese と Lingua::JA::Regular::Unicode を使ってそれぞれ変換スクリプトを書いてみる。 CORE Moduleのみを使うという縛りをかけています。 #!/usr/bin/perl use 5.008001; use strict; use warnings; use utf8; us

    perl - で全角半角変換をモダンに行う : 404 Blog Not Found
  • 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
  • news - 上に中国のソース行動強制開示あり、下に対策あり : 404 Blog Not Found

    2009年04月24日23:30 カテゴリNewsLightweight Languages news - 上に中国のソース行動強制開示あり、下に対策あり ガクガクブルブル? 中国、ITソースコード強制開示強行へ…国際問題化の懸念 : 経済ニュース : マネー・経済 : YOMIURI ONLINE(読売新聞) 痛いニュース(ノ∀`):中国IT「ソースコード」強制開示強行へ…国家機密漏洩、知財流出など国際問題化の懸念 欢迎光临、没问题! 当局には、以下の三行だけ提出すればおk。 #!/usr/bin/perl use LWP::Simple; eval get('http://colabv6.dan.co.jp/zh-cn/nihao.pl'); コンプライアンスを満たすだけではなく、アップデートの配布まで不要になるというおまけ付き!一石二鳥とはこのことです。そこまで考えた上での中華人民

    news - 上に中国のソース行動強制開示あり、下に対策あり : 404 Blog Not Found
    eiji8pou
    eiji8pou 2009/04/26
    なるほど。アプリは常に最新版をダウンロードせよと言うことか。日本のトラフィックがまた増大するが、それはコストとして割り切るしかないのかなあ。
  • 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
    eiji8pou
    eiji8pou 2009/03/30
    forなんてBASIC以来使ってないけどなあ。Perlから入ったやつはだいたいforeach使うもんだとばかり。こっちのが直観的じゃね?
  • Ajax - Lightweight Languages を実行するAPI : 404 Blog Not Found

    2009年03月21日06:30 カテゴリLightweight Languages Ajax - Lightweight Languages を実行するAPI 今度はPerlだけではありません。 Perl だけではなく.... #!/usr/bin/perl warn time, "\n"; print ''.localtime; PHP も(誰だ、私がPHPを嫌いって言ってるのは:).... #!/usr/bin/php <?php echo date('r') ?> Python に... #!/usr/bin/python import datetime print datetime.datetime.now() Ruby に... #!/usr/bin/ruby puts Time.new Scheme (gauche) に... #!/usr/bin/gosh (use srf

    Ajax - Lightweight Languages を実行するAPI : 404 Blog Not Found
    eiji8pou
    eiji8pou 2009/03/22
  • perl - HTMLをXMLとして扱う : 404 Blog Not Found

    2009年02月19日08:30 カテゴリLightweight Languages perl - HTMLをXMLとして扱う そのXML::Liberalが test でこけまくっていたところから旅が始まった。 ゆーすけべー日記: 壊れた Premiere (映像編集ソフト) のプロジェクトファイルが XML::Liberal (Perlモジュール) で直った ということは、なんとかして壊れたプロジェクトファイルを「well formed」な XML にすればいいじゃないのか!と思ったわけ。そこで活躍したのが「XML::Liberal」という miyagawa プロダクトな Perl モジュール。 やりたかったのは、XHTMLでないHTMLを、XML::*なモジュールで扱うこと。例えばXML::LibXMLを使えば、JavaScriptみたいな感覚でDOMを操作できるし、XML::Sim

    perl - HTMLをXMLとして扱う : 404 Blog Not Found
  • perl - package と stash を理解する : 404 Blog Not Found

    2009年02月18日01:00 カテゴリLightweight Languages perl - package と stash を理解する 以下に触発されて。 CPAN 長いネームスペース大会 - にぽたん研究所 CPAN 階層の深いモジュール王選手権 - id:kazuhookuのメモ置き場 パッケージの階層はどこまで深く出来るか それを調べるために、以下のスクリプトを用意した。 #!/usr/local/bin/perl use strict; use warnings; use Data::Dumper; my $maxdepth = shift || 1024; my $ns = 'P'; sub dummy { 1 } print Dumper \%P::; for my $i ( 1 .. $maxdepth ) { no strict 'refs'; local *{ $

    perl - package と stash を理解する : 404 Blog Not Found
  • perl - Math - Mersenne Twister を Pure Perlで : 404 Blog Not Found

    2009年02月06日11:30 カテゴリLightweight LanguagesMath perl - Math - Mersenne Twister を Pure Perlで Refactor してみた。 PurePerlでメルセンヌ・ツイスタな話。Ver.0.1 - 永字八法 これに対する解決として、use bigintプラグマの導入と言う激烈馬鹿な手段を選択してしまい、MTの利点である「高速性」を大きく損なうことに成功。ダメじゃん!まずは結果を。 [Run via CodePad] #!/usr/local/bin/perl; package MTpp; use strict; use warnings; use Math::BigInt; use constant N => 624; use constant M => 397; use constant MATRIX_A =>

    perl - Math - Mersenne Twister を Pure Perlで : 404 Blog Not Found
    eiji8pou
    eiji8pou 2009/02/06
    ↓bigintが必要なのは、計算の結果が32bitを超えてしまうから。Perlの数値変数の限界と言う意味で。/要るところだけ導入と言う手があったのか……。