2007-01-01から1年間の記事一覧

conditional expression の代替

ref: Python 2.5 の新機能 なんか久々に紫藤さんのサイトを覗いたら、ちょっと面白い。 今まで、Python には三項演算子が無かったので、単に条件によって代入される値を変えるために if predicate: value = then_value else: value = else_value と書くのは…

Java で pipeline

ref:Java BlockingQueueで遊ぶ:パイプラインごっこ - 檜山正幸のキマイラ飼育記 Java での Pipeline 実装としては commons-pipeline というのがあって結構いいんだけど、なかなか Sandbox からあがってこないんだよなぁ。

APR とか CFL とか

C

ref:C言語でコレクションが使いたい!! - Ryoの開発日記 ref:はてなブックマーク - C言語でコレクションが使いたい!! - Ryoの開発日記 うーん、カーネル周りをいじるから C++ は使えないけど、APR は使える状況ってどんなだろ。apr を static link するな…

Benchmark の取り方

ref:404 Blog Not Found:アルゴリズム百選 - 迷ったらbenchmark なんか頼まれたし書いておくか。結論から言えば、迷って benchmark をとって、騙されていたら世話無いという。 とりあえず、Dan さんのコードをちょいと改造。 --- pow.c.orig 2007-12-14 17:5…

Function オブジェクト生成のコスト

ref:Life is beautiful: Javascriptクイズ(中級者向け):無名関数と実行効率の話 まあ普通に考えると Function オブジェクトの生成コストだろうなぁ。ということで、関数を名前空間のように使うイディオムとしてはこう。 var style2prop = (function() { f…

オーバーヘッド

ref: Re: Ruby 1.9 で eval が遅いという話 - usagidropの日記 結論だけ書かれても分からないとのことなんだが、対象が小さいとそこに発生するちょっとしたオーバーヘッドが相対的に大きくなるということは想像だにできないものなのか。うーむ。 C/C++ の話…

Same or not?

しかし、2つの機能を比較して、「同じ」と「違う」の2分思考になるのは面白いと思う。class への annotation(+メソッドの実装強制)としての interface という概念の考え方をするのは別にいいと思うけど、「Java の interface」として考えたときに型を完全に…

なんとかしてください

O記法の件で「Dan さんをなんとかしてくださいよ」なんてことを言われたんだけど、まぁ、その、私に言われても。 でも、some と any は定、不定を表すものじゃないよね。

Ruby 1.9 で eval が遅いという話

ref: Re: Ruby1.9で遅くなる項目 - usagidropの日記 ささださんがいうように、素直にベンチマークのコードを見てみればいいと思うのだけど。まぁ、ベンチマークコードの所在が分からないというオチもありそうだけどな。 ベンチマークのコードは Ruby のレポ…

ローカル変数とメソッドと eval

def x :method end def f if false x = :var end x end p f # => nil f が nil を返すのは何ともかんとも。Python User としてはちょっと気持ち悪いかも知れない。まぁ、ruby はメソッドかローカル変数かをレキシカルな情報を使って判定しているんだろうけど…

interface と型チェックの有無 #3

OOP

ref: Re: interface と型チェックの有無 #2 - usagidropの日記 何に焦点を当てているのか分からない、と言われてもこれ以上ない位明確に書いてあるつもりだけどなぁ。一応、引用しておくか。 そういうわけで、Java の interface が静的型付けのための仕組み…

ベンチャー

雇用の内々定をもらってからというもの、なぜか「なんでベンチャーじゃないの」という旨のことを何回も聞かれた。 いや、むしろこっちが聞きたいよ。なんで私がベンチャー企業志望だと思うのか。 あれか、もしかして巨大な企業というのは絶望に満ち溢れてい…

interface と型チェックの有無 #2

OOP

ref: Re: interface と型チェックの有無 - usagidropの日記 なんというかなぁ、sumim さんの紹介された論文のタイトルが「Interfaces for Strongly-Typed Objecect-Oriented Programming」だというのを忘れていませんか。大学からダウンロード可能なので、ダ…

MOMOTAROH

ref:404 Blog Not Found:perl - Lingua::JA::Kana released! とりあえず、 is romaji2katakana('MOMOTAROH'), 'モモタロウ'; が fail したので悲しかった。 しかし、こういうネタを書くと年齢が疑われそうだな。最近、続編が出ているらしいけど。*1 *1:分か…

会社説明会

大学の同期の人が会社説明会に来るというので、冷やかしに参加してきた。

SourceForge.net Marketplace

ref:SourceForge.net Launches Open Source Services Marketplace ref:SourceForge.net: Buy Service SourceForge.net 上のオープンソースのサービス/サポートを売り買いする場、ということでいいのかな。なんだか良く分からないけど。 物ではなく、サービス…

interface と型チェックの有無

OOP

ref: クラス、インターフェース、型チェックの有無 - usagidropの日記 ふむ。おっしゃるとおり。 例えば次の例では、class Aを定義するときに、必ずm1()を実装しなければならないことが強制されます。これは型に関係ないですよね。 interface X { public voi…

冠詞

ref:404 Blog Not Found:プログラマーでなくてもわかるaとtheの違い ref:codeなにがし::プログラマにおくる英語の冠詞の使い分けの法則 Wiki版 つArticles 詳しくはあとで書くかもしれないし、書かないかもしれない。

値と参照

ref:404 Blog Not Found:アルゴリズム百選 - 値と 基本的には、内部構造を持つもの、すなわち変更可能なプロパティを持つもの全てが参照で、内部構造を持たないもの(atomic)は値、ということになります。例えばRegExpオブジェクトにはglobalなどのプロパティ…

LL では DI はいらない?

DI

ref: DIコンテナなんていらない - usagidropの日記 単純な DI Container はいらないというのであれば、まぁ、そういう面はあるだろうなぁ、と思う。 でも、規約ベースで自動的に injection するだとか、AOP と組み合わせるとかすれば結構便利に使えるんじゃ…

interface の method の modifier

ref:interfaceのメソッドって - mono-hateの日記 そいや、public つけるのは推奨されないんだっけ?私はつけているなぁ。えーと、Java Language Specification でも見てみるか。 Every method declaration in the body of an interface is implicitly public…

YUI 2.4.0

ref:YUI 2.4.0 Released ? Selector, Charts, Profiler, Script/CSS Get, and JSON Support ≫ Yahoo! User Interface Blog でたらしい。YUI も CSS セレクタを実装かぁ。

たまには PukiWiki などを

ref:http://twitter.com/wtnabe/statuses/466956942 PukiWiki ならプラグインを書けばさくっと実現できるよねー。 わりと適当に。といっても一応キャッシュ機構ぐらいはつけてあるけど。

範囲の与え方

ref:404 Blog Not Found:アルゴリズム百選 - 二分探索(binary search) あとまぁ、どうでもいいといえばどうでもいいのだけど。 範囲指定する場合、終端は終端要素のインデックス + 1 で与えるのが通例じゃないのかなぁ。というか、終端要素のインデックスを…

Suffix Array の検索

ref:404 Blog Not Found:アルゴリズム百選 - 二分探索(binary search) 面白い応用としては、Suffix Arrayというものがあります。これは無秩序に並んだデータ、例えば一般的なテキストファイルに対応する秩序だったデータ構造を用意し、それに対して二分探索…

ファイルの読み込み

ref: join ("", <DATA>) か local $/ か ? - あじゃぱー いや、これ benchmark になってないから。試しにこんなのを書いて実行してみると分かる。 use strict; use warnings; print join('', <DATA>); print do { local $/; <DATA> }; __DATA__ sample program for reading __D</data></data></data>…

要するに論点がずれている

ref: 元ネタ != 発明 - カレーなる辛口Javaな転職日記 最初の引用が変。括弧でくくられた注釈の一部から始めてどうする。ちなみに、その引用部分は Smalltalk についての言及だから、そりゃ、その部分からは Objective-C との関連はわかりません。 まぁ、…

list の hash

ref:2007-12-02 - プログラミング日記 なるほど。同値関係を定義できるのに、同一オブジェクトじゃないと同一ハッシュにならないという状況はいろいろまずそうだから、それを回避するわけだ。 しかし、新スタイルクラスではobjectに__hash__が定義されている…

array_multisort とか Schwartzian Transform とか

PHP

ref:[を] PHP の array_multisort は Schwartzian Transform 向きかな つうか、array_multisort は multi sort なんだから、sort key が複数ある場合に使うものだと思うのだが。sort key が複数あるというのは、まず著書名順で整列して同じ著者の著書は著書…

help とか

今日気づいたこと。 Python 2.5.1 (r251:54863, Oct 5 2007, 13:50:07) [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> type(help) <class 'site._Helper'> >>> type(copyrig</class>…