Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
究極のバッチフレームワーク(予定)     (株)JCGS 痴山 紘史
動機     1
プログラマなら誰でも考えること 楽をするためならどんな   苦労も厭わない                  2
究極は、 ボタン一つで 全ての操作が自動で行えるように   する            3
そのために徹夜でがんばる!!            4
いやまあ、一度作ればずっと楽できるじゃないですか。                5
事例紹介       6
写真:Wikipedia               7
JCGS Launcher    • アプリケーションランチャ    • プロジェクト固有の情報を管理      –   サーバー名      –   命名規則      –   環境変数      –   プラグイン             ...
JCGS Launcher Core + UI                9
コマンドライン版 JCGS Launcher>python JCGSLauncherCmd.py testXML maya "2011 amd64 English"                                        ...
スタートアップスクリプトの実行も、 共通のインターフェースを提供                11
12
Batch• バッチ処理用フレームワーク• オペレータをプラグインとして  用意• XMLでオペレータの処理順序  を記述• スタンドアロン/アプリケー  ション用ツールどちらでも動作• JCGSLauncher同様、Coreと  UIが分かれ...
Batch• プロセスをまたいだバッチ処  理が可能• 3dsmax から Maya を起動  したり• 再帰的に Batch を実行する                   14
15
アプリケーションが絡んだテストはものすごくメンドクサイ                  16
たとえば  Maya2009~2013、   Max2009~2013、Softimage2009~2013、      32bit/64bit   全ての環境でテスト                      17
testSuite• テストの中からアプリケーションを起動• アプリケーション上でテストを実行• 実行結果を元のテストに返す• 成功/失敗だけでなく、traceback 情報も返す!! →通常のテストと同じ感覚で扱える             ...
testSuite• テストの中からアプリケーション  を起動• アプリケーション上でテストを実  行• 実行結果を元のテストに返す• 成功/失敗だけでなく、  traceback 情報も返す!!                      19
テストの例import os                                                       import osfrom JCGS.util import testSuite             ...
以上、実例でした。            21
まとめ•   全て JCGS Launcher がベース•   強固な土台を作った上で派生させていくことが大事•   自動処理システムを作ると人生が豊かになる(要出典)•   ムダなことをして働きたくない!!                  ...
働くなら、価値を生む部分で働きましょう!!              23
課題 & Future work• 作ったけど使いこなせてないよ!! – 要素技術はガンガン使ってるけど。。。• GUIが絡むとまだまだ面倒• DCCツールの自動処理を更に推し進める• リリースパッケージ自動テストシステム           ...
Q&A      25
Upcoming SlideShare
Loading in …5
×

究極のバッチフレームワーク(予定)

1,701 views

Published on

Published in: Education
  • Be the first to comment

究極のバッチフレームワーク(予定)

  1. 1. 究極のバッチフレームワーク(予定) (株)JCGS 痴山 紘史
  2. 2. 動機 1
  3. 3. プログラマなら誰でも考えること 楽をするためならどんな 苦労も厭わない 2
  4. 4. 究極は、 ボタン一つで 全ての操作が自動で行えるように する 3
  5. 5. そのために徹夜でがんばる!! 4
  6. 6. いやまあ、一度作ればずっと楽できるじゃないですか。 5
  7. 7. 事例紹介 6
  8. 8. 写真:Wikipedia 7
  9. 9. JCGS Launcher • アプリケーションランチャ • プロジェクト固有の情報を管理 – サーバー名 – 命名規則 – 環境変数 – プラグイン 8
  10. 10. JCGS Launcher Core + UI 9
  11. 11. コマンドライン版 JCGS Launcher>python JCGSLauncherCmd.py testXML maya "2011 amd64 English" 10
  12. 12. スタートアップスクリプトの実行も、 共通のインターフェースを提供 11
  13. 13. 12
  14. 14. Batch• バッチ処理用フレームワーク• オペレータをプラグインとして 用意• XMLでオペレータの処理順序 を記述• スタンドアロン/アプリケー ション用ツールどちらでも動作• JCGSLauncher同様、Coreと UIが分かれている 13
  15. 15. Batch• プロセスをまたいだバッチ処 理が可能• 3dsmax から Maya を起動 したり• 再帰的に Batch を実行する 14
  16. 16. 15
  17. 17. アプリケーションが絡んだテストはものすごくメンドクサイ 16
  18. 18. たとえば Maya2009~2013、 Max2009~2013、Softimage2009~2013、 32bit/64bit 全ての環境でテスト 17
  19. 19. testSuite• テストの中からアプリケーションを起動• アプリケーション上でテストを実行• 実行結果を元のテストに返す• 成功/失敗だけでなく、traceback 情報も返す!! →通常のテストと同じ感覚で扱える 18
  20. 20. testSuite• テストの中からアプリケーション を起動• アプリケーション上でテストを実 行• 実行結果を元のテストに返す• 成功/失敗だけでなく、 traceback 情報も返す!! 19
  21. 21. テストの例import os import osfrom JCGS.util import testSuite import unittestimport unittest class Test_test_maya_util(unittest.TestCase):class TestUtil(unittest.TestCase): def test_createWorkspace(self): def setUp(self): DCCTools.util.createWorkspace(wsPath) self.d = os.path.dirname(__file__) self.assertEqual(True, os.path.exists(wsPath)) def test_maya_util2011(self): def run(): f = os.path.join(self.d, test_maya_util.py) suite = unittest.TestSuite([ ret = testSuite.run_test(maya, 2011 amd64 English, f) unittest.TestLoader().loadTestsFromTestCase( self.assertEqual(True, ret) Test_test_maya_util),]) def test_maya_util2012(self): output = os.path.join(os.environ[JCGSTOOLDIR], build, f = os.path.join(self.d, test_maya_util.py) testResult) ret = testSuite.run_test(maya, 2012 amd64 English, f) runner = xmlrunner.XMLTestRunner(output=output) self.assertEqual(True, ret) ret = runner.run(suite) return ret if __name__ == __main__: run() 20
  22. 22. 以上、実例でした。 21
  23. 23. まとめ• 全て JCGS Launcher がベース• 強固な土台を作った上で派生させていくことが大事• 自動処理システムを作ると人生が豊かになる(要出典)• ムダなことをして働きたくない!! 22
  24. 24. 働くなら、価値を生む部分で働きましょう!! 23
  25. 25. 課題 & Future work• 作ったけど使いこなせてないよ!! – 要素技術はガンガン使ってるけど。。。• GUIが絡むとまだまだ面倒• DCCツールの自動処理を更に推し進める• リリースパッケージ自動テストシステム 24
  26. 26. Q&A 25

×