본문 바로가기
728x90
반응형

분류 전체보기729

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.
OpenSSL을 사용한 SSL 서버 사용 예제 #include "stdio.h" #include "string.h" #include "openssl/bio.h" #include "openssl/ssl.h" #include "openssl/err.h" int password_callback(char *buf, int size, int rwflag, void *userdata) { /* For the purposes of this demonstration, the password is "ibmdw" */ printf("*** Callback function called\n"); strcpy(buf, "ibmdw"); return 1; } int main() { SSL_CTX *ctx; SSL *ssl; BIO *bio, *abio, *out, *sbio.. 2012. 5. 24.
728x90
반응형