日記(113)

<前 次>

アキタラヤメル[ポジティブ不老不死さん]とアンパンマンDBとTgwsMark

アキタラヤメル[ポジティブ不老不死さん]

サーバーが変わってPerlCGIが動かなくなって長らく放置されていましたが、復活しました!
いえ、不老不死なんで死んでないんですが、コンテンツとして復活しました!
一応今のサーバーにも別バージョンのPerlが入ってるっぽいんですが、もうほとんど覚えていない言語で今更別バージョンに合わせた大規模改修をする気力もないので、PHPで全面的に書き直しました。

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

ペアリストもCSV出力対応しました。
通常のリストの表記に加え、「=」で左辺と右辺を繋いでいます。

TgwsMark

README更新しました。
使い方やら文法やらを書いています。
完全に網羅ってわけじゃないんですが、主に使う部分についてはまあまあ書けた感じです。

アンパンマンDBとTgwsMark

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

亡くなったことに伴う更新です。

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

CSV出力機能調整しました。

まず、リスト項目をHTMLからもうちょっと見やすい形式に変更しました。
管理画面での表記と同じく、改行区切りでの表記となります。
表示とリンク先が違えば>で右にリンク先表示。
本来と別の個別DBへリンクしている場合、:の左に表記。
注釈は通常ページでの見た目通り、()に囲んで表記。
まあ、見やすいとはいっても、もともと複合的なデータなので、CSVに入れるにはちょっと複雑になっています。

それと、これはCSV以前のバグだったんですが、管理人による記事更新直後に検索を行うと、更新前のデータが検索キャッシュとして保存されるバグがありました。
そのため、検索画面と、その結果を使うJSON/CSV出力では、次の更新までずっと古いデータが表示されていました。
これが今まで問題にならなかったのは、記事更新時には更新した記事そのもののキャッシュを真っ先に更新していて、最新記事だけは更新後のデータで検索キャッシュが作られていたからでした。
これがなぜCSV出力のときに問題になったのかというと、CSV出力内容の変更に伴う内部データの変更もキャッシュされており、ずっと変更前の内部データが使われていたからでした。
ということで、古いデータをキャッシュに使わないという方向でこれを修正したというわけです。

TgwsMark

具体的な作業はしてないけど、課題だけ立てときました。
貴方が作ってプルリクしてくれてもいいんですよ。

アンパンマンDBとTgwsMarkとプリンセスピーチ Showtime!

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

レンタルDVD情報。

TgwsMark

Release 2.0.0 · mifumi323/TgwsMark
結局、リリースタグ付けてなかったのが原因でした。
よそ様のライブラリと比較して、よそ様のライブラリのほうにはcomposer.jsonにversion記載がないのにバージョン指定でインストールできていて、そこで気付きました。

私の他のライブラリも同じようにリリースタグを忘れていて、バージョンアップしたのにバージョンアップできない状態になっていたので、そちらにもリリースタグつけておきました(MifuminatorSearchPhraseParserTwitterLib)。

プリンセスピーチ Showtime!


4階のカンフー-1。
足技中心の近接攻撃の衣装です。
だからまあ、剣士に近い使い勝手だけど、結構コンボが繋がる感じ。
リーチ短めでダメージ受けやすいのと、足場が悪い中での戦いもあったりして、何度かミスになってしまいました。
一度取り逃しも発生して、2週目でキラメキストーンコンプしました。


カウガールのアクションリハーサル。
人入りの樽と爆弾入りの樽が出てきて、人入りの樽だけ投げるやつ。
これまでのアクションリハーサルと比べて、見てから対処しても充分間に合うので、死に覚えゲーみたいな部分は少なく、1回のチャレンジで最高報酬条件の45人を超えることができました。

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

アンパンマンDBとTgwsMarkとPackagist

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

正式な曲目が公開されたので反映しました。
『森は枯れても2024』が新録ですね。
映画も森を舞台とした話なので、実際に使われる可能性が高そうです。

TgwsMark

名前空間とか調整して、再公開しました。
これでもうばっちりだと思ったのですが、試しに自分のプロジェクトに入れようとしたら、うまくいきませんでした。
他の人のライブラリとかと見比べても決定的に足りないものはなさそうに見えるけど…。
急ぐ用事ではないし、ちょっと後日考えてみよう。

Packagist(Mifuminator、SearchPhraseParser、TwitterLib)

他のライブラリも名前空間変更したのですが、どうにも微妙な感じです。
一応、メジャーバージョンを上げておいたので、バージョン指定で導入している人には悪影響ないとは思うのですが。

アンパンマンDBとTgwsMark

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

来週の放送情報。
再放送ですね。
確かロールケーキちゃんの歌に他の人が一切合わせてくれず自分一人で全部歌いきる話だったかと(覚え方の偏りがひどい)。

TgwsMark

ソースコードを調整して、テストも入れて、Packagistに公開…一応したのですが、ちょっと微妙な感じ。

名前空間が「MifuminLib\TgwsMark」で、Packagistのパッケージ名が「mifuminlib/tgwsmark」で、GitHubのリポジトリ名が「mifumi323/TgwsMark」なんですよね。
スラッシュとバックスラッシュとか大文字小文字の違いは、それぞれのネーミングの制約故ですが、「MifuminLib」と「mifumi323」の違いは気持ち悪いです。
問題の前半部分だけで考えると、他のパッケージは、名前空間「MifuminLib」、パッケージ名「mifumi323」、リポジトリ名「mifumi323」でした。
他のパッケージに合わせるならパッケージ名を「mifumi323/tgwsmark」にすればよさそうですが、そもそもこの不一致の発端は、「MifuminLib」という名前空間の妙な前半部分なわけです。
この前半部分、「美文のライブラリ」の意味でつけているのですが、この部分、本来はベンダー名を表しています。
つまりこれ、名前空間的には、「美文のライブラリさんが作ったTgwsMark」という意味になります。
まあ、「PHPUnit\PHPUnit」みたいに、関連する製品群をそれぞれパッケージで提供するためにチーム名的に本人じゃない名前を付けることもありますが、MifuminLibは単に私が作っただけってやつですからね。
なので、いっそのこと全部「mifumi323」に統一しちゃおうかなとか思ってます。
その場合、他のパッケージと不一致になってしまうけど、そこんとこはどうすべきか…。

浮き沈みランチャーとTgwsMark

浮き沈みランチャー

早めに実装したいと言ってから一年が経過しました。
複製機能のほうは実装しました。
「ファイルの場所を開く」のほうが、実は今日やりたかったことの本命です。
で、昨年やりたいと言っていたもう一つ、「削除前に尋ねる · Issue #32 · mifumi323/FLaunch」が手つかずで残っています。
まあこれも、手を付ければあっという間なので、明日にでも実装して適当なタイミングでリリースするかな。

TgwsMark

この日記やアンパンマンDBで使っているMarkdown風の変換機能、オープンソース化しようと企んでいます。
特段すごい技術でもなく、取り立てて需要があるわけでもないですが、見せていい部分を一般公開して、TGWSのサイト側のプログラムの規模をちょっとでも縮小したい意図があります。
サイト内のコードはなるべくサイト独自のものだけに絞りたいというわけですね。
あと、アンパンマンDBのJSON/CSV出力でもTgwsMark記法がそのまま出てくる部分があるので、オープンソース化に伴って、マニュアルを整備したいという考えもあります。

普段この手のライブラリを作るときには「Mifumin○○」みたいな名前を付けがちなんですが、今回はTGWSから抜き出したことに意味があるので、名前に「Tgws」を入れています。
他には、「Markdawn」とか「Markqown」とか、Markdownをもじった名前も考えたのですが、単なるタイポと思われるのも癪なので、部分的に似てるけど明らかに別物とわかる名前にしました。

ちょっと手元での移行作業に時間がかかっていて、今のリポジトリにはREADMEぐらいしかありませんが、近日中に整備して、Composerで入れられるようにしたいと思っています。

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

個別DBの検索結果のページに、CSV出力機能をつけてみました。
まだ実装途中なので変なCSVが出がちですが、どうせ設定をいじるかURLを直接指定するかでしか出てこない機能なので、未完成のやつをすでに公開しています。
https://tgws.plus/anpandb/anime?search=&sort=-access&view=csv

アニメDBに限って言えば、アニメエピソードCSVダウンロードもあるのですが、そっちは基礎情報だけで、目的や機能がちょっと違うやつです。

<前 次>