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

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

<前 次>

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


テキスト系項目も文字種保持検索に対応。
この辺りは間接的な影響とかもまあまあ多いので、一箇所の変更が複数に波及する部分がありました。

カテゴリ系は、内部的にはテキストマッチじゃないので、文字種保持検索には今のところ対応しない予定です。

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


文字種保持検索、ひとまず一番使うインデックス検索(キーワードだけ入力したら発動するやつ)を対応させました。
この写真でいうと、「Baby」の部分に「baby」で反応するかどうかが変わっています。

キーワードだけ入力の場合はもちろん従来通りあいまい検索になるんですが、ストリクトクエリで新たに追加した文字種保持用演算子を使う(containsなど)と、大文字小文字ひらがなカタカナなども区別するようになります。
このあたりの追加された演算子などは、後日別課題として、詳しい解説ページを作るつもりでいます。

あと、文字種保持検索を実装すると、ルーズクエリの構文側、例えば「キャラ:ブルーベリーちゃん」の「キャラ:」の部分などが、文字種区別するようになるんですが、確認してみたらここはもともと区別してました。
なので、構文の固定文言部分はまあ文字種区別しない検索でも文字種区別で統一してもいいかな、というところ。

今回の対応範囲、一応テストは通っていますが、今は中途半端な状態なので、本番リリースはもうちょっと先になります。

アンパンマンDB

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

来週の放送情報。
再放送ですね。

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

正規化と言いつつ正規化じゃないところ、本当に正規化と言える部分と冪等じゃないエスケープ処理に分割。
このあたり、既存処理の拡張で作るつもりでいましたが、そもそもの実装がまずい部分があったので、新規処理として作成中です。
少しずつ修正して少しずつリリースしていくと、新旧入り混じる期間が出るので、新仕様で旧処理を壊さないためでもあります。

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

正規化が正しく正規化である限りは、正規化したデータを正規化しても正規の状態を保つ、冪等性があるので、元の正規化処理を残したまま、後続処理における「本当に必要だった正規化」を作っています。
受け取った瞬間以降すべての精査、やっぱりやっちまうほうが正攻法だよなってことで。
検索機能に対しては自動テストも組んであるので、ある程度は修正が必要なところも検出できます。

アンパンマンDB

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

「かがやけ太陽!」「氷のせかい」「クレープマン」「すなぼうや」「ガレットさん」「ベビーアンパンマン」「ベビーロールパンナ」「チャポン」「ヒーロー!」を追加しました。
ええ、はい。去年の映画以降、更新し忘れていた分も含めての更新です。
2024年初登場の面々が入っていなかったのは更新忘れ期間だったから仕方ないとして、2013年のクレープマンを忘れていたのは痛恨の極み!
もしかしたら他にも入れ忘れあるかもしれないし、どうにか入れ忘れ検出システム作れないかな。

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

文字種保持検索(ほぼばいきんまんとバイキンマンの区別専用)の実装に取り掛かりました。
…が、あまりに大変すぎたので、いったん白紙に戻しました。
検索クエリを受け取った瞬間にはもう正規化をしていて、正規化された文字種が来ることを想定してその先のすべての処理は作られているんですよね。
この「受け取った瞬間」の正規化をやめて必要に応じて…と考えていたら、受け取った瞬間以降すべての精査が必要になってしまったということです。
ばいきんまんとバイキンマンの区別だけならもうちょっとシンプルにできそうな気もするので、もうちょっとやり方考えてみようと思います。

アンパンマンDB

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

すっっっっっかり忘れてた去年12月のCD。
一応、新曲は一つもないみたいなので、最新曲追っている人にとっては特になくても問題ない1枚となっています。

これも映画で新録あるってわかった時点で作っとくべきだった記事。

こっちは森は枯れても関連のつながりで修正した分。

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

商品DB以外の関連商品項目に、「全部見る」リンクを付けました。
関連商品が多い記事では、商品情報が省略されがちだったんですが、全部くまなく見ることができます!
まあ、そこまでした商品情報を見たい人なんていないと思いますけどね。
むしろ、商品情報を記入するときに取捨選択する手間を省くという、私自身のための機能です。

アンパンマンDB

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

来週の放送情報。

入れ忘れてた分類の記入。

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

日付のある項目は、その日付を迎えるまで投票できなくしました。
これまで、新記事追加したら即座にあることないこと投票しまくる人がいたんですよね、たぶん複数。
そんなもん当然でたらめに決まってるんですが、ふたを開けてみるまで真相と逆のことを言っているかどうかわからないので、おいそれと反対票で打ち消すこともできなかったのです。
ということで、触れられない呪物は最初から作らせない方向で調整しました。
生まれてしまった呪物は…まあ、それなりに処理しました。

それいけ!アンパンマン チャポンのヒーロー!とふにゃ1

それいけ!アンパンマン チャポンのヒーロー!

映画『それいけ!アンパンマン チャポンのヒーロー!』公式サイト|6月27日(金)より元気100倍!全国ロードショー
今年の映画が発表されました!
アンパンマンにあこがれてヒーローになりたがる系。
原作風のアートワークが目を引きますね。

アンパンマンDBのほうにも反映しました。

ふにゃ1(開発状況)


とりあえずBGMをMIDIで打ち込み中。
あんまり思ったようになってないですが。
これで試行錯誤終わってからファミコン音源に移そうかと。

アンパンマンDBと ふにゃ1

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

来週の放送情報。
この4人で集まってウーロン茶飲みながら羊羹とマシュマロ食って歯磨きしてほしい。

ふにゃ1(開発状況)

確認、入れられるようにしました。
用語が「ステージ1」になっていますが、ver3で「マップ1」に改めます。

こっちはボタンのほう。
一時停止ボタンも作りたいし、なんならもっとボタン増やしたいぐらい。

アンパンマンDBとふにゃ1

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

来週の放送情報。
またカレーとスイーツだ!

ふにゃ1(開発状況)


拡大縮小実装しました!
以前考えていたUIは、マップの下にスライダーを設置するものだったのですが、マップが大きいときに現れるスクロールバーと紛らわしかったので止めました。
で、とりあえずメニューに拡大縮小UIを置きました。

ショートカットキーはWindows11のペイントに倣いました。
ただ、スクロール可能なUIのフォーカスがあるとショートカットキーよりスクロールが優先されてしまうので、これは変えておいたほうがよさそうな気がします。

アンパンマンDBとWinUI3

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

来週の放送情報。
歴史の長いキャラで固めてきた感じですな。
食パンとジャムって一番合うのにキャラの組み合わせとしてはこれが初なんだ。

WinUI3(Today I Learned)

先日悩んでた動画スクショの件、解決しました。
CopyFrameToVideoSurface メソッドを使えばよかったのでした。
実はあの時もそのことまでは突き止めていたものの、コピー先となるIDirect3DSurfaceをどう用意すればいいのかがわからなくて詰まっていたのでした。

MediaPlayer を使ったオーディオとビデオの再生 - UWP applications | Microsoft Learn #フレーム サーバー モードでの MediaPlayer の使用

答えは結局サンプルコードの中にあったのです。
使うのはCanvasDeviceCanvasBitmapです。
WinUI3本体には入っていないので、NuGetでMicrosoft.Graphics.Win2Dを入れます。
VS2022に任せているとWinUI2用のWin2D.uwpを入れさせようとしてくるので注意です。

ふにゃ1とアンパンマンDB

ふにゃ1(開発状況)


画像切り替えもできるようになってステージメーカーの当初予定していた機能は完成!
どうせ同じフォルダの画像しか参照しないので、ファイルダイアログを使わず直接ファイル一覧を出すようにしました。

終了時に変更保存するか聞くやつ。
変更のたびにIsChangedを変えるのがもうやってられないので、ファイルを開いたり保存したりした時にスナップショットを取っておいて、それと比較するようにしました。

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

昨年末に出ていたのにすっかり忘れてたやつ!

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

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

来週の放送情報。
初登場じゃないけど「アンパンマンと」パターン。
アンパンマンでインスピレーション沸いたらしいけどアンパンマンは食べてくれないぞ?

ドラゴンクエスト10

毎月10日はDQXで遊ぼう! ~ドラキーマのモンスターシール集め隊!2~ (2025/1/3)|目覚めし冒険者の広場
テンの日。
だけどシャレマネは集めてないからとりあえずいつものアイテム回収だけ。

蛇姫イベント報酬
ちょっと遅れたけど、蛇姫イベントの報酬ももらってきました。
ついてクンの動きが自由すぎて写真撮るとき日が暮れるかと思ったけど、まあなんとか夕陽と一緒に写真取れました。

TGWS内部処理

12月ごろに修正して、ふにゃ1の対応のため伸ばし伸ばしになっていたファイルのアップロード、今日終わらせました。

一番大きいのが、アンパンマンDBのキャッシュシステムの変更。
これまでは、キャッシュが古くなったことに気付けずに古いコンテンツを表示し続けるケースがあったのですが、今度のはキャッシュを場所ごと変えるので、古いのを探そうとしても見つからなくて強制更新されるようになります。

次が、メテオンもどきのシステムのTGWS本体との接続と切り離し。
メテオンもどきは今後更新らしい更新をする気はないので、システムとしては別扱いにしたい一方、エラー処理周りは本体と統一しておかないと、エラーが発覚しなくなって動作しないまま放置される恐れがありました。
なので、エラー処理だけTGWS本体のを使って、他はほぼ昔の状態に戻しました。
もちろん、サービス終了しているので、「正しく終了した状態」に戻したわけですが。

それと、大昔のIE向けに作ったtenuki.jsの削除。
ページ内ナビゲーションの機能を提供していたのですが、今はもう動きません。
なので、同等以上の機能をPHPで作って、サーバーサイドで生成するようにしています。

あとは、コメントの修正。
これが一番数が多かったのでした。

ドラゴンクエスト10とふにゃ1

ドラゴンクエスト10(おきがえリポちゃん)

おきがえリポちゃん ~ 花華メイドレス&華商人のたすき ~ (2024/12/24)|目覚めし冒険者の広場
今月の貸衣装。

花華メイドレス花華メイドレス
女性陣の花華メイドレスはこんな感じ。
和風でメイドって言うと、女中かな。

華商人のたすき
男性陣の華商人のたすきはこう。
こっちはカミハルムイで普通に商売してそう。

ふにゃ1


いろいろ頑張ろうとしたらコミットが中途半端な状態になったので今日は画像だけ。
詳しくは明日の日記にでも。

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

書き忘れてたんで追記。

来週、もとい、来年の放送情報。

アンパンマンDBとTGWSAdminとふにゃ1

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

来週の放送情報。
ガレットさんは新キャラですね。
クレープの亜種みたいな感じ?折り畳みがポイント?

TGWSAdmin

いつも記入している定型データの記入が簡単になるようにテンプレート機能を追加。
簡単に実装できる割りに効果高いんだからもっと早く作っときゃよかった。

ふにゃ1

昨今の高解像度環境対応のため、画面サイズ変更機能を実装中。
実はふにゃさんでもやろうとしたことがあったんですが、あの時は頓挫してたんですよね。
今回はWPFなんで拡大縮小処理はフレーム側にお任せで楽ちんです。
まあ、今は画面写真を出せないぐらい挙動が変なんですがね。

アンパンマンDBと𝕏

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

来週の放送情報。

𝕏(Twitter)

アンパンマン日替わり紹介botにせよワンドロにせよ、APIのレートリミットが意味不明なことになっていて、そんなに頻繁に投稿しているわけでもないのにToo Many Requestsのエラーがしょっちゅう起きています。
一時的なものかと思って様子を見ていましたが、収まる様子はないですね。
エラーを減らすため、投稿頻度を減らすべく、何らかの形で投稿内容をまとめていこうかと思っています。

ふにゃ1とアンパンマンDB

ふにゃ1

まだゲームらしい部分は何一つ実装できてないけど、ゲームの動きに入るための入り口はできてきた感じ。

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

コラムから転記。

「命の星がない」「顔がない」「女の子になった」の3つは、項目名が説明的過ぎたので、個別記事化するのは見送りました。
「顔が欠けて力が出ない」みたいに他の記事の一部に組み込むことも考えましたが、それだとコラムの一部だった元のままと同じなので、それもなしにしました。
一応、アンパンマン日替わり紹介botには反映しています。

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

ドラゴンクエスト10(ミフミン)

伝説の三悪魔闘

  • 【コイン】伝説の三悪魔闘をはじめて倒した!

ミフミンも倒せました。
さすがにしろいコキンのほうで何度か戦っていたので、対策はさほど苦労せず。

自分:ハンマー盗賊。とにかく敵の動きを止めまくる。呪文耐性厚め
サポ:扇賢者。回復&バフ&敵のバフ消し。ブレス耐性100
サポ:片手剣魔法剣士。敵がブレイクブレスならこっちはフォースブレイクだ!ブレス耐性100
サポ:スティック天地雷鳴士。呪文耐性補完とネクロゴンドの波動対策。ブレス耐性100

痛恨あるのわかってたのに会心ガードもせず突っ込んで私一人死んだ以外は、危ない場面は一つもありませんでした。

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

なんか検索でエラーが起きてて、ちょっと心当たりがあったので調べていたのですが、ライブラリ更新中の一時的なエラーでした。
検索に使っているライブラリが、最新版を指定しているはずなのに古いバージョンが使われているという問題が、開発環境では発生していたんですよね。
今回起こったのは、更新作業中に一瞬ファイルが消えるタイミングにリクエストが重なってしまったからでした。

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

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

コラムから転記。
情けないアンパンマンですな。

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

強ボス。
普段は書かないけどァォィョッュにとっては強敵でありますからして。

(ネタバレでありますからして)

魔女グレイツェル強

  • 【強モード】魔女グレイツェル強をはじめて倒した!

他の二人はずっと前から楽勝だったから、ァォィョッュでも行けるだろうと踏んで挑戦。
このボス、次々と増援を呼ぶタイプだから、サポート仲間で一気に片を付けられる他の二人では簡単だったんですな。
サポートをつけず、多くても仲間モンスター+幻魔の3人体制にしかできないァォィョッュだと、どんどん仲間を呼ばれててんやわんや!
敵の一撃もァォィョッュからすると重いし、状態異常耐性も必要なのを盛れてないから、もう誘われてダンスフィーバーです。
手持ちの装備でできる限り呪文耐性を盛って、敵呼ぶやつを優先的に攻撃し、それでもひやひやする場面が多々ありました。
これだとバージョン7.2の強ボス組も厳しそうだな…。

他の写真は以下から。ついでに倒されたラズバーンも。
写真置き場「2024/12/02」

Node.js

Node.js — Run JavaScript Everywhere
Node.jsのバージョン、最新版が23、LTS(長期サポート)が22。
昔アップデートしたときは13だったから、ずいぶん進みましたな。
またJavaScriptを使ってやりたいことができてきたので、この機会にアップデートしておきたいですね。
たまにしか使わないから、サポート短い最新版よりは、LTSの22のほうがいいかな。

<前 次>