본문 바로가기

전체 글325

디자인패턴 목차 디자인 패턴은 23가지가 있다. 이들은 각각이 모두 연결되어 있지는 않기 때문에 순서에 상관없이 공부해도 상관없다. 패턴을 꼭 외울 필요는 없지만 숙련된 개발자들이 특정 상황에 사용되는 프로그래밍 구조를 패턴으로 정리했기 때문에 이러한 패턴을 알게 된다면 많은 노하우를 상대적으로 쉽게 익힐 수 있을 것으로 생각된다. 객체 생성을 위한 디자인 패턴 (5가지) 3장. Abstract Factory 패턴 4장. Builder 패턴 5장. Factory Method 패턴 6장. Prototype 패턴 7장. Singleton 패턴 구조 개선을 위한 디자인 패턴 (7가지) 9장. Adapter 패턴 10장. Bridge 패턴 11장. Composite 패턴 12장. Decorator 패턴 13장. Facade 패.. 2010. 10. 27.
윈도우 0xc0150002 초기화 오류 C++ (vs2005)에서 만들어진 DLL을 사용할때 '응용 프로그램을 제대로 초기화하지 못했습니다(0xc0150002).' 라는 메세지박스가 발생하면 Microsofr Visual V++2005 Redistributable (Microsoft Visual C++ 2005 재배포 가능 패키지(x86))가 설치되었나 확인하고, 설치가 안되었을때에는..설치하는것이 가장 빠르게 문제 해결하는 방법이다. 2010. 10. 27.
[전기] 저항색 표(RESISTOR COLOR CODES) ♡ε♡오늘도님과함께_베스트리더그룹UεUHere I am | 옛벗 http://blog.naver.com/musicjava/19706276 RESISTOR COLOR CODES Color 1st Digit (A) 2nd Digit (B) 3rd Digit (C) Multiplier (D) Tolerance (E) 흑 Black 0 0 0 1 1% 갈 Brown 1 1 1 10 2% 적 Red 2 2 2 102 3% 등 Orange 3 3 3 103 4% 황 Yellow 4 4 4 104 -- 녹 Green 5 5 5 105 -- 청 Blue 6 6 6 106 -- 자 Violet 7 7 7 107 -- 회 Gray 8 8 8 108 -- 백 White 9 9 9 109 -- 금 Gold -- -- -- 0.. 2010. 10. 27.
Windows 와 Linux Thread Control 함수 비교 (동기화 함수) Preface Windows 프로그램을 리눅스로 포팅을 할때 가장 문제가 되는 것은 프로세스 쓰레드 관련 함수와 각종 IPC들이다. 소켓이나 기본적인 함수들은 모두 같이 사용이 되거나 용례가 비슷한데 반해서 이들은 완전히 독립적으로 동작이 되기 때문에 설계 자체를 바꿔야 하는 경우도 있다. 이를 좀더 쉽게 하기 위해서 각각에 대해서 어떻게 포팅을 해야 하는지를 정리해 보았다. Process & Thread Windows와 Linux가 process와 thread에 관련된 내부적 구조체 및 동작 방식은 완전히 다르다. 하지만, 이들을 조작하는 함수에는 거의 차이가 없다. 함수에 따라 거의 1:1로 변환이 가능하다. Windows Linux CreateProcess() fork() exec() Termina.. 2010. 10. 27.
쓰레드 - Thread - 귀가 닳도록 들어온 워커스레드와 UI스레드. 그리고 스레드와 관련된 숱한 의혹과 혼란은 간혹 프로그래밍 할 맛을 뚝 떨어뜨리기도 한다. 그러나 세상에 좋은걸 쉽게 얻을수 있는게 어디 있으랴. 보다 좋은 성능에 보다 매끄러운 결과물을 만들기 위해서는 피해갈수 없는 길이 스레드다. 그만큼 잘 쓰면 프로그램을 빛나게 하지만 잘못쓰면 그냥 망한다. 그리고 알아야 할것이 한두가지가 아니다. 이렇게 복합적인 지식을 요구하기 때문에 스레드가 어렵게 느껴질수 있다. 적어도 멀티스레드로 들어가기 시작하면... 그래서 기초책에서 설명하는 그렇고 그런 진부한 내용은 다 집어치우고, 또 잘 설명해 주지도 않는 UI 스레드도 제대로 알아볼겸 MFC에서 스레드가 어떻게 동작하는지 MFC 소스코드를 살펴보고 멀.. 2010. 10. 27.
쓰레드에서 Main핸들 얻기 아래와 같은 방법은 되도록 사용하지 않는게 낫다. Test프로젝트를 생성 할 경우를 예로 들겠다. - 쓰레드가 아닐 경우 TestDlg* pTestDlg = (TestDlg*)AfxGetMainWnd(); - 쓰레드일 경우 TestDlg* pTestDlg = (TestDlg*)theApp.m_pMainWnd; 쓰레드에서 AfxGetMainWnd()를 호출하면 맴버변수들의 값이 NULL로 되어있다. 하지만 theApp.m_pMainWnd로 접근하면 맴버변수의 주소로 접근한다. 이 방법은 되도록 사용하지 않는게 낫다. 쓰레드 내에서 전역함수를 호출하거나 전역변수를 접근하면 문제가 발생 할 수도 있기 때문이다. "되도록 파라미터로 넘겨서 사용하도록 한다" 2010. 10. 27.