Gof Design Pattern 2014. 1. 22. 00:09
Template Method Pattern - 템플릿 메서드 패턴 상위 클래스에서 처리의 흐름을 제어하며, 하위클래스에서 처리의 내용을 구체화한다.여러 클래스에 공통되는 사항은 상위 추상 클래스에서 구현하고, 각각의 상세부분은 하위 클래스에서 구현한다.코드의 중복을 줄이고, Refactoring에 유리한 패턴으로 상속을 통한 확장 개발 방법으로써 전략 패턴(Strategy Pattern)과 함께 가장 많이 사용되는 패턴중에 하나이다. [고려사항]1. 멤버 함수들의 접근 범위 지정에 대한 명확화가 필요2. 가상함수, 일반함수로 선언에 대한 결정이 필요3. 재정의 함수(virtual)의 수를 줄이는 것이 필요(virtual table 확장에 따른 perfomance 문제점 발생) 샘플 코드 Colored B..
Gof Design Pattern 2014. 1. 16. 01:11
프로그래밍 언어/C++ 2014. 1. 16. 00:57
Colored By Color Scripter™12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061// ConsoleApplication1.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.// #include "stdafx.h"#include // regex matchbool match_regex(TCHAR* strData, TCHAR* pattern){#ifdef _UNICODE wstring data(strData); wsmatch regexMatchResult; wregex mPattern(pattern);#else string data(st..
프로그래밍 언어/C++ 2014. 1. 15. 04:40
일반적으로 가장 잡기 힘든 버그의 하나로서 메모리 누수, 메모리 Overwrite등을 꼽을 수 있다. 이런 문제점을 해결하기 위해 CRT(C Runtime library)에서는 여러가지 다양한 메모리 관련 디버그 함수들을 제공한다. 그러나 이것들이 디폴트로 사용하기 힘들게 꺼져 있기 때문에 대부분의 프로그래머들은 이 사실을 알지 못하는 경우가 많다. 그래서 이 글에서는 CRT의 디버그 관련 함수들에 대해 알아보고 어떻게 사용하는 것이 좋은지에 대해 논해 보려고 한다. 샘플 코드 1 Colored By Color Scripter™12345678#include int main(void){ int *a = new int; return 0;} 위와 같은 코드가 있다... 문제점이 뭔지 바로 알 수 있을 것이다...
프로그래밍 언어/C++ 2014. 1. 13. 18:27
어느 블로그에서 ifstream getline 이 fgets보다 빠르다고 썰이 올라왔길래 말도 안되는 소리라 생각하고 소스를 간단히 짠 후 테스트 해보았다.. 역시나 ifstream은 쓸것은 못되더라는.......;; 테스트 파일은 약 15MB 정도의 일반적인 로그파일 데이터로 테스트 하였다. Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293// ConsoleApplication1.cpp : 콘..
프로그래밍 언어/C++ 2014. 1. 12. 22:50
1 개요C/C++ 코드 최적화와 관련된 팁들을 적어두기 위한 페이지. 사실 자잘한 테크닉보다는, 제일 느린 부분을 찾아내어 집중적으로 최적화화는 것이 훨씬 중요하지만... 알아서 나쁠 건 없다. 2 목록2.1 구조체의 크기를 2의 승수로 잡아라구조체의 배열을 인덱싱하는 코드가 있다면, 컴파일러는 구조체의 크기 * 인덱스와 같은 방식으로 컴파일을 한다. 이 때 구조체의 크기가 2의 승수라면 곱하기 대신에 쉬프트 연산을 사용할 수 있다. 알다시피 곱하기보다는 쉬프트가 빠르다. 2.2 스위치문에 들어가는 케이스의 종류를 줄여라케이스의 종류가 적은 스위치문이 있을 경우, 요즘 컴파일러는 if-else 구문 대신에 케이스값에 의거한 점프 테이블을 생성한다. 함수 포인터의 배열을 생성한다고 보면 비슷할 것이다. 어..
etc 2014. 1. 12. 00:48
길찾기 알고리즘을 visual 하게 테스트 해 볼수 있는 사이트를 소개한다. a스타, jps, bfs 등등... 개인이 블록을 만들고 서치하는것을 보여준다... http://qiao.github.io/PathFinding.js/visual/
etc 2014. 1. 7. 00:43
상당히 좋은 사이트를 찾았다, 게임에서 사용되는 텍스쳐, 음악, 효과음, 그래픽, 디자인 등등... 모든(?) 게임에서 사용되는 리소스들을 유명? 독립 개발 디자이너, 음악가 등등이 무료로 공유하는? 사이트 그냥 들어가서 다운받으면 된다.. 로그인은 필요없고,, http://opengameart.org/
Program 2014. 1. 2. 02:31
이 프로그램 소스는 윈도우 SAPI Library를 활용한 음성인식 소스로써, 간단히 grammer 파일에 명령 워드(word)를 통해서 실행된 명령어를 해석하여 TTS answer 및 몇몇의 정해진 프로그램을 구동하는 기능을 구현한 소스입니다. 필수 설치 프로그램 Microsoft Speech Platform - Runtime (Version 11) http://www.microsoft.com/en-us/download/details.aspx?id=27225 Microsoft Speech Platform - Software Development Kit (SDK) (Version 11) http://www.microsoft.com/en-us/download/details.aspx?id=27226 Micr..
프로그래밍 언어/C++ 2013. 12. 26. 15:16
오늘 :
어제 :
전체 :