본문 바로가기

Programing

(403)
클래스 이름짓기 네이밍(이름짓기)은 프로그래밍에서 하찮게 보일 수 있지만 중요한 문제이다.이름을 길게 지어야한다, 짧게 지어야한다, 카멜표기법을 준수해야 한다, 헝가리언 표기법은 좋지 않다 등의 많은 의견이 있겠지만 가장 중요한 것은 일괄적인 패턴이 있어야 한다는 것이다. 우리는 보통 관습(convention)이라고 부른다. 지문 데이터를 관리해주는 매니저 클래스를 만들어야 했는데 다음과 같은 후보를 정하고 후배에게 의미를 파악할 수 있는지 이름만으로 추측하게 하였다. 1. FPDM2. FPDMgr3. FPDManager4. FPDataManager5. FingerPrintingDataManager 1번에서는 전혀 의미를 파악하지 못했다.2번에서는 M이 Mgr로 바뀌었음을 인지했고, Manager의 약자라는 것까지 알게..
[NUnit] NUnit에서 x86 바이너리 테스트하기 NUnit은 .net 프레임워크를 위한 테스트 프레임워크이다.처음에는 AnyCPU로 선택해서 OS가 64비트라서 64비트로 동작하는 모듈을 테스트하는데,System.BadImageFormatException이 발생을 한다. 서드파티 라이브러리가 32비트용 dll이라서 그런 것 같았다. 제조사에게 64비트용 이미지를 요청하고, 시간이 없어서 개발은 32비트로 먼저 진행하기로 했다.그런데 이번에는 NUnit에서 아래와 같이 읽어오질 못한다. 알고보니 x86용 프로그램도 같이 제공되고 있었다. 런타임이 64비트인지 판단하는 정적 메소드static Boolean Is64Bit(){ return Marshal.Sizeof(typeof(IntPtr)) == 8;}
개발도구 - 이슈관리, CI 이슈/버그관리 Bugzilla - http://www.bugzilla.org/download/ Trac - http://trac.edgewall.org/ Mantis(사마귀) - http://www.mantisbt.org/download.php > Mantis 설치하기Redmine - http://www.redmine.org/ JIRA - http://www.atlassian.com/software/jira/pricing (참고로 상용) codeBeamer - http://www.intland.com/products/codebeamer (5명이하 2개미만 프로젝트/Open Source 프로젝트는 무료) > 프로젝트 협업을 위한 Trac, CodeBeamer, Jira, Mantis의 간단 비교> 이슈 추..
[ASP.net] MVC 2 개발환경: Windows7 / Visual Studio 2008 한글판 SP1 현재 ASP.net MVC는 버전이 4.0이다. 하지만 그건 VS2012같은 최신의 개발환경을 갖추었을 때 이야기다. VS2008에서는 지원하는 최종 버전이 MVC 2이다. 개발환경 구축 참고로 Visual Studio 2008을 위한 글이니 이후 버전을 가지고 있는 사람은 최신 버전을 연구해보길 바란다. ASP.NET MVC 1.0~2.0은 최소 2008버전을 필요로 한다. 참고로 애드온(add-on) 형태로 제공이 되기 때문에 별도로 설치해주어야 한다. 오래되었기는 하지만 Taeyo's ASP.NET에도 관련 글이 있으니 읽어보세요. 다운로드 : ASP.NET MVC 2 RTM (영문, 2.5MB) > AspNetMVC2_..
[CSS] HTML5::Canvas 텍스트 흐림현상 HTML5의 캔버스에서 fillText를 이용해서 텍스트를 나타내고 있었다.그런데 아래와 같이 이상하게 어느 순간 부터 글씨가 흐리게 나타나고 있었다. 인터넷을 찾아보았더니 canvas의 크기 지정을 HTML 엘리먼트에서 하지 않고, CSS로 처리를 할 경우 흐리게 보인다는 것이었다.
윈폼::ESC를 눌러 닫기 CreateDialog API함수를 이용해서 띄운 윈도우 폼에서는 기본적으로 ESC를 누르면 창이 닫힌다.하지만 윈폼에서 만든 다이얼로그는 닫히지 않는다. 닫히게 하기 위해서 할 일은...1. 폼의 프로퍼티중 KeyPreview = true로 변경(기본값: false) 2. KeyDown이나 KeyPress 이벤트 핸들러를 작성 KeyDown이라면...private void Form_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Escape) { this.Close(); } } KeyPress라면..private void Form_KeyPress(object sender, KeyPressEventArgs e) { const char ESC..
애플리케이션 설정(app.config) 닷넷에서는 애플리케이션의 설정을 외부에서 설정하기 쉽게 하기 위해서 설정파일을 이용할 수 있게 되어 있다. 이름은 app.config / web.config 등 다양하다. 샘플(콘솔 애플리케이션) 1. 우선 프로젝트를 생성한다. 2. 프로젝트 오른쪽 클릭 > 속성 > 설정 > "기본 설정 파일을 만들려면 여기를 클릭하십시오." 선택 3. SettingSome이라는 이름에 값은 SomeValue를 선택하면 app.config가 생성된다. 참고로 범위라는 필드는 '사용자'와 '응용 프로그램'이 있는데, 응용 프로그램을 선택하면 읽기전용이 되어 버린다. 4. Program.cs를 열어 아래와 같이 코딩을 하고... using System; namespace ConsoleApplication1 { class P..
ObjectDumper Linq in Action (거침없이 배우는 LINQ)라는 책에 보면 ObjectDumper를 사용하는 부분이 많이 등장한다. 닷넷의 어떤 객체에 대해 출력을 쉽게하기 위해 만든 유틸리티 클래스인 것 같다. 구현은 리플렉션을 통해 하지 않았을까 추측해본다. 사이트: http://objectdumper.codeplex.com 메뉴탭에서 DOWNLOADS를 눌러도 릴리즈를 가지고 있지 않다(This project has no releases.)라는 메시지가 보인다. 크냥 소스코드를 받아서 빌드했다. ReleaseBinaries 모드의 결과 => 잘 돌아가나 해서 혹시 테스트를 해보았는데,,, 아래와 비슷하게 만들면 된다.using ObjectDumper; var c = new Class1(); textBox..