전체 글 118

[Translation] Silverlight Model-View-ViewModel Pattern 2

Silverlight Model-View-ViewModel Pattern 1에 이어서. 눈치챘을지도 모르겠지만, 이 코드는 의존성 주입(dependency injection)의 필요성을 외치고 있고, 내가 다음 블로그 포스트에서 다루려고 하는 게 바로 그것이다. 우리는 현재 어플리케이션 개체의 타입을 체크한다. Blend는 그것 스스로의 어플리케이션 개체를 제공하는 반면, 실제로 실행되는 어플리케이션은 우리가 만든 어플리케이션 개체를 우리에게 준다. 리팩토링이 필요한 다음 부분은 메인 사용자 인터페이스이다. 여기서 내가 말하는 것은 카드 주위의 모든 것이다. 어플리케이션은 Twitter 계정을 넣는 텍스트 상자 하나와 새 카드를 추가하기 위한 추가 버튼을 가지고 있다. 클릭 이벤트 핸들러에서 우리는 새 ..

2008.11.16

[Translation] Silverlight Model-View-ViewModel Pattern 1

Silverlight의 MVVM 패턴을 소개하고 있는 YouCard Re-visited: Implementing the ViewModel pattern 라는 글을 번역한 글이다. 아직 1/3 정도라서 틈나는 대로 이어서 번역하려고 한다. 실력 부족/시간 부족으로 딱히 좋은 번역이라고 하긴 힘들겠지만. Model-View-Control (MVC) 패턴은 더 이상 유명할 수가 없을 정도이다. ASP.NET MVC 프레임워크로 Microsoft도 이제 그 대열에 뛰어들었다. Ruby on Rails, Django (Python), Spring MVC (JAVA) 같은 다른 유명한 프레임워크들은 모두 이 유명한 패턴을 구현한 것이다. MVC 패턴은 요청-응답 기반이라는 웹의 본성에 아주 잘 들어맞는다. 요청이 ..

2008.11.14

DirectShow 개발자 교육 후기

2주간 매일 3시간씩 저녁 7시부터 10까지 진행되는 동영상 S/W 개발자 교육을 이수했다. 첫 주는 회사에서도 일찍 퇴근하는 등 그나마 할만했지만, 두 번째 주는 예비군 훈련과 겹쳐서 완전 강행군이었다. 덕분에 지금은 약간 감기 기운이 있는 것 같다. 30시간 교육이라고는 하지만 DShow를 처음 배우려고 하는 나같은 사람도 가능한 수준의 교육인데다 워낙 동영상 S/W 개발이라는 범주로 다뤄야 할 것들이 많다보니 기본적인 내용 자체는 그리 특별한 것이 없다고 생각했다. 책에서도 배우려면 배울 수 있지 않을까 하고 말이다. 하지만 같이 교육을 받았고 실제로 개발을 하고 있는 사람 말을 들어보면 그렇지도 않았던 모양이다. 책만으로는 부족했던 내용을 많이 얻을 수 있었다고 한다. 다시 생각해보면 그렇기도 한..

2008.11.10

Platform SDK 2003 SP1에서 DirectShow BaseClasses 컴파일하기

DirectShow 관련해서는 프로젝트 환경을 깔끔하게 세팅하기가 참 어려운 것 같다. 지난 번에는 Visual Studio 6.0에서 DirectShow 컴파일할 때 했던 삽질 얘기였는데 이번에는 VS 2005다. DirectShow 필터를 만들려면 샘플 프로젝트 중에서 BaseClasses 프로젝트를 컴파일해서 strmbase.lib 를 만들어야 하는데, 주어진 상황에서 뭔가 쉽게 잘 안되는 문제가 있었다. 주어진 상황은 Visual Studio 2005 Windows Server 2003 SP1 Platform SDK DirectX SDK 9.0 2003 SP1 Platform SDK 에서는 DirectShow가 PSDK 쪽으로 옮겨졌다. 그리고 BaseClasses 프로젝트가 솔루션 파일을 갖고 ..

2008.10.29

MOSS 2007 알림 메일을 Outlook 2007에서 열 수 없는 문제

익스체인지 서버가 Exchange Server 2003일 때, 아웃룩 2007에서 Cached Exchange Mode 를 쓰는 경우에 Sharepoint 2007의 특정 알림메일(문서 라이브러리 알림 메일 등)을 아웃룩에서 열 수 없는 문제가 있다. 서버에 핫픽스(KB930807)를 설치하거나 Cached Exchange Mode를 사용하지 않도록 Outlook을 설정하는 것으로 이 문제를 피할 수 있다고 한다. 그런데 캐시된 모드가 아니면 정크 메일 필터가 적용되지 않아서 엄청나게 불편하다. 그리고 폴더 이동 시 지연 시간이 생긴다. 특이한 점은, 캐시되지 않는 모드에서 한 번 읽은 알림 메일은 캐시된 모드로 바꾼 후에도 잘 열린다는 점이다.

2008.10.28

BootCamp의 윈도우 시계 맞추기

Mac에서 BootCamp 안에 설치한 윈도우는 한국의 경우에는 맥에서 설정한 시간과 9시간 차이가 나게 된다. 그렇다고 이쪽에서 시간을 바꿔버리면 이번엔 맥 쪽 시간이 틀어져버리는 것이다. 이런 팁처럼 부팅될 때마다 인터넷으로 시계를 맞추는 방법도 있지만 이럴 경우 정해진 시각에 iMac이 켜지게 하는 기능이 제대로 동작하지 않는 문제가 생겨서, 맥을 알람으로 사용하는 나로서는 쓸 수가 없는 방법이었다. 어차피 맥 쪽을 주로 사용하니까 윈도우 쪽에서 만든 파일 시간은 좀 틀려도 상관없고 해서 비스타 가젯으로 실제 시각과 동일하게 맞춰놓은 시계를 띄워놓고 썼는데 오늘 갑자기 검색해봐야겠다는 생각이 들어서 찾다보니 역시 해결책이 있었다. 알비 포럼의 글 - 맥 레퍼드와 부트캠프의 시계 동기화는 어떻게 해야..

2008.10.22

소설 모방범

요즈음은 이상하게도 시간이 없다. 며칠이면 한 권씩 읽던 책도 읽을 시간이 없고, 매일 읽던 수 백 개의 RSS도 못 읽은지 오래되었다. 오랜만에 일요일이라 생일 선물로 받은 모방범(模倣犯)이라는 소설책을 읽고 있다. 이제 막 2부를 다 읽었다. 읽다보면 지루해서 자꾸만 뒷 부분을 펼쳐보게 만드는 책이다. 등장 인물 한 명 한 명에 대해서 배경 상황과 심리를 자세히 설명하는 부분이 많다. 지루하다고는 했지만 또 그 부분이 재미없다거나 식상한 것은 아니다. 군더더기처럼 붙어 있는건 아니기 때문이다. 왠지 '내 성격은 이랬구나'하고 생각하게 만드는 책이랄까. 나는 한 사람 한 사람이 처한 상황이나 심리 같은 것 보다는 재미있는 스토리를 더 좋아하는 것 같다. 소설에 대해서만 그런 것이 아니라 실제 생활에서도..

2008.08.31

PIL로 이미지 DPI 바꾸기

포토샵에서 이미지 DPI를 무조건 72 DPI로 바꾸는 황당한 버그덕분에 PIL도 써본다. http://mail.python.org/pipermail/python-list/2006-September/403994.html 쓸데없는 걸로 싸우는 거 같이 보이는 메일 쓰레드인데 아무튼 질문자도 원하던 결과를 얻었고 덕분에 나도 좋으니 이 어찌 아니 좋을쏘냐. 결론적으로 DPI는 그냥 이미지에 태그처럼 붙어있는 메타 정보일 뿐인 것 같다.

2008.04.15

불법 복제 부추기는 교육

S/W 불법복제를 부추기는 교육 나는 이런식으로 생각해본 적이 없는데, 이미 불법 복제가 당연시되는 분위기에 익숙해진 탓인가보다. 그나마도 동아리 활동 덕분에 리눅스나 오픈 소스 문화를 조금 접했기에 무료, 공개 소프트웨어를 조금 알고 있고 찾아서 쓰려는 노력을 하지만, 그렇지 않은 사람이라면 어떨까. 적어도 소프트웨어를 만들어내고 그것으로 생활을 유지하고 꿈을 찾는 우리 같은 사람들이라도 소프트웨어의 가치를 인정해야하지 않을까.

2008.04.15