mvnbeansのリストラに関するt_yanoへの釈明会見
この前、ボーっとしながらエゴサーチしてたら、1ヶ月ぐらい前にid:t_yano氏がtwitter上でmvnbeansの改変に対して独り言を言ってたのを発見したので、勝手に釈明会見を開きます。
とりこぼしがあったらすいません。
Commons VFS
t_yano: mvnbeansのコード(nobeansが直したやつ)を見てたら、Commons VFSを使ってるところが軒並み消えてた。そっちのほうが速いのかなー。
Fetched from Twitter / t_yano 1 month ago.
t_yano: 個人的にはCommons VFSってその考え方が好きなんだけどな。すべてをファイルシステム化してしまってアクセスってのが。UNIXっぽくない?
Fetched from Twitter / t_yano 1 month ago. Add Comment
うーん、なるほど、わかりますわかります。
とりあえず、脊髄反射で消してしまいましたことをお詫びいたします。
というわけで、なんで消したかというと理由を後付で考えてみると、
- サードパーティライブラリは、可能ならば局所化したいという個人的な傾向があるから
- 外部との接点は局所化したいので、VFSなオブジェクトを持ちまわるのに抵抗があったから
- 全体的にクラス構造をリストラクチャリングする際に、しらないAPIがあると整理に迷うから
- 今回使ったInputStreamOpenerみたいにうまく抽象化する自信がなかったから
なあたりでしょうか。
別に性能とか気にしたわけではなく。
すべてがファイルシステムって考え方は確かに面白いですね。
ただもしそこに手を出すなら、ローカルでコマンドを打って、リモートリポジトリから別のリモートのサーバに対してファイルをダウンロード(というかコピーか)をする、みたいなダイナミックにファイルシステムを駆使しまくるような機能はほしいかなぁ、などと勝手なことをいってみたり。後出しじゃんけん最強。
結局サードパーティライブラリの使用に関しては、好みと慣れが大きな割合を占めるんじゃないかなぁと思います。
べ・・・、commonsが別に嫌いってわけじゃないんだからねっ。
再帰処理
t_yano: あ、再帰処理も消されたと思ってたら再帰は生きてた。ここはやっぱ再帰だよねー。
Fetched from Twitter / t_yano 1 month ago. Add Comment
ツリー構造とかコンポジット構造なものを扱うといえばやっぱ再帰ですよねー。
NIO
t_yano: あと、ファイルのコピーとかわざとNIOを使ってたけど、Common IOのIOUtilsに変わってた。なんで?
Fetched from Twitter / t_yano 1 month ago. Add Comment
個人的にnioに痛い目にあってからあまり使ってないというのがあったりなかったり。
(NFSマウントなボリュームとローカルディスク間でコピーしようとして、コア吐いてJVMが落ちて泣きそうになったのです。)
あと、単にIOUtils好きってのもあり。
個人的な趣味ですね。すいません。
以上、まことに遺憾ながら、中身の伴わない答弁となりましたことを深くお詫びいたします。