회차
 
[T4] - 3. TT(Text Template)
[T4] - 4. T4(Text Template Transformation Toolkit)
 
Code Generation 이란?
 
코드 변환 기술을 일컫습니다. 불특정의 메타데이터(MetaData) 를 이용하여 C# 이나 VB.NET 또는 다른 형태의 언어로 변환할 수 있는 기술입니다. 이미 Code Generation 은 Visual Studio.NET(2003 버전 또는 초기 Alpha 버전) 부터 사용되어져 왔고, 알게 모르게 많은 사람들로부터 각광을 받아왔습니다.
 
이러한 Code Generation 은 최근의 GA(Guidance Automation) 이라는 개념과 일맥상통합니다. 메타데이터(MetaData) 만 있으면 Visual Studio 에서 자동적으로 컴파일 가능한 코드로 재작성 해주게 됩니다.
 
 
GA(Guidance Automation) 이란?
 
자동화 기능을 말합니다. 단순한 Automation 이라는 의미에 Guidance 라는 의미가 더해져 Automation 을 보다 사용하기 쉽도록 한 개념입니다. 이미 오래전에 Pattern & Practice 팀은 이러한 개념을 도입하여 GAX(Guidance Automation Extension) 과 GAT(Guidance Automation Toolkit) 을 만들었고, 최근 Microsoft Enterprise Framework for Visual studio 2008 버전에서는 GAX/GAT 를 통합시킨바 있습니다.
 
용어 참고
 
GAX(Guidance Automation Extension) 란?
GA 를 제공하기 위한 확장 프레임워크(Extension Framework) 입니다.
 
GAT(Guidance Automation Toolkit) 란?
GAX 기반으로 한 Visual Studio 통합 패키지입니다.
 
GA(Guidance Automation) 은 반복적인 작업을 자동화하며 단순화 할 수 있는 방법을 제시/제공해 줍니다.
최근 이러한 가운데 GAX/GAT 가 GA 의 중심을 유지하고 있군요.
[그림1] GA 의 위치(Position)
 
개인적으로는 GAX/GAT 의 출연을 매우 반갑게 여기고 있습니다만, 최근 활용 사례를 보면 안타까워집니다. GAX/GAT 를 이용하여 Declaring XML 방식으로 GA 개발을 획기적으로 단순화하였다는 것에 박수를 보내고 싶지만, 그 내부를 보면 볼수록 한계에 다다를 수 밖에 없어 GG(Game Over) 를 치게 될 것입니다.
 
자세한 이야기는 GAX/GAT 포스트를 쓰게 되면 다루도록 하겠습니다.
 
 
Visual Studio 에서의 Code Generation
 
Visual Studio 의 초기 버전부터 현재 버전까지 Visual Studio 는 Code Generation 을 굉장히 많이 활용합니다. Visual Studio 가 편하고 자동화되었다고 느끼는 그 핵심은 바로 Code Generation 이 있기 때문입니다. (물론 Code Generation 혼자서는 불가능 하겠죠)
 
Code Generation 의 핵심인 TT(Text Template) 엔진을 기반으로 이것을 보다 향상시킨 T4(Text Template Transformation Toolkit) 엔진이 그 일선에 있습니다. 이 두 엔진을 상당히 비슷하면서도 굳이 비교하자면 Customization 의 여부일 것입니다.
 
다음 회차에 이 엔진들을 비교해 보도록 하겠습니다.
저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by 땡초 POWERUMC

댓글을 달아 주세요