2009年3月の日記

<2009年04月 2009年02月>

無題

NeoMuplをバージョンアップしました。
前からちょくちょくいじっていたのですが、アップするのを忘れていました。
いまだに不安定なためにエラー処理が中心の更新ですが、今回でエラーにはかなり強くなったと考えています。
エラーと何の関係もないところでは、フォルダ順にしたときの並べ替え規則を変更しました。
今までは拡張子まで含んだファイル名で比較していたため、文字コードがピリオドより前に来る文字が入っていたら直感に反する並び方になってしまうことがありました。
なので、今回からは、いったん拡張子を含まないファイル名でも比較するようにしました。
フルパスでのソートに関しては今までどおり拡張子のピリオドも比較の対象にしています。

無題

アンパンDBにリクエストフォーム付けたらリクエストの数が1日で100を超えてしまいました。
そのうち結構な割合が検索ロボットによるものだったようなのでリンクボタンからフォームのボタンに変更したのですが、やっぱり普通のリクエストも多かったようです。
はっきり言って1日に更新できるのは多くても2~3話くらいのものなので、一人で一度にたくさんリクエストしてもらっても限界があります。

ふにゃさん2.0

ふにゃさんに関する要望がたまってきて、実際私自身もあったらいいのになーって思う容貌も結構あったので、思い切って対応してみることにしました。
本当は、一度完成品として公開してしまった以上、ゲーム性の変わるような改変は加えたくなかったのですよ。
しかし、ふにゃシリーズの続編として2Dスクロールアクションゲームを作るつもりはないので、次回作で対応するという選択肢もありませんでした。
そして、完全新作で対応するという選択肢もなくはなかったのですが、要望はあくまでふにゃさんに対するものなので、これでは対応したうちには入らないでしょう。
となれば、ゲーム性変更を伴う大幅なバージョンアップによって対応しようということになったわけです。

無題

アンパンマンDBで、まだ書いてない話のページに行くと、そのページを書くようにリクエストできる機能をつけました。
以前コマンドフォームにつけていた簡易メッセージ機能を再利用したものです。

無題

アンパンマンDBのタイトルジェネレータでタイトルに使う名前をひとつ指定できるようにしました。
最初の更新は朝ですが、後になって問題が発見されたので修正しておきました。

そういえば、天空の城下町のポーカーでロイヤルストレートフラッシュを出しました。
そして理不尽ダブルアップで消えたわけですが…。

無題

スパムが来ていたアキヤメの項目をいくつか消しました。
アキヤメは更新チェックシステムの範囲外にあることが多いのでこういうのを結構見落としがちなんですよ。

無題

アンパンマンDBのアニメ一覧の、放送日の項目を、未入力のときは「0000-00-00」ではなく「未入力」と表示するようにしました。

無題

やっぱりジェネリックは使わず地道にGetTypeして中身調べることにしました。

無題

列挙型フィルタの原型ができました。
Enum型とジェネリッククラスを使って。
しかし編集画面はどうするべきか…。

無題

そして日付フィルタも扱えるようになりました!
あとは列挙型フィルタを完成させれば完成です。

無題

数値フィルタの編集もできるようになりました。
あとは、それぞれ専用の編集フォームを持つ列挙型と日付型のフィルタだけです。
もっとも、私が必要としている昨日はすでにそろってはいるのですが。

XML

ナマライザの開発してました。
今日は、文字列の長さに関するフィルタのUIの完成。
XMLからフィルタの復元ができないことがあったので調べてみたら、どうやら空要素だった場合に閉じタグが出てこないことが原因だった模様。
XMLって開始タグと閉じタグの間に何もなかったらひとつのタグにまとめてしまうのですが、XmlReaderではこのまとまったタグを元のふたつのタグとは認識しないんですね。
ちょっと盲点でした。

libsvg

う~む、SVG読み込みができると思っていたlibrsvgが意外と面倒だということがわかって、また別の方法を考えています。
とりあえず、libsvgというものもあるようなので、今度はそちらを試してみようと思っています。

librsvg

SVG読み込みは別のライブラリを使うことで何とかなりそうだということが分かりました。
でもとりあえずCairo単体でできることの紹介のほうが先だと思うのでPNGを先に表示してみました。

Cairo

なんか急に気が向いたのでCairoやってみました。
しかし実はCairoがSVGの読み込みに対応していないことに記事作ってから気がついたのですが…。

無題

ナマライザの文字列フィルタをいじってました。
おとといの数値フィルタの機能を継承して、文字列の長さフィルタの機能をつけました。
ユーザーインターフェースは途中で面倒になって放り出してしまいましたが。

無題

掲示板を2ch風のインターフェースにしてほしいといった意味の要望がありましたので、TGBBSをいじってました。
これはオプションで変更可能にすることにして、今日はその設定によりどこで処理を分岐すべきかというのを考えていました。
で、ついでなので、記事管理ページのデザインの崩れを直したり、メモリの使用量をチェックしたりしてました。

無題

更に続いて文字列変換のクラスをアップしました。
三日連続の更新となりましたが、これで連続更新はもう終わりです。
本当はもう一つ作ったものはあったのですが、すでにあるクラスより、あらゆる面で劣化していたため使用を中止しました。
機能を限定して軽くしようと思ったのですが、意外と軽くならなかったのです。

ナマライザもついでに手をつけてます。
今度は数値に対するフィルタを作りました。
これでユーザーインターフェースを作れば更に幅広い、もとい、以前と同等の解析ができるはずです。
でも、文字列関係の強化や、統一的で分かりやすいインターフェースにより、更に使いやすくなるはずです。

無題

アンパンマンDBのカテゴリ分けを内部的に変更しました。
カテゴリを増やすのが若干面倒な設定だったのでカテゴリの管理を一箇所にまとめて。

昨日に続いて小物クラスをアップしました。
今回は、リストボックスに好きな値と文字列表現をセットで入れられるクラスです。

無題

というわけで、昨日言っていた便利なクラスのひとつ、SafeClipboardを公開しました。
やってる内容はほんっとにくだらないんですけど、これはこれで結構楽になるのです。
ついでに、ダウンロードページのカテゴリの分け方を一部変更しました。

無題

ナマライザのコードの中には、数値入力ウインドウやら例外を出さないクリップボードやら、昨日書いた全角半角変換やら、再利用しても便利そうなクラスが結構あるので、適当に公開してみようと思っています。

無題

ナマライザの検索フレーズに全角半角変換を入れました。
個人的な好みで全角英数字は半角に、半角カタカナは全角にしています。
他にも前後に付いた余計なスペースを省いたりしてます。

アンパンマンDBのアニメデータに、初登場キャラの強調表示をつけました。
日付しか見てないので前半のAパートで初登場だった場合は後半のBパートでも初登場扱いになりますが、初登場キャラはその日のうちに再登場することが少ないのであまり気にしないことにしてます。
あくまでも参考程度にということで。

無題

ナマライザの検索フレーズ解析を、GoogleだけでなくYahooやLiveサーチなどにも対応させました。
YahooとかBiglobeはリファラから文字コードが直接的に得られないため文字化けが多くなりますが、それを除けば大方よさそうな感じです。
全角スペースは半角スペースに変換するので、実質的に同じ検索フレーズは同じものとして扱われます。
このあたりは他に大文字小文字の区別をしないオプションもあるのですが、更に全角と半角を同一視する機能や連続したスペースを縮める機能もほしいところです。

無題

以前作っていたコメリストの、たまに画像が乱れる問題、原因が分かりました。
サーバーにリクエストを送って返ってきたレスポンスになぜかURLデコードをかけていたのです。
なので、データに%記号が含まれているとその周りのデータが壊れてしまっていたのです。

ナマライザのほうは、フィルタ編集画面の操作性をどんどん改善していっています。
まだまだ自然な操作に対応し切れていない気がします。

無題

集合フィルタの管理もできて、以前のフィルタ管理にあった機能は出揃いました。
それでいて以前よりずっと高速…のはず。
少なくとも編集のしやすさや全体の見通しのよさは以前とは比べ物にならないと思っています。

無題

ナマライザのXMLからのフィルタの復元処理に問題があったため修正していました。
そして、編集画面もそれなりに形になってきました。
たぶん3月下旬あたりには公開できるようになると思います。

無題

ナマライザのフィルタ編集画面を作っていて、対象のフィルタを直接いじっている今の仕様だと編集のキャンセルができないことに気付いて、急遽フィルタのコピー機能を作りました。
いったん文字列表現に直してから、そこから復元するという方法です。
いずれもっと効率的な方法を作るつもりではありますが。

無題

のんびりナマライザの、フィルタを全部実装しなおしました。
前々から今までのフィルタは無駄が多くて非効率的だと思っていたのですよ。
例えて言うならば、工具の中からプラスドライバーがたくさんほしいのにもらえるのは工具一式の入った工具箱ひとつずつのような、そんなイメージです。
そして、それに伴って使いにくかったフィルタ編集画面も一から作り直しています。
こちらのほうはまだ作りかけで、すでにあるフィルタをツリー表示できるだけの状態です。

そういえば、しばらくNeoMuplをMCI設定で使っていたのですが、以前にも増して不安定になったようです。
DirectMusicだとMIDIを鳴らしていたらその時点で落ちたのですが、MCIだと法則性の分からないところで強制終了になってしまいます。

1235919425.png

<2009年04月 2009年02月>