エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

2009-05-01から1ヶ月間の記事一覧

統計的に正しいランキングを行う方法をC++とかHaskellとかで書く

http://d.hatena.ne.jp/makiyamakoji/20090512/p1のコードを参考に(というか、ほとんど一緒ですが)C++で書き直してみた。 #include <algorithm> #include <stdexcept> #include <cmath> double calcNormalDistPercentile(double percent) { if((percent <= 0) || (1 <= percent)) { throw </cmath></stdexcept></algorithm>…

聴くことと話すこと、書くことと読むこと

このあいだ、仕事場の電話を取ったら英語で話しかけられました。相手がゆっくりと簡単な言い回しをしてくれたのと多少なりとも英語番組を聴いたりしていたおかげか、聞き取りにはなんの問題もなかったんですが…。如何せん言葉が出てこない。言っていることは…

if N is included in X ...

C++

// 演算子を定義する部分 template<typename T, typename U> struct Operator { explicit Operator(const T& lhs) : lhs(lhs) {} const T& lhs; }; template<typename T, typename U> inline Operator<T, U> operator % (const T& lhs, U) { return Operator<T, U>(lhs); } enum ISINCLUDEDIN { isIncludedIn }; template</t,></t,></typename></typename>

メッセージのダブルディスパッチ

C++

…のサンプル。 GitHub - mattsan/MessagingSample メッセージオブジェクトを作るのにmapで生成関数を選択しているのにちょっとコストがかかる。実行時に初期化してるし。 メッセージの数や種類がプログラムの動作中に変化することは少ないので、これをローコ…

「適切な契約期間は?」

このあいだのエントリでも書いたように、雇用について関心が高まっている今日この頃。あっ、と気付いたのがG.W.ワインバーグの著書「コンサルタントの道具箱」で契約期間について書かれた一節。 「適切な契約期間は?」という節で、契約は短期にしなさい、依…