libmemcached c++ interface

業務で libmemcached を利用した小さなモジュールを作ることになった。このライブラリにはC++インタフェースも用意されているのでCとC++の両方で試してみる。 環境は CentOS 5.6 (x86_64) , gcc4.4, libmemcached-devel * インストール remiレポジトリから新しいバージョンを入れる $ sudo yum install libmemcached-devel.x86_64 –enablerepo=remi * 各基本操作(set, get…

MMgc template

MMgc内でもtemplateはよく見かけるけど、実際に使われていないものも多いみたい。 普段はおしゃべりなコメントも、template部分では寡黙になる。 重要そうなtemplateをメモ。 [cpp] // ライトバリア // # define DWB(type) MMgc::WriteBarrier< type > template class WriteBarrier { private: // ここのインライン化は重要らしい REALLY_INLINE T set(const T tN…

Flashのガベージコレクション – 遅延参照カウント

前回のエントリーの続きです。 Flashのガベージコレクションに関する正しい理解 ——————– Flash Player(AVM2)のガベージコレクション(以下 GC)は以下のアルゴリズムを採用しています。 (参照: AS3TuningInsideAVM2JIT.pdf) * Deferred Reference Counting (DRC) * Backed by incremental conservati…

mod_dbdでデータベース操作

Apacheモジュールの mod_dbd を試してみます。 mod_dbd はデータベースへのコネクション管理機能を提供するモジュール。 内部で apr_dbd を用いてコネクションプール機能を提供するラッパーモジュールとなっていて、 データベースへの各問い合わせは apr_dbd のAPIを利用します。 Apache Portable Runtime: DBD routines 今回は以下のようなテーブル(dbd_test.user)を対象に dbdtest_module を作ります。 (環境…

libevent

libeventを使ったhello, world的な小さなプログラム。 (libeventはmemcachedやThriftなどでも利用されているイベント通知API) ・ファイルが更新されたら内容を表示する [cpp] #include #include #include #include #include #define BUF 256 void callback(int fd, short event, void* arg); int main(int argc, char** argv) …

OpenCV 2.0 – cv::Mat 行列演算

前回に引き続き、cv::Matクラスについて。 今回は行列演算に関する機能を使います。 上記のシンプルな連立一次方程式を cv::Mat クラスの機能を使って解いてみます。 [cpp] // 係数行列 A float dataA[][3] = { {1.0, -2.0, 3.0}, {3.0, 1.0, -5.0}, {-2.0, 6.0, -9.0} }; // 行列 B float dataB[] = {1.0, -4.0, -2.0}; Mat matA(3, 3, CV_32FC1, d…

OpenCV 2.0 – cv::Mat

OpenCV C++ matrix class 前回、OpenCV 2.0 – cv::Ptr ではスマートポインタである cv::Ptr について調べました。 今回はOpenCV 2.0のC++インタフェースの中でも重要な役割を持つ cv::Mat クラスについて。 このクラスは従来の IplImage 及び CvMat に取って代わるものになっていますが、 かなり大きいクラスなので何回かに分けて調べていきたいと思います。 cv::Mat はマルチチャンネルとROI(Region …

OpenCV 2.0 – cv::Ptr

A template class for smart reference-counting pointers OpenCV 2.0では cv::Ptr という参照カウント方式のスマートポインタが用意されています。 これは Boost C++ Library の shared_ptr と同様のもので大変便利です。 参考:参照カウント – Wikipedia 一時的にcv::Ptrクラスのrefcountというメンバをprotectedからpublicに変更して挙動を見てみます。 (cx…