태터데스크 관리자

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

태터데스크 메시지

저장하였습니다.

eternally full with hope...

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

'과제물'에 해당되는 글 8건

  1. 2006/05/10
    Simple Fortress
  2. 2006/05/10
    멀티 쓰레드 기반 웹서버
  3. 2006/05/10
    가계부 프로그램
  4. 2006/05/10
    CAUPainter
  5. 2006/05/10
    Image Interpolator
  6. 2006/05/10
    B 트리를 이용한 파일 트랙잭션 프로그램
  7. 2006/05/10
    레밍즈 프로젝트
  8. 2006/05/10
    Packet Analyzer & Sniffer (Winsock 2)
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
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
Lemmings Project
본 프로젝트는 Object Programming 팀 단위 프로젝트로 3인 1조의 팀으로 작성된 프로그램입니다. 다른 어떤 프로젝트보다 이 프로젝트에 대해서는 애착이 더 가는데... 복학한뒤에 처음으로 내가 이 팀의 팀장으로 팀을 조율하면서 프로그램의 작성에 있어서도 전체 게임의 프레임 워크를 구성하고, 다른 2명의 팀원에게 적당한 코딩을 유도할 수 있었다는 점이 이 프로젝트에서 얻었던 가장 큰 수확이었습니다. 학교 프로젝트가 보통 1인이 거의 대부분을 작성하는 현실에 비교하면 이 프로젝트의 의미는 거의 프로젝트코드의 80%가량을 프로그래밍을 해왔던 제게는 정말로 남다르다고 할 수 있었습니다.

또한 그동안 계속 공부하고 있었던 Design Pattern 을 이 프로젝트를 통해서 실현을 해보았다는 점이 프로젝트 자체에서 얻은 것으로 따지면 가장 큰 프로젝트가 아니었을까 생각합니다. 이 수업을 하면서 본격적으로 SE 에 대한 관심도를 높여 Design Pattern, Refactoring 에 대한 공부를 시작했고 대략 2달가량을 관련 책만 읽었습니다.

이 프로그램은 Visual C++ 을 이용하여 작성하였습니다. 프로그램은 디자인 적인 관점이 매우 중요하였고, Replay 기능이 필요하였기 때문에 Command Pattern을 이용하여서 작성하였습니다. 또한 각 레밍즈의 객체들은 Strategy Pattern 을 이용해서 레밍의 행위, 레밍의 애니메이션을 객체화하여 관리하였습니다. 기본적으로 레밍들의 동작은 중앙에 Work Queue 라는 모듈을 만들고 이 큐에 각 레밍의 클래스 인스턴스를 집어넣고 사용자의 액션에 따라서 지정된 액션의 캘래스를 설정하는 형태로 만들었습니다.
TRACKBACK 0 AND COMMENT 0
Packet Analyzer & Sniffer (Winsock 2)
이 프로그램은 컴퓨터 네트워크를 공부하면서 작성하게된 프로그램입니다. 개발환경으로는 Visual Studio .Net, Winsock 2.0 library 가 이용되었습니다.
Winsock2 에서 제공하는 WSAIoctl(SIO_RCVALL) 옵션을 통해서 소켓을 설정하고, IP 레이어 상단으로 올라오는 패킷중에서 TCP, UDP 수준의 패킷을 분석하여 테이블 형태로 보여주는 것이 주 목적인 프로그램입니다.
차후에 프로그램에 분석 모드를 제공하기위해서 캡쳐된 패킷의 분포도를 담을 수 있도록 차트 모듈을 추가하였습니다.
프로그램의 완성후에 해킹툴이 어떤 것이라는 것을 후배들에게 보여주기위해서 sequential search 수준의 바이너리 패턴 매칭을 통한 packet sniffing 기능을 첨가 하여 동작하는 것을 확인하였습니다.

이 프로그램은 본인의 개인 프로젝트였으며 이 프로그램의 작성을 위해서 TCP, UDP, IP 프로토콜의 구조를 알아야했습니다. 개발툴로는 Visual C++ 을 이용하였으며, WebBrowser ActiveX 컨트롤을 이용하여 기본 분석모드를 작성하였습니다. 분석기능에서 차트 기능의 추가를 위해서 NSChart 라는 모듈을 이용하였습니다.
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