m.i.a.w(MemorIzing A Word)를 공개합니다.


그간 상당히 포스팅이 뜸했습니다.
이유인 즉슨, 제가 “대한민국 매쉬업 경진대회” 라는 대회에 출품하기 위해 약 2주정도 부족하니만큼 WPF와 MS-SQL을 이용해 개발을 진행해 와서 블로그에 크게 신경을 못 썼습니다.
아무튼 13일날로 대회가 마감되고 어느정도 정리가 되었기에 이렇게 포스팅을 하게 됩니다.


사용자 삽입 이미지

1. 목적
– 국내/외 이미지 검색의 대표 사이트들의 이미지 자료를 이용하고 이를 통한 사용자 참여 유도와 개인화 서비스를 통한 연상 단어 암기 프로그램 입니다.


2. 특징
– 시중에 나와있는 “깜빡이” 연상법을 응용한 단어 암기 가능
– 자신만의 단어장을 만들고, 서버를 통해 다른 유저들과 공유할 수 있음.
– 유저들과 특정 단어에 대해 사용법을 토론하고, 이미지를 통한 연상 암기법을 공유할 수 있음.
– 네이버,플리커,MS Image등의 대표적인 이미지 검색 사이트를 통해 다양한 분야의 이미지를 얻을 수 있음.


3. 구현 방법
– 프로그램은 단순합니다. 유저는 자신의 단어 리스트를 열고 수정하고 저장할 수 있으며, 서버를 통해 웹에서 사용자들이 공유할 수 있도록 하였습니다.
– 개발 언어는 .Net Framework 3.5의 WPF와 C#, MS-SQL을 통해 구현하였고, 개발툴은 MS Visual Studio 2008, MS-SQL 2008, Photoshop CS4 입니다.


4. 서비스 가능성
– 시중에 나와있는 깜빡이는 단어가 한정되어 있습니다. 하지만 저희 miaw프로그램은 다양한 txt형식의 단어장 파일을 오픈하고 암기할 수 있으며, “공유” 기능을 통하여 다른 사람들이 암기했었던 단어들을 쉽게 찾고 이를 암기할 수 있습니다.
– 개인이 암기가 힘든 단어는 난이도(excellent, good, soso, bad)를 구분하여 분류함으로써 사용자들에게 연상 암기에 대한 더 큰 가능성을 제시합니다.
– 또한 한 단어에 대해 사용자가 이미지를 통한 연상법을 제시함으로써 보다 손쉽게 단어암기를 활용할 수 있습니다.
– 사용방법은 실행 프로그램MIAW_WPF.exe를 실행하면 됩니다. miawWords.txt는 기본이므로 놔두셔야 합니다.
– WPF의 특징 중 하나인 쉬운 UI구현을 통하여 유저 인터페이스에 최대한 신경을 썼습니다. Dialog의 인터페이스만 잘 다듬고 이를 웹에서 사용할 수 있도록 Silverlight로의 컨버팅 과정을 거치면 더욱 많은 사람들이 쉽게 사용할 수 있을 것으로 예상됩니다.

뭐 간단한 프로그램 소개는 이정도이구요, 12월 초부터 작업이 들어가 벤치마킹 2주, 아이디어 회의 3주, 개발 3주 정도 걸려서 진행되었네요.
물론 코어 부분 개발에는 1주정도가 걸렸던 것 같구요, 뭣보다 WPF를 처음 사용해 보았기 때문에 이부분에 대한 공부를 상당히 많이 한 것 같습니다.
개발 전반에 있어서 WPF/UX 개발자인 김대욱(http://whatisthat.co.kr) 군의 도움이 컸습니다.

WPF로 처음 작업을 하면서 정말 닷넷 프레임워크가 이렇게까지 발전한지는 몰랐습니다. 뭐 왠만한 기능은 죄다 들어있고, 지인들 말이 무겁다고들 하는데 생각보다 무겁지도 않았구요.
그리고 요새 컴퓨터 평균 사양이 어느정도 뒷바침 되어 있는 상황에서 속도가 크게 중요할까요? 물론 프로그램을 완전히 하드코딩으로 박아두면 극악의 속도를 발휘하지만서도, WPF는 이러한 면에서 프로그래머가 메모리 관리부분이라든가, 속도에 영향을 주는 부분을 최대한 신경 안쓰고 최적화 할 수 있도록 자동적으로 지원하는 부분이 많이 돋보였습니다.(물론 모든 기능을 제가 사용해본건 아니지만요 .. ^^)

단어를 표현하는데 저 외에 친구가 처음에 개발을 했었는데, 이부분이 속도가 상당히 느려서 보니깐 타이머를 사용했었는데, 역시.. 타이머 객체는 어느 프로그램 언어든 정말 극악의 속도를 보여주더군요.. 게다가 그 사용에 있어서도 할당 변수의 크기에 대해서도 당최 답이 안나오고.. 참 이부분을 대회 마감 4시간 전에 알아서 전부 컨버팅 하느라고 정말 고생했던 것 같습니다.(이부분에서 김대욱 군이 쉽게 쉽게 정말 많이 도와줬네요. 고맙당~)

간만에 해본 개발인지라 처음엔 많이 설래고 했었는데 결과를 봐서 아쉽기도 하고, 만족스럽기도 합니다. 다만, 제게 가장 부족했던 “모듈화”라는 부분은 다시금 디자인 패턴 등을 공부하면서 다져야 한다고 새삼 느꼈지요.

WPF 와, 대단합니다. 특히 김대욱 군네 집에서 본 모 동영상이 있는데, 처음엔 정말 그걸 구현한 것인지 믿기지 않았습니다. 약 3년전에 그러한 동영상을 제게 보여준 적이 있었는데 그걸 자기가 구현했다지 뭡니까~! 새삼 다시끔 “말로만 MS MVP가 아니구나” 라고도 느꼈고, WPF의 위대한 UI적인 구현법에 대해서도(물론 제가 다 아는건 아닙니다만..) 감탄을 금치 못했습니다.

역시나 개발이라는 것은 언제나 저를 들뜨게 만듭니다. 이러한 페이스를 놓지 않고 저는 다시금 개발에 나서려고 합니다. 이번에는 나름 secret하게 진행하던 프로젝트 인지라 블로그에 많이 공개하지는 못했었는데, 이번에 제가 포폴 용도와 더불어 개발하려 하는 것은 처음 설계부터 차근차근 공개할 예정입니다.

아, miaw프로그램은 http://izect.kr/miaw.zip 을 통해 내려받을 수 있습니다. 그리고, 이 프로그램이 new izect no 1이 되었다는 것을 기쁘게 생각하며.. ^^ 포스팅을 마무리 할까 합니다.

프로그램 사용에 대한 전반적인 feedback은 http://miaw.cafe24.com 을 이용해 주세요 🙂