본문 바로가기

분류 전체보기

(873)
거침없이 배우는 LINQ 원제: Linq in Action저자: Fabrice Marguerie, Steve Eichert, Jim Wooley 어떤 언어에 대해 출판을 할 때, 한 분야에 대해 글을 쓴 다는 것은 그 주제에 대해 깊이 다룬다는 것을 의미한다. 신입사원때에는 DB접속을 구현하는 방법을 몰라서 서점에서 왜 그런 책은 잘 없지 생각을 했는데, 이제는 어느정도 나오는 것 같다. 아직도 C언어로 OLE DB를 COM이라는 것을 통해 구현을 하는 것에 대해 다루는 책은 절판되어 없을 듯. LINQ가 데이터베이스만을 다루기 위한 기술은 아니지만 SQL Server를 닷넷에서 연결을 한다고 한다면, 사용해 볼 만하다.Charpter 18 다양한 계층에서 사용되는 LINQ에서 고전적인 3계층구조(3-tier)를 언급하면서 아키..
Tools::diff 도구 diff 도구는 두 텍스트의 바뀐 것을 쉽게 비교할 수 있게 해준다.unix의 diff라는 명령어 기반의 도구가 있지만, GUI 시대에 명령어를 일일히 외우기는 쉽지가 않다. 윈도우윈도우에서는 WinMerge를 주로 사용한다. 물론 이것은 소스코드관리(SCM; CVS나 SVN등)에 연결을 해놓고 쓰면 금상첨화이다. 아직 64비트용 native로 릴리즈가 되고 있지 않아 아쉽지만, 오픈소스로 진행되는 S/W이기 때문에 개발도구만 있으면 직접 소스를 받아서 64비트로 빌드하면 될 것 이다. 맥맥에서는 DiffMerge라는 것을 이용한다. 기본적인 기능이 지원되기 때문이다. 이 S/W는 파일 두 개의 비교뿐만 아니라 폴더비교와 3-way merge도 지원한다는 장점이 있다.
Tools::헥사 에디터 개발 도구에 가까워서 일반인은 사용할 일이 없겠지만, 헥사에디터는 유용하게 사용한다.텍스트 에디터는 ASCII등 인코딩된 텍스트의 문법 하이트라이트 기능(C언어, 자바, HTML등)이 중요하지만, 헥사 에디터는 바이너리 데이터를 위한 도구라서 사실 극히 사용 범위가 제한적이다.나는 크게 다음 기능으로 사용하는데,1. 두 (바이너리) 데이터의 비교 - 다른지 여부(물론 MD4나 SHA-1등의 헤싱을 해도 같은지 여부를 판단가능)와 다르다면 어디가 바뀐지 diff의 기능이 있어야 한다2. 대용량의 데이터의 로딩이 가능(모든 데이터를 RAM에 올리면 안된다)3. 그러면서도 데이터의 검색을 쉽게(문자열(ansi, unicode), 헥사) 윈도우 윈도우에서는 거의 기본적으로 HxD를 기본적으로 사용하였다. 마지막..
iMovie로 동영상 편집하기 Mac OS X에서 동영상의 앞 뒤 잘라서 편집하는 것을 QuickTime Player를 이용해서 하고 있었다.문제는 어떤 영상은 편집이 잘 되지 않는다는 것. 인터넷에서 맥에서 어떤 무료 동영상 편집기가 있는지 검색을 해보았더니,Top 6 Best Free Video Editing Software라는 글에서 #.1이 맥을 살때 번들로 제공을 받은 S/W인 iMovie였다. 맥의 제품이 일반적으로 직관적으로 사용을 할 수 있기는 하지만 이 제품은 처음에는 어느정도 학습이 필요하다. - Apple - Mac 사용 방법 - 동영상 - iMovie : 애플사이트의 튜토리얼 - Apple iMovie 활용하기 - YouTube : 맥쓰컴 (SK컴즈?) 몇 시간 정도 만들어보고 나서 팁을 정리해본다. 1. 우선 ..
문명5-세종대왕시나리오::세종대왕 기본난의도로 진행 도시 점령당하는 순서/생산품부산-0턴강릉-2턴대구-3턴전주-6턴/Wall(4)서울-7턴해주-11턴목포-12턴평양-14턴함흥-20턴의주-?/Wall(10) 따라서 생산을 한다고 해도 망치만 소모되지 의미가 없어서부산, 강릉, 대구는 생산을 금으로 바꾸어주었습니다. 함락당하기 전까지 금이라도 확보를 해줄 심상으로 정치 - 시작하면 중국을 클릭해서 war against Japan을 해줍니다. 측전무후는 아직 준비가 안되었으니 10턴을 기다리라고 합니다. 늦게 요청을 할 수록 원군이 늦게 오므로 시작하자마자 하는게 지원군이 도와주겠죠.
윈폼::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..