日記(214)

<前 次>

CharaBox3

CharaBox3
バージョンアップしました。
特に動作は変わっていません。
と言いうのも…

Bump Newtonsoft.Json from 12.0.3 to 13.0.1 in /CharaBox3 by dependabot[bot] · Pull Request #16 · mifumi323/CharaBox3
関連するライブラリのバージョンアップがあって、そのプルリクが来ていたのです。
こういうのって、セキュリティのためにも一応はアップデートしておいた方がいいのですが、活発に開発していないソフトだと忘れがちになるんですよね。
そういうのに対して、botが自動で修正提案を出してくれるというのはとても助かるのです。

@WIKIとアンパンマンDBとPHP

@WIKI

管理画面のメモ用Wiki、@WIKIに移転しました。
もともと非公開コンテンツだったので、@WIKIでもやっぱり非公開です。
ページ名だけはURLにアクセスすればわかってしまうのですが、まあ、URLも非公開なので多分大丈夫でしょう。

アンパンマンDB

「鉄火のコマキちゃんとミス・マリーネ」の作品情報を追加
「どんぶりまんトリオとオーロラ姫」の作品情報を追加
来週放送情報の追加。
美しい大人の女性のキャラクターがABともに出る感じですね。

PHP(Today I Learned)

PHP: 配列 - Manual
配列のアンパック。
array_mergeでやっていたような配列の結合を、[..$array1, ...$array2]みたいに記述できる機能です。
簡潔な構文で記述できて、性能もよくて柔軟性も高いそうです。

PukiWikiを復活させようと試行錯誤していた時に見つけました。
機能自体は7.4からあったのですが、うちのサイトでは7.4をすっ飛ばして一気に8.1まで上げてしまったので、気付けませんでした。
ネット上の記事では、JavaScriptでの同様に機能からの類推で、「スプレッド構文」と呼ばれることが多いようですね。

ただ、便利で、今後は積極的に使っていきたいとは思うのですが、性能がいいからと言って、過去のコードのarray_mergeまで全部置き換えるのはちょっと無謀かなって思いました。
というのも、array_mergeを削除するのはいいとして、丸括弧()で囲っていた部分を角括弧[]で囲ったうえ、両方の配列に...を付けるって言うのが、繰り返し間違いなく行うには結構複雑な手順なのです。
特に...忘れに関しては、エラーが出ずに、ただ望まない処理結果が返るだけなので、間違った修正をしても気付かずに、発見したころには元のコードを忘れていて修復不可能、ということが起こりそうなのです。

PukiWiki

PHPのバージョンを8.1に上げてから、Wikiが動いていなかったので、Wikiのバージョンを上げました。
エラーが少なければ自前で解消したかったのですが、多すぎたので、PHP最新バージョンに対応したバージョンに切り替えました。

PukiWiki/Download/1.5.4 - PukiWiki-official

ただ、今あるWikiはもうどれも保守する気はないので、全面的に凍結しています。
管理画面にこっそり置いてるメモ用のWikiも、どっかのレンタルWikiに移行してしまうつもりです。

カバレッジ

カバレッジのグラフ
サイズがでかいので画像は直接貼りませんが、カバレッジの推移のグラフを表示する機能を作ってみました。
昨日紹介したRindow Math Plotは、ファイルへの保存は対応しているように見えて事実上対応していなかったので、直接表示するページを管理画面に作りました。
横軸はカバレッジ記録開始した日からの経過日数にして、上下に並べて時系列で傾向を見られるようにしました。
新機能を実装して複雑性が上がるとカバレッジが下がり、複雑性が上がらない間はテスト作成を頑張ったりしているのでカバレッジは上がる傾向があります。
今、日記の内部挙動を変えようと思っていて、内部挙動を変えても外部仕様が崩れないことを保証するために、日記の、特に管理画面のテストの作成を頑張っています。

リトルノア楽園の後継者とドラゴンクエスト10のプレイヤーイベントを検索および通知するサイトとRindow Math Plot

リトルノア楽園の後継者

リトル ノア 楽園の後継者 | Cygames
復活ですとっ!?
まあ、前作の完全版でもなければ続編でもないし、何ならゲームジャンルも全く別物だけど、なかったことになってなかったというのはちょっと嬉しいですね。

あと、買い切りというのも個人的には嬉しいところ。
前作は基本無料アイテム課金でストーリーをちょっとずつアップデートで足していく方式だったのですが、プレイ人口が減っていって録にアップデートされなくなり、重要人物だったはずの人が期間限定イベントで茶番劇やったまま、何も解決せず未完でサービス終了しちゃったんですよね。
買い切りなら、最初に出した時点でひとまずエンディングまでは到達できるようになっているはずなんで、その点安心なのです。

8月にスペシャルエディション(2000円)も出るらしいですが、価格と内容を見る限り、単に本編+有料DLC2種を値引きせずセットにしただけのようです。
念のため説明しておくと、全部個別に買う(本編1500円+DLC第1弾300円+DLC第2弾300円=2100円)よりは100円だけ安くなりますが、DLC1+2パックが500円で100円安くなるんで、“スペシャルエディションとしての”値引きはないということです。
わざわざ待たずとも、後でDLCを買い足したほうが無難そうですね。

ドラゴンクエスト10のプレイヤーイベントを検索および通知するサイト

メールがまだ変だったので、SPFレコードを再設定して、今度こそ解決しました。

Rindow Math Plot(Today I Learned)


Rindow Math Plot : Rindow Mathematics : Rindow
PHPのグラフ作成ライブラリです。
「php グラフ」でGoogle検索してもピンとくるものがなかった(PHPから出力したデータをJavaScriptでグラフ化するというPHPの意味がないものが多かった)ので、Composerで「composer search plot」で検索したら、目的に近そうなのがありました。
とりあえず、上に置いた画像みたいなグラフが描けます。
少々見た目が殺風景ですが、演出にこだわりたいわけじゃないし、むしろ個人的にはこのくらいのシンプルさが好きです。
グラフを並べられるのは見ての通りですが、第2軸(右側にも軸を作って、スケールの違うものを同じ図に表示)の実現方法は今のところよくわかっていません。

以下、ソース。

header('Content-Type: image/png');

$mo = new \Rindow\Math\Matrix\MatrixOperator();
$plt = new \Rindow\Math\Plot\Plot(null, $mo);

[$fig, $axes] = $plt->subplots(1, 2);
$x = $mo->array([0, 0.2, 0.4, 0.6, 0.8, 1.0]);
$y1 = $mo->op($x, '**', 2);
$y2 = $mo->array([
[0.0, 0.0], [0.3, 3.0], [0.7, 4.0], [1.2, 3.0], [2.8, 1.0], [5.0, 0.0],
]);
$axes[0]->plot($x, $y1, null, 'y1');
$axes[0]->legend();
$lines = $axes[1]->plot($x, $y2, null, 'y2');
$axes[1]->legend($lines, ['data0', 'data1']);
$plt->show();

日記とドラゴンクエスト10のプレイヤーイベントを検索および通知するサイト

日記

以前作っていたネタバレ畳むための機能が、ちょっと書き方としていまひとつだったので、古い方のHTMLねじ込み機能を改良して、独自マークアップと干渉しないようにしました。

ドラゴンクエスト10のプレイヤーイベントを検索および通知するサイト

またメールのSPFレコードがおかしくなっていたので、新しいIPに紐づけておきました。
こういうところ、レンタルサーバーの残念なところですね。

ドラゴンボール超とTGWSAdmin

ドラゴンボール超 スーパーヒーロー

映画『ドラゴンボール超 スーパーヒーロー』大ヒット上映中!
観てきました。
ドラゴンボールはGTまでしかまともに見てない、映画に至っては小学生の頃のおぼろげな記憶しかないレベルでしたが、楽しめました。

あんまりネタバレのない感想はこちら。

やっぱり、映像的なところで進化を感じましたね。
3DCGをベースにして、2Dで調整して、2Dアニメとして違和感のない3Dアニメとして仕上がっていました。
バトルシーンはもちろんのこと、日常の何気ない所作がいいんですよ。
ツイートではヘドのオレオのことばっかり言ってましたが、それ以外にも、パンの子供らしいせわしない動きとか、名前もわからないレッドリボン軍兵士とか、あとピッコロさんとかピッコロさんとかピッコロさんとか…。
最初だけ実はいかにもな3Dで違和感があったのですが、人造人間の目から見た映像だったので、意図的な表現だったのでしょう。

それと、当然と言えば当然なんですが、ガンマ1号と2号が魅力的。
スーパーヒーローと自称していたんですけどね、やっぱりヒーローなんですよ。
悪の手で生み出された都合で悪の手先みたいなことやってたけど、芯の通ったヒーローなんですよ。

TGWSAdmin

昨日対応したJPEGの回転対応が不充分だったので、修正しました。
再圧縮するときに回転を考慮するようにはなっていたのですが、再圧縮不要な場合にはそのままでした。
Twitterに投稿する分には再圧縮しなければそのままでもいけるので、再圧縮しないときは表示時だけ考慮するようにしました。

<前 次>