이 포스트를 만든 목적
- 공부 해보려고
이 포스트의 준비물
- gVim 7.2
- Microsoft Visual C# 2010 Express - 20% 부족하다.
참고 서적
- Effective C#
참조 링크
내용
도대체 표준 환경설정 메커니즘은 무엇인가?
여기서 말하는 환경설정이란, 어플리캐이션의 설정 값들이다. 예를 들자면, 윈도우 사이즈가 어떻고, 포지션이 어떻고 등을 "환경설정"이라고 한다. 그러면 표준 환경설정 메커니즘이라는 말은, "표준 환경설정 원리" .. 한글로 하니 이상하다.
그러므로 나는 이 원리만 정리하려고 한다.
표준 환경설정 메커니즘 정리
- 보안에 민감한 부분은 설정 파일로 빠지 마라.
- 왜냐구? 악용할 소지가 무척 많기 때문이다.
- 일반적으로 실행 파일이 존재하는 위치에 설정 파일을 둔다.
- 왜냐구? 보기가 편하기 때문이다.
- 만약 프로그램의 설정 파일이 시스템 전체, 사용자별, 사용자와 컴퓨터별로 구분 되어야 한다면, NET 환경 변수를 사용 하라.
- 더욱 자세한 내용은 참조 링크를 참조 하길 바란다.
- 설정 파일 포맷은 XML 을 이용하는게 좋다. 혹은 텍스트 포맷이 좋다.
- 실제로 설정 파일은 인간의 눈으로 봐야 할 부분도 있기 때문에, XML 같은 텍스트 포맷이 편하다.
- 그러므로 보안에 민감한 부분은 설정파일로 빼면 안된다.
결론
- 나는 설정 파일을 프로그램이 위치한 디렉토리에 위치시키는게 더 좋다고 본다. 왜냐하면 디버깅 할 때, 설정 파일을 봐야 할 필요가 있는데, 이 때, 각 시스템 폴더를 따라가는건 무척 고된 일이기 때문이다.
하지만 이 경우, 프로그램이 Program Files 에 위치하고, 설정파일이 실행파일과 같은 위치에 있을 경우, 문제가 발생 될 수 있다. 이 때는 프로그램을 권리자 권한으로 실행 시키거나, 설정 파일을 .NET 이 제공하는 환경 변수를 사용하는게 좋다.
여담
- 책에선 Program Files 을 쓰지 말라고 나와 있다. 왜냐하면, 이 폴더는 비스타 이상부터 "관리자 권한"을 요구하기 때문이다.
'책 정리 > Effective C#' 카테고리의 다른 글
item 42, reflection을 단순화하기 위해서 attribute를 사용하라 (0) | 2010.08.18 |
---|---|
item 41, 새로운 구조체보다는 DataSet이 좋다. (0) | 2010.08.15 |
item 40, 적절한 collection 개체를 이용하라 (0) | 2010.08.14 |
item 39, 닷넷의 유효성 검증 기능을 사용하라. (0) | 2010.08.10 |
item 38, 데이터 바인딩을 사용하라. (0) | 2010.08.04 |
item 36, 닷넷 런타임의 진단기능을 활용하라 (0) | 2010.08.01 |
item 35, 이벤트 핸들러보다 override를 사용하는 편이 낫다. (0) | 2010.08.01 |
item 34, 웹 API는 큰 단위로 작성하라 (0) | 2010.08.01 |
item 33, 타입의 가시성을 제한하라. (0) | 2010.08.01 |
item 32, 작고 응집도가 높은 어셈블리가 더 좋다. (0) | 2010.07.31 |
최근댓글