그간 상당히 포스팅이 뜸했습니다.
이유인 즉슨, 제가 "대한민국 매쉬업 경진대회" 라는 대회에 출품하기 위해 약 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 을 이용해 주세요 :)

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 메튜장

트랙백 주소 http://izect.kr/trackback/251 관련글 쓰기

댓글을 달아 주세요



 신기술이란 끊임없이 발전하고, 개발하는 자가 있는가 하면 사용하는 자가 있기 마련이다. 그런 종속 관계에서 무한히 발전하는 것이 기술이라는 게 아닐까 싶다.
 2006년, 마지막으로 Direct 3D 9+VS2005로 게임을 개발하고(그것도 100% 개발한 것도 아니다.) STL에 대해 찔끔 공부하다가 아마 나는 "사업을 명분으로 프로그래머는 접겠다." 라는 이야기를 했었고, 결국 이도 저도 아닌 지금은 듣보잡에 불과한 2년정도를 보내게 된 것이다. 사업도 마케팅도 다 좋지만 내가 정말 하면서 제일 재미있다고 생각한 것을 가만히 생각해 보니 역시나 프로그래밍이었다.. 사업? 쉽게 할 수 없다. 마케팅? 이건 기술이 아니다.. 나는 기술이 필요하고, 기술을 알아갈 때마다 희열을 느낀다. 콘솔 프로그래머로써 중학교 시절을 보낼 때는 지겨웠다. 그놈의 알고리즘이 뭐길래.. 그러다 DX를 접하고 나서 얼마나 재미있었던지.. 그러면서 프로그래밍에 대한 여러가지 테크닉을 접할 때마다 나는 정말 즐거웠다. 시간가는 것을 전혀 몰랐다. 그 어떤 내가 관심있어 하는 분야도, 피아노도 음악도 나를 이렇게 만들어 놓지는 못했다.

사용자 삽입 이미지


 본론으로 들어가서, 그래서 지금 한달 넘게 여러 프로그래밍 언어 및 테크닉들을 접해보고 있다. 학원도 다니고, 개인적으로 공부도 하면서. Visual Studio가 벌써 2008이 나왔더라.. VS 2005를 별로 써보지도 못했는데 2008이 한글판까지 나왔다. 그럼 내가 가장 애용하던 6.0은 이제 완전 듣보잡이 된 것인가..
 그래서 VS2008에서 제공하는 언어들과 기술들을 중점으로 보고 있었다. 그러면서 내가 정말 놀라지 않을 수 없던 것은...
 WPF? Silverlight? LINQ? 뭐야 이런 것들? 사실 나는 C#도 제대로 본적도 없다. 내가 아는 것은 C와 씨쁠, MFC API Direct X, jsp,php,java정도가 다이다. 그런데 지금은 신기술이 너무나도 많아졋다. 에자일? 루비? 뭐지...
 
사용자 삽입 이미지

 사실 오피스 2007까지는 내가 빨리 접했었다. 그런데 오피스 2007을 수없이 쓰면서도 몰랐던 것, VS 2008에서 오피스를 프로그래밍 할 수 있다는 것이다.. 물론 아직 자세한 것은 모르지만 다양한 컴포넌트를 개발할 수 있지 않을까? 아직 어느정도까지 개발이 가능한지는 모르지만.. 살짝 보았는데 상당히 구조적이라 쉽게 개발할 수 있을 것처럼 보였다.
 그나저나.. 오피스 2007 시스템은 왜이리 복잡해 졌다냐.. 장난 없다. 쪼개져도 나는 이렇게까지 쪼개질 줄은 몰랐다.. 아무리 유저의 커스터마이징을 고려해서 판매한다고 하지만 이건 아무리봐도 거의 장난 급으로밖에 보이지 않는다.. 아니면 자신들의 기술에 따른 철저한 마케팅적인 제품 세분화인가.. 아무리 그래도 너무 복잡하다..

사용자 삽입 이미지

 사실 이클립스를 볼 때만 해도 자바 이외에 엄청나게 다양한 언어들이 돌아간다는 사실에, 게다가 이클립스가 무료라는 사실에 정말 놀랐었다. 그런데 이 웹 프로그래밍의 세계도 엄청나게 바뀌고 있었다. AJAX니 Flex니 Silverlight와 jsp2.0 등등.. 정말 손뗀 지난 2년 동안 이 세계는 달라져도 너무 달라져 있었다. 너무나도..
 
사용자 삽입 이미지

 하지만 분명한 것은, 확실히 예전에 "내가 알고 있고 고급 기술이다" 라고 싶은 것은 이제 기본적인 것들로 변해 있다는 것이다. 거기에 신기술의 엄청난 발전과 Web 2.0의 발전(구지 웹2.0으로 묶고 싶지도 않다. 웹 뿐만 아니라 이미 실생활에 웹 2.0의 개념이 속속히 들어오고 있다.) 이러한 요소들이 지금 이 프로그래밍 세계를 무궁무진하게 만들고 있다.
 그렇게 보니깐 언젠가 친구가 내게 해준 말이 생각난다. 내가 "요즘 프로그래머에게 유망한 언어는 무었이냐?" 라고 물었을 때 "요즘엔 다재다방면으로 많이 알아야 살아남는 세상이다." 라고 답변해 줬는데 이 말이 틀린 것이 아니라는 게 실감난다..
 중요한 것은 다양한 방면으로 아는 것도 중요하지만 어떻게 되었든 프로그래밍 세계는 세분화 되고 다양화 되었어도 분명 주요 카테고리들은 남아 있다. 점차적으로 통합 플렛폼을 강조해 나가며 조금씩 이에 따른 신기술들이 나오고 있긴 하지만 내게 맞고, 내가 나아가고 싶어 하는 그런 카테고리를 확실히 정해야 한다는 것이다. 거기에 부가적으로 친구가 언급한 다재다방면을 언급할 자격이 되지 않을까 싶다.
사용자 삽입 이미지

 그래서 나는 지금 개인 홈페이지를 만들고 있다. 나의 이 프로그래밍&디자인&피아노 의 시작인 홈페이지, 거기서 나는 답을 찾을 것이다. 분명 이전에 내가 해왔던 것처럼, 꾸준히 나의 개인홈페이지들을 제작하면서 php를 접하고 asp를 접하고 jsp를 접하면서 성장해 온 것처럼, 거기에는 분명 나에게 맞는 길이 기다리고 있을 것이다. 그 길을 찾기 위해 앞으로도 끝없이 나의 온갖 열정을 이곳에 쏟아야 할 필요가 있는 것이다.... 뭐 이렇게 생각해 보아도 내게 맞는 건 웹이나 DB쪽이라 생각하긴 하지만 말이다.. ㅎㅎ

아무튼!!!!!  열공!!!!!
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 메튜장

트랙백 주소 http://izect.kr/trackback/190 관련글 쓰기

댓글을 달아 주세요

이전버튼 1 이전버튼



블로그 이미지
html5,모바일웹,웹앱,자기브랜드,시간관리 등을 다룹니다.
메튜장

Yesterday198
Today86
Total478,681

달력

 « |  » 2012.02
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29