Gof Design Pattern 2014. 1. 22. 23:26
Strategy Pattern - 전략 패턴 동적으로 알고리즘을 교체할 수 있는 구조알고리즘 인터페이스를 정의하고, 각각의 알고리즘 클래스별로 캡슐화하여 각각의 알고리즘을 교체 사용 가능하게 한다즉, 하나의 결과를 만드는 목적(메소드)은 동일하나, 그 목적을 달성할 수 있는 방법(전략, 알고리즘)이 여러가지가 존재할 경우기본이 되는 템플릿 메서드(Template Method Pattern) 패턴과 함께 가장 많이 사용되는 패턴 중에 하나이다 샘플 코드 Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263..
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/
오늘 :
어제 :
전체 :