2024年10月の日記

<2024年11月 2024年09月>

SearchQueryStructure

実装は特に進まず。
やっぱりエラー処理となると、やみくもに実装を始めるより、ちゃんと考えないと詰みますからね。
エラーが起きたときも、途中までのパース結果はエラー本体とともに返したい、というのは昨日言った通り。
どこでエラーが起きたかというのも返せると、修正もしやすくなりますね。
となると、字句解析の時点で、各シンボルに位置情報を埋め込む必要がありそう。
あと、空文字列を渡されたときの特別対応もあっていいかな。

SearchQueryStructure

旧来の機能をおおむね移植完了。
ただ、異常系に対しては、途中までの結果を返すのではなく、例外を投げたいので、もうちょっと調整が必要ですね。
できれば、専用の例外を作って、例外オブジェクトの中に途中までの結果を詰め込んで、例外をキャッチすれば失敗時も旧来の動きにできるという方向で作りたいですね。

SearchQueryStructure

やっと作り始めました。
美しい設計で作り直せるはずだと夢想して、「で、美しいって具体的には?」で止まって、長いことほったらかしになっていました。
これ、アンパンマンDBの検索機能の機能強化に使おうと思ってたんですよね。
だから、美しさを目指していつまでもスタートラインでぐるぐる回ってちゃアンパンマンDBも変われんのです。

ともかく、最初にやるべきことは旧来のコードのコピペと最初に決めたし、出力が美しければ中身が泥水でも結果は変わらんので、とりあえずほぼコピペでどうにかなる部分だけ持ってきました。
既にINodeインターフェースを用意していることからもわかるように、最終的な結果はINode実装クラスで返そうと思っています。

ExifRenamer

自分用ツールですが、毎回同じ設定で同じパターンのファイルばかりリネームしていたので、全自動処理できるように、コマンドライン引数で指定したらいきなり動作するようにしました。
最終的に結果確認のために画面は出てきますが、出力もコマンドラインに出すCLI版を作ってもいいかもしれないですね。
一応自分用ツールなのでバイナリの配布は今のところないのですが、ちょっと体裁を整えて一般配布するというのもありかも…需要はともかくとして。

HTML

簡単な差分確認だけで大丈夫なやつはアップ完了。
未アップファイルが800個ぐらいだったのを400ぐらいまで減らせました。
後は、ほとんどが、出力結果の軽い目視確認だけで済むもの。
ただ、少数ながら、バグっちゃって修正が必要なものもあったから、それらに関してはしっかり時間かけて再確認ですね。

開発環境とサーバーの差分検出・確認ツール

差分確認を効率化しないときりがないとか言ってた件、ツール作りました。
もともと差分検出のため、実行中のマシンのファイル一覧を取得する仕組みがあって、開発環境とサーバーで各々実行して差分を見ていたんですが、ファイル内容の差まではわからなかったんですよね。
それに、各々実行するのも地味に面倒でした。
そこで、開発環境とサーバーでファイル一覧を各々取得して、差分を検出し、差があったファイルを開発環境とサーバーから取ってきて、比較用フォルダに同じ改装になるように配置して、差分表示ツールを起動する…という一連の作業を自動化するツールを作りました。
ここから先の、実際にアップロードする処理は、さすがに差分を確認しながらじゃないと怖いので、手動です。

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

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

来週の放送情報。
再放送ですな。
再放送のたび同じこと言ってる気がする。

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

パフェの塔
ハロウィンイベント後半戦も無事全員終わり、景品も全員分もらえました。

ハロウィン家具2024
ハロウィン家具も買いました。
風船はハロウィンピンポイントすぎるけど、他はテーマ次第でオールシーズン使えそう。

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

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

小悪魔系ドレス

  • クエスト「ダミー・オア・ヤミー!」をクリアした!

ハロウィンイベント「ダミー・オア・ヤミー!」 (2024/10/17)|目覚めし冒険者の広場
季節イベント、行ってきました。
ミニゲームとしては、人探しタイムアタックってとこかな。
人の場所は固定で、出題もそんなにパターンはないので、覚えたらひたすら走り回るゲームになりそうです。
クリアだけならムービースキップして2分で終わるやつ。
全体報酬に至っては、私が始める前にすべて終わっていたという。

パンプキンバスケット
とりあえず、ミフミンは累計スコア報酬のパンプキンバスケットもらえるところまではやりました。
他のキャラは、さっきも書いたように2分でクリアしてますが、累計スコアとかはまだ。
新作家具の確認とかも後日しておきたいですね。

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

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

大型アップデート情報 バージョン7.2 (2024/10/23 更新)|目覚めし冒険者の広場
バージョン7.2!!
なので……

ゼネシアのころも
おきがえリポちゃん ~ ゼネシアのころも ~ (2024/10/18)|目覚めし冒険者の広場
毎月恒例貸衣装!
ストーリー周回遅れ(4.2やってるのでだいたい3周遅れ)の私には存在自体がネタバレな人の服ですが、まあいつものことです。
ウィッグは王冠の有無で2パターンあるみたい。

ゼネシアのころも
戦闘中はこんな感じ。
ジャンプとかでひらひら舞います。

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

アンパンマンDBとデザイン

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

コラムから転記。

デザイン

入力フォーム類の文字サイズを大きくしました。
もともとはデフォルトサイズで、周囲の文字より一回り小さい設定だったのですが、周囲と同じ大きさに合わせました。
正直、文字サイズそのものとしては、周囲の文字がデフォルトのちょっと大きめサイズなので、もともと読みにくくはなかったのですが、なぜかIMEのUIが潰れてしまって漢字変換に支障が出ていたので、つぶれないサイズまで大きくしたのです。
もともと野暮ったかったうちのデザインが、ますますダサくなった気はしますが、個人的には扱いやすくなったし、より読みやすくもなったはずなので、とりあえずこれで良しとします。
取り急ぎでアップした部分もあるので、どこかに不統一とかデザイン崩れとかもあるかもしれません。
このあたりの確認は、まだ終わってないHTMLアップロードのついでにでもやっておこうかと思っています。

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

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

実は数日前に書いてたんだけど公開が伸ばし伸ばしになってたやつ。

コラムから転記。
変身組ですな。

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

シーホライズン

  • クエスト「幸運を呼ぶサロン/2人のクライアント」をクリアした!

これでァォィョッュの髪色クエストは全部完了!

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

Godot Engine

Godot Engine - Free and open source 2D and 3D game engine
インストールしてみました。
funyak、実質開発凍結みたいな状況ですが、あきらめたわけじゃないので、C#で作ったロジックを乗せられるゲームエンジンを、Unity以外でも考えてたんですよね。
で、とりあえず最新版の4.3をインストールしてみたんですが、C#+HTMLの組み合わせは4系ではまだできないらしかったので、3系最新の3.6も入れました。

Unityはシーン遷移がよくわからないまま積んでしまったので、Godotのほうはシーン周りを早めに調べておこうと思います。
やっぱりシーン遷移があると、タイトル画面を出せて、見た目にも映えますからね。

あと、Steamのゲームでよく見かける、日本語が中華フォントで表示する問題への対応は、早々に調べました。
言語設定をはっきり明示することでフォントの優先順位を正しくできるってことですね。
そう考えると、国際化対応は、言葉そのものだけじゃなく、言語設定やフォントにも気を使う必要があるってことになりますね。

アンパンマンDB

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

来週の放送情報。
かぼちゃのカレーでも作るんかな。

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

Anpanatorのページのメモ形式のページの動作が内部的に変だったので、修正しました。
テストが不安定な件にも関連していますが、今回の修正では安定化はしていません。

HTMLとGitHub Copilot

HTML

以前修正したHTMLと、あの後もちまちま作業してたHTML、順次アップ中。
エラーが起こらないかどうかと、デザイン崩れの目視確認もしながらなんで、あんまり進んではないです。

GitHub Copilot

GitHub Copilotちょっとお試し中。
コミットメッセージ生成が便利かなと思ったけど、何でもかんでも「読みやすさのためのリファクタリング」扱いしてくる印象。

アンパンマンDB

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

昨日のふくろうおじさんの流れで今度はおじいさんを追加しました。

こっちはコラムから転記組。
元気倍率アップ系ですね。
300より200のほうが見た目豪華なのがポイント。

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

テストが不安定な問題、直接の原因は一応わかりました。
エラーコード0xC0000005(-1073741819)、アクセス違反です。
アクセス違反なら何でもこのエラーが出るので、このエラーコード一つで真の原因の特定はできません。
傾向として、カバレッジ計測なしだとエラーは起きず、計測ありのときだけエラーが出ることがあるので、カバレッジと何かの競合だと思われます。
落ちる部分のコードがやってることと言えば、同じPHPスクリプトを条件を変えて2回呼び出していることなので、ここで何らかのロックがかかってしまってカバレッジを邪魔しているのでは?と考えています。
完全解決までは、カバレッジ計測の頻度は減らすかなぁ。

アンパンマンDB

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

おそらく1話限りのゲストだと思いますが、追加しました。
こういうのって、たまたま見かけたときに書いておかないと忘れますからね。

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

本番環境では多分問題ないんですが、なんだか自動テストが不安定になっています。
最後までテストせず、エラーも出さず、急にすっと終わる感じ。
一応突然終了する地点は絞り込みましたが、別に何でもないテストをやっているようにしか見えないところなんですよね。
毎回発生するわけでもなく、なんだか不気味です。

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

ピュアブルーの髪色

  • クエスト「幸運を呼ぶサロン/色を好まぬ色男」をクリアした!
  • クエスト「幸運を呼ぶサロン/美容師たちの祭典」をクリアした!
  • クエスト「幸運を呼ぶサロン/スイーツに染められて」をクリアした!
  • クエスト「幸運を呼ぶサロン/美容師のプライド」をクリアした!

髪色クエスト一挙にクリア!
これで全部かと思ったらまだ続きのクエストがあったので、今日のところは受注までで終わらせました。

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

ドラゴンクエスト10と兵庫県立考古博物館

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

  • クエスト「死霊探偵デスマスター/天に昇る魂に君は誓う」をクリアした!

報告した!
以上!

一応、昨日の写真。
写真置き場「2024/10/12」

兵庫県立考古博物館


兵庫県立 考古博物館に行ってました。
縄文時代から江戸時代にかけて作られた土器の展示や解説が中心です。
今は秋季特別展「うつりゆく甲(よろい)と冑(かぶと)-弥生から江戸へ-」をやっていました。
日祝限定で、甲冑の着付けもやっていました。
写真は載せませんが、私も着せてもらいましたよ。

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

ボス倒した!
長話始まった!!
多分また日跨ぐやつ!!!
日替わり直前で急にゲームやるべきじゃない!!!!

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

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

  • クエスト「死霊探偵デスマスター/お願いベントラーコイン!」をクリアした!

ボスネタバレになるとか案外映えない姿してるとかで、画像は省略!
あの後割とすぐ倒した。

黄昏の園

  • クエスト「死霊探偵デスマスター/黄昏より君を連れて」をクリアした!

死にそうで死なないちょっと死んでる居候を復活させた!
この一連のクエスト、何かにつけて高額アイテムをただで確保してるな。

宣誓の滝

  • クエスト「死霊探偵デスマスター/天に昇る魂に君は誓う」をクリアしてない!

またまたお使い&ボス戦のセット!
ボス戦の直前まで進めた!
宣誓の滝、いろんなクエストで引っ張りだこだな!

他の写真は以下から。地味なボスの画像も。
写真置き場「2024/10/11」

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

新カテゴリ「エビ」。

来週の放送情報。

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

キャルの墓

  • クエスト「死霊探偵デスマスター/けがされた扇」をクリアした!

扇取り返した!

ただのしかばね

  • クエスト「死霊探偵デスマスター/けがされた扇」をクリアした!

通信機直して依頼者昇天させた!
霊感ゼロでも霊に通じる祈りいいね!
でもクエストの進行上祈る写真は撮れない!

コイン屋ゴンガロ

  • クエスト「死霊探偵デスマスター/お願いベントラーコイン!」をクリアしてない!

幸運を呼ぶコイン買った!
霊感は高まらなかった!
この後ボス戦あるの忘れてた!
ボス行くと日跨ぐ!!
ちなみに後ろに見えてる目立つ風船は今日のテンの日のクーちゃん!!!

他の写真は以下!!!!
写真置き場「2024/10/10」

アンパンマンDB

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

またコラムから転記。
勇気百倍はそれなりに回数あるけどアニメDBの専用カテゴリは作ってなかったな。

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

アクセス統計、直ったことが確認できました。

あと、経路別画像ってやつ、作ってます。
総合索引で、マッチした名前ごとに別々の画像を出す機能です。
同じネギーおじさんでも、「な」で探したときと、「ね」で探したときでは期待する姿が違いますからね。

アンパンマンDBとTGWS内部処理

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

アンパンマンの状態いろいろから転記。
今日はひとまずこのひとつだけだけど、変身パターンとかも含めて、この手の記事も増やしていきたいですね。

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

アンパンマンDBに限っての話ではないのですが、アクセス統計が6月ごろから全然更新されていませんでした。
まあ、一般ユーザーにもわかる範囲だと結局アンパンマンDBだけではあるのですが。
修正したんで、明日から最近のTOP10とかが動き出すかと思います。
動かなかったらまた調べます。

TGWS内部処理

同じ意図のコードなのに変数名が全然統一されてなくてコピペでコードが動かないことが多かったので、ばらばらな変数名を統一する作業をしていました。
もちろん、全部の変数は無茶なので、よく使う型の変数に限ってですが。
それでも数百ファイルはいじったかも。

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

自動テスト方面で出た問題、解決しました。
最初に作ったオブジェクトを次々受け渡していかなきゃいけないんだけど、途中で断絶しちゃっていたんですよね。
本番環境では、断絶しても最終的にデフォルト設定で再生成するから問題にはならないんですが、テストでは、テストケースごとに別オブジェクトを作るのでデフォルト設定じゃダメだったのです。

うーん、オブジェクトオブジェクト言ってても説明になってない気がするのでもうちょっと具体的に言うと、データベース接続オブジェクト(以下、DBO)です。
表示ロジックでは、表示に必要なデータはそろっている前提なので、余計なことをできないように、DBOを渡さないようにしています。
しかし、表示ロジックの最後の最後で、画像タグや記事間リンクなどのリンク処理を行うため、DBOが必要になります。
本番環境では、本番データベース以外に繋がないので、DBOをいくつデフォルト設定で再生成しても問題ありません。
テスト環境では、デフォルト設定でもテスト用データベースに繋がるのですが、テストケースごとに別々の条件に分けたいので、データベースもテストケースごとに作っています。
ここで断絶が起こると、途中までテストケースごとのデータベースだったのが、最後にいきなりテスト環境の共用データベースに繋がることになります。
最初と最後で別々のデータベースに繋がるので、テストが動かなくなるというわけです。

解決には、表示ロジックにDBOを渡さないようにしつつ、リンク処理ではDBOを使えるようにする必要があります。
このため、表示ロジック呼び出し側が、リンク処理を司るオブジェクトに適切なDBOを持たせ、表示ロジックにはリンク処理オブジェクトのほうを渡すようにしました。
リンク処理オブジェクトからDBOを取り出すことはできないので表示ロジックが悪さをすることはできません。
一方、リンク処理オブジェクトは適切なDBOを自分で持っているので、あるべきデータベースを使ってリンク処理を行うことができるというわけです。

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

アンパンマンワンドロ

テーマ追加しました。
提案があったやつです。
初開催のやつは確率アップしていますが、再開催のやつも確率が低いだけで普通に候補にあるので、必ずしも次の開催で選ばれるわけではないです。

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

記事一覧のメイン画像、更にもうちょっといい感じの見た目にしました。
環境によっては実感できないのですが、高解像度ディスプレイでは高解像度版の画像が表示されるようになっています。
ただ、この修正をするにあたって、自動テスト方面で問題が出たので、目下対応中です。

アンパンマンDB

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

来週の放送情報。
ねむねむおじさん地味に登場回数伸ばしてんな。

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

記事一覧と詳細画面に、メイン画像を表示するようにしました。
実はずっと前からひっそり開発し、こっそりプレリリースしていた機能なんですが、スタイルをまあまあいい感じに調整して、この度デフォルトONにしました。
ただ、更にもうちょっといい感じの見た目にしたいなーとかまだ思ってます。

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

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

「アンパンマン放送36周年おめでとう」を追加しました。
アンパンマンの日ですね。

ふにゃ1

おおむねソースコード解析完了。
軌道に乗ってからは早かったです。

ただ、ソースコード見るより実際に動かしたほうが一目でわかるだろうと思って、実行ファイル開いたら、エラーで起動できませんでした。
他のVB6製プログラムは動くのに、なぜ…。

こうなったら、夢じゃないとか夢みたいなこと言ってないで、本当に移植する必要があるかも。

ふにゃ1

久々に思い出してソースコードの解読作業中。
いや、やりたいなと時々思ってはいたんですよ。
ただ、別々のアプローチで進めていた二つのプロジェクトがあって、最終的に欲しい成果物は一つで、どっち使えばいいのよって状態だったのです。
その二つというのが、細かいところから順次解析していたボトムアップ式のプロジェクトと、全体像から段階的に掘り進めていくトップダウン式のプロジェクトです。
ボトムアップ式は具体的な計算内容がよくわかる代わりに何のための計算なのかなかなか判明せず、トップダウン式は全体的な流れは追いやすい代わりに計算の具体的な内容は複雑で手に負えない状態でした。
今回、情報量の多かったトップダウン式をベースに、ボトムアップ式の成果をマージするという形で作業を進めました。
すると、計算内容そのものも、そこに至る流れもわかるようになり、理解が飛躍的に進みました。
これなら、最新環境向けに移植するというのも夢ではなくなるかも。

<2024年11月 2024年09月>