帯状発疹になってから多分10日くらい。薬飲んで4日かな。少しずつなおってはきているのだけれど、相変わらずしんどさがあります。でも一時の倦怠感はだいぶマシになった。とはいえ運動はできないので、ずっとPCに向かっています。痛みがだいぶ引いたので、多少集中できるようになっただけでも有り難い。
機能がないことが機能
で、今月中に何か正式にアプリをリリースしようとしています。最初はブログ用の広告タグツールを公開するつもりだったのですが、まだ使い始めて日が浅いので、別のもっとずっと前から使っている簡易的な画像表示アプリを公開する予定です。名前はそのまんまでSimple Image Viewerなんですが、同名のアプリがいくつかあるので変えたほうがよさそうだなぁと思っています。本質的にも、もともとは画像をざっと閲覧するためのアプリだったんですが、今となっては画像を捨てるためのアプリみたいな側面がありますので、ちょっとあってないかもしれない。もちろん閲覧用途でも使えますけど。
このアプリは何かというと、指定したフォルダ以下の画像ファイルをブラウザで表示、いらない画像は削除するというだけの、極めて簡易的なWebアプリです。
多分、何の機能があるかというより、ほとんどの機能がない、ということのほうが特徴かな。その中で変な機能があります。実際「フォルダをzipにしてダウンロード」「削除確認なし」あたりは珍しい機能になるかなと思います。特に削除確認なしは、これは開発者の心理になるとよくわかるんですが、不可逆性が怖いのでやりたくない機能(というより確認機能がないというべき?)ですね。

なんでこんなもの作ったかというと、画像フォルダの整理です。写真とか、スクリーンショットとか、あと個人的にはStable Diffusionで作った有象無象の大量の画像について、必要なのだけ残してあとは削除、というのを、あらゆるデバイスでやりたかったんですね。なのでWebアプリです。なんかこういうアプリあるかなと思ったら意外となく、自分で作ることになりました。
けっこう探したんですけどね。OS標準からクライアント画像管理アプリ、Webベースのファイラ、だいぶマイナーな個人開発のやつに金払ったのもあります。でもダメだったなぁ。求めるのに、けっこうニッチな条件がありました。
ファイルベース、サブフォルダにある画像も含めて一覧表示、削除確認をしない、全画面でちゃんと全画面になる、一気にスクロールしてだーーっっと確認したい、PCだけではなくタブレットやスマホからやりたい、R18もあるのでクラウドにあげたくない、速度重視、何より「とにかく安定して動く、固まらない」の条件を全部満たすもの、なかったですね。
自分のユースケースに合わせて作ったので、当たり前ですが僕にはフィットしているため、地味に毎日くらいの勢いで使っていたりします。まぁ全部の条件が合致するのは僕くらいでしょうけれど、LAN内Webアプリのファイルベースなんかは意外と需要あるのでは?と思ったりもしています。普通あんまやらんしそんなこと。あと地味に削除確認なしはファイラ的な使い方になるため、これも案外ない。まぁ実際、本質的には画像管理じゃなくてファイラなんですよこのアプリ。サムネイル表示したときのファイラに近い挙動です。
技術的にはGo言語 + htmxで、まだ生成AIコーディング黎明期に、チクチク指示して大真面目にコード読んでキレてたりして作っていたのですが、今はもうAIに適当にやらせているので、実際内部がどうなっているのかもはやわかりません。htmx使ったり使ってなかったりしてそうです。まぁPureなJSでやる分にはいいよもう。動いているし。地味に二年以上は使っていて特に不具合ない。
AIプログラミングのハマりどころ
なのでまぁ公開してもいいかなぁと思ったわけですが、それにあたって今までの直接ビルド・インストールではなく、パッケージにしたのですけれど、やっぱりやると色々あるもので、開発環境とパッケージ版の競合などありました。開発環境で、設定ファイルが見つからないと本番用の設定ファイルを使って設定が競合してバグるなど、謎のフォールバックにハマる。
AIプログラミングで謎フォールバックはだいぶ辛い。特定の条件下においてのみ発動するので、日常利用がブラックボックステストだというスタンスでいくと気づきづらい。まぁ正直見当はつくというか、今回も「まさか開発環境と本番環境で設定ファイル競合してたりしないよね?」って聞いたら「それです👍️」で膝から崩れ落ちた。なんでそんなことするの?🥺
逆に言うと、こういう経験則がまったくないと様々な面でハマるはずなので、AIプログラミングを少しやる気ある一般人くらいの市井に広められないかなぁ、ということも考えているのだけれど、中々難しそうです。
ドキュメントとホスティング
あとはドキュメント整備ですが、これはMkDocsを使って内容をざっくりAIに書かせようと画策中。マニュアルについては、人間だと面倒臭がって省略してしまうところを書いてくれるのはよいところだと思います。ま、逆に冗長になりがちなので差っ引かないといけないですし、何を書くかはかなりこちらで筋立てしてやらないといけないですが…しかしまぁ、それは必要なことですので。
あとはホスティングをどこにするかかな。わざわざ新しく独自ドメインを取るのもねぇ。サブドメインとVPSでええか。
それとフリーソフトですけれども、一応Donation版的なこともできないかなとか、なんか考え中です。パスワード機能とか自動アップデートとか、まぁその程度のささやかな機能になりますが。一通りやってみたいという気持ちです。決済にJPYCとか使ってみたいですよね。個人開発なので好き勝手できる。
色々と準備を整えつつ、面倒なところは結局人間だなぁと思う今日この頃です。
コメント