40歳からのキャリアチェンジ

20代はエンジニア・PM、30代はWeb系エンジニア向けのキャリアアドバイザー。40代の今はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連あたり

あと、もうちょっとで完成しそう



RIMG0137

写真と本文が全く関係ない話題になるけど、何が完成しそうかっていうと、時間を見つけてはここ最近ずっとプログラムを書いています。(今回はそういうネタなので、以下興味ない人はスルーしてください)

WindowsのWSH上でPrototype.jsを利用するやり方がわかったので、普段の仕事を効率化させるツールがあともうちょっとで完成しそうなんだけど、いままでコツコツ勉強していたおかげかもしれないけど、急に視界が開けた感じがしてて、イイ感じに機能毎に分ける事が出来てきた。

sendMail.js :メール送信のみを担当する
ManageSQLLists.js : 実行したいSQL文を管理するためのクラス
staff.js : ユーザ情報を管理するためのクラス
memo.js : ユーザ情報にひもづく詳細情報を管理するクラス
dummy.js :Prototype.js をWSH上で利用するためのおまじない(?)が唱えてあるクラス
prototype.js: 説明するまでもないとても大切なやつ

というのがあって、 main.wsf というファイルを準備して、上記ファイル群を読み込むようにしておいた上で

var myStaff = new Staff();
var sql = new ManageSQLLists();
var staffinfo = myStaff.search(sql.getStaffInfoByRegisterDate());

というおまじないを唱えると欲しいユーザ情報が取得出来てさらに

var objMail = new sendMail();
var MsgBox = new InputBox();
var MailSubject = 'テストメール';
var MailBody = '総数' + staffinfo.length +'\n\n' + staffinfo.map(
function(p) {
return tpl.evaluate(p) + '\n';
}).join('\n') + '\n';
var MailFrom = 'xxxx@xxxxxx';
var MailTo = 'xxxx@xxx.xxx.xxx';
var LoginPasswd = MsgBox.prompt();
objMail.send(MailFrom, MailTo, MailSubject, MailBody,LoginPasswd );

ってやると、取得したユーザ情報が、指定されたメールアドレスに送信できるっていうのが、出来たよー

何の事やらさっぱりわかんない内容でごめんなさい。

でも、自分としてはここ1ヶ月ほどちょこちょこ勉強してきた事が一気に繋がった(特にmap(function(o){ WScript.Echo(o.name);})って記法がスラッとイメージできるようになった)感じがしていて、とってもうれしくてつい書いてしまいました。

メール送信する仕組みだけではなく、ついでなので、取得した情報を奇麗なUIで見れるようにWebの画面も今作り込んでいて、そうすれば

・更新情報については、メールで簡単にチェック
・全体を眺めて、各ユーザ情報についてはWebの画面でチェック

っていう感じの使い分けができるのと、あと別の仕組みも作っている(Amazonのレコメンドの機能を参考にしたやつ)ので、それが加わると、とりあえず最強なツールになるけど、あと2ヶ月くらいでそこまで持っていきたい。

※ただここまで書いといてなんだけど、今動いているプログラムのリファクタリングもしたいし、そもそもしっかりとしたテストを書いてないから、JSUnit の仕組みも入れたいし、今書いた一部のクラスの似たメソッドがいくつかあって、モヤモヤしているので、そこもどうにか手を入れたいし...と色々気になる事があるなぁ。
Tags: