프로그래밍 319

"객체지향 프로그래밍에 대한 오해와 진실"을 읽고...

대산님의 "객체지향 프로그래밍에 대한 오해와 진실"을 우연하게 읽게 되었습니다. 막연하게나마 그런 느낌을 갖고 있다가 객체지향 프로그래밍에 대해 다시 한번 생각해 보게 되네요. 역시 객체지향 프로그래밍은 다형성을 위하여 상속이나 캡슐화가 부수적으로 필요한 요소이겠죠. 가만히 그 글에 달린 댓들을 보고 있노라면 그 동안 공부를 많이 안하긴 했구나 하는 생각을 했습니다. 다른 분들이 하시는 이야기를 모두 이해하기가 힘들더군요. -_-; 아무튼 그래서 앞으로는 더욱 열심히 해야 겠다는 생각이 들어서 한켠으로는 부끄럽기도 했지만, 이를 계기로 더욱 발전할 수 있을것 같아 뿌듯하기도 했습니다. 이상하게도 티스토리에서 트랙백이 안되어, 아래 참고 주소로 URL을 남깁니다. - 객체지향 프로그래밍에 대한 오해와 진실..

프로그래밍 2008.07.04

OLECMDID enum

IOleCommandTarget::Exec에서 사용되는 OLECMDID enum 정의입니다. 웹 브라우저 컨트롤을 다룰때, 위 Exec 명령에 아래 값들 중 하나를 입력하여 관련 명령을 실행할 수 있죠. 물론 IOleCommandTarget가 구현되어 있다면 그 컨트롤에서도 적용할 수 있겠죠. typedef enum { OLECMDID_OPEN = 1, OLECMDID_NEW = 2, OLECMDID_SAVE = 3, OLECMDID_SAVEAS = 4, OLECMDID_SAVECOPYAS = 5, OLECMDID_PRINT = 6, OLECMDID_PRINTPREVIEW = 7, OLECMDID_PAGESETUP = 8, OLECMDID_SPELL = 9, OLECMDID_PROPERTIES = 10,..

프로그래밍 2008.06.24

basic_string에서 CString.Replace와 같은 일괄 치환 함수(ReplaceString)

CString.Replace와 같이 특정 문자열을 찾아서 일괄로 치환하여 주는 함수가 basic_string에는 없어 아래와 같이 만들어 보았습니다. /** @brief basic_string 입력한 문자열 내부에서 찾은 문자열을 치환 문자열로 모두 바꾸어 줍니다. @param strOrg 원본 문자열 @param strFind 찾을 문자열 @param strReplace 치환 문자열 @return 반환값 없음. */ void ReplaceString(string& strOrg, string strFind, string strReplace) { size_t i = 0; i = strOrg.find(strFind); while ( TRUE ) { strOrg.replace(i, strFind.size(),..

프로그래밍 2008.06.17

new와 delete 연산자.

김윤수님의 블로그에서 실수하기 쉬운 new와 delete, new [], delete [] 연산사에 대한 글을 보았습니다. new [] 를 통하여 할당한 배열의 개수가 따로 저장이 되어 있고, 이를 모두 소멸시키기 위해서는 반드시 delete []를 사용해야 하겠습니다. 연관된 글을 읽다 보니, 동일한 객체를 여러 개 생성 / 소멸하는 경우에는 new, delete 연산자를 오버로딩하여 직접 메모리를 관리함으로써 성능을 높일 수 있다고 합니다. 결론적으로 new / delete, new [] / delete [] 쌍을 맞추어 프로그래밍해야 겠네요.

프로그래밍 2008.06.16

VC++에서 델파이의 ForceDirectories 함수 흉내내기

경로 내부의 디렉토리를 자동으로 생성해 주는 함수를 작성해 보았습니다. 델파이의 ForceDirectories 함수와 동일한 동작을 합니다. 아래 코드입니다. /** @brief 입력한 경로에 해당하는 디렉토리를 경로를 따라가며 모두 생성합니다.(델파이의 ForceDirectories 함수와 같음) @param lpszPath 디렉토리를 생성할 디렉토리 경로 @param nPathLength 경로의 길이 @return 성공하면 true, 실패하면 false를 반환합니다. */ BOOL ForceDirectories(LPCTSTR lpszPath, int nPathLength) { try { int i = 0; char* szDirName = new char[nPathLength + 1]; char* ps..

프로그래밍 2008.06.16

doxygen 사용시 Error opening map file class_xxx.map for inclusion in the docs! 오류 대처

열심시 doxygen과 Graphviz를 이용하여 문서화를 하던중에 Error opening map file class_xxx.map for inclusion in the docs!와 같은 오류를 만나며 이미지가 나와야 할 부분에 이미지가 제대로 나타나지 않는 문제가 발생하였습니다. 구글에서 검색해본 결과... 간 파일명을 제대로 처리하지 못하여 발생하는 문제라는 것을 알게 되었습니다. 옵션 파일에서 같단하게 [ SHORT_NAMES = YES ]로 처리하면 오류없이 이미지까지 제대로 생성이 되었습니다.

프로그래밍 2008.05.28

warning C4996: 'strcat': This function or variable may be unsafe

VS 2005로 개발하던 중에 다음과 같은 오류를 만났습니다. 경고 2 warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. d:\project\test.cpp 49strcpy, strcat 등의 함수가 버퍼 오버 플로우 공격에 취약하기 때문에 좀더 안전하게 strcpy_s, strcat_s 류의 함수를 사용하라는 권고 메시지더군요. 그런데, 권장하는 _s 함수로 변경하려면, 매개변수가 틀려서 코드 전체를 바꾸어야 하기 때문에 매우 번거롭..

프로그래밍 2008.05.23

Flex 교육 요약[5/16]

Action Script 3.0 학습에 도움이 되는 팁 : http://www.adobe.com/kr/devnet/actionscript/articles/actionscript_tips.html Air Download : http://labs.adobe.com/downloads/air.html 나이키 Air : http://lab.emotion.co.kr/nikeonair/ 참고 사이트 : http://www.yourminis.com/ 차트 데모 : http://demo.quietlyscheming.com/ChartSampler/app.html Adobe Flex 2 컴포넌트 데모 : http://examples.adobe.com/flex2/inproduct/sdk/explorer/explorer.htm..

프로그래밍 2008.05.16

Flex 교육 요약[5/15]

APM Setup : http://www.apmsetup.com/ APM 설치 Flex Livedoc : http://livedocs.adobe.com/flex/3/html/ Validator 참조 : http://www.adobe.com/devnet/flex/quickstart/validating_data/ DB 를 통한 데이터 통신 예제 실습 : HTTPService 이용. 참조 : http://www.adobe.com/devnet/flex/quickstart/httpservice/ 데이터를 보낼때는... var Params:Object = new Object(); Params. = 파라미터1값; Params. = 파라미터2값; HTTPSerivce.send(Params); 마우스에 반응하는 이미지 ..

프로그래밍 2008.05.15

[Flex 3] 하나의 플렉스화면에서 회원가입과 로그인을 동시에 하는 예제

http://www.adobe.com/2006/mxml">                                                                                                                                                                                            name="color" value="blue"/>                                                                                                                                                       ..

프로그래밍 2008.05.15
728x90