標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

Windows用のHyperEstraierのGo言語のラッパーを作りました、途中まで!

qrunch.ioより転記)

これな

実は会社で HyperEstraier を使ったWindows 製品の保守をちょっとだけしているのですが、標準のコマンドラインツール estcmd は UTF8 でして、ANK 文字ならいいんですが、日本語が入るとコマンドラインは CP932 (ShiftJIS+α)なので、つらいことに!

ということで、Go言語でラッパーを作りました。といっても、検索側の機能だけで、インデックスを作成する方はまだ未実装です(そのうち、必要になったら作りますが、とりあえず目下の問題が解消されたので、すぐやる必要がなくなってしまった!)

この手のツールは、"cgo" を使ってC言語ライブラリをスタティックリンクするのが普通なんですが、自分はついつい慣れた「syscall.NewLazyDLL で Windows のバイナリライブラリを呼び出す」という方法の方を使ってしまいます。プロプライエタリなソフトウェアならともかく、オープンソースソフトウェアのライブラリで、それやる必要あんの?という感じですが、ジジイはついつい慣れた方法を使ってしまうものなのです。

ほとんど自分しか使わないツールですが、もし他に使う人がいらっしゃるようであれば、まじめに改善に取り組みますので、コメントください