2011-08-01から1ヶ月間の記事一覧

C++03 と C++11 の互換性

C++

C++03 と C++11 ってどれぐらい互換性があるのかなーと気になっていたんだけど、仕様書の §C.2 を見てみたらずばりなものが載っていたので、一通り読んでみた。 C++03 のコードを C++11 として動かそうとしたときにコンパイルエラーやランタイムエラーが発生…

標準でどのヘッダがどのヘッダを include しているかを調べてみた

C++

std::endl って、どのヘッダで定義されているか知っていますか? と思った人はハズレです。実は std::endl は で定義されてます。 これって を include するだけだと標準に準拠した動作にならないんじゃね?とか思ったのですけど、どうやら は も include す…

JSON から BSON に変換する関数を作ってみた

Haskell には Text.JSON という JSON パッケージと、Data.Bson という BSON パッケージがあるのだけど、Text.JSON から Data.Bson へ変換する方法は探しても見つからなかったので作ってみた。 module JtoB ( J.Result(J.Ok, J.Error), jsonStringToBson, jso…

Nagios Event Broker を使ってみた

C++

Nagios Event Broker (NEB) は Nagios からイベントを受け取るためのモジュール。 Nagios からの通知に対して特殊な操作を行いたいときに使う。 NEB のドキュメント Nagios: Developer Information から取得できる。バージョンが古いけれども、基本的な部分…

モナドを触ってみた

で、こんな風に考えることにしました。 モナドは箱 モナドは単に値をくるんでるだけであると。 a をモナド化すれば m a。 でもってこうするための関数が return。単に m を付けるだけ。 モナドから値を取り出す なぜか知らないのですが、m a -> a なる関数は…