태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

eternally full with hope...

블로그 이미지
영원히 희망으로 가득하길...
by eternalbleu
  • 464618Total hit
  • 101Today hit
  • 316Yesterday hit

'Portfolio'에 해당되는 글 22건

  1. 2006/06/11
    InfoEcosystem
  2. 2006/05/11
    RSS Client "FISH" Project (2)
  3. 2006/05/10
    지뢰찾기 2001
  4. 2006/05/10
    Simple Fortress
  5. 2006/05/10
    멀티 쓰레드 기반 웹서버
  6. 2006/05/10
    MFC Painter
  7. 2006/05/10
    가계부 프로그램
  8. 2006/05/10
    CAUPainter
  9. 2006/05/10
    Image Interpolator
  10. 2006/05/10
    B 트리를 이용한 파일 트랙잭션 프로그램
※ 이 프로젝트는 삼성 소프트웨어 멤버십 지원을 위해서 본인이 구현한 내용입니다. 프로젝트의 내용과 아키텍쳐는 본인의 것임을 미리 주지하며, 도용을 금합니다.
프로그램은 현재 각 로컬 PC에 설치되기 시작한 어플리케이션중 그 용도가 로컬 메타 데이터 베이스로서 이용이 가능한 어플리케이션을 이용해 이 메타데이터에 기반한 검색을 지원하는 것이 목적인 프로그램입니다.
현재 로컬 어플리케이션에서 이용가능한 모듈은 GDS, 간단한 RSS 리더기 정도입니다.

문의 사항은 eternalbleu@_nospam_@izyou.net 로 연락주시기 바랍니다.

소개글
제가 이번에 제출하는 작품은 분산형 네트워크에 기반을 둔 검색 시스템 구축 프로그램입니다.

이 프로그램은 최근 많은 이용 증가율을 보이는 로컬 데스크탑 검색 엔진, RSS 리더기, 미디어 컨텐츠 관리 프로그램등과 연동할 수 있으며, 로컬에 존재하는 이런 정보를 제가 만든 프로그램을 통해서 네트워크로 연결하여 정보 검색을 가능하도록 작성한 프로그램입니다. 이런 프로그램의 특징상 네트워크상 각 노드의 정보들이 하나의 생태계를 이룬다는 의미로 저는 이 프로젝트의 이름을 "InfoEcosystem"이라고 칭하였습니다.

본 프로그램의 핵심적인 기술은 애플리케이션 수준의 분산 네트워크의 구성 기술과 7레벨 라우팅을 통해서 네트워크상으로 보낸 쿼리를 처리하고, 이 네트워크상 각 노드의 쿼리 결과를 쿼리의 생산자에게 전송하는 과정을 개별의 호스트 노드들이 컨트롤하고 네트워크 구성원들이 Self Routing 을 구현하는 과정이 가장 핵심적인 기술입니다.

이 기술의 구현을 위해서 저는 본 시스템에 적합하게 프로토콜을 정의했고, 각 노드에 라우팅 기능이 가능하도록 간이 라우팅 테이블을 작성하도록 구현했습니다. 프로토콜 정의에 관한 아이디어를 얻기위해서 다양한 기술을 참고했고, 그 기술들중에서 동등 계층 통신기법을 다수 공부하여 구현에 참고하였습니다. 네트워크 구성 파트의 테스트를 위해서 상당한 시간을 투자하였습니다.

본 프로그램의 검색 가능성과 검색의 테스트를 위해서 Google Desktop Search과 같은 데스트탑 서치를 이용했고, RSS리더기와의 연동 가능성을 테스트하기 위해서 간단한 RSS리더기를 작성해서 실제로 시스템과 연동하여 검색을 테스트하였습니다.

본 프로그램은 이번에 열리는 대한민국 소프트웨어 공모전에 출전할 작품입니다.


시스템 아키텍쳐

시스템 아키텍쳐


엔드 유저 동작 예시

엔드 유저 검색에 따른


프로그램 동작 설명

프로그램의 메인


프로그램의 로컬 검색 엔진 구현


로컬 메타 데이터 모듈의 예시로 작성한 RSS


클라이언트의 노드 상태를 보여주는


클라이언트 부분의 네트워크 검색기 구현


웹을 통한 검색의 위임과 결과


웹을 통한 검색의 위임과 결과 출력 (XSLT)


TRACKBACK 0 AND COMMENT 0
FISH PROJECT
본 프로그램은 P2P 기반의 RSS Reader Client Windows Application 입니다. 프로젝트 진행 기획 단계에서 부터 런칭까지의 기간동안 프로젝트에 참여하였습니다.

프로그램의 작성과정중에서는 Self Update Module 제작 부분(HTTP 이용), 존재하지 않는 형태의 컨트롤 제작, Local DB (Modal) 과 View 부분의 통합, 전체적인 UI 디자인 적용 파트에서 참여하였습니다. 모든 작업은 Visual C++ MFC 를 이용한 작업이었습니다.

자체 업데이트 모듈은 HTTP 프로토콜을 이용하여서 HTTP 프로토콜의 파일전달 방식을 이용해서 업데이트 파일을 받아오는 형태로 구성했습니다.

탭 컨트롤 제작은 MFC 기본제공의 CStatic 클래스를 상속하여 탭 아이템을 직접 클래스로 구현, 각 아이템마다 parent 윈도우에 USER DEFINED 이벤트를 보내주는 형태로 구성하였습니다.

UI 부분의 구성은 기타 프로그램에서 하듯이 오버라이딩을 통해서 구현하였습니다.

현재 본 프로그램은 웹 2.0 컨퍼런스를 기해서 런칭을 하였으며, http://www.3fishes.co.kr 를 통해서 운영되고 있으며, 익사이트 재팬과 함께 일본 서비스를 하고 있습니다.
TRACKBACK 0 AND COMMENT 2
지뢰찾기 2001
처음으로 작성했었던 윈도우 GUI 기반의 프로젝트. 2001년 1학년때 했던 프로젝트로 당시에는 굉장히 재미있게 만들었던 기억이나느 프로그램입니다. Visual C++ 6 를 기반으로 작성하였고, 윈도우라는 운영체제에 대한 이해나 MFC 프레임웍에 대한 이해가 굉장히 낮은 상태에서 작성한 프로그램이라서 소스를 내보이지는 못하는 프로그램이지만, 이 프로젝트 만큼 밤샘을 해가면서 했던 것도 드문것 같습니다.
이 프로그램은 전체적으로 비트맵을 이용한 drawing 을 기반으로 한 프로그램이며, 내부적으로 rand()와 같은 C built-in 함수들이 사용되었습니다.
TRACKBACK 0 AND COMMENT 0
Fortress
이 프로그램은 Object Programming 학과 수업시간에 작성하게된 미니 포트리스 게임입니다. 개인 프로젝트로 굉장히 단순한 구조를 가지고 있는 이 게임은 Visual C++ 로 작성되었습니다. 프로그램에서 쓰인 영상 처리의 기술로는 Double Buffering, Masking 을 통한 투명 이미지의 구현과 같은 기술을 이용하였습니다. 단순한 게임으로 최초 콘솔에서 단순 공던지기 물리엔진부터 작성에서 시작하여 최후 결과물이 이 프로그램을 만들게 되었습니다.
TRACKBACK 0 AND COMMENT 0
Multi Thread Simple Web Server

가장 단순한 형태의 멀티 쓰레드 기반의 웹 서버를 구현한 프로그램입니다. 윈도우 환경에서 작성하였으며, 가장 기본적인 기능만을 제공합니다. 이 프로그램을 약간 변경해서 단순한 형태의 프락시 서버를 구현하기도 했었습니다.
프로그램은 기본 윈도우 winsock 함수를 C 기반 환경에서 구현하였으며, 작성을 위해서 HTTP 프로토콜의 구조를 이해하기 위해서 RFC 문서를 찾아보면서 만들었습니다. 처음으로 프로그램을 구현하기 위해서 RFC 문서를 직접 찾아본 프로그램 이었습니다.
TRACKBACK 0 AND COMMENT 0
MFC Painter (MFC)
본 프로그램은 개인 프로젝트였습니다. 본 프로그램의 작성동기는 현역 제대후 복학을 하려는 시점에서 프로그래밍에 대한 지식이 거의 잊어버린 상태에서 프로그래밍 공부를 위해서 작성한 프로젝트입니다. 학기 중에 작성하였던 자바 프로그램과는 달리 개발 플랫폼을 Visual C++ 로 바꾸고 DLL 과같은 윈도우 종속적인 특성을 최대한 이용하려고 노력하였습니다.
차후에 OLE Container 에 대해서 공부를 하면서 OLE Embedding 을 지원하는 개체까지 이 프로그램의 그림 객체로 지원할 수 있도록 수정을 하였습니다. 단순한 프로그램이었지만 이 프로그램으로 얻었던 것은 상당히 많았던 프로그램입니다.
TRACKBACK 0 AND COMMENT 0
House Keeping Book (MFC, wxPython)
이 프로젝트는 06년 프로그래밍 언어론 시간에 작성한 자유주제. 이기종 언어로 동일 문제 해결을 하는 프로그램에 대한 결과물입니다. 제가 작성한 프로젝트는 DB 와 연동이 되는 프로그램을 작성하는 것이었습니다.
이 프로그램은 2개의 프로그램으로 구성되며, 각 프로그램은 이기종 언어로 작성되었으나 DB는 동일한 구조를 이용하는 것이 특징입니다.
Python + MySQLdb + wxWindow Toolkit 으로 작성한 것이 한가지, Visual C++ + ADO 로 작성한 프로그램이 한가지 입니다. 데이터 베이스로는 Mysql 5.0 을 이용하였습니다.
TRACKBACK 0 AND COMMENT 0
CAUPainter (JAVA)
본 프로그램은 '05 학과 프로그래밍 디자인 시간에 UML로 디자인된 프로그램 작성과정을 공부하기 위해서 자바를 이용해서 작성한 프로그램입니다. 개발 환경으로는 Sun JDK 5를 이용하였으며, IDE 로 이클립스를 이용해서 작성한 프로그램입니다.
프로젝트의 진행 과정중에서 제가 한 일은 UML 디자인, Java 코드 전체의 작성이었습니다. 프로그램의 제작보다 디자인의 구성이 중요한 프로젝트였기 때문에 외형적인 면에서는 볼품이 없었지만, 이 프로젝트를 통해서 UML, SE 의 전반적인 내용을 파악하고 공부할 수 있는 기회가 되었던 프로젝트입니다.
본프로그램에서 가장 기억에 남는 부분은 그림 객체를 나타내는 Shape Abstract Class, 그 하위의 상세 모형 클래스에서 상속을 통해서 구현하는 부분이었는데, 이때 상속, 다형성이라는 개념이 OOP 기반 프로젝트에서 얼마나 중요한 것인지를 알 수 잇는 계기가 되었습니다.
TRACKBACK 0 AND COMMENT 0
Image Interpolator
이프로그램은 학과 수치해석 시간에 배운 Lagrange, Hermite 보간법을 이용하여 작은 크기의 이미지를 큰 크기로 변환하는프로그램입니다. 군전역후 최초로 작성한 프로그램 다운 프로그램이었고, 그동안 잊고 있었던 Mathmatics 를 이용한 computational modeling 에 대해서 생각해보게된 프로젝트입니다.

제가 이 프로젝트에서 작성한 일은 Lagrange, Hermite 보간 수식 모듈 작성과 특정 구간 단위 보간구현을 위한 마우스 드래깅 이미지 처리 부분이었습니다. 수식은 이미 주어진 상태로 진행되었기 때문에 수식을 프로그램화 하는 것 자체는 상당히 쉬운일이었지만, bitmap 이미지의 특성상 상하가 반전되는 현상때문에 상당히 처리하는데 애를 먹었던 프로젝트 입니다.
보간법에 대한 내용은 이미 수치해석 시간에 교수님께 수업을 듣고 있는 상태였기 때문에 상대적으로 쉬웠던 프로젝트 입니다. 개발툴로는 Visual C++ 을 이용하였습니다.
TRACKBACK 0 AND COMMENT 0
F819 Project (File Transaction Test Application)
이 프로젝트는 05년 학과 수업 "파일구조론"에서 B+ 트리와 Sequential 서치를 이용한 트랜잭션 처리의 비교를 위해서 작성하게된 프로그램입니다. 이 프로그램은 팀프로젝트로 제작된 프로그램으로 제가 이 프로그램에서 작성한 부분은 B+ tree search module, hash-key 를 이용한 page 잔여 공간 관리 모듈을 작성하였습니다. B+ 트리의 경우 이미 인터넷을 통해 공개되어있는 모듈은 Hunter & Associates 의 모듈을 이용하였습니다. (특히나 기억에 남는 프로젝트였는데, 노력은 굉장히 했음에도 데모 중에 프로그램에 버그가 발견되어 결과가 그다지 좋지 못했던 프로젝트였습니다.)
TRACKBACK 0 AND COMMENT 0

ARTICLE CATEGORY

분류 전체보기 (782)
Re: myself (441)
Favorite things (241)
CS&E (71)
Portfolio (22)
삼성SDS (0)

CALENDAR

«   2008/07   »
    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 30 31    

ARCHIVE