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

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

<前 次>

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

ドラゴンクエスト10(全員)

Tカバーな水着&サニーボード
夏イベント『炎夏の海を駆け抜けろ!2』開催!  (2025/7/14 更新)|目覚めし冒険者の広場
夏イベント全員分やりました!
レース系の期間限定イベントはあまり積極的にはやっていないのですが、海のイベントは基本的に行くので、今回は行く方向で。
とりあえず全員2分10秒台は出せて、サニーボード手に入りました。

2025夏家具(ペンギンのぬいぐるみ / たゆたうクラゲの柱 / アイスクリームランプ)
家具も買いました。
でっかいペンギンかわいいね。

他の写真は以下から。水着は染色次第で化けるね。
写真置き場「2025/07/17」

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

キャラ数検索の件、リリースしました。

TgwsMark

最近から、細かい技術の話を日記に書くようにしたのですが、それに使っているTgwsMark、コードブロック機能がないんですよね。
だから自前でpreタグとかcodeタグとか書いてたんですが、そういうタグは認識しないので、段落記法と衝突してしまいます。
だから、コードブロック機能も作っちゃうべきかなーとか思っています。
あと、柔軟性を高める仕組みなんかも作れたら作りたい。

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

ドラゴンクエスト10(しろいコキン)

バウギス

  • クエスト「竜と契約せし者」をクリアした!

しろいコキンも魔法使いと魔法戦士のレベル上げて竜術士になりました!
さすがに3回目なんでムービーはスキップしたんですが、見てなくてもクイズに正解さえすればいいんですね。

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

キャラ数検索、まだテストコード上でしか確認できていませんが、修正しました。
画面上で何パターンか確認してからアップしようと思います。

SQL

上記の問題の原因、SQLの条件句における型の不一致が原因でした。

((SELECT COUNT(*) FROM list_anime_chara1 WHERE list_anime_chara1.page_id = page_anime.page_id) + (SELECT COUNT(*) FROM list_anime_chara2 WHERE list_anime_chara2.page_id = page_anime.page_id) + (SELECT COUNT(*) FROM list_anime_chara3 WHERE list_anime_chara3.page_id = page_anime.page_id))=:p

こんなSQLを条件に入れていたのですが、この右辺の:pにPHPの整数を入れても、SQLiteの内部的な整数型とは一致せず、常時不一致扱いとなっていたのです。
左辺が単純な項だったら型が自動変換されて大丈夫だったんですが、サブクエリとかの複雑な式だと無理だったようです。
というわけで、以下のようなキャストを明示的に入れて、型を合わせるようにしました。

((SELECT COUNT(*) FROM list_anime_chara1 WHERE list_anime_chara1.page_id = page_anime.page_id) + (SELECT COUNT(*) FROM list_anime_chara2 WHERE list_anime_chara2.page_id = page_anime.page_id) + (SELECT COUNT(*) FROM list_anime_chara3 WHERE list_anime_chara3.page_id = page_anime.page_id))=CAST(:p AS INT)

アンパンマンDBと次期NeoMupl

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

キャッシュ更新高速化の第一段階は成功。
期待したほど爆速にはなってないけどそれでも体感で半分ぐらいの時間になっています。

それとは別に、キャラ数検索が動いていないことが発覚したので、今度はそっちの修正にかかろうかと思っています。
検索結果「キャラ数:6」 | アンパンマンアニメDB

次期NeoMupl

今考えてるのはこんなところ。

  • 様々な情報を表示できるように表形式にする
  • オンラインストリーミングに対応
  • DPIAwareness
  • 一応オープンソースにする
  • みんなが広く使うようなものは目指さない
  • プラグイン式みたいな高度な柔軟性は提供しなくていい
  • 映像や波形の表示はしない(引き続き音楽専用)
  • 一曲を複数の設定で再生できるようにする
  • 一時停止・再開対応
  • UIスレッドと再生スレッドを分離(UI操作中は音が途切れがちだった)

アンパンマンDB

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

また見に行ってたので。
ひとまず今書きたいことはあらかた書き終わったつもりだから、あとはDVDでじっくり確認できるようになってからかな。

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

キャッシュ更新があまりにも重いのでチューニング中。

アンパンマンDBとNeoMupl

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

来週の放送情報。
前半はアンパンマンほぼ出番なしだった脚いいけど、後半はアンパンマンがちゃんと出てくる…はず!

NeoMupl

0から作り直しを検討中。
自分で使っていていろいろ残念な部分、時代に合わない部分が目立ってきましたからね。
そのときは、NeoMuplの新バージョンではなくて、コンセプトから異なる別ソフトにして、名前も別にするつもりです。
もうだいぶん古いのにNeoもないですしね。

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

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

バシっ娘シンリィ
ミフミンも七夕イベント終わり!

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

ほぼ自分専用ですが、DBID検索を付けました。

検索結果「パンマン dbid:chara,item,term」 | アンパンマンDB
こんな感じに、全体検索で「dbid:~」を指定すると、検索対象自体を絞り込めます。
例えば、「dbid:anime」ならアニメDBだけ、「dbid:anime,chara」みたいに対象をコンマ区切りすればそれぞれが対象になります。
一つだけならすぐ下にあるプルダウンの選択肢で指定したほうが手っ取り早いですが、複数指定はこの検索語による指定だけの機能です。
また、検索語なので、「-dbid:anime」みたいに否定を伴って使ったり、「(dbid:anime しょくぱん) OR (dbid:chara カレーパン)」みたいに組み合わせて使ったりもできます。

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

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

海上に浮かぶ夢幻郷
夢幻郷2回目!
実は時間になっても見えなくて、当てずっぽうでパシャパシャやってたんですが、見えてない写真で成功扱いになってしまいました。
これは成功後ちょっと待って見えるようになったから改めて取り直したやつ。
見えずに成功したやつは残っていません。

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

来週の放送情報。
例年よりちょっと遅くなりましたが、無事映画のテレビ放送となりました。

Node.js

うちのサイトの開発環境では、Node.jsを使っています。
だいぶ古くなってきたんで、新調したいと思うじゃないですか!
バージョン一気に上げすぎると普通どこかしらエラーが起きて動かないじゃないですか!!
検証必要じゃないですか!!!

しました。
何もエラー起きませんでした。
生成された成果物もまったくもって問題なしです。
こんなことってある!?

アンパンマンDBとアンパンマン日替わり紹介botとふにゃ1

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

アンパンマン音楽DBの単曲リンク削除しました。
Amazonは特定の曲を選んで再生すると関係ない曲がランダムに再生されますからね。
単曲としては意味がないのです。
紹介botの音楽紹介も同様にリンクを外しています。

アンパンマン日替わり紹介bot

深夜0時のシステム情報の投稿を2日に1回から毎週土曜日に変更しました。
投稿回数制限が厳しくなってしまって、ワンドロとかにも影響出てますからね。
特に何の紹介もしていないものにかける回数は減らせばいいのです。

ふにゃ1(開発状況)

AIのコードレビュー待ちしてる間に忘れちゃってた。
ということで、以前実装したやつのマージ。
これのリリースで今度こそ最終版になるはずだから、ふりーむとかにも公開してもいいかもしれない。

ふにゃ1とアンパンマンDBとアキタラヤメル[ただの乱数表]

ふにゃ1(開発状況)

余計なメニュー非表示にしました。
完全に消し去ってもよかったんですが、まあせっかくなのでね。

データ消して動作確認してたら発見したバグも修正。

このあたりはついでのわりとどうでもいいやつ。

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

キャッシュ更新システムが不安定だったのでいろいろ頑張ってました。
時間がかかるのが悪いのか?キャッシュが競合しているのか?
時間がかかること自体は、システムがずいぶん複雑化してきたので仕方のないところです。
ただ、時間がかかったときの対応がまずかったようです。
タイムアウト直前になると最後にもう一回を試みて百回分の時間をかけたり、競合発生時の競合解消待ちでさらに新たな競合が発生したり、あきらめの悪さが裏目に出ている感じでした。
ということで、タイムアウトが迫ったら可及的速やかに中断、競合が発生したらそれは即座に諦めて後に回す、といった対応を取りました。

アキタラヤメル[ただの乱数表]

世の中に乱数生成サービスは多々あるものの、オプション設定が必要だったり、乱数に必要ないアニメーションをころころ回したりとか、とにかく余計なものがついてるのが多いんですよね。
乱数の出すまでの手数が数手とはいえかかったり、一瞬で生成した乱数の表示を1秒待ったりとか、ぱっと見はよさげでも、繰り返し使ううちに小さなストレスがたまりがちでした。
乱数なんて最終的には解釈次第なんですから、凝ったものを作る必要などないのです。
大昔からある紙の乱数表のように、そこに乱数が並んでさえいれば、好きなように数値を取り出して好きなように使えばいいのです。
そう考えて、今回ただの乱数表を作りました。

アクセスすれば、もうその瞬間に乱数はそこにあります。
0から9の数字がひたすら並んでいます。
1から100の乱数が欲しければ、左上から2桁ずつ取って、00を100とみなせばよいでしょう。
1から6の乱数が欲しければ、0789が出たマスを飛ばして使えばよいでしょう。
コインの表裏の代わりとしたいなら、数値の偶奇を当てはめれば完璧です。
単に1桁ずつ欲しければ、クラシックな紙の乱数表みたいに、目をつぶってペンで一点を指してもよいでしょう。
暇で暇でしょうがない日は、各数字の出た回数を数えて確率の偏りを厳しく審査してもいいかもしれません。

乱数表は自由です。
必要なものは十分にあります。
それでも足りないなら?
更新ボタンを押せばよいのです。

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

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

ちょっと追記。

映画公開前に書いたままだったので加筆など。

コラムからの独立記事。

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

ドワチャッカの謎の飛行物体
さすがにもう張り切ってはないけど七不思議。

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

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

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

観てきました。
感想とかはアンパンマンDBで…と言いたいところですが、感想書くところまで書き進んでいません。

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

来週の放送情報。
しらたまさんはいつもばいきんまんの登場を願ってる気がする。

まだまだ書ききれてないけど、今年の映画。
次観た時か、追記がある程度たまったタイミングで再更新しようかと思っています。

アンパンマンワンドロとアンパンマンDBとfunyak

アンパンマンワンドロ


昨日のですが、だいぶ時間がずれてますね(本来は午後9時)。
これは、自動ツイートに失敗して、それに気付くのが遅れて、リカバリーのための手動ツイートも遅れてしまったためです。
こんな時のために失敗時にはメール通知をするようにしていたんですが、メールボックスにはいろんなメールが来るから埋もれてしまい、結局見落としてしまいました。
そこで、今度はサイト自体にある管理者用の通知機能に細工して、今回の失敗通知みたいな要対応の出来事があったらfaviconで目立たせるようにしてみました。
私、通知ドットみたいな赤丸がアイコンについていたらつい気になってしまうんですよね。

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

Vol.4のレンタル開始もまだですが、次の情報が来ていたので。

funyak

やることははっきりしてたんで、結局AIの最初のコミットから新しいブランチを作って手動で対応しました。

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

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

来週の放送情報。
映画公開と同日ですが見事なまでに通常放送ですね。

アンパンマンDB(つくりかけ)

管理メモにつくりかけのページ作りました。
開発中の機能を一部試せる…かもしれません。

funyak

GitHub Actions対応のほうは全面的にAIに任せてみたんですが、なんか必要以上に大掛かりな工事やっちゃってますねぇ。
最初のコミットは良さそうだったけど、そこで起きたエラー解消のために全面的に修正を加えようとした感じ。
レビュー機能使って修正依頼したつもりだったんだけど、そっちに関してはAIは聞いてないみたい。
やっぱ自分でやるしかないかぁ?結局人間かぁ?

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

  • 獣頭将軍スレイヤーの称号を得た!

プチじゃないギュメイ将軍、倒しました!
ァォィョッュはプレイヤーとはパーティーを組まず、サポも雇わない縛りで強敵は厳しいので、今まで倒してなかったんですよね。
戦った覚えあるのになァ、って思ってたら、3月に挑戦して負けてました
メイン職の天地雷鳴士はあのころから特に強化しておらず、竜術士のパッシブが乗っただけですが、今回は勝てました。
既に討伐済みだと思って写真撮ってなかったし、特に作戦や対策などもないので、戦いの内容に関しては特に語ることなしです。
しいて言うなら、序盤攻撃がぬるかったので油断していたら、中盤で盛大に崩れて盾ガード頼りの運ゲーになったことぐらいかな。
そっからは心を入れ替えてちゃんと戦ったので何とか勝てました。

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

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

「映画36作目も公開だし好きなアンパンマン映画を3つあげる」を追加しました。

funyak

とりあえず.NET8に上げるほうだけやっときました。

funyan

んんん???
このAIレビュー、ご指摘はごもっともな気がするけど、Suggested changeがしっちゃかめっちゃかに見えるぞ…?
よく考えたら指摘の内容も、コンパイラが追跡しきれないだけで処理の流れ上非null保証されてるとか、元のソースコードとの対照性のため誤字を護持したいとか、今回は従いたくないやつかもしれない。
レビューを却下してマージ押し通すか。

ドラゴンクエスト10(しろいコキン)

銀甲の凶蟲兵団

  • 銀甲の討ち手の称号を得た!

アストルティア防衛軍、銀甲の凶蟲兵団討伐も達成しました!
先日行ったのとは違い、なかなか強めでした。

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

海上に浮かぶ夢幻郷を見たい
七不思議コンプしたいのに雨が降ってて夢幻郷出てこない…晴れを祈願して太陽の踊りを踊るしか…!

海上に浮かぶ夢幻郷

  • 夢幻郷ウォッチャーの称号を得た!

ほんとに晴れた!!
ァォィョッュは晴れ女かも!

砂塵にうごめく大巨人

  • 大巨人ウォッチャーの称号を得た!

だとしたら嵐のときしか出てこない大巨人は絶望的かも、って思ったけど、何度かの失敗の末、無事晴れ女に打ち勝って嵐が吹き荒れてくれました。

おどろきとまどう
これで七不思議コンプできたので、報酬の「おどろきとまどう」のしぐさを手に入れました。

他の写真は以下から。日記には書いてないけど七不思議2周目もいくつか撮ったよ。
写真置き場「2025/06/19」

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

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

来週の放送情報。
闇を携えた少女と闇の元締めってこと?

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

バウギス

  • クエスト「竜と契約せし者」をクリアした!

竜術士の転職クエストクリアしました!
ガーディアンみたいに強めなボスと戦うことになるかと思ったけどそんなことはなかった!
長めのムービーはありました。

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

鋼塊の重滅兵団
アストルティア防衛軍に初挑戦してみました。
後でやろうとフレに誘われたので、その予習も兼ねて。
一応モンスター協力バトルで似たようなのをやったことはあるんですが、正式なのはこれが初。
なんだかわちゃわちゃしてたけど何とか防衛には成功しました。

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

アンパンマンDBとGit

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

トップページのメタ情報にRSSへのリンクを入れました。
ページ自体の見た目には反映されないし、どのブラウザが対応してるのかもわからないんですが、まあ、仕組み上存在するということで。
ついでに、サイト全体のことになりますが、RSSのMIMEタイプを「application/rss+xml」に変更しました。

あと、設定画面が特定の条件でエラーを起こすという問題があったのですが、解消しました。
そのかわり、別のバグを引き起こしてしまったので、今後修正します。

Git

Gitのブランチ運用を更新しました。
最近はプルリクエストを使った運用にも慣れてきたのと、各種自動化も進んできたので、そのあたりの変更です。

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

正式な収録話を確認できたので、書き直しておきました。
イレギュラーで「かがやけ太陽!アンパンマンと氷のせかい」が入った形になります。
その関係であふれた分は次のDVDの情報にこっそり追記しています。

なかなかおもろいやつおるなーって思って。

アンパンマンDB

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

来週の放送情報。
このタイトルだけど初登場じゃないよ。

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

コメントに関するちょっとした機能実装進行中。
この機能、あんまり便利にしすぎると対戦型SNS化してしまうので、いろいろと限定的にはなりますが。

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

記事削除実装完了。
基本的に過去の記事に使うことはあまりないと思いますが、うっかり重複記事を立ててしまったときなんかには使うことになるかと思います。
作ろうと思い立ったのが3月だったからだいぶたってんな。
やっぱもっとどんどんスピーディにいろいろこなしていきたいですねぇ。

PHPとCSSとアンパンマンDB

PHP

[PHP]DateTimeのtimezone_typeって何だ? #PHP - Qiita
記事投稿しました。
アンパンマンDBで日時の出力をDateTimeそのままjson_encodeしてみたら見たことないプロパティが出て来たんで不思議だったんですよね。
で、json_encodeに限らず出てくるので、題材としては変数の中身を見るためにより広く使われるvar_dumpのほうを挙げた次第です。
それはそうと…

【PHP】Qiita デイリーいいね数ランキング【自動更新】 #LGTM - Qiita
なんか1位になってました。
他誰もいないけどな!
鶏口となるも牛後となるなかれということわざがあるけど、鶏どころか単細胞生物ですな。

CSS

古いスタイルシート整理してました。
レスポンシブ対応前の古いページ用の古いスタイルシートもまだ残しているんですが、さすがに数が少なくなってきたので名前を変えたり。

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

コメントに関するちょっとした機能実装中。
関係あるのは一部の人に限られますが。

<前 次>