2008-01-01から1年間の記事一覧

カスタム ASP.NET 式を使う

にはどうすれば良いかという話です。AquaSKK とは全然関係のない話です。業務系の ASP.NET 開発ではエラーメッセージを一元管理したいというニーズが持ち上がると思いますが、大規模な開発だと複数のプロジェクト(ソリューション)に分割して影響範囲を狭め、…

Bjarne Stroustrup による C++ 初学者本

Amazon からお知らせ来てました。1,272 ページもあります。Programming: Principles and Practice Using C++ (Developer's Library)作者: Bjarne Stroustrup出版社/メーカー: Addison-Wesley Professional発売日: 2008/12/15メディア: ペーパーバック クリッ…

開発者インタビュー

sf.jp の今月のプロジェクトで AquaSKK を取り上げてもらいました。大変光栄なことですが、そのわりに内容が貧弱なのが心苦しい限りです。http://sourceforge.jp/projects/sourceforge/wiki/potm_0811_AquaSKKなんとか今年中に IMK 版をリリースしたかったの…

例外による処理分岐をヘルパーオブジェクトに変換する

AquaSKK のローマ字かな変換は本家 SKK と同じく trie(prefix tree) を利用しています。基本的なアルゴリズムは TSM 版と一緒ですが、IMK 版になってクラスのインタフェースが大きく変化しました。 TSM 版 例外を利用して処理を分岐しています。 CppCFString…

Redmine の地雷

本業のほうで新プロジェクトの技術担当にアサインされ、膨大なタスクに気が滅入る日々を送っています。Excel の課題管理シートを開けば未解決案件がずらり。google 様に尋ねてみると、この手の課題管理には Trac や Redmine でタックルするのが良いようです…

Genius Bar 体験記

iBook が娘の餌食になってしまい、JIS 配列のスペースキーが見るも無惨な形に破壊されてしまいました。ちびっこギャング免許皆伝です。もう一台の古い iBook は US 配列なのでサイズが合わない。さてどうしたものかと考えて、とりあえず銀座の Genius Bar に…

Eiffel になくて C++ にあるもの(Worse Is Better ではない)

オブジェクト指向入門 第2版 方法論・実践を読みました。オブジェクト指向入門 第2版 方法論・実践 (IT Architects' Archiveクラシックモダン・コンピューティング)作者: バートランド・メイヤー,酒匂寛出版社/メーカー: 翔泳社発売日: 2008/08/29メディア: …

Ubiquity いいな

Firefox の Ubiquity は良さそうですね。AquaSKK も将来的にはインラインで google 検索が可能なインタフェース & ミニブラウザ*1を提供したいと思っていたのですが、Ubiquity を見てピンときました。http://www.itmedia.co.jp/enterprise/articles/0808/31/…

Working With Objects

MVC の父、Trygve Reenskaug(読み方不明:トリグヴェ・リーエンスコゥグ?)の「Working With Objects」を読んでみました。Working With Objects: The Ooram Software Engineering Method作者: T. Reenskaug出版社/メーカー: Prentice Hall Software発売日: 19…

続:protobuf

protobuf に関する巷の反応にいささかウンザリしている Google 社員の blog を見つけました。http://diveintomark.org/archives/2008/07/12/protobuf最後の段落を引用してみます。 Comparisons to other data formats was, I suppose, inevitable. Old-timer…

protobuf による一撃

Google の protobuf をちょっと試してみました。可変長の数値表現である Base 128 変形とか、符号付き数値をコンパクトにシリアライズするための ZigZag エンコーディング等の面白そうな詳細はさておき、まあ、普通に使えそうです(当たり前)。文字列は UTF-8…

Core Animation でフェードアウト

新エンジンでは、入力モードの変更や入力セッションがアクティブになったタイミングで、Core Animation を使ってカーソル位置に入力モードアイコンを表示します。アニメーション仕様はごく簡単に「入力モードアイコンを 1 秒間表示したら 1 秒でフェードアウ…

子育て

無事、娘が一歳になりました。最近は大人の真似をするのが楽しいようで、神妙な面持ちで携帯電話を耳にあてたりします。携帯がない時には大型の電卓を代用するので、「一歳児の抽象化能力もなかなか侮れないな」と驚いていたのですが、今朝は茹でたブロッコ…

追記:EBNF を修正

重複していた group_entry を ascii_group_entry に修正 single_entry と group_entry の各 modifier 指定を修正

新エンジンのキーマップ設定

まだアルファ版もリリースできていない新エンジンですが、キーマップ設定の自由度が向上しています。AquaSKK スレに書けるほど短かくまとめられないので、このあたりの仕様変更について簡単に書いておきます。 基本的な考え方 新エンジンでは、全てのキーが…

Singleton の憂鬱

パターンを覚え始めた頃は、Singleton ばかり使っていました。引数で渡す手間なしに、いつでもどこからでもオブジェクトにアクセスできる。なんて便利なんだと。しかし最近になって、Singleton がやけに鬱陶しくなってきたのです。たぶんそれは、中毒のよう…

Programming -- Principles and Practice Using C++

Stroustrup によるプログラミング初学者向けの「Programming -- Principles and Practice Using C++」が 8 月に出版されるようです。http://www.research.att.com/~bs/programming.htmlPreface のドラフトが公開されていますが、じんわりと胸が熱くなるよう…

TBB: Intel Threading Building Blocks

会社帰りに八重洲ブックセンターに立寄ってみると、O'Reilly から Intel Threading Building Blocks の解説本が出ていました。http://www.oreilly.co.jp/books/9784873113555/結局買わずに帰ったものの、面白そうだったので英文の Tutorial(PDF) をダウンロ…

pthread の condition

SKK 辞書の初期化を非同期化して検索のテストしているのですが、辞書のロードが完了する前に検索が走る現象がちらほら出てきました。検索が空振りするのでテストも失敗します。対策が必要です。検索時にコンテナが空かどうか確認するのはどうだろう。できれ…

Private Interface イディオム

基底クラスのメソッドを派生クラスで隠す手法について調べてみました。 この手法は合法なのか? まずは C++ FAQ Lite に以下の記述を見つけました。 [21.1] Should I hide member functions that were public in my base class?Never, never, never do this. …

派生クラスでアクセス制御を強める

Buddy イディオムは我ながら良いアイデアではないかとご機嫌でいろいろ実験していたのですが、今日になって驚くべき事実(つまり、自分の無知)を知ることになりました。今さらなんですが、C++ ではアクセス制御と継承は直交する概念なんですね。だから、派生…

Buddy イディオム(仮)

長い間、どう実装すべきか悩んでいた問題をうまく解決できました。とはいっても、オブジェクト指向に馴染んだ人には当たり前すぎることかもしれないし、派手なトリックもありません。ただ、個人的にはとても大きな気付きがあって嬉しかったので、記念に書い…

今年学ぶべき言語

達人プログラマーの「毎年少なくとも一つの言語を学習する」という自己投資についてのガイドラインにならって、今年学習すべき言語についてじっくりと考えてみました。達人プログラマー―システム開発の職人から名匠への道作者: アンドリューハント,デビッド…

AquaSKK 3.6 リリース

使い勝手の改善と細かなバグ修正を盛り込んだ 3.6 をリリースしました。全ての AquaSKK ユーザーにバージョンアップをお勧めします。なお、TSM 版の AquaSKK はこれが最後のバージョンになります。不具合にはなるべく対応したいと思ってますが、機能追加や改…