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

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

<前 次>

アンパンマンDBとBomber丸World

アンパンマンDB(システム)


コメントの表示を調整中です。
コメント番号を表示する修正のついでにデザインもいじったのですが、アンパンマンDBではちょっと浮いたデザインですかね。
番号を表示した以上はアンカー機能も付けたいし、もうちょっと調整します。

Bomber丸World

開発は実質頓挫したようなものですが、作ったものは何かしらの形で残しておきたいので、整理することにしました。
開発室Wikiに書いた内容をダウンロードページの開発室とキャラ倉庫に転記して、開発室を過去の足跡を残したアーカイブに、キャラ倉庫は別の何かを作るときにキャラを拝借できればと考えています。

アンパンマン

それいけ!アンパンマン ばいきんまんとえほんのルルン

見てきました。
アンパンマンDBへの反映はまだなので、ネタバレありの感想はふせったーで。
@matsuda323さんの伏せ字ツイート | fusetter(ふせったー)

アンパンマンDB(記事更新)

来週の放送情報。
ゴーヤーが爽やかな味わいになってしまう!

アンパンマンDB(みんなのタグ)

投票ページ2ページ目以降に関するバグっぽい挙動を修正しました。

アンパンマンDBとドラゴンクエスト10

アンパンマンDB(記事更新)

#映画35作目も公開だし好きなアンパンマン映画を3つあげる」を追加しました。
映画、いよいよ明日ですねぇ。

ドラゴンクエスト10(ァォィョッュ)

パタプラ
七夕の里 期間限定オープン! (2024/6/19)|目覚めし冒険者の広場
七夕イベント。
今回はクエストとかはないので、アイテムをもらって観光するだけです。
いつもは海水浴場にいるパタプラくんが、今年は墓地に流れ着いていました。
今日はァォィョッュだけアイテム回収しましたが、他のメンバーも後日ひっそり行くつもりです。

他の写真は以下から。
写真置き場「2024/06/27」

アンパンマンDB

アンパンマンDB(記事更新)

発売されたので、『ばいきんまんとマジカちゃん』がどっちなのか確認しました。

アンパンマンDB(みんなのタグ)

昨日作ったやつがだいぶめちゃくちゃな結果を出してきていたので、修正しました。
あと、怪しいページ見つけ出す仕組みも。

アンパンマンDB(システム)

先日からCSV出力関連の機能を作っていたわけですが、普通の人はCSV出力機能なんかあったって使わないわけじゃないですか。
一方で管理人の私は、できるだけ多くのページでCSV出力に対応させたいと考えていまして。
今のところ、個別DBの検索結果では、設定を変更すればCSV出力のリンクを表示できるようになっています。
この仕組みをうまく全体に適用できれば、必要な人だけCSV出力機能に便利にアクセスできるようになると思うんですよね。
このあたりのこと、今ちょっと考え中です。

アンパンマンDBと美文のキャラ倉庫

アンパンマンDB(記事更新)

来週の放送情報。
ベビーロール!?

美文のキャラ倉庫

安定して動くようになってきたので、データをまた入れ始めました。
基本的なデータはすでにある程度入れ終わっているので、Bomber丸World旧開発室にしか書いていないデータの移行が中心ですね。
旧開発室と旧旧開発室にはキャラクターの他にも、システム面の案もいろいろ書かれていたのですが、そちらはさすがにキャラ倉庫の領分から外れすぎているので、別の場所に保管しようと思います。
システムのほうのデータ移転も終わったら、旧開発室と旧旧開発室は用済みになるので、消すつもりです。

アンパンマンDB(システム)

コメントのルールは、込み入ったものはハードコード、単純なものはデータベースに登録しているんですが、データベースに入れているほうのコメントルールの管理画面を作りました。
単純とはいっても、文面を動的に変えられないだけで、どういう場合に出すかとかは結構柔軟に指定できて、現在は最新映画のページに出ています。
管理画面向けのルールも同じように編集できるので、変なコメントへの対応がもうちょっとスピーディーになるかと思います。

アンパンマンDB

アンパンマンDB(記事更新)

来週の放送情報。

アンパンマンDB(みんなのタグ)

ちょっといたずら通報もあるので、ちょっと対策を作成中。
とはいえ、悪意があって嘘通報をしているというよりは、通報の趣旨を理解していないような感じが多いので、何をやろうとしているか理解させる方向で考えています。

アンパンマンDBと浮き沈みランチャー

アンパンマンDB(記事更新)

来週の放送情報。

浮き沈みランチャー

しばらく使っていて問題なさそうだったので、リリースすることにしました。
ついさっき作業始めたので、実際のリリースは明日に回します。

アンパンマンDBとNeoMupl

アンパンマンDB(システム)

画像表示を刷新しました。
5月にやってたのがやっといい感じのところまでできてきたので。
画像形式をJPEGより小サイズなWebPにしたのと、画像IDをランダム文字列化しました。
実は古い画像は微妙に法則性が残っていたりしますが、そのへんはあまり気にしない方向で。
もしかしたら古いブラウザで表示できなくなるかもしれませんが、そんな古い環境知ったこっちゃないです。

NeoMupl

自分で使ってて気になったので、課題立てました。
再生停止後に、停止する直前の状態のまま残ったり、状態がリセットされたりして、統一感がなくて気持ち悪かったんですよね。

アキタラヤメル[ポジティブ不老不死さん]とアンパンマンDBとTgwsMark

アキタラヤメル[ポジティブ不老不死さん]

サーバーが変わってPerlCGIが動かなくなって長らく放置されていましたが、復活しました!
いえ、不老不死なんで死んでないんですが、コンテンツとして復活しました!
一応今のサーバーにも別バージョンのPerlが入ってるっぽいんですが、もうほとんど覚えていない言語で今更別バージョンに合わせた大規模改修をする気力もないので、PHPで全面的に書き直しました。

アンパンマンDB(システム)

ペアリストもCSV出力対応しました。
通常のリストの表記に加え、「=」で左辺と右辺を繋いでいます。

TgwsMark

README更新しました。
使い方やら文法やらを書いています。
完全に網羅ってわけじゃないんですが、主に使う部分についてはまあまあ書けた感じです。

アンパンマンDBとTgwsMark

アンパンマンDB(記事更新)

亡くなったことに伴う更新です。

アンパンマンDB(システム)

CSV出力機能調整しました。

まず、リスト項目をHTMLからもうちょっと見やすい形式に変更しました。
管理画面での表記と同じく、改行区切りでの表記となります。
表示とリンク先が違えば>で右にリンク先表示。
本来と別の個別DBへリンクしている場合、:の左に表記。
注釈は通常ページでの見た目通り、()に囲んで表記。
まあ、見やすいとはいっても、もともと複合的なデータなので、CSVに入れるにはちょっと複雑になっています。

それと、これはCSV以前のバグだったんですが、管理人による記事更新直後に検索を行うと、更新前のデータが検索キャッシュとして保存されるバグがありました。
そのため、検索画面と、その結果を使うJSON/CSV出力では、次の更新までずっと古いデータが表示されていました。
これが今まで問題にならなかったのは、記事更新時には更新した記事そのもののキャッシュを真っ先に更新していて、最新記事だけは更新後のデータで検索キャッシュが作られていたからでした。
これがなぜCSV出力のときに問題になったのかというと、CSV出力内容の変更に伴う内部データの変更もキャッシュされており、ずっと変更前の内部データが使われていたからでした。
ということで、古いデータをキャッシュに使わないという方向でこれを修正したというわけです。

TgwsMark

具体的な作業はしてないけど、課題だけ立てときました。
貴方が作ってプルリクしてくれてもいいんですよ。

アンパンマンDBとTgwsMarkとプリンセスピーチ Showtime!

アンパンマンDB(記事更新)

レンタルDVD情報。

TgwsMark

Release 2.0.0 · mifumi323/TgwsMark
結局、リリースタグ付けてなかったのが原因でした。
よそ様のライブラリと比較して、よそ様のライブラリのほうにはcomposer.jsonにversion記載がないのにバージョン指定でインストールできていて、そこで気付きました。

私の他のライブラリも同じようにリリースタグを忘れていて、バージョンアップしたのにバージョンアップできない状態になっていたので、そちらにもリリースタグつけておきました(MifuminatorSearchPhraseParserTwitterLib)。

プリンセスピーチ Showtime!


4階のカンフー-1。
足技中心の近接攻撃の衣装です。
だからまあ、剣士に近い使い勝手だけど、結構コンボが繋がる感じ。
リーチ短めでダメージ受けやすいのと、足場が悪い中での戦いもあったりして、何度かミスになってしまいました。
一度取り逃しも発生して、2週目でキラメキストーンコンプしました。


カウガールのアクションリハーサル。
人入りの樽と爆弾入りの樽が出てきて、人入りの樽だけ投げるやつ。
これまでのアクションリハーサルと比べて、見てから対処しても充分間に合うので、死に覚えゲーみたいな部分は少なく、1回のチャレンジで最高報酬条件の45人を超えることができました。

他の写真は以下から。
プリンセスピーチ Showtime!(2024/06/02)の写真

アンパンマンDBとTgwsMarkとPackagist

アンパンマンDB(記事更新)

正式な曲目が公開されたので反映しました。
『森は枯れても2024』が新録ですね。
映画も森を舞台とした話なので、実際に使われる可能性が高そうです。

TgwsMark

名前空間とか調整して、再公開しました。
これでもうばっちりだと思ったのですが、試しに自分のプロジェクトに入れようとしたら、うまくいきませんでした。
他の人のライブラリとかと見比べても決定的に足りないものはなさそうに見えるけど…。
急ぐ用事ではないし、ちょっと後日考えてみよう。

Packagist(Mifuminator、SearchPhraseParser、TwitterLib)

他のライブラリも名前空間変更したのですが、どうにも微妙な感じです。
一応、メジャーバージョンを上げておいたので、バージョン指定で導入している人には悪影響ないとは思うのですが。

アンパンマンDBとTgwsMark

アンパンマンDB(記事更新)

来週の放送情報。
再放送ですね。
確かロールケーキちゃんの歌に他の人が一切合わせてくれず自分一人で全部歌いきる話だったかと(覚え方の偏りがひどい)。

TgwsMark

ソースコードを調整して、テストも入れて、Packagistに公開…一応したのですが、ちょっと微妙な感じ。

名前空間が「MifuminLib\TgwsMark」で、Packagistのパッケージ名が「mifuminlib/tgwsmark」で、GitHubのリポジトリ名が「mifumi323/TgwsMark」なんですよね。
スラッシュとバックスラッシュとか大文字小文字の違いは、それぞれのネーミングの制約故ですが、「MifuminLib」と「mifumi323」の違いは気持ち悪いです。
問題の前半部分だけで考えると、他のパッケージは、名前空間「MifuminLib」、パッケージ名「mifumi323」、リポジトリ名「mifumi323」でした。
他のパッケージに合わせるならパッケージ名を「mifumi323/tgwsmark」にすればよさそうですが、そもそもこの不一致の発端は、「MifuminLib」という名前空間の妙な前半部分なわけです。
この前半部分、「美文のライブラリ」の意味でつけているのですが、この部分、本来はベンダー名を表しています。
つまりこれ、名前空間的には、「美文のライブラリさんが作ったTgwsMark」という意味になります。
まあ、「PHPUnit\PHPUnit」みたいに、関連する製品群をそれぞれパッケージで提供するためにチーム名的に本人じゃない名前を付けることもありますが、MifuminLibは単に私が作っただけってやつですからね。
なので、いっそのこと全部「mifumi323」に統一しちゃおうかなとか思ってます。
その場合、他のパッケージと不一致になってしまうけど、そこんとこはどうすべきか…。

アンパンマンDB(システム)

個別DBの検索結果のページに、CSV出力機能をつけてみました。
まだ実装途中なので変なCSVが出がちですが、どうせ設定をいじるかURLを直接指定するかでしか出てこない機能なので、未完成のやつをすでに公開しています。
https://tgws.plus/anpandb/anime?search=&sort=-access&view=csv

アニメDBに限って言えば、アニメエピソードCSVダウンロードもあるのですが、そっちは基礎情報だけで、目的や機能がちょっと違うやつです。

アンパンマンDB(システム)

新ストリクトクエリの実装、何とか完了しました。
昨日の時点でリストとペアリストの内部実装を刷新できたので、あとはこれを適用するだけだと思ったのですが、思いのほか難儀してしまいました。

文字の正規化の扱いが一貫していなくて、正規化すべきところで正規化されなかったり、逆に正規化しすぎたりというのが一つ。
一応、正規化には冪等性があるので、正規化しすぎに関しては無駄以外の実害がないのですが、正規化ができていないと、一致するものも一致しなくなります。

それから、検索の高速化のために、結果をキャッシュしておく機能もあるのですが、キャッシュが効きすぎて、新ストリクトクエリ未実装のころの結果をいつまでも返していたというのも一つ。
これに気付かず、正しいSQLを長いこと調査続けてました。

ほかにもいろいろ細かい理由はあったのですが、大きなのはこのくらい。
エイリアスと個人メモに関しては、検索の前処理で特別扱いするだけで、検索の中身は何も特別ではないので、普通の文字列検索と同じように簡単に実装できました。

アンパンマンDB(システム)

リストとペアリストの内部実装、新ストリクトクエリに対応可能な形に修正完了しました。
これにより仕様が微妙に変わってしまいましたが、実用上大きな差は現れないのと、新ストリクトクエリで同じことを再現できるようになる予定なので、まあこれで良しとしておきます。
やっとリストとペアリストの新ストリクトクエリ実装のスタートラインに立てました。

<前 次>