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

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

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

今日目にした驚愕のコード

C++

array.operator[](i); foo.operator=(bar); 普通より難しいことしていると思う…。 どうやってoperator overrideを学んだんだろう…註:「こんなことができるんだ」というのではなくて、「なんでわざわざ面倒な書き方してるんだ」という驚愕です。念のため

わたしはコンパイルスイッチがきらいです

// Foo.h #ifndef FOO_H #define FOO_H typedef struct foo_tag { int hoge; #if defined(USE_FUGA) int fuga; #endif int uhyo; } Foo; #endif//FOO_H // IncUhyo.cpp #include "Foo.h" void incUhyo(Foo* foo) { ++foo->uhyo; } // Main.cpp #include <stdio.h> #in</stdio.h>…

旅に出た〜オブラブ2009冬合宿

オブラブの合宿に参加してきました。会社の研修以外では合宿で何かを学ぶというのは初めてかも知れません。旅行という意味でも久しぶり。密度の濃い2日間でした。 ワークショップ わたしは、Ruby on Railsで実際に動くアプリケーションを作る、開発セッショ…

スマート列挙型その4

C++

なんか…ライフワークのようになっている賢い列挙型の追求。operator を∈と見立てて。 とりあえず9個まで対応。 #include <iostream> template<typename T, int N> class Set { public: Set(T a1, T a2) : value_(a1), set_(a2) {} Set(T a1, T a2, T a3) : value_(a1), set_(a2, a3) {} Se</typename></iostream>…

四元数

四元数が扱えるわけでないのだけれど、書いてみた。 意外と簡単だったんだけど、本当にこれでいいのだろうか? module Quaternion where data (RealFloat a) => Qtn a = Qtn { x::a, y::a, z::a, w::a } deriving Eq instance (RealFloat a) => Show (Qtn a) …

Lispが突然にわかる

長らく理解できなかったLispで書かれたプログラム。どんな構成かはわかるものの、プログラムとしては理解できなかったLisp。 ここ数日、とある理由でLispのプログラムを眺め、「やっぱりわからないなぁ」とか感じつつ、S式の定義とか見ていた。 で、突然、は…

新年会に行ってきた

おとといの金曜日、セミナーでおせわになっているTiaraの新交流パーティに参加してきました。 大半がお会いになったことのない方々。いささか緊張気味。そんななかで自己紹介の一覧が配られました。参加された方の職業は様々。おそらく普段の生活や仕事の中…

プロジェクト管理は危機管理と見つけたり

…それだけじゃないですけどね。それだけじゃないけど、それが中核なんだな、と思ったわけです。 1月から協力会社がかわりまして、今まで同じ建物の中で開発していたのが、地理的にもかなり離れた場所で開発をしなければならなくなりました。今後主にメールを…