会社というものは大きくなる度に身動きが取り辛くなるもんなのか、現在の会社に就職してから4年以上経つわけですが、昨今の情報セキュリティやらなんやらで昔はOKだったことが段々と「ダメ」ってなる機会が増えました。
例えばハード機器にしてもこっちの方が安いので云々ってのも、会社の偉いさんの都合で某社だけしかダメとか…
で、去年にlog解析ツールをポイポイっと作ったんですけど、これがRubyでAサーバーからlogをDLしてきて、sqliteで処理しzip圧縮、自分管理のBサーバーにUPし、mysqlで最終処理してphpで閲覧できるようにしたって感じだったんですよ。
んで、いつものごとくRuby部分をvrubyでexeファイルにして、解析結果が必要な人に毎日DB更新してもらっていたのですが(Aサーバーがメンテだったりするのを私が感知しなくてもよいし、DB更新を目視確認できた方がよいってのもあったのですが、その更新してくださっていた人が退社されましてorz
で、じゃぁもうcronとrsyncでシェルで直接A→Bでやっちゃおうかなと思ったのですが、Aサーバーはsambaで共有化しているのでwindowsからはアクセスできるんですが、Linuxでは鍵の発行してもらえないらしいとorz
1.そのまま誰かにexeファイルを更新してもらう 2.windowsマシーンを介しての自動化 3.Bサーバーのphpの解析結果閲覧ツールも止めちゃうw
3はあまりにもかわいそうだし、自分も見たい時があるので(いや、これを機会にちゃんと見るべきだとw)2になるわけですが…
ここで、powershellを使うべきかなぁと思っていたのですが、これだと無駄に別言語を書かない(覚えない)といけないので却下。 で、Rubyでsqlite処理していた部分もBサーバー上のmysqlにやらせてしまえ!と。
つまりRubyはAの共有サーバー上からlogをgetしてきてzip化してBサーバーへscpでUPし、sshとmysqlコマンドを送ると(ここをshにしてもいいんだけどRubyでやりたい)。
で、結局タスクスケジューラとbatファイルでrubyを毎日朝7時に起動ってことにしました。
多少回り道をしても、人件費の削減には貢献できたんじゃないかと…
先日は、別件でsqliteを3行書けば済むことをエクセルで死ぬほど時間かけてやってたんで、vrubyでフロントエンド作って渡しました。
もうね、phpとjavascript書きながら、VBScript書いて、Ruby書いて、Linuxコマンド書きながらwindowsのbat書いてMysqlやりながらsqlite書いて、Inkscapeでベクタ画像書いて、G-penでラスタ画像書いて、suzukaでswf作って何屋さんなんだろうorz
本職はシステム屋じゃないんだけどなぁ…
yoyaさんのswfedを使うにしてもテンプレート用のswfを作らないといけないわけで…
1日で30個近く案を出して作ったのは初めてだorz
サンプルとして使ってもよいpsdデータが2000個程度あったんだけどもそのアスペクト比がおかしいらしく、それを直して作ってくれと。
で、見ると16bitのpsdじゃないかorz
すぐにRubyでRmagickの力を借りてひとまずresize!関数でアスペクト比を整えて8bitのpngに変換。
こーいう時にLLって言葉の意味を深々と感じました。
本当はphotoshopのbat処理か、gimpのマクロかなぁと思ったのだけどこっちの方法(Ruby)使って正解でした。
というか、携帯のFlash技術者って少ない上に無駄にアナログなトンチが必要で大変だなぁと思いました。(個人的にflashの9割は画像だと思ってますけども)
画像処理ばっかりはどんな言語を覚えようとも圧倒的に速度が上がるわけじゃないので、鉛筆とペンの代わりにハードとソフトに慣れるか?がキモでしょうね。
そーいや、毎週木曜に今度はDB研修の講師をすることになりました。
3ヶ月前は携帯SEOの講師だったなぁ…
でも、自分が息抜きで書いたHTMLがミスっていてorz
ちょっと頭を整理しないとヤバ気なので、どうにかしないと。