본문 바로가기

Job Notes/Programming

(14)
[펌] 안전한 string 함수 (strncpy_s, sscanf_s, sprintf_s) 사용 1. strcpy은 strncpy, strncpy_s를 사용한다. 참고 : http://msdn.microsoft.com/ko-kr/library/5dae5d43.aspx Example> char src[] = "Test"; char dest[10]; strncpy_s(dest, _countof(dest), src, strlen(src)); 2. sscanf 대신 sscanf_s를 사용한다. 참고 : http://msdn.microsoft.com/ko-kr/library/t6z7bya3.aspx Example> char pRaw_data[] = "A 10 20 AB 30 CD 40 EF 50 GH 60 IJ 70 KL 80 MN 90 OP 11.2"; char count; int snr; int scor..
[펌] C와 C++ 간의 함수 호출 C 언어라 함은 기본적으로 *.C 파일에서 통용하는 문법이고... C++ 언어라 함은 기본적으로 *.CPP 파일에서 통용하는 문법입니다.. 둘사이에서 가장 큰 차이점중의 하나가 다형성입니다... C++ 은 이를 지원하지만 C 는 지원하지 않습니다... 그래서 두 언어 사이에 링크시 차이점이 있습니다....^^; 그래서 상호간의 호출은 기본적으로 되지 않습니다 그렇지만 링크에이지 속성을 바꾸면 됩니다.... 우선 C 파일에서 C++ 을 호출하려면요.. 이렇게 해보세요.... C 에서 호출할 C++ 함수에 extern "C" 라고 붙이면 됩니다... 예를 든다면 ^^; Cfile.c 에서는 #include void a(); main() { a(); } 그리고 CTest.cpp 에서는 #include exte..
strchr & strrchr /* STRCHR.C: This program illustrates searching for a character * with strchr (search forward) or strrchr (search backward). */ #include #include int ch = 'r'; char string[] = "The quick brown dog jumps over the lazy fox"; char fmt1[] = " 1 2 3 4 5"; char fmt2[] = "12345678901234567890123456789012345678901234567890"; void main( void ) { char *pdest; int result; printf( "String to be searched: \n..
[펌] Charming Python: Python에서의 함수 프로그래밍, Part 3 Charming Python: Python에서의 함수 프로그래밍, Part 3 Currying과 기타 higher-order 함수들 난이도 : 초급 David Mertz 박사Gnosis Software, Inc 2001 년 6 월 01 일 David Mertz 박사는"Python에서의 함수 프로그래밍", Part 1 & Part 2 시리즈를 통해 함수 프로그래밍의 기본 개념을 다루었다. 이번에는 Xoltar Toolkit에 있는 커링(currying)과 기타 higher-order 함수에 대해 설명한다. 정규식 바인딩 부분적 솔루션에 절대 만족하지 말라! Richard Davies라는 한 독자는 바인딩을 개별 정규식으로 항상 옮길 수 있는지 여부에 대해 의견을 제시했다. 그렇게 하는 것이 왜 필요한 것인..
[펌] Charming Python: Python에서의 함수 프로그래밍, Part 2 Charming Python: Python에서의 함수 프로그래밍, Part 2 함수 프로그래밍 시작하기 난이도 : 초급 David Mertz, Ph.D., Applied Metaphysician, Gnosis Software, Inc 2001 년 4 월 01 일 David Mertz는 Part 1 에 이어서 FP(Functional Programming)에 대한 기본 개념을 설명하고 있다. David는 다양하고 진보적인 FP 개념들을 설명하면서 프로그램 문제 해결에 대해 다른 패러다임을 제시한다. Part 1 에서 FP에 대한 기본 개념을 설명했다. 이번 칼럼에서는 다양한 개념들을 좀 더 깊게 연구하려고 한다. Bryn Keller의 "Xoltar Toolkit"에서 많은 부분 도움을 받을 것이다. Xo..
[펌] Charming Python: Python에서의 프로그래밍, Part 1 Charming Python: Python에서의 프로그래밍, Part 1 Python을 효과적으로 활용하기 난이도 : 초급 David Mertz 박사, 응용철학자, Gnosis Software 2001 년 3 월 01 일 일반적으로, 사용자들은 Python이 절차적(procedural)이며 객체 지향적 언어라고 생각하지만 실제로는 함수 프로그래밍에 필요한 모든 것을 갖추고 있는 언어라고 할 수 있다. 함수 프로그래밍의 개념과 Python에서 함수 기술을 구현하는 방법에 대해 알아보자. "함수 프로그래밍(FP-Functional Programming)이란 무엇일까요?" 라는 질문에 대해, "FP란 Lisp, Scheme, Haskell, ML, OCAML, CLEAN, Mercury, Erlang와 같은 ..
[펌] Python을 배워야 하는 이유 개인적으로나 업무상으로나 여러 스크립트 언어를 쓸 경우가 많은데, Python에 가장 큰 점수를 주고 싶습니다. Eric Raymond씨도 "How To Become A Hacker"란 글에서 프로그래밍을 배우고 싶다면 python을 배우라고 쓴 적이 있습니다. 저도, 꽤 많은 언어를 쓰고 있다고 생각하지만, Python만큼 강력하며, 쉽게 배울 수 있는 언어를 본 적이 없습니다. Python 언어에 대한 자세한 사항은 Python 관련 책이나 문서에서 충분히 얻을 수 있을 것이므로, Python에 대한 특징을 바라보는 입장에서 정리해 보았습니다. 여가 시간이 있거나, 배우고 싶은 언어를 찾고 있다면, Python을 익혀보기를 강력하게 추천합니다. Python 홈 페이지 Programming에 대한 경험..
닷넷에서 쿠키로 인증된 세션유지하기 "http://blog.empas.com/ttjkim" 네이버블로그에는 블로그에 대한 통계를 내주는 유틸을 사용자들이 만들어서 공개하고 있습니다. 또한, 블로그맵이라는 서비스를 하는 곳도 있습니다. 닷넷에서 이런 종류의 유틸을 작성하기 위해서 어떻게 해야할까? 물론 http 프로토콜이 단순하기 때문에 직접 윈속프로그램을 작성할 수도 있지만, 세세한 곳까지 프로그래머가 신경을 써야하기 때문에 권장할 만한 방법은 아닙니다. 닷넷 프레임웍에서는 WebClient라는 클래스를 사용하면 쉽게 원하는 페이지를 얻어올 수 있습니다. 그렇지만 리턴되는 값이 스트림 형태여서 일단은 스트링으로 만들어주어야 합니다. 그다음에 우리가 관심을 갖는 특정 내용을 찾아서 정보를 얻어야 하는데, 이것도 그냥 스트링을 뒤져서 처리하거..