본문 바로가기
[Tip] 프로그래밍에서 foo 와 bar 는 무슨 의미(유래)일까? - 인터넷으로 검색한 결과 foo 와 bar 의 의미(유래)는 정확한 정보는 없고, 이렇다는 추측성 글이 많더군요. 하지만 둘 다 reasonable 한 이야기라고 판단되어 간단히 정리해 봅니다. foo와 bar의 의미( 유래 ) 는 크게 2가지로 나뉘는데요. 1. 외국의 홍길동 같은 것. - foo 와 bar 가 우리나라의 홍길동과 같다는 설이 있습니다. 우리나라에서 어떤 공문서의 예시를 들 때 보통 "홍길동"을 성명으로 하는 경우가 있듯이, 외국에서는 그냥 관행처럼 누군가가 프로그램쪽에 함수이름과 변수이름을 각각 foo 와 bar 로 쓰기 시작했고, 그것이 지금까지 고정되었다는 이야기다. 왜 그 단어가 foo, bar 인지는 모르겠으나, 완전 막무가내 추측으로는 function 의 f 를 따고, va.. 2012. 9. 18.
[Debug & Profile] Valgrind 에 대해 알아보자. 안녕하세요 돼지왕왕돼지입니다. 오늘은 Valgrind 가 뭐 하는 녀석인지 한번 알아보겠습니다. 이 글은 Valgrind 공식 홈페이지의 내용을 번역한 내용입니다. Valgrind 에 대한 총체적 소개 ( http://valgrind.org/ ) Valgrind 는 instrumentation framework 로 dynamic 분석 툴을 만드는 데 쓰입니다. Valgrind tool 은 자동적으로 많은 memory 관리 문제와 thread bug들을 찾아내고, program 을 자세히 profile 할 수 있습니다. [번역자 주] Instrumentation Framework 은 주로 test, profile 등과 관련이 있습니다. Valgrind 를 이용해서 새로운 tool 을 만들 수도 있습니다. .. 2012. 3. 21.
[하드웨어&소프트웨어] 소수계산의 Accuracy 에 대한 고찰. * 소수 계산의 경우 Accuracy 가 떨어진다. 예를 들어 0.333333333 이 있다면 이것을 2진수로 완벽하게 표현하지 못한다. 즉 10진수 소수를 완벽하게 matching 되는 2진수로 convert 가 불가능 하기 때문에 ( 가능한 경우도 물론 많다. ) 소수연산으로 equal 연산 ( == ) 을 할 경우 원하는 결과가 나오지 않을 수 있다. 2012/02/29 - [프로그래밍 놀이터/Tips] - [하드웨어&소프트웨어] 컴퓨터가 계산을 틀리게 하는 이유. 로그인 없이 추천 가능합니다. 손가락 꾸욱~ 2012. 2. 29.
[하드웨어&소프트웨어] 컴퓨터가 계산을 틀리게 하는 이유. * 컴퓨터도 계산을 틀리게 하는 경우가 있다. 주 원인은 Overflow, Precision floating point이다. * 예방방법 1. 근사값에 만족. ( 정확한 값을 추구하기보다는 어느 정도 오차를 감안하여 근사값을 사용하도록 함 ) 2. 정수로 바꾸어 계산. 로그인 없이 추천 가능합니다. 손가락 꾸욱~ 2012. 2. 29.
[최적화] 메모리를 절약하는 프로그래밍 기법. 1. DLL ( Dynamic Link Library ) 파일로 함수를 공유 - static link 보다 효율적 & DLL 변경시 참조하는 exe의 변화 필요 없음. 2. _stdcall 호출을 통해 프로그램의 크기 줄인다. ( C언어 ) _stdcall 을 붙여주면, stack 의 clear-up 을 caller 가 아닌 callee 가 수행한다. ( default 는 caller ) 자주 부르는 함수의 경우는 callee 가 clear-up 하는 것이 더 효율적이다. ex) int myFunc( int a ) --> int _stdcall myFunc( int a ) 로 수정. _stdcall 이 없을 경우에는 caller 에서 함수호출 후 clear-up 코드가 지속적으로 추가되기 때문에 용량이 .. 2012. 2. 29.
반응형