今まで、vRubyでツールを作ってきてて一番気を使う部分ってのが、コンパイルの部分、もちろんネイティブコンパイルなんかできないので、ここでのコンパイルとはrubyが入ってない人でも使えるように単純にexe化するって意味なのですけど。
元々LL(Lightweight Language)のRubyにGUIを付けて、exe化させようってのが「かなり邪道」な気がしなくもないんだけどね…
今回、会社で作ったツールはSSH通信系でSftpするものなんだけど、gem入れて自分のローカルで動くようになったのはいいんだけど、exerbすると「コンパイルできません!」ってなる。
前にもrubyzipの機能を入れ込もうと思った時に、同じように引っかかってだめだった…
なんか、自分のスキルの部分のコードでひっかかるなら納得いくんだけど、ここで心折られると悲しくなる。
で、exerbを最新版にしたり色々やってたらruby自体もおかしくなったのでrubyを1から入れなおすことにした。
結局、exerbでは無理だったので、ruby2exeでやることにしたんだけど激重…
こんなに重いとは思ってなかった。
やっぱり、最終的にgui付きツールを作るとなるとVC系に行き着くのかなぁって思った。
本当は別のツールをUPするはずだったのですが、とりあえず3日で作ったものをUPしました。
元々、Rubyist Magazineにハードタブ、ソフトタブの話が載っていて、自分はハードタブの人なんだなぁと思っていました。
昔から言語をやっていてシビアな環境の人なら、ソフトタブの文化なのでしょうけど、webでHTMLを書いていて、そこから言語をやる人には結構ハードタブな人が多いのでは?
また、よく関数を検索して出てきたサンプルコードがソフトタブで、エディタに貼り付ける際に、若干のストレスがあったので、そういうのも含めて解消させたかったわけです。
何気に「3スペース」機能をつけているのが、endで終わる習慣のあるrubyist出身な気がしませんか?
しかし、8タブな人っているのかぁ…と思うこのごろ…
会社で、oracleで吐き出した130MぐらいのTSVをいつもは、Mysqlで処理をしているのだけど、色々今後人に渡す場合も考えてSqliteでやろうと思いRubyでやってみた。
db.execute("COPY im_data FROM '130M.txt'")
ちょwww、ゲロる程遅ぇぇぇぇよ。
これは、しんどい…selectは早いんだけど、インポートが激遅いorz
色々調べてみるとトランザクションがhogeって書いてあるんだけど、例のごとくCで書いてあるページやpythonで書いてあって、微妙。
あと、元データが130Mに対して、できたDBサイズが470Mにも膨らむ…これも要調査。
こんな感じだと自分が使うならMysqlで処理した方が…ってなるなぁ。
もちょい、色々調べてみよう。