본문 바로가기

VC++ with Mysql Mysql 버그인지는 모르겠지만 Mysql를 처음 설치하면 my_socket의 definition을 못 찾겠다며 컴파일 에러가 난다. typedef my_socket SOCKET 으로 my_socket이 defintion이 되어 있기때문에 일어나는 문제이다. SOCKET에 대한 definition이 없어서 에러가 나는 부분이로 간단하게 #include 를 포함시켜주면 해결이 된다. 나는 오늘도 삽질중... 더보기
Head First Design Patterns 모처럼 재미있는 책을 읽었다. Head First Design Patterns 자바 기반이긴 하지만 스토리를 이용해서 디자인 패턴을 잘 설명한 책인거 같다. 물론 스토리가 때로는 이해를 더 힘들게 한 것도 있지만 초보자가 보기에는 유용한 책인것 같다. 마지막 페이지의 한마디가 머리에 남는다 패턴은 도구이지, 규칙이 아니다.KISS (Keep it simple)을 지키자! 더보기
온라인 제본 사이트 http://yscopy.com http://www.pnpod.com http://www.docuplaza.com http://www.copynet.co.kr/ 더보기
Singleton supported thread-safe 하나의 클래스가 1개의 개체만 가질 필요가 있을 때, 예를 들어 Context 또는 Manager 개체처럼 1개의 개체가 시스템 내 다른 행동을 조율해야 할 때, 사용할 수 있다. 이 패턴을 이용해 공유 개체를 생성/관리함으로써 동일한 시스템 위에 존재하는 여러 개체간 통신을 쉽게 구현할 수가 있다. 또한 종종 글로벌 변수의 완곡한 표현으로 사용되기 때문에 anti-pattern으로 간주되기도 한다. 1. 구현 2. 구조 3.1 C++ 예제 3.2 C++ (thread-safe) 예제 4. factory 메서드 패턴과 함께 사용하는 예 1. 구현 ──────────────────────────────────────────── singleton 클래스는 개체가 없을 경우 새로 하나를 만들고, 이미 존재한다.. 더보기
메모리 해제 할 때 Segment Fault 처리법 1. 멤버 변수의 초기화 여부 재확인 2. Deconstructor의 호출 순서 재확인 사례) XMLPlatformUtils::Terminate() 는 XML 라이브러리의 사용이 더이상 없음을 나타내는 명령어 하지만 Singleton 객체는 모든 객체가 해제된 이후 해제되므로, XMLPlatformUtils::Terminate() 이후, Singleton Deconstructor에서 XML 라이브러리 사용시 메모리 충돌이 발생 난 오늘도 삽질중!! 더보기
SVN(Subversion) 명령어 정리 'x의 최신 버전이 없다면 응용 프로그램을 빌드, 테스트, 인도할 수 있는가?'라고 스스로에게 물어봤을 때, 만일 그 답이 '할 수 없다'이면 x는 저장소에 들어가야 한다. 중요한 전자우편 메시지의 본문이나 회의록, 웹에서 찾은 정보 등 프로젝트에 도움이 되는 것이라면 어떤 것이라도 저장소에 저장할 수 있다. 서브버전이 설치되어 있는지 확인 $ svn --version $ svnadmin --version * RA : Repository Access 서브버전 설치 http://subversion.tigris.org http://www.pyrasis.com/main/Subversion-HOWTO 저장소 만들기 [svr ...]# mkdir /home/svn-repos [svr ...]# svnadmin c.. 더보기
SVN 콘솔 명령어 1. 업데이트 충돌(C) 발생시 충돌이 발생한 경우 파일명, 파일명.mine, 파일명.r10, 파일명.r20 와 같이 충돌과 관련 있는 revision의 파일들이 여러 개 생깁니다. svn resolved 파일명 를 호출하시면 위 revision 파일들을 잘(?) 엮어서 파일을 수정해 줍니다. 이후 svn status로 확인하시면 충돌(C) 표시가 사라집니다. 2. 이전 버전과의 비교 svn diff 명령어를 사용하시면 됩니다. 현재 파일과 이전 버전과의 차이점 비교 - svn diff 파일명 >> text.txt 현재 파일과 특정 버전(revision 254)과의 차이점 비교 - svn diff 파일명 –r 254 >>text.txt 특정 버전(revision 112, revision 255) 간의 차.. 더보기
GDB 사용법 gdb 디버깅 명령들... 1. 우선 컴파일 시에 디버깅 정보를7U2F담아야 한다. gcc -g -o [프로그램명] [소스파일명] 디버깅 옵션인 -g 으로 컴파일하며, 최적화 옵션인 -O 은E86H주지 않도록 한다. 2. 실행방법 gdb [프로그램명] gdb [프로그램명] [core파일명] gdb [프로그램명] [실행중인프로세스pid] 3. 종료방법 q Ctrl + d 4. 소스 찾아가기 (list) l : main 함수를7U2F기점으로 소스의 내용이3E6N출력된다 l 10 : 10 행 주변의 소스가N794출력되는데 10 - 5 행부터 10 + 5행까지 총 10행이3E6N출려된다. l func : func 함수의 소스를7U2F출력 l -5 : 기본값으로 10줄이3E6N출력된다고 가정하고, 다음에 출력될 .. 더보기
교통사고 가해자 피해자가 알아야 할 10계명 교통사고 가해자 제1조: 피해자(물)을 확인하라 ● 비상등을 켠 상태에서 차를 세우고 내린다. ● 먼저 유감의 뜻을 전한다. ● 다친 곳이 있는지 없는지 알아보고 피해정도를 파악한다 제2조 : 인적사항과 연락처를 교환 ● 신분증을 서로 교환하여 반드시 신분확인 및 이름, 주민번호, 면허번호 등을 적는다. ● 운전면허증을 줄 필요는 없다.(싸가지 없이 보채는 자는 주민증으로 달래라.) ● 상대방에게 반드시 가입보험회사와 정확한 연락처를 적어 준다. ● 실랑이를 하지말고 필요하다면 사고확인서를 적어준다.(절대 각서를 써주면 안된다) 제3조: 사고현장 보존과 차를 안전지역으로 옮겨라 ● 사고당시 차량상태, 파편의 흔적 등을 스프레이나 사진촬영 등으로 표시한다. ● 목격자가 있다면 확인서를 받거나 연락처를 알아.. 더보기
M4650 오페라 미니 설치법 오페라미니 4.1 정식판이 나왔네요.설치방법은 일단 위 2개의 파일을 다운받아서 pda의 기억장치카드나 LGTstore의 적당한 곳에 넣는다.먼저  Esmertec Jbed 20080222 3.1M CAB 파일을 설치를 한다.그러면 opera-mini-4.1.11313-advanced-ko JAR 파일이 e자 형태로 바뀐것을  볼수 있는데 이 파일을 실행 시키면 설치과정이 진행되는데, pda 하단부 바에 나타나는 선택메뉴에서 ok 또는 yes를 선택해 주면 단계별로 설치가 된다.필자도 PDA를 그렇게 잘 다루지는 못하지만 호기심만은 누구 못지않다. 그러기 때문에 어떤 프로그램이 있으면 인터넷을 뒤지면서 찾아본다.그러면 어느정도 답을 얻는다.이게 정보화 시대를 살아가는 지혜?가 아닐까 한다.스스로 얻는 것.. 더보기