본문 바로가기
728x90
반응형

전체 글817

윈도우 환경에서 특정 포트를 리슨하고 있는 프로세스의 정보 조회 방법 다음은 "윈도우 환경에서 특정 포트를 리슨하고 있는, 프로세스의 정보 조회 방법"에 대해서 설명하고 있습니다.#pragma comment(lib, "ws2_32.lib") #include #include #include #include #include #include #if defined NTDDI_VERSION && (NTDDI_VERSION >= NTDDI_LONGHORN) # include /* Windows Vista Higher */ #else # ifndef ANY_SIZE # define ANY_SIZE 1 # endif /* for Windows 2K, Windows XP, Windows 2003 */ typedef struct _MIB_TCPROW_OWNER_PID { DWORD dwSt.. 2012. 5. 24.
MVC (Mode View Controller) Pattern [출처] http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=35826 MVC 역사 MVC 자체는 오랜 역사를 가지고 있다. Triage Reenskaug가 제록스 팔로 알토(Xerox Palo Alto)리서치 센터에서 스몰토크(Smalltalk)와 관련된 그룹에 참여하는 동안 고안한 것이 MVC 패턴이다. 1978년 MVC와 관련된 첫 번째 문서가 완성됐는데, MVC 패턴을 ‘Thing Model View Editor’패턴으로 불렀다. 하지만 오래지 않아 이름을 ‘Model View Controller’로 바꿔 부르게 됐다. 창안한 사람이 스몰토크와 관련된 일을 하고 있어선지 MVC 패턴은 가장 먼저 스몰토크-80의 클래스 라이브러리.. 2012. 5. 24.
디자인 패턴 정리 패턴이란 특정 컨텍스트(패턴이 적용되는 상황. 반복적으로 일어날 수 있는 상황) 내에서 주어진 문제 (해당 컨텍스트 내에서 이루고자 하는 목적 또는 제약조건)에 대한 해결책(일련의 제약조건 내에서 목적을 달성할 수 있는 일반적인 디자인)이다. "어떤 컨텍스트 내에서 일련의 제약조건에 의해 영향을 받을 수 있는 문제에 봉착했다면, 그 제약조건 내에서 목적을 달성하기 위한 해결책을 찾아낼 수 있는 디자인을 적용한다." 1. 범주별 분류 ■ 생성 관련 패턴 (싱글턴, 추상 팩토리, 팩토리 메소드, 빌더, 프로토타입) 객체 인스턴스 생성을 위한 패턴으로, 클라이언트와 그 클라이언트에서 생성해야 할 객체 인스턴스 사이의 연결을 끊어주는 패턴. ■ 행동 관련 패턴 (템플릿 메소드, 커맨드, 어터레이터, 옵저버, 스.. 2012. 5. 24.
Observer Pattern 서울특별시 종로 5가 왕복 8차선 도로에 교통사고가 발생했다는 신고가 관계기관에 접수되었다고 가정하자. 그럼 신고를 받은 관계기관은 신속히 해당 사고지점으로 출동할 것이다. 아마도, 사고 유형이 '교통사고' 이기 때문에, 병원, 소방서, 경찰 등의 관계기관이 출동할 것이다. 그리고 옵저버 패턴에 대해서 잘 모르는 상태에서, 이를 구현해 보면 아마 아래와 비슷할 것이다.void 119() { while ( NULL != (신고유형 = 사고접수()) ) { switch ( 신고유형 ) { case 교통사고: Notify(경찰); Notify(소방서); Notify(병원); break; case 응급상황: Notify(병원); break; case 간첩신고: Notify(경찰); break; default: .. 2012. 5. 24.
Command Pattern - Replace Conditional Dispatcher with Command 프로그래밍시에 종종 사용하는 switch ~ case 구문의 가장 큰 단점은 case 구문이 늘어남에 따라 소스코드 가독성이 떨어진다는데에 있다. 물론 각각의 case 구문을 보기좋게 함수화 하거나 함수포인터를 적절히 활용한다면 어느정도 해결은 가능하다. 그리고 지금부터 소개할 Command Pattern을 사용해도 기존의 switch ~ case 구문을 보기 좋게 만들수 있다. 뿐만아니라 일련의 명령어들을 일관성있게 실행시키는 용도로도 커맨드 패턴은 자주 사용되어지는 편이다. 그렇다고 커맨드 패턴이 장점만 있는건 아니다. 예를 들면 switch ~ case 구문에서 case 구문이 몇 가지 안되는 경우에 커맨드 패턴을 사용하게 되면 오히려 프로그램의 복잡성만 증가한다는 단점이 있다. #define CR.. 2012. 5. 24.
Singleton - 프로세스내에서 단 하나뿐인 전역클래스를 만들고 싶을때 싱글턴 패턴(Singleton pattern)이란 어떤 클래스의 인스턴스를 단 하나만 허용하고, 이 인스턴스에 접근할 수 있는 전역적인 접근을 가능하게 하는 패턴이다. 즉, 응용프로그램내에서 단 하나뿐인 전역 클래스를 만들고 싶을 때, 싱글턴 패턴을 사용하게 된다. 나 같은 경우 주로 프로그램 실행 초기에, 전역적인 환경설정 값을 로드하는 시점에서 싱글턴 패턴을 많이 사용하는 편이다. #include #include "Singleton.h" using namespace std; int main ( int argc, char **argv ) { CSingleton *pInstance = CSingleton::GetInstance(); pInstance->m_nAge = 100; pInstance->m_st.. 2012. 5. 24.
Apache에서 보다 강력한 SSL 암호화를 사용하기 위한 설정 방법 2012. 5. 24.
OpenSSL Windows 컴파일 및 설치 다음 내용은 Windows 환경에서 OpenSSL을 직접 컴파일 하여 설치하는 방법에 대해서 설명하고 있습니다. ※ 들어가기에 앞서 ... 설명의 편의상 아래와 같은 가정을 전제하고 읽어주세요~ ^^ openssl-0.9.8k.tar.gz 파일은 H:\openssl-0.9.8k 디렉토리에 압축이 풀렸음. OpenSSL 설치 디렉토리는 C:\OpenSSL 이라고 가정함. 1. OpenSSL 다운로드 http://www.openssl.org/source/openssl-0.9.8k.tar.gz 2. ActivePerl 설치 openssl 라이브러리를 컴파일 하기 위해서는 perl 이 필요합니다. http://downloads.activestate.com/ActivePerl/Windows/5.10/ActiveP.. 2012. 5. 24.
OpenSSL 관련 자료 OpenSSL 관련 자료 > Linux Journal - An Introduction To Openssl Programming.pdf > Openssl Command-Line Howto.pdf > OpenSSL.pdf 2012. 5. 24.
728x90
반응형