programming

lix:CharSequence

XML パーサを作りにあたって、細切れのstringオブジェクトを作るのを避けたかったので、 元々のXMLドキュメントはそのままにしておいてその中の文字位置と文字列長で文字列を占めるという戦略をとりたく、 そのために作ったクラスです。https://code.google.…

xml パーサを書いたのでそれについて

ちょっと特殊な環境下で xml をパースする必要があって、いろいろと xml パースライブラリを探したのですが、どれもちょっとづつ求めるものと違うところがありうまく行かず、自前で xml パーサを書く必要がありました。 その時のことを書いてみようかと思い…

SAFE_DELETE って安全でも何でもないよね。

誰が一番最初に作って広めたのかわからないんだけど、 #define SAFE_DELETE( p ) if(p) { delete (p); (p) = NULL; } っていうマクロ。そもそも NULL を delete してもなんの問題もないし、このマクロを通したからといって何が安全になるわけでもない。全て…

Named コンストラクタについて考える。

ごくアタリマエのことだったりするのかもしれないのですが、 コンストラクタの引数が多くなるとわかりづらくなるので、それを避けるためにコンストラクタとは別に static でインスタンスを生成して返す関数を作るっていうのがよくありますけど、 class Human…

設定ファイルからの読み込みをもうちょっと C++ っぽくしてみる。

前のエントリ設定ファイルから true か false を読み出す。 - meg_nakagamiの日記ですけど、これは C++ 的にはまだまだ甘いので、みんながある程度 C++ を詳しく知っている、もしくは向上心があって知らないことを学習の機会とみなしてくれる人であるという…

設定ファイルから true か false を読み出す。

例えば何らかの設定ファイルに true か false という値が書いてあって、それを読み出して拡張機能の有無を変更しなければいけないとします。いろいろ状況は違うだろうけど、とりあえず std::wstring GetProperty( const char* pch ) という関数で "EnableExt…

php ロギング機構を作ってみた

はじめに phpでデベロッパ向けアプリケーションログ機構をつくってみたのでその説明をしてみます。一般的にプログラミングにおいてデベロッパ向けロギングというのはコンポーネントを横断する概念です。アプリケーション上ある機能 X があり、別の機能 Y が…

PHP の strval が使いづらい。

PHP の strval 関数のマニュアルPHP: strval - Manualに strval() は配列に対して使うことはできず、 __toString メソッドを実装していないオブジェクトに対しても使うことはできません。 という記述があるけれども、これはドキュメントとしておかしいと思う…

Google Code に公開してみるてすと。

ちょっとしたコードの公開にgoogle code など使ってみる。 Google Code Archive - Long-term storage for Google Code Project Hosting. よくわかんない。趣味ライブラリの一部分だけを公開したいんだけど、どうすればいいのか。

マイクロソフトはインストーラーが何をしないといけないかちゃんと説明すべき

アプリケーションをつくって、誰かに使ってもらおうとするとインストーラーが必要になるわけだけど、世の中にはこれに関する情報が非常に少ない。 だからInstallShieldとかを使うわけだけど、やりたいことはアプリケーションを使ってもらいたいということで…

LocalAppData にアプリケーションをインストールするという選択

GoogleChrome は ProgramFiles ではなく、LocalAppData(C:\Users\[ユーザー名]\AppData\ もしくは C:\Documents And Settings\[ユーザー名]\Local Settings\Application Data\)にインストールされる。 このLocalAppDataは(MSがどう考えるかわからないが)シ…