HEXA BLOG
ヘキサブログ
いいモノづくり道
エフェクティブプログラマー
だんだん夏っぽくなってきたなぁと思っていたのですが今日の大阪は
あいにくの曇り空です。
今日だけではなく天気予報ではしばらく曇り空が続くようですね。
がヘキサドライブでは毎年恒例になりつつある例のアレの準備が着々と進められています。
今年は過去最大の参加人数になりそうで今からワクワクしているシラッチです。
さて、E3の話題を…というわけではなく、今日は身近で地味な?自動化の
具体例について書いてみたいと思います。
いきなりですが
「Release ビルドを行った実行ファイル(exe)を zip 圧縮して、所定のパスへコピー後、メールで連絡する」
という作業があったとします。
簡単な作業に思えるかもしれませんが、もしこれを
「1年間、毎日1回、決められた時間に」
という条件付きで行うとしたらどうでしょうか?
他に緊急の作業が割り込んで、予定していた時間に対応が
行えない時や、単純に忘れていたなんてことがあるかもしれません。
そんな時真っ先に私が思いつくのは「自動化」です。
例えば、以下のような BAT ファイルと Python スクリプトで実現できそうです。
動作確認環境:
Windws7、Visual Studio 2010、Python 3.2.2
build.bat
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" MSBuild .\sample\sample.sln /property:Configuration=Release /property:Platform=Win32 /target:Rebuild
work.py
# -*- coding: utf-8 -*- import os from zipfile import ZipFile, ZIP_DEFLATED import shutil import smtplib def compress_file(compress_filename, zip_filename): """ 指定のファイルをzip圧縮 """ target_file = ZipFile(zip_filename, 'w', ZIP_DEFLATED) dst_path = './%s' % compress_filename target_file.write(dst_path, compress_filename) target_file.close() def send_mail(): """ メールの送信 """ smtpserver = '【SMTPサーバ名】' from_addr = '【送信元メールアドレス】' to_addr = '【送信先メールアドレス】' msg = """From: %s To: %s Subject: コピー完了のお知らせ MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="UTF-8" コピーし終わりました。 """ % (from_addr, to_addr) smtp = smtplib.SMTP(smtpserver) smtp.sendmail(from_addr, to_addr, msg.encode('utf-8')) smtp.quit() def main(): # ビルドを行うバッチを実行 os.system('build.bat') # 実行ファイルをzip圧縮 compress_file('sample/Release/sample.exe', 'sample.zip') # zipファイルを所定のパスにコピー shutil.copy('sample.zip', '【所定のパス】\\sample.zip') # 完了のメール送信 send_mail() if __name__ == '__main__': main()
あとは Python スクリプトの呼び出しを Windows のタスクや
Jenkins のジョブとして登録しておけば、定期的に行わなければ
いけない作業から解放されます。
手動で行った場合、1回に10分かかるとして 365日行ったと
仮定したら、単純計算で 3650分(60時間50分!)もこの作業に
時間を使ってしまう事になる…と考えると手動でやるのは
もったいないと思ってしまいます。
挙げた例は極端かもしれませんが、少しコストパフォーマンスを
意識出来れば、ゲームを開発するうえで新しいアイディアを考えたり
更なるクオリティアップに専念するための時間が、しっかり
確保できるようになるかもしれませんね。
今にやっているお仕事のクオリティもガンガンアップするよう
工夫していきたいと思います
CATEGORY
- about ヘキサ (166)
- 部活動 (6)
- CG (18)
- プロジェクトマネジメント (1)
- 研修 (5)
- 美学 (1)
- いいモノづくり道 (230)
- 採用 -お役立ち情報も- (149)
- プログラム (188)
- デザイン (99)
- ゲーム (274)
- 日記 (1,104)
- 書籍紹介 (113)
- その他 (875)
- 就活アドバイス (20)
- ラーメン (3)
- ライフハック (25)
- イベント紹介 (10)
- 料理 (23)
- TIPS (7)
- 怖い話 (3)
- サウンド (5)
- 子育て (1)
- 筋トレ (1)
- 商品紹介 (21)
- アプリ紹介 (31)
- ソフトウェア紹介 (33)
- ガジェット紹介 (12)
- サイト紹介 (10)
- 研究・開発 (34)
- 回路図 (4)
- アナログゲーム (40)
- 交流会 (21)
- 報告会 (3)
- インフラ (25)
- グリとブラン (6)
- カメラ (9)
- クラフト (27)
- 部活 (14)
- 画伯 (15)
- カレー (6)
- 音楽(洋楽) (6)
- 映画・舞台鑑賞 (43)
- 飼育 (5)
- いぬ (8)
- ねこ (19)
ARCHIVE
- 2024年
- 2023年
- 2022年
- 2021年
- 2020年
- 2019年
- 2018年
- 2017年
- 2016年
- 2015年
- 2014年
- 2013年
- 2012年
- 2011年
- 2010年
- 2009年
- 2008年
- 2007年