日記(115)

<前 次>

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

リストとペアリストのストリクトクエリ、旧仕様を当面残すため、内部仕様を変更しても影響を受けにくい仕組みを作っていました。
この仕組み、将来的には新仕様に一本化するタイミングで消すことになるんですが、これやっとかないと新仕様の実装が面倒になりますからね。
で、この2つを同時に作業進めているのには訳があって、まあ想像はつくと思うんですが、内部的には似たようなことをやっているんですよね。
リストは単に文字列のリスト、ペアリストはA→Bみたいな文字列の組み合わせのリストで、検索では、それぞれの文字列に対して検索をかけられるだけでなく、アンパンマンDB内のどの記事にリンクしているかでも検索できます。
「登場作品を探す」で使っている検索ですね。
これ、まあまあ無理やりな感じで共通化しているのですが、新仕様ではもうちょっといい感じに共通化しようかと思っています。

プリンセスピーチ Showtime!


カウガール-2ステージ。
あちこちぶつかりまくって死んだり、樽を明後日の方向に投げまくってキラメキストーン逃したり、結構散々でした。
こないだまで調子よかったんだけど、やっぱりカウガールステージは苦手…!
ただまあ、何週をやっていればさすがに慣れました。
というわけで、とりあえずこのステージもコンプ。


そして、キラリスタ救出ステージ。
相変わらずカウガールのアクション苦手で、一度負けてしまいましたが、こちらは何とか一周で全キラメキストーン&衣装回収できました。

これで、3Fは残すところ1ステージ&ボスのみ。
初めて扱うことになる格闘です。

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

ドラゴンクエスト10とあずきミュージアムと日記

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

竜王
竜王城の決戦・再演 (2024/5/9 更新)|目覚めし冒険者の広場
昔やってたイベントだけど、報酬新しいのが出てるので、やってみました。
今回は全キャラサポート仲間でやりました。
プレイヤーと行くと不測の事態が起きるし、完全に一人でやるのはほぼ無理ゲーなんで。

他の写真は以下から。ミフミンは写真撮ってない。
写真置き場「2024/05/19」

あずきミュージアム


行ってきました。
館内は写真スポットを除き撮影禁止なんで、写真は少なめです。
小豆だけに特化した展示ではなく、関連する食物や、伝搬の歴史、栽培地域の文化など、幅広く取り扱っていました。
あとは、ミュージアムレストランであずき御膳を食べたり。

日記

従来、こう言った観光系の日記は「思い出」カテゴリに入れてたんですが、思い出ではあるけどカテゴリとしてはちょっとずれてるなと思ったので、「観光」というのを作ってみました。

アンパンマンDBとPHP-CS-Fixer

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

リストの現行のストリクトクエリのテストを作成。
新記法にする前に、内部処理を変える必要があって、旧記法でも同じ内部処理を使う必要があるので、内部処理を変えても旧記法が通用することを確認するためのテストが必要なのです。

PHP-CS-Fixer(Today I Learned)

PHP-CS-Fixer/PHP-CS-Fixer: A tool to automatically fix PHP Coding Standards issuesには、ドキュメントコメントでもないくせにドキュメントコメントぶっているただのコメントを本当のただのコメントに戻す機能があります。
/** ただのコメント *//* ただのコメント */

しかし、/** @var ADBValueList $adb_value */みたいに、ローカル変数の型を指定しているコメントまで、ただのコメント扱いされてしまいます。
Intelephenseでは、ちゃんとローカル変数のドキュメントコメントも認識してくれるので、PHP-CS-Fixerにぶち壊されると困るのです。

そこで使うのが以下のオプション。

Rule phpdoc_to_comment - PHP Coding Standards Fixer
ドキュメントコメントをただのコメントに戻す処理の制御ができます。
今回の件なら、ignored_tagsオプションにvarを入れれば、@varのドキュメントコメントだけは見逃してくれるようになります。

アンパンマンDBとdotnet

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

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

dotnet(Today I Learned)

dotnet build コマンド - .NET CLI | Microsoft Learn

ソリューションでこのコマンドを実行するときに --output オプションを指定すると、出力パスの不明なセマンティクスが原因で、CLI から警告 (7.0.200 のエラー) が出力されます。 このオプションは、ビルドされたすべてのプロジェクトのすべての出力が指定されたディレクトリにコピーされるため、この --output オプションは許可されません。これは、複数のターゲットを持つプロジェクトと、直接および推移的依存関係の異なるバージョンを持つプロジェクトと互換性がありません。 詳しくは、「ソリューション レベルの --output オプションがビルド関連コマンドで無効に」を参照してください。

dotnet buildコマンドを--outputオプションと一緒に使うと、出力先を変えられるわけですが、プロジェクト名を指定しないでこのオプションを使うと、ソリューション内に複数あるプロジェクトが全部同じディレクトリに出力されて、全部交ざっちゃって困るよねって話。
実際には、エラーで止まったりせず、警告を出して指定された出力先に出力されるようです。

PHPUnit

PHPUnit自体の機能とは特に関係ないんですが、うちのサイトの自動テストでは、HTMLの表示とかのテスト(結合テストに近いところ)もある程度やっていて、出力結果の保存とかもやっているんですね。
テストやるたびに、たとえ何の変更もなくて何の問題もなくても、何百ページ分ものHTMLファイルが出来上がります。
たとえ何の変更もなくて何の問題もなくても、改めて毎回テストをやること自体は、回帰テストといって、とても有意義なのですが、回帰テストは正しいか正しくないかだけわかれば充分なので、何が出力されたかまで細かく残す必然性はありません。
とはいえ、たとえ何の変更もなくても問題が起きることがあるから、回帰テストが必要なわけで、回帰テストに落ちたときだけは、何がおかしくなったのかを残す必要があります。
なので、普段邪魔になるからと言って、一律で保存をやめるなんてことはしないほうがいいでしょう。
だからといって、テストに落ちたときだけ保存するという器用なこともなかなか難しいわけで。
ということで、出力結果を破棄するオプションを作って、それをON/OFFすることで、保存するかどうか切り替えるようにしてみました。

アンパンマンDB

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

ストリクトクエリの新記法、リストとペアリストの件が全く進まないまま、エイリアスと個人メモが手付かずなのが発覚しました。

それはそうとして、画像のシステムを変更することを考えていて、ファイル名のつけ方をいい感じに思いついたので、試しに実装してみました。
まだ全面的に適用しているわけではないので、一般ユーザーに見える場所では登場はしていないのですが。

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

これまで新機能を実装するたびに「プレビュー1」から数字を上げてきていたのですが、毎度毎度これをやっていると細かい改良がだるくなるので、「プレビューN」で一本化しました。
もう細かい機能実装は事前にも事後にも告知なく随時リリースしていきます。
プレビュー版って本来そういうことですからね。

あと、みんなのタグの管理強化の準備の実装の準備を実装したりして、管理機能自体は別にまだ強化してません。

<前 次>