「アンパンマンDB」に関する日記(40)

アンパンマンDBの、主に開発に関する日記。

<前 次>

アンパンマンDB

アンパンマンDB4、いったんリリースしました。
3と4は共存可能な仕組みになっていて、今回は、記事一覧と詳細の画面を4に置き換えました。
3のまま残っているページもたくさんありますが、一番大きな部分はひとまずやり遂げたことになります。
ここからは、残ったページの4への置き換えと、4にした先の改善・改良の作業です。

アンパンマンDB

設定機能周りに問題があったので修正していました。
実装の済んだ部分から順次リリースしていく方針なので、未実装機能を踏んでしまわないかのテストは入念にしておく必要があります。

アンパンマンDB

検索のキャッシュは後回し、最悪なくても何とかなるので、ひとまず、個別記事のキャッシュを完備する方向で開発を進めていました。
いったん公開サーバー上でテストして、問題なければリリースという流れになるかな。

アンパンマンDB

個別記事のキャッシュは大体できた感じ。
あらかじめキャッシュファイルを作っておかないとパフォーマンスが悪いので、キャッシュを全記事分作る仕組みも必要になりそう。
あと、検索のキャッシュもしたい。
検索は無限にパターンがあるのであらかじめは作れないけど、よくある検索はどうにかできるはず。

アンパンマンDB

ユーザーや状況ごとに変化する部分としない部分にもっと正確に分けて、変化する部分を最小化することで、キャッシュヒット率を上げる作戦。
そのためには、内部まで深く入り込んでいた設定項目やオプションを追い出す作業が必要だ。

アンパンマンDB

コメントのルール変えました。
なんかずっとセリフばかり長々と書いている人がいたので、ちょっとやめてほしいなと。

アンパンマンDB

今作ってるキャッシュ機構がむしろ検索を激重にすることが判明してどうするか思案中。

アンパンマンDB

自動リンク機能のキャッシュ機構を作ってみたんだけど、キャッシュ使ったらかえって遅くなったので中止。

アンパンマンDB

地味な新機能となる厳密検索を実装。
通常検索と交ぜても使えます。
一般人は使う機会はあまりなさそうですが、うまくすれば強力な機能です。

検索結果と記事間リンクのキャッシュ機能ができたら一旦リリースしようと思います。

アンパンマンDB

アンパンマンDB4でアンパンマンDB3の記事表示・検索周りの機能を完全再現できました。
アンパンマンDB4への移行の動機は機能向上のほかに高速化もあるので、高速化の方を実現してから一般公開しようと思います。
ひとまず、一般公開時点では、見た目は変わらない予定です。

アンパンマンDB

複雑ないろいろなパターンでテストしてみたら、新旧ともにいろいろとバグが出てきたので潰していました。

アンパンマンDB

アンパンマンDB4の新しい検索構文を構造化検索クエリから構築する機能を作成。
アンパンマンDB3の再現ではない、純粋な新機能ですね。
新しい検索構文による検索はまだこれから…なのですが。

アンパンマンDB

アクセス数が多いわけではないけれど重要な検索パターンも対応を進めています。

アンパンマンDB

アンパンマンDB4は基本的に3の全仕様を引き継いだうえで強化していくので、3の完全再現を今は目指しています。
そして、その完全再現を裏付けるために、3仕様と4仕様で同じページをクロールして、自動的に比較するプログラムを作ったのです。
現在は、アクセスの多い1000ページで完全再現!
アクセスログでは回数は稼がないけど重要な意味を持つ検索がまだまだ未対応なので、引き続きぐるぐる回っています。
普通にアクセスのあるページだけでも何万ページもあって大変だ…。

アンパンマンDB

新バージョンの4を開発していると、現行の3のバグを見つけることがあるのですが、今回は、仕様があいまいだったことに伴い発生したデータ破壊が発見されました。
3も4も仕様を厳密に決めたのはもちろんのこととして、データの方も、復元できるものは復元しました。
仕様を厳密に決めたことにより使えなくなったデータは、元々ウケ狙いで入れていたどうでもいいデータだったので、この機会に消しました。

アンパンマンDB

アンパンマンDB4(新バージョン)はひとまずアンパンマンDB3(現状)の人気ページをほぼ再現できるところまでできました。
ここらあたりから、そもそも3の時点でおかしいというケースに遭遇してくるので、両方を直しつつ、完全再現を目指していきます。
新バージョンの新機能の開発はこれが終わってからスタートですね。

アンパンマンDB

検索のワイルドカードに関する挙動がずっと間違っていたので修正しました。
「*」をワイルドカードとして使うようにしていたのですが、「%」もワイルドカードになっていたのでした。
コンテンツ中に「%」を使うことが、少なくとも普通に検索したくなるような状況では存在しなかったので表面化していませんでしたが、アンパンマンDB4を目指して現バージョンを再現する段階で、バグを再現するわけにもいかず、バグの方を直したという経緯です。
まあ、一文字ワイルドカードの「_」がまだ生き残っているのですがね…。

アンパンマンDB

新バージョンの検索ページ作成中。
検索機能そのものより、表示の方を先に実装しています。
今は、詳細ページと同じ内容が100件出てきて大変なことになっています。
一覧用に簡素な表示にしなければ。

アンパンマンDBとfunyak

アンパンマンDB

タイミングの関係ですっかり忘れ去っていた商品情報の記入とか。

funyak

Coreの中の当たり判定周辺の処理はそれ単体で結構大変な処理なので別プロジェクトに切り出すべきではないかと考え中。
この課題のことだけれども、Coreの中のCoreみたいなあいまいな概念ではなくて、明確な目的で分ける感じです。

<前 次>