티스토리 뷰
[.NET/ASP.NET] - Custom Config 에 Intellisence 날개를 달자
[.NET/Visual Studio] - Custom Extension 에 Intellisence 날개를 달자
Custom Config 에 Intellisence 날개를 달자
Configuration 란? 우리가 웹폼이든 윈폼이든 프로젝트를 생성하면, web.config / app.config 와 같은 Configuration 파일이 생깁니다. 이런 .config 확장자가 붙는 파일을 "구성 파일" 이라고 부릅니다. 어플케이션이 구동될때 이 구성파일에 어플케이션이 동작하기 위한 환경 변수를 사용하게 되고, 환경 변수의 값이 변하게 되더라도 재컴파일 없이 환경 변수의 값을 변경할 수 있는 장점이 있습니다. 때문에, .config 파일을 사용한다는 것은 이미 잘 알고 있을 것입니다.
.NET Framework 은 이 구성파일을 확장할 수 있는 방법 또한 제공해 주고 있습니다.
이 부분에 대해서 자세히 잘 설명해 놓은 아래의 사이트를 참고하시면 좋을 것 같습니다.
MSDN,
방실님의 Configuration을 Custom으로 사용해보자
TAEYO.NET 의 .NET 에서 나만의 Configuration 만들기
즈믄님의 .Net Framework v2.0을 이용한 사용자 정의 Config File Manager
방실님의 Configuration을 Custom으로 사용해보자
TAEYO.NET 의 .NET 에서 나만의 Configuration 만들기
즈믄님의 .Net Framework v2.0을 이용한 사용자 정의 Config File Manager
Custom Configuration 장단점
아래는 Custom Configuration 을 실제 적용한 web.config 입니다.
l 장점
1. 알아보기 쉽다
2. 관리가 용이하다
XML 요소를 확장시켜 요소의 이름들을 정의하고 요소의 이름으로 기능을 유추할 수 있기 때문에 알아보기가 쉽습니다.. 그렇기 때문에 깔끔하게 유지보수도 가능합니다.
1. 알아보기 쉽다
2. 관리가 용이하다
XML 요소를 확장시켜 요소의 이름들을 정의하고 요소의 이름으로 기능을 유추할 수 있기 때문에 알아보기가 쉽습니다.. 그렇기 때문에 깔끔하게 유지보수도 가능합니다.
l 단점
1. 늘어나는 요소(Element)와 속성(Attribute) 만큼 코드를 만들어야 한다.
2. Custom Configuration 은 Intellisence 가 지원되지 않아 요소와 속성 규칙을 모두 외워야 한다.
코드를 만들어 놓으면 재활용성에서 유리한 점이 있긴 하지만 Intellisence(자동완성기능) 이 지원되지 않습니다. 은근히 만든 소스코드를 보면서 요소나 속성을 적기도 합니다. 개발자가 Custom Configuration 을 만들어 쓴다는 것 부터가 굉장히 노가다성 작업이 될거라 생각합니다.
1. 늘어나는 요소(Element)와 속성(Attribute) 만큼 코드를 만들어야 한다.
2. Custom Configuration 은 Intellisence 가 지원되지 않아 요소와 속성 규칙을 모두 외워야 한다.
코드를 만들어 놓으면 재활용성에서 유리한 점이 있긴 하지만 Intellisence(자동완성기능) 이 지원되지 않습니다. 은근히 만든 소스코드를 보면서 요소나 속성을 적기도 합니다. 개발자가 Custom Configuration 을 만들어 쓴다는 것 부터가 굉장히 노가다성 작업이 될거라 생각합니다.
그렇다면, 이 .config 의 XML Schemas 는 어디에~?
바로 .config 와 같은 구성파일은 XML 로 되어있습니다. 그럼, 이 XML 의 스키마를 정의하는 Schema 가 어디엔가 존재할 수 도 있다라는 것입니다.
그렇습니다, .config 에 대한 XML Schema는 다음과 같은 경로에서 찾아 볼 수 있답니다.
%ProgramFiles%\Microsoft Visual Studio 9.0\Xml\Schemas\DotNetConfig.xsd
위 폴더를 좀 더 살펴보시면, XHTML, SOAP, Code Snippet, Sitemap 과 관련된 대부분의 XML Schemas 가 있는 것도 알 수 있습니다.
XML Schemas 확장하기
이 포스팅에서는 XML Schema 에 대한 내용은 자재하도록 하고, 아래의 MSDN 에 보시면 Schema 의 각 요소별로 설명이 잘 되어 있으니, 참고하시면 좋을 것 같습니다.
아래의 그림은 Umc.Core 프레임웍에 대한 .config XML Schema 입니다.
요소별로 XML Schema 를 정의해 주고, 저장하시면 바로 .config 에 적용됩니다.
현대 개발자들에겐 자동완성기능은 필수가 아닌 필수가 되어 버렸죠. 시간을 투자하여 만들어 놓은 Custom Configuration 클래스들을 사용하려고 더 이상 소스코드를 뒤적거리지 않아도 됩니다. 한번 XML Schema 를 작성해 놓으면 정말 순식간에 .config 를 작성할 수 있기 때문입니다.
하지만 이 Schema 의 배포에 대한 문제도 신경써야 하지만, 프레임웍 설치시에 자동으로 XML Schema 를 변경하도록 하면 큰 문제는 되지 않을 것 같네요.
하지만 이 Schema 의 배포에 대한 문제도 신경써야 하지만, 프레임웍 설치시에 자동으로 XML Schema 를 변경하도록 하면 큰 문제는 되지 않을 것 같네요.
여기까지 포스팅을 마치도록 하고, 요즘 Umc 는 방통대 중간고사가 끝나서 너무너무 행복하답니다. ^^ 하지만 이어지는 출석수업의 압박이 부담스럽네요. 바람은 차갑고 옆구리는 시리고… 환절기 감기 조심하시고 멋진 일요일 되세요.
'.NET > ASP.NET' 카테고리의 다른 글
실전 ASP.NET Session [2] - 상태관리의 종류 (0) | 2008.06.07 |
---|---|
실전 ASP.NET Session [1] - 쿠키를 이용한 상태관리와 위험성 (0) | 2008.05.25 |
RewritePath 와 포스트백(Postback) 문제와 해결 방법 (0) | 2008.04.13 |
ASPX 확장명 변경과 Visual Studio 에 적용하기 (0) | 2008.04.06 |
웹사이트를 웹 응용 프로그램으로 변환하기 (2) | 2007.11.10 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- 2,841,419
- Today
- 40
- Yesterday
- 71
링크
- ***** MY SOCIAL *****
- [SOCIAL] 페이스북
- [SOCIAL] 팀 블로그 트위터
- .
- ***** MY OPEN SOURCE *****
- [GITHUB] POWERUMC
- .
- ***** MY PUBLISH *****
- [MSDN] e-Book 백서
- .
- ***** MY TOOLS *****
- [VSX] VSGesture for VS2005,200…
- [VSX] VSGesture for VS2010,201…
- [VSX] Comment Helper for VS200…
- [VSX] VSExplorer for VS2005,20…
- [VSX] VSCmd for VS2005,2008
- .
- ***** MY FAVORITES *****
- MSDN 포럼
- MSDN 라이브러리
- Mono Project
- STEN
- 일본 ATMARKIT
- C++ 빌더 포럼
- .
TAG
- .NET
- Team Foundation Server 2010
- Visual Studio
- Windows 8
- c#
- ALM
- POWERUMC
- test
- 비주얼 스튜디오
- monodevelop
- github
- testing
- mono
- Managed Extensibility Framework
- MEF
- ASP.NET
- umc
- .NET Framework 4.0
- Team Foundation Server
- Visual Studio 2008
- 엄준일
- TFS
- 비주얼 스튜디오 2010
- LINQ
- 땡초
- Visual Studio 11
- 팀 파운데이션 서버
- Silverlight
- Visual Studio 2010
- TFS 2010
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
글 보관함
- 2020/05 (1)
- 2019/10 (3)
- 2018/11 (1)
- 2018/08 (2)
- 2017/04 (1)
- 2017/01 (2)
- 2016/11 (2)
- 2016/08 (1)
- 2016/05 (1)
- 2016/04 (2)
- 2016/02 (2)
- 2016/01 (1)
- 2015/05 (1)
- 2015/04 (2)
- 2015/03 (1)
- 2015/02 (1)
- 2015/01 (1)
- 2014/11 (1)
- 2014/09 (2)
- 2014/08 (2)
- 2014/05 (2)
- 2014/04 (3)
- 2014/03 (2)
- 2014/02 (2)
- 2014/01 (4)
- 2013/12 (2)
- 2013/11 (1)
- 2013/10 (2)
- 2013/09 (6)
- 2013/08 (3)