포스트를 만든 목적 회사와 집을 오가마 소스코드 공유하려고 남긴다. gVim을 쓰는데, Visual Studio Macro 를 이용해 여는 방법을 알리기 위해서 남긴다. 내가 기억에서 잃어버리기 위해서 남긴다. 내용 ' 현재 열려있는 파일들을 gvim으로 연다. Public Sub OpenDocumentsByGvim() Dim ProcessInfo = New ProcessStartInfo ProcessInfo.FileName = "C:\Program Files\Vim\vim72\gvim.exe" 'ProcessInfo.Arguments = String.Format("--servername gmain --remote-silent +{0} +""normal zz"" {1}", DTE.ActiveDocumen..
IT 검색 결과
Purpose-built post 이 포스트는 내가 Effective C# 아이템 5를 읽고, 구글링해서 찾은 많은 정보들을 취합하며, 생각/느낌을 정리하기 위해 만들었다. Content 1. http://jongkok4.net/entry/5-항상-ToString을-작성하라 위의 포스트는 ToString 이란 메소드를 개발자나 사용자가 원할 수 있기 때문이라고 요약 된다. 원할 수 있는 이유는 C#은 모든 객체에 대해서 ToString 이란 메소드를 가지고 있기 때문이다. 2. http://kosuchoi.com/blog/kosu/10 위 포스트는 ToString 이란 메소드가 어떻게 유용한지에 대해서 설명한다. 요약하면, 객체의 상태/정보 등을 문자로 얻을 수 있기 때문에 디버깅을 비롯한 다른 환경에서..
개요 이번 문제는 그래픽 편집기를 만들어 보는 것이다. 너무 다행이게도, 텍스트로 9개의 기능만 구현하면 된다. 이것을 구현하는 것은 커맨드 라인형 인터페이스, 그래픽 편집 기능을 생각해보라는 데에 목적을 두고 있는 것 같다. 본문 그래픽 편집기를 만드는 규칙은 이러하다. 1. 입력은 한 줄에 하나씩의 편집기 명령으로 구성된다. 2. 각 명령은 줄 맨 앞에 있는 대문자 한개로 표현된다. 3. 매개변수가 필요한 경우에는 그 명령과 같은 줄에 스페이스로 분리되어 입력 한다. 4. 픽셀은 1 ~ M 열과, 1 ~ N 행 으로 표현된다. 5. 책에선 유효 범위를 250 픽셀 안쪽으로 정하지만 난 무시하겠다.(옆집 강아지의 이름을 기억해 주지 않아!) 6. 좌측 상단을 1, 1 으로 정하고, 이곳을 원점으로 정한..
Erase를 구현했을 때와 별 차이가 없다. 지우지 말고 자료형만 바꾸면 된다. 이건 바로 코딩으로 만들어도 될 듯하여, 제목만 보고 코딩을 했다. 다음 소스코드를 보자 template struct Replace; template struct Replace { typedef NullType Result; }; template struct Replace { typedef typelist Result; }; template struct Replace { typedef typelist Result; }; 생각 할 것도 없었기 때문에 굳이 정리는 하지 않고, ReplaceAll 을 한번 만들어 보기 바란다. ReplaceAll 소스코드 template struct ReplaceAll; template struc..
왜 중복 자료형 삭제가 필요한 걸까? 이것도 3.9, 3.8, 3.7과 마찬가지로 기존의 자료형에서 약간의 변형만 주어 새로운 자료형을 손쉽게 만들기 위함에 있다. 어떻게 하면 typelist의 중복 자료형을 삭제 할 수 있을까? 우선 생각해 볼 것이 있다. 1. 중복된 자료형인지 어떻게 판별 할 수 있을까? typelist에서 첫번째 타입은 온전히 확인 가능하다. 그러므로 이 첫번째 타입 즉, Head 타입이 Tail타입에 있는지 체크하면 될 것이다. 2. 중복되었다면 어떻게 지울 수 있을까? 3.9에서 특정 타입을 지우는 방법을 배웠다. Tail 에서 Head를 지우고 이 결과 타입을 다시 중복제거 알고리즘을 돌리면 될 것이다. 3. 중복되지 않았을 경우에는 어떻게 처리 할 수 있을까? Erase함수..
어떻게 하면 특정 자료형을 지울 수 있을까? 가장 작은 알고리즘을 생각한다면, 다음고 같을 것이다. 1. 지울 자료형이 있는지 찾는다. 2. 있다면, 지운다. 3. 없다면, 그대로 둔다. 여기서 "1. 지울 자료형이 있는지 찾는다"에서 다음 질문이 이어 질 수 있다. 어떻게 찾을 수 있는가? 찾는 방법은 찾고자 하는 타입과 비교 대상이 같은지 비교 하는 것이다. 다시 다음 질문으로 이어 질 수 있겠다. 비교 대상은 무엇이며, 어떻게 비교 할 수 있는가? 비교 대상은 typelist 구조상 첫번째 Head 타입일 수밖에 없다. Tail 타입은 typelist이거나 NullType 인데, 이것들은 비교 할 수가 없다. Head 타입을 비교 하는 방법은, 템플릿 부분 특수화 밖에 없다. 여기서 예외가 하나 발..
최근댓글