わんくま同盟 名古屋勉強会 #10 に行ってきた

わんくま同盟 名古屋勉強会 #10

行ってきましたよ。

ログの話

主に C++ でどうやって同じ事を二度書かないようにするか、という話。
レベルごとに関数形式ではないマクロを用意して、そのマクロが operator() をオーバーロードしたオブジェクトを生成して返す、ってのはうまいと思った。
資料を落とし損ねたので正確ではないけど、こんな感じ。

#define DEBUG log_writer(logger, __FILE__, __LINE__, log_level::DEBUG)
#define ERROR log_writer(logger, __FILE__, __LINE__, log_level::ERROR)
// ...

log_writer に operator()(const char* format, ...) を作れば、

DEBUG("hoge:%d", hoge);

log_writer(logger, __FILE__, __LINE__, log_level::DEBUG)("hoge:%d", hoge);

に展開されるという仕組み。
実際にログに書き込むための logger はどこかで作っておく必要があるけど、これはどんなロガーでも一緒ですよね*1


あと、会場内に Log4Net を使ったことある人が自分含め 2 人ということにびびった。
最後のセッションで、組込み系の参加者が多かったことが分かったんで、そもそも会場内に C# 使ってる人が少なかった模様。
ちなみに、前書いた Log4Net のラッパーも、一つの大きな目標は何度も同じ事書かないようにするってのがあったので、考えることはみんな同じだなぁ、なんて思った。

AspectJ (古いやつ) の話

独自文法を覚える必要のある古い AspectJ は正直嫌いなんですよね・・・
アノテーション万歳!

CPU メーター作る話

MSChart Control を使ったことある人ってあんまりいないんですね・・・って、会場に C#er が少ないので当たり前っちゃぁ当たり前か。
ここら辺の苦労話もいつかどこかでしたいところ。
ブログにまとめるにしては大きくなるし、なんかページでも作るか・・・?

メモリリークを検出する話

windbg じゃないけど、SOS デバッガ拡張は

The Root of .NET Framework

The Root of .NET Framework


でも使っていたなぁ。

TC とかどうやって入力するんだよ、って話

共通のサイズ・インターフェイスが物理的なものってことに会場大盛り上がり。
勉強会 2 日前に急遽スピーカーの交代があったにもかかわらず、50 分しゃべるとかすごいなー。

懇親会

Java とか C# の入門書は何がいいって聞かれても、入門書で勉強したこととかないからわかりません><
とりあえず、独習 Java はやめておけ、とだけ。


キーボードとかエディタとかの話は盛り上がるなぁ。

帰り

帰りにジュンク堂

44のアンチパターンに学ぶDBシステム (DB Magazine SELECTION)

44のアンチパターンに学ぶDBシステム (DB Magazine SELECTION)


実践アジャイルテスト テスターとアジャイルチームのための実践ガイド (IT Architects’Archive ソフトウェア開発の実践)

実践アジャイルテスト テスターとアジャイルチームのための実践ガイド (IT Architects’Archive ソフトウェア開発の実践)

を購入。

*1:柔軟性を捨てるなら、ログ書き込み用の関数を static にすればいいけど・・・そんなロガーは使いたくない