WoC 2007 멘티가 되다
WoC 2007 수행계획서를 작성하면서 '이 프로젝트 참 재미있겠다, 그런데 생각보다 일이 보통 아니겠구나' 하는 생각을 했다. 지원해 놓고는 자신이 좀 없어지기도 하고, 막상 선정 되었는데 멘토님의 기대에 부응하지 못하면 어떡하나 하는 걱정도 하고... 그러나 속으로는 욕심이 부글부글 했었는지도 모르겠다. 놀고 싶은 유혹도 다 뿌리치고 지원한 것이니까.
좀전에 발표가 났는데, 다행히 WoC 2007 멘티로 선정이 되었다! 11번 프로젝트의 수행자 mcpanic.myid.net !
회사 끝나고 코딩 안해본지도 언 4개월 정도 된 것 같다. 블로그 뚝딱뚝딱 건드린거 조금 빼면.. 지긋지긋하다가도 문득 그리워(?) 지기도 하는 프로그래밍.. 다시 한 번 빡세게 뛰어들게 되었다. 이번 기회를 통해 프로그래밍 자체나 프로그래밍 언어의 구사와 같이 지엽적인 면에 치우치지 않고 보다 큰 그림을 보면서 오픈소스 프로젝트로 안착시킬 수 있었으면 좋겠다.
내가 맡을 프로젝트는 마인드맵 기반의 지식DB 및 검색시스템 구축 . 어차피 이 프로젝트 아니면 WoC 에 참여하지 않으려 했고, 지원도 하나밖에 하지 않았었다. 욕심을 부린만큼, 책임을 가지고 '무언가'를 만들고 알리고 공유하고 배우고 싶다.
WoC 2007 수행 계획서
Google Summer of Code를 보고 재밌겠다는 생각을 많이 했었는데, 우리나라에서도 WoC 2007라는 멋진 행사가 작년부터 열려 2회째를 맞고 있다. 때마침 학생 모니터링 요원으로 활동하고 있는 IBM developerWorks에서 후원도 하네
올해는 총 18건의 프로젝트가 제안되었고, 그 중 평소부터 생각해 오던 흥미로운 주제와 맞물리는 프로젝트를 발견해서 학생 멘티로 지원해 볼까 한다. 이제 여기부터는 공식 수행 계획서.
프로젝트 수행방법
- 마인드맵 드로잉 클라이언트 개발 or 분석,도입
-> 데스크탑 어플리케이션 형태뿐 아니라 RIA (Rich Internet Application) 혹은 Web 상에서의 구현도 가능하리라 생각한다. 오픈되어있는 그래픽 관련 API를 적극 활용하면 좋을 것 같다.
-> Firefox extension 형태로 개발하면 브라우저 검색 history 정보와의 연동을 통해 데이터 수집과 구조화가 더욱 용이하지는 않을까 하는 생각도 든다. - 마인드맵 형식의 지식DB 설계
-> 지식을 효율적으로 표현할 수 있는 '구조적' 부분과 '시각화' 부분을 균등하게 고려한다. 마인드맵의 특징은 조각조각의 지식을 표현하는 것이 아니라 지식 간의 관계를 시각적으로 나타낸다는 것이다. 이러한 점에 초점을 두고 DB를 설계할 필요가 있다. - 지식DB 구축
-> 구조화된 형태를 상세하게 define하고, 확장성이 있으면서도 검색이 용이한 포맷으로 만든다. - 구조화된 지식DB 검색엔진 개발
-> 지식 조각 (노드)에 대한 정보뿐 아니라 지식 간의 관계 (링크)까지 고려한 Tagging 등의 지식 표현 구조를 활용하여 효율적인 검색이 가능하도록 한다.
예상 일정
- 1주: 개발 내용과 범위에 대해 구체적으로 결정
- 2주: 마인드맵 드로잉 클라이언트 설계
- 3주: 마인드맵 드로잉 클라이언트 개발
- 4주: 구조화된 정보형태 뽑아내기 / 지식 DB 설계
- 5주: 지식 DB 구현
- 6주: 지식 DB 검색 알고리즘 개발
- 7주: 테스트 및 디버깅
- 8주: 문서화 및 마무리
예상 결과
- 마인드맵 드로잉 클라이언트
- 지식 DB 구축 형태 제안
- 지식 DB 검색 알고리즘
- 지식 구조화 API 를 통해 향후 확장 가능한 오픈소스 프로젝트로 발전
관련 경력
- 간단한 SQL parser 개발 (2003)
- PHP + MySQL 기반 간단한 음반 사이트 구축 (2인 팀 프로젝트, 2003)
- Medical Image Viewer DiView 개발 참여 (4인 팀 프로젝트, 2004)
- 임베디드 통신 모듈용 API, 이클립스 개발툴 개발 (시스템베이스, 2004~2007)
지원 사유
저는 지식과 정보를 다양한 형태로 시각화, 구조화함으로써 인간의 창조적인 활동을 도울 수 있는 Creativity Support Tool (CST) 에 관심이 많습니다. 마인드맵은 CST 의 훌륭한 구현 사례로, 컴퓨터라는 가상공간에 사람의 생각을 효율적으로 표현하기에 좋은 구조라고 생각합니다. 사람의 지식을 DB화하고 검색 / 구조화하는 데에 관심이 많아서 Brain DB 아이디어 노트를 통해 이러한 생각을 정리하기도 했고, OpenCyc 등의 프로젝트에도 관심을 가지고 있습니다.
저의 학문적인 관심분야인 Knowledge representation 과 Information visualization 에 대한 아이디어를 실질적으로 구현하려는 생각은 전부터 가지고 있었지만 방향 설정의 어려움 등으로 진행하지 못하였는데, 마인드맵 기반의 지식DB 및 검색시스템 구축 프로젝트가 이러한 생각을 구현하는 데에 있어 적격인 프로젝트라고 생각하여 지원하였습니다.
이 프로젝트를 통해 지식의 DB화에 대한 실질적인 구현과 오픈소스 프로젝트 참여경험을 쌓고 싶습니다. 멘토 분과의 긴밀한 관계를 통해 프로젝트에 임하는 자세와 관련 지식을 배우는 좋은 기회가 될 것 같아서 지원하였습니다.
