2009年2月の日記

<2009年03月 2009年01月>

無題

NeoMuplをいい加減開発中のところから格上げしました。
というわけで0.24公開です。
とはいえ新規機能のMCI再生は現在DirectMusicとあまり変わらず不安定なので、使うのは控えたほうがいいかもしれません。
エラー処理とかタイトル付け規則入力に関しては本当に強化しているのでいいと思いますよ。

ナマライザのほうもいい感じにできてきています。
今日作ったのは、文字列項目の読み込み容量制限。
要するに、使わない項目まで読み込んでいるとメモリの無駄なわけです。
特にユーザーエージェントとかリファラなんかは長くなりがちなんで、不必要なときは長さ0で読み込まないとかなりの割合が無駄になるんですよ。
もっとも、私が一番気になるのはリファラなんでリファラはめいっぱい読み込むんですが。
後やりたいこととしては、フィルタ編集画面の抜本的な改善とか、検索語フィルタとか、ひとつの項目だけに反応するフィルタとか、フィルタ関連を強化していきたいところです。

無題

ナマライザのGoogleからの検索フレーズのデコード処理がほぼ出来上がりました。
時々UTF-8以外の文字コードがやってきたり普通とは違うエンコードだったりしたのでそのあたりで文字化けが極力起こらないようにがんばりました。
そして、統計を取るときに大文字小文字を区別しないオプションをつけました。

無題

ついに検索語解析を作り始めることができました。
とりあえず現在の状況は、Googleからの検索フレーズをデコードせずに(つまり%XXの形式を元に戻さずに)表示することができます。

無題

ナマライザの統計画面がほぼ以前どおりの機能になりました。
そして速度は圧倒的に高速に。

無題

NeoMuplのMCIによる再生を実装完了しました。
たまにエラーが起こるようですが、このあたりも、エラーの詳細表示機能を作れば原因究明できそうです。

無題

ナマライザの統計画面の構造変更はうまくいきました。
ついでにバックグラウンドでの読み込みにも対応しました。
あとは、統計項目の追加もそうですが、メモリ使用量低減のための工夫も必要そうです。
ナマライザはメモリ使用量がログ件数に比例して肥大化するので、メモリが潤沢にあると仮定した高速化をするとかえって遅くなることが多いのです。

P/Invoke

NeoMuplのMCI再生を作り始めました。
最悪DirectMusicでエラーが起こるものはMCIでなんとかなるかと。
ならなきゃもうどうしようもありません。

ナマライザは読み込みの高速化はひとまず置いといて、機能強化のほうに着手しました。
前々から欲しいと思っていた、そして前身の簡易アクセス解析にはあった、検索語レポート機能です。
統計画面につけているところですが、そろそろ統計画面が重くなってきたので、まず機能追加で重くなりにくいような対策からはじめることになりそうです。

四角い車輪の再発明

C#用単位・数値変換クラスにバグがあったので修正して、昨日言っていたサンプルも同梱して最新版として公開しました。
サンプルのほうは配布ページからも参照できます。

ナマライザの高速化のために自前のアルゴリズムでファイル読み込みのバッファリングをしてみたら帰って遅くなりました。
で、ためしに普通のBufferedStreamでバッファリングしてみたら速くなりました。
やっぱりC#で自前で書いてるものとは根本的に違うんでしょうね。
でも高速化できたとはいえ5%ほどであり、目覚しい効果とまではいえそうにありません。

無題

C#用単位・数値変換クラスのサンプルを作っています。
プリセットの単位を使った単位変換や独自に単位を設定する方法など。

TokioGL最終版

出しました。これで最終版です。
バージョンを正しく返さないバグを修正したのと、サンプルの増強。

それと、ふにゃさんのウナギカズラをニコニ・コモンズ素材として提供開始しました。
果てしなく需要がなさそうですが、二次創作を自由に行っていただけます。

TokioGL終了のお知らせ

すんごく久しぶりにTokioGLの話。
はっきり言ってもう機能追加するつもりはありません。
ただ、微妙なバグがあるのと、本家StretchBltとの比較も入れたいので、一応バージョン0.03は出すつもりです。
というか、明日出す。

エラーログ

NeoMuplにエラーログ機能をつけました。
このあたりのログ機能全体を統一的に扱うために、ログ機能専用クラスを作りました。
エラー表示機能もここに統合して、設定でエラー表示ありにしてある場合は表示と同時にエラーログも書き込むようになります。
あと、タイトル付け規則の簡易入力フォームも作りました。

無題

久々に爆ボンのページを更新しました。
レッドマウンテン3面のあの重ね木箱です。
適当に図を描いてみました。

NeoMuplのログ設定で、ファイルダイアログを使ってログファイルを開けるようにしました。

無題

ナマライザの読み込み改良版ができました。
まだ動作確認をしていないので、動作確認ができたら更なる最適化を目指してみようと思います。

無題

Attributesとかよくわからんかったのでまたリフレクションを使ってみました。
ログ関係は項目が増えまくる予定なので、大量追加に対応したプログラムとして作ってみました。

無題

NeoMuplのログ関係の設定項目を更に増やしていました。
今度は「属性」とやらを使って何かできないかなーと考えてます。

無題

アンパンマンDBの説明のページを大幅に加筆しました。
あと、歌DBにアンパンマンソング以外も入れ始めました。

無題

ふにゃさんの目立たない部分の改良をちまちまと行っていました。

そういえばアキヤメの旧アンパンマンDBが今更Googleに出るようになってきたようです。
どうも検索結果のページばかりがインデックスされているようですが。

無題

自動設定セーブができたので、NeoMuplの設定項目増やしてみました。
とりあえず最近よく落ちるので診断のためのログデータに関する設定をつけました。
いつぞやのバージョンでiniファイルをいじれと書いてたやつです。

無題

浮き沈みランチャー最新版アップしました。
んで、そのままの勢いでNeoMuplのほうの開発も進めてみました。
IDEから編集できるSettingsにどうも納得がいかないので結局自前でセーブとロードを実装しました。
原則リフレクションを使って自動的にプロパティの値を取得・設定しているのですが、例外的に一部のプロパティがセーブ時の項目名とプロパティ名が食い違うのでそのあたりにも対応しました。

無題

浮き沈みランチャー、遅くさせるコードをなくしてなおかつ重くならないようにできました。
マルチスレッドでは並列作業できる長時間の処理を見つけるのがポイントのようですね。
バージョン情報も実装したし、作業フォルダがない場合にエラーが出るのも修正したし、そろそろ次バージョンとしてアップできそうです。

無題

落ち着いた次の日に大事件。
はい、アンパンマンDBを移転しました。
アキヤメにいるとどうにも検索に出ないみたいなので、記事も充実してきたこともあって、メインコンテンツへの格上げを行いました。
日記のほうのカテゴリも「アキヤメ」から「アンパンマン」に順次変更していくつもりです。

浮き沈みランチャーのほうは、再起動して試してみたところ、読み込み中に動作が重くなることはなくなったものの、読み込みそのものが結構遅くなっていました。
なので、可能な限りこれらを両立できるように、読み込み処理を更に改良していました。
昨日の実装では一個のアイコンを読み込んだ後、次のアイコンを読み込むまでの間にウェイトを入れて、その間に描画処理ができるようにしていました。
ただ、これだとウェイトの分だけ確実に遅くなるので、ウェイトを入れずに軽くする方法を考えました。

無題

そうだそうだ、アンパンマンのことも大分落ち着いてきたし、そろそろBomber丸Worldのことを思い出さねば。
というわけで、HTML表示のバグをひとつ見つけたんで軽く修正しておきました。
ウィンドウサイズの拡大と縮小を繰り返すと画像がどんどん大きくなるというバグがあったのです。

そういえばアンパンDBの統計のページ、歌DBの作成に当たって微妙に強化しました。
歌のデータの統計を取っているのはもちろんのこと、書いた記事数なんかも表示するようにしました。

浮き沈みランチャーのアイコンをまだ読み込んでいない部分の表示が遅すぎると感じたので、読み込みより表示優先で処理するようにしてみました。
今はディスクキャッシュで読み込み自体が速くなっている可能性があるため速くなってもあまり信用できませんが、再起動するなどしてからだと違いが実感できるようになるかもしれません。

Coming Sonouchi...

とりあえずActionScriptはまだ使えないのでふにゃがくるくる回っているだけのFlashを作ってアキヤメのFlash遊びのところにアップしておきました。

無題

Flashのロールバックは使えるようになりました。
アニメーションを作るだけならこれでもう充分なんですが…。
せっかくここまできたんでffffを作ってしまおうかなー、なんて。

無題

アンパンDBに歌のデータを作りました。
今はただ歌のデータが入ってるだけですが今後はアニメDBやキャラDBと連動して運用していけるようにしたいです。

<2009年03月 2009年01月>