<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Go on 或る阿呆の記</title><link>https://hack-le.com/tags/go/</link><description>Recent content in Go on 或る阿呆の記</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Wed, 23 Sep 2026 13:07:21 +0900</lastBuildDate><atom:link href="https://hack-le.com/tags/go/index.xml" rel="self" type="application/rss+xml"/><item><title>LoPiQ v.1.16.10 の公開</title><link>https://hack-le.com/lopiq-v-1-16-10/</link><pubDate>Thu, 24 Sep 2026 00:00:00 +0900</pubDate><guid>https://hack-le.com/lopiq-v-1-16-10/</guid><description>&lt;p&gt;LoPiQをv.1.15.4からv1.16.10に更新しました。&lt;a class="link" href="https://lopiq.dev.hack-le.com/release-notes/#v11610-2026-09-23" target="_blank" rel="noopener"&#10; &gt;リリースノート - LoPiQ&lt;/a&gt;より詳細を確認できます。&lt;/p&gt;&#10;&lt;p&gt;LoPiQはセルフホストできる画像ファイラです。画像を確認しながら、削除、回転、WebP変換などスクリプト操作を実行することを主たる目的にしています。&lt;/p&gt;&#10;&lt;p&gt;今回、大きな設計の変更があります。すべてのアクションはシェルスクリプトというのがLoPiQの方針でしたが、現実の利便性を考えたときに、標準的な操作はビルトインで用意するほうが便利であると判断しました。そのため、今回から削除や回転のような標準的アクションについて、アプリケーション側で実装したビルトインコマンドを用意します。&lt;/p&gt;&#10;&lt;p&gt;また、アクションは有効/無効を切り替えられるようにし、ユーザが必要なアクションのみをUIに表示するようにします。&lt;/p&gt;&#10;&lt;p&gt;これに合わせて、設定画面は専用ページを用意するようにしました。&lt;/p&gt;&#10;&lt;p&gt;今回の改修でOSの機能を使ったゴミ箱削除なども実装が可能になりました。また、Go言語を使っているため、Windowsでの実行も期待できるため、次回以降でWindows対応を目指します。&lt;/p&gt;&#10;</description></item><item><title>ありそうでない？あらゆる端末からPCの画像を見て捨てて保存するWebアプリの開発</title><link>https://hack-le.com/aiprg12/</link><pubDate>Thu, 16 Jul 2026 00:00:00 +0900</pubDate><guid>https://hack-le.com/aiprg12/</guid><description>&lt;p&gt;帯状発疹になってから多分10日くらい。薬飲んで4日かな。少しずつなおってはきているのだけれど、相変わらずしんどさがあります。でも一時の倦怠感はだいぶマシになった。とはいえ運動はできないので、ずっとPCに向かっています。痛みがだいぶ引いたので、多少集中できるようになっただけでも有り難い。&lt;/p&gt;&#10;&lt;h2 id="機能がないことが機能"&gt;機能がないことが機能&#10;&lt;/h2&gt;&lt;p&gt;で、今月中に何か正式にアプリをリリースしようとしています。最初はブログ用の広告タグツールを公開するつもりだったのですが、まだ使い始めて日が浅いので、別のもっとずっと前から使っている簡易的な画像表示アプリを公開する予定です。名前はそのまんまで&lt;code&gt;Simple Image Viewer&lt;/code&gt;なんですが、同名のアプリがいくつかあるので変えたほうがよさそうだなぁと思っています。本質的にも、&lt;strong&gt;もともとは画像をざっと閲覧するためのアプリだったんですが、今となっては画像を捨てるためのアプリ&lt;/strong&gt;みたいな側面がありますので、ちょっとあってないかもしれない。もちろん閲覧用途でも使えますけど。&lt;/p&gt;&#10;&lt;p&gt;このアプリは何かというと、&lt;strong&gt;指定したフォルダ以下の画像ファイルをブラウザで表示、いらない画像は削除するというだけの、極めて簡易的なWebアプリ&lt;/strong&gt;です。&lt;/p&gt;&#10;&lt;p&gt;多分、&lt;strong&gt;何の機能があるかというより、ほとんどの機能がない&lt;/strong&gt;、ということのほうが特徴かな。その中で変な機能があります。実際「フォルダをzipにしてダウンロード」「&lt;strong&gt;削除確認なし&lt;/strong&gt;」あたりは珍しい機能になるかなと思います。特に削除確認なしは、これは開発者の心理になるとよくわかるんですが、不可逆性が怖いのでやりたくない機能（というより確認機能がないというべき？）ですね。&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hack-le.com/images/uploads/2026/07/5710a9e022752163afe758957f1cfd0b-700x533.webp"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;開発中の画面&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;なんでこんなもの作ったかというと、&lt;strong&gt;画像フォルダの整理&lt;/strong&gt;です。写真とか、スクリーンショットとか、あと個人的にはStable Diffusionで作った有象無象の大量の画像について、必要なのだけ残してあとは削除、というのを、あらゆるデバイスでやりたかったんですね。なのでWebアプリです。&lt;strong&gt;なんかこういうアプリあるかなと思ったら意外となく、自分で作ることになりました&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;けっこう探したんですけどね。OS標準からクライアント画像管理アプリ、Webベースのファイラ、だいぶマイナーな個人開発のやつに金払ったのもあります。でもダメだったなぁ。求めるのに、けっこうニッチな条件がありました。&lt;/p&gt;&#10;&lt;p&gt;ファイルベース、サブフォルダにある画像も含めて一覧表示、削除確認をしない、全画面でちゃんと全画面になる、一気にスクロールしてだーーっっと確認したい、PCだけではなくタブレットやスマホからやりたい、R18もあるのでクラウドにあげたくない、速度重視、何より「とにかく安定して動く、固まらない」の条件を全部満たすもの、なかったですね。&lt;/p&gt;&#10;&lt;p&gt;自分のユースケースに合わせて作ったので、当たり前ですが僕にはフィットしているため、地味に毎日くらいの勢いで使っていたりします。まぁ全部の条件が合致するのは僕くらいでしょうけれど、&lt;strong&gt;LAN内Webアプリのファイルベースなんかは意外と需要あるのでは？&lt;/strong&gt; と思ったりもしています。普通あんまやらんしそんなこと。あと地味に削除確認なしはファイラ的な使い方になるため、これも案外ない。まぁ実際、&lt;strong&gt;本質的には画像管理じゃなくてファイラなんですよこのアプリ&lt;/strong&gt;。サムネイル表示したときのファイラに近い挙動です。&lt;/p&gt;&#10;&lt;p&gt;技術的にはGo言語 + htmxで、まだ生成AIコーディング黎明期に、チクチク指示して大真面目にコード読んでキレてたりして作っていたのですが、今はもうAIに適当にやらせているので、&lt;strong&gt;実際内部がどうなっているのかもはやわかりません&lt;/strong&gt;。htmx使ったり使ってなかったりしてそうです。まぁPureなJSでやる分にはいいよもう。動いているし。地味に二年以上は使っていて特に不具合ない。&lt;/p&gt;&#10;&lt;h2 id="aiプログラミングのハマりどころ"&gt;AIプログラミングのハマりどころ&#10;&lt;/h2&gt;&lt;p&gt;なのでまぁ公開してもいいかなぁと思ったわけですが、それにあたって今までの直接ビルド・インストールではなく、パッケージにしたのですけれど、やっぱりやると色々あるもので、開発環境とパッケージ版の競合などありました。&lt;strong&gt;開発環境で、設定ファイルが見つからないと本番用の設定ファイルを使って設定が競合してバグるなど、謎のフォールバック&lt;/strong&gt;にハマる。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;AIプログラミングで謎フォールバックはだいぶ辛い&lt;/strong&gt;。特定の条件下においてのみ発動するので、日常利用がブラックボックステストだというスタンスでいくと気づきづらい。まぁ正直見当はつくというか、今回も「まさか開発環境と本番環境で設定ファイル競合してたりしないよね？」って聞いたら「それです👍️」で膝から崩れ落ちた。なんでそんなことするの？🥺&lt;/p&gt;&#10;&lt;p&gt;逆に言うと、こういう経験則がまったくないと様々な面でハマるはずなので、&lt;strong&gt;AIプログラミングを少しやる気ある一般人くらいの市井に広められないかなぁ、ということも考えているのだけれど、中々難しそう&lt;/strong&gt;です。&lt;/p&gt;&#10;&lt;h2 id="ドキュメントとホスティング"&gt;ドキュメントとホスティング&#10;&lt;/h2&gt;&lt;p&gt;あとはドキュメント整備ですが、これは&lt;strong&gt;MkDocsを使って内容をざっくりAIに書かせようと画策中&lt;/strong&gt;。マニュアルについては、人間だと面倒臭がって省略してしまうところを書いてくれるのはよいところだと思います。ま、逆に冗長になりがちなので差っ引かないといけないですし、何を書くかはかなりこちらで筋立てしてやらないといけないですが…しかしまぁ、それは必要なことですので。&lt;/p&gt;&#10;&lt;p&gt;あとはホスティングをどこにするかかな。わざわざ新しく独自ドメインを取るのもねぇ。サブドメインとVPSでええか。&lt;/p&gt;&#10;&lt;p&gt;それとフリーソフトですけれども、一応Donation版的なこともできないかなとか、なんか考え中です。パスワード機能とか自動アップデートとか、まぁその程度のささやかな機能になりますが。一通りやってみたいという気持ちです。&lt;strong&gt;決済にJPYCとか使ってみたい&lt;/strong&gt;ですよね。個人開発なので好き勝手できる。&lt;/p&gt;&#10;&lt;p&gt;色々と準備を整えつつ、面倒なところは結局人間だなぁと思う今日この頃です。&lt;/p&gt;&#10;</description></item><item><title>AIプログラミング開発日誌9: 一応クロスプラットフォームでバイナリは出来たが…</title><link>https://hack-le.com/aiprg9/</link><pubDate>Fri, 22 May 2026 00:00:00 +0900</pubDate><guid>https://hack-le.com/aiprg9/</guid><description>&lt;p&gt;AIで現在制作中のメディア管理アプリケーションD-Shelf（仮）について、バイナリの生成部分を書いている。正直あまり自信がない。これは今まで自分がやってこなかったものだから、ほとんどAI任せになっている。何をしているのかわからないままAIにやらせるのはかなり不安がある。&lt;/p&gt;&#10;&lt;p&gt;それを言ったら、フロントエンドはReactでバックエンドはGo言語なのだけれど、僕はどちらも特にやってこなかったので、よく知らない言語でやっているのはいいのか、となるかもしれない。しかしこれは、一つでも言語をやっていればわかると思うのだけれど、正直あまり問題がない。確かに自分でイチから書くのは厳しいが、コードを見て何が書かれているのかはだいたいわかる。&lt;/p&gt;&#10;&lt;p&gt;まぁコードまで追うことはほとんどないけれど、いつでもやろうと思えばできる、と思えると安心感がある。またなんだかんだでDiffくらいは流し見ているので、そこで明らかに「ん？」」というものがあればそれは指摘できる。&lt;/p&gt;&#10;&lt;p&gt;なにより、経験として出来上がったものを見ればだいたい動いているかどうか、爆弾があるとすればどこらへんかは、なんとなくわかるものだ。一覧で少し引っかかるようなところがあれば、タコなクエリを投げているんじゃないかと思うし、昔の仕様が奇妙に残っていたら、冗長になっているんじゃないかとか、ハードコーディングがあるんじゃないかなど疑える。スキーマに変更があれば、場当たり的な変更になっていないか、以前との整合性をどうやっているのか、マイグレーションコードが永遠に残っていないか、バックエンドでやるべきことをフロントエンドで誤魔化していないかなど、なんとなくあたりはつく。&lt;/p&gt;&#10;&lt;p&gt;つまり、なんとなく推察できることとできないことがあって、クロスプラットフォームだの配布パッケージだのはやってこなかったために、ちょっとどこに爆弾があるのか、測りかねている、という感じだ。まぁMacとLinuxなら問題ないと思うが、Windowsとなると、どこまでやれば自信が持てるのか、自分でもよくわかっていない。Windowsの仕組みよくわかっていないことに気づいた。&lt;/p&gt;&#10;&lt;p&gt;実際、現時点でMac/Linuxはほぼ動くと思うが、Windowsは動かないだろう（確信）。たしかにexeファイルは出来ているのだが…。基本的な操作が本当にできるのか怪しいし、プラグイン機能については確実に無理。これは外部コマンドをそのまま実行することを想定したもので、現在はsh前提にしている。まぁプラグインはあくまで拡張であるから、Windowsで使いたければWindows用のプラグインを書くべきだ……となるが、面倒である。&lt;/p&gt;&#10;&lt;p&gt;しかしサムネイル自動生成のような標準的な機能も、プラグインで実装してしまっていたりするので、どうしたものかなぁという感じだ。プラグインにしているのは、外部コマンドを実行する必要があるからだ。&lt;code&gt;pdftoppm&lt;/code&gt;や&lt;code&gt;cweb&lt;/code&gt;、&lt;code&gt;ffmpeg&lt;/code&gt;などがある。まぁこれらはWindows用のバイナリがあるので、それらをインストールして実行する形になる。MacやLinuxでも外部コマンドのインストールをする必要がある点は同じなのだが…。&lt;/p&gt;&#10;&lt;p&gt;当面はMacとLinuxのみ対応とすることになりそうだ。それにしたって、まず検証や整備すべきところが多いのだが…。ここらへんになるともうAIはあまり頼りにならず、自分で泥臭く頑張るしかない。なんというか、GoogleMapで「目的地付近です」で案内が終了したが、そこからが本当の戦い、みたいな感じだ。&lt;/p&gt;&#10;</description></item></channel></rss>