AIで現在制作中のメディア管理アプリケーションD-Shelf(仮)について、バイナリの生成部分を書いている。正直あまり自信がない。これは今まで自分がやってこなかったものだから、ほとんどAI任せになっている。何をしているのかわからないままAIにやらせるのはかなり不安がある。
それを言ったら、フロントエンドはReactでバックエンドはGo言語なのだけれど、僕はどちらも特にやってこなかったので、よく知らない言語でやっているのはいいのか、となるかもしれない。しかしこれは、一つでも言語をやっていればわかると思うのだけれど、正直あまり問題がない。確かに自分でイチから書くのは厳しいが、コードを見て何が書かれているのかはだいたいわかる。
まぁコードまで追うことはほとんどないけれど、いつでもやろうと思えばできる、と思えると安心感がある。またなんだかんだでDiffくらいは流し見ているので、そこで明らかに「ん?」」というものがあればそれは指摘できる。
なにより、経験として出来上がったものを見ればだいたい動いているかどうか、爆弾があるとすればどこらへんかは、なんとなくわかるものだ。一覧で少し引っかかるようなところがあれば、タコなクエリを投げているんじゃないかと思うし、昔の仕様が奇妙に残っていたら、冗長になっているんじゃないかとか、ハードコーディングがあるんじゃないかなど疑える。スキーマに変更があれば、場当たり的な変更になっていないか、以前との整合性をどうやっているのか、マイグレーションコードが永遠に残っていないか、バックエンドでやるべきことをフロントエンドで誤魔化していないかなど、なんとなくあたりはつく。
つまり、なんとなく推察できることとできないことがあって、クロスプラットフォームだの配布パッケージだのはやってこなかったために、ちょっとどこに爆弾があるのか、測りかねている、という感じだ。まぁMacとLinuxなら問題ないと思うが、Windowsとなると、どこまでやれば自信が持てるのか、自分でもよくわかっていない。Windowsの仕組みよくわかっていないことに気づいた。
実際、現時点でMac/Linuxはほぼ動くと思うが、Windowsは動かないだろう(確信)。たしかにexeファイルは出来ているのだが…。基本的な操作が本当にできるのか怪しいし、プラグイン機能については確実に無理。これは外部コマンドをそのまま実行することを想定したもので、現在はsh前提にしている。まぁプラグインはあくまで拡張であるから、Windowsで使いたければWindows用のプラグインを書くべきだ……となるが、面倒である。
しかしサムネイル自動生成のような標準的な機能も、プラグインで実装してしまっていたりするので、どうしたものかなぁという感じだ。プラグインにしているのは、外部コマンドを実行する必要があるからだ。pdftoppmやcweb、ffmpegなどがある。まぁこれらはWindows用のバイナリがあるので、それらをインストールして実行する形になる。MacやLinuxでも外部コマンドのインストールをする必要がある点は同じなのだが…。
当面はMacとLinuxのみ対応とすることになりそうだ。それにしたって、まず検証や整備すべきところが多いのだが…。ここらへんになるともうAIはあまり頼りにならず、自分で泥臭く頑張るしかない。なんというか、GoogleMapで「目的地付近です」で案内が終了したが、そこからが本当の戦い、みたいな感じだ。
コメント