404 motivation not found | t_ishidaのブログ

9月/07

6

色々自動化したいと考え中

やはり、コンピュータを使って日々の業務を行っていると、

「いかに楽をして、いかに正確な仕事をして、

 いかにサボっているところを見つからないか?」

と言う事に行き着く。

大体、プログラマである自分が行う解決策としては、

繰り返しやらなきゃいけない事、面倒臭くてやりたくない事を、

コンピュータにやらせてしまうことになる。

例えば、以下のような作業。

1、AccessのVBAでプログラムを修正する。

2、テスト仕様書を書いてテストする。

3、修正した差分を空のMDBファイルにエクスポートする

4、2で出来上がったMDBファイル、

  リリースした内容を記述した表、

  等などのリリースセットを作る

5、ディレクトリに「YYYYMMDD_【修正内容】」と名前をつける

6、4で作成したディレクトリをサーバーの所定位置にコピーする。

7、プログラムを管理している人にリリースした旨を伝えるための

  メールを書く。

と言うのがある。

これは面倒くさい、死ぬほど面倒くさい。

一行でもプログラムを修正したら、これをやらないとイケナイ。

1・2は、さすがに手作業でやらないとイケナイが、

(1はともかく2は自動化したいところだが)

3以下はもう、人間様がわざわざ手作業でやるところじゃないだろう。

と言う訳で、今のプロジェクトのルールで決まっている。

‘– 2007/09/06 t.ishida rep start hogehogeの理由により修正

みたいな、修正コメントを利用して、3~7を自動化するプログラムを

作成する事とした。

□プログラムの仕様

 1、AccessVBAで記述する

 2、MSysObjectsより、すべてのオブジェクト名を取得する

 3、日付とユーザー名を入力させる

 4、全てのオブジェクトに対して、SaveAsTextする。

 5、^\s*– ?(\d{4}/\d{2}/\d{2}) +(\S+) +start +(.+)$でマッチする

   行をすべて取得する

 6、$1 = [入力した日付]以降でかつ、ユーザー名=$2の

   一致する修正コメントが有るモジュールを

   エクスポートする

 7、$1,$2,$3をテーブルに保存する

 8、7で出来上がったテーブルを TransferSpreadSheetする。

   リリース内容のExcelとする

 9、「YYYYMMDD_【修正内容】」と言うディレクトリを作成して、

   6と8で出来上がったものを、そこにコピーする。

 10、サーバーにディレクトリをコピーする。

 11、a : 障害 , b: 仕様変更 のどちらかを選ぶ

   管理者 様

   お疲れ様です。

   t.ishidaです。

   %挨拶%

   「コピーした先のフルパス」

   に、差分をリリースしました。

   以上、よろしくお願い致します。

   と言うメール本文、

   %挨拶%の部分を、

   aならば、「申し訳ございませんでした」

   bならば、「この度の仕様変更、対応が終了しました。」

   に置換して、送信する。

多分、明日の午前中には出来上がるので、

殆どの人には用なしだと思うけど、

ソースをアップしてみる。

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

RSS Feed

コメントはまだありません。

Leave a comment!

<< ソース

本の勧め方の基準 >>

Find it!

Theme Design by devolux.org

Tag Cloud