지식공과 숙련공 대화 관리자: "이 기능이 가능한지 알아보려하니 간단하게 작성해 주겠나?" 지식공: "네, 그 분야에 대해 알고있으니 이틀이면 가능할 것 같습니다." 숙련공: "네, 이틀이면 가능할 것 같군요." 이틀 뒤, 관리자: "어디 작성한 코드를 좀 검토해 보세나." 양공: (주저리, 주저리 설명을 한다.) 관리자: "저 부분은 에러처리가 잘 되어 있지 않군. 또한 로그를 남기는 것에 일관성이 없는 것 같애. 메모리를 할당받지 못하는 경우는 어떻게 처리할텐가" 지식공: "제가 집중한 분야는 이틀전에 말씀하신 그 기능이 제대로 동작하는가입니다. 따라서 에러처리나 로그를 남기는 것은 일관성이 없을 수 있는 것 아닌가요? 그리고, 그 부분은 최호진씨의 조언에 따라 구현이된 것입니다." 숙련공: "로직을..
공상과학만화영화류의 재미있는 비판을 보거나, 공룡이 왜 느리게 움직이는지에 대한 얘기들을 보거나, 외계인이 왜 인간 크기만할까에 대한 얘기들을 대충 설명한 것을 보면, 몸집이 커지면, 활동하는데 들어가는 에너지의 소모량이 크고, 에너지가 모두 운동에너지로 변환이 불가능하므로 나머지는 열로서 방출이 되는데, 이 방출되는 양은 운동체의 표면적에 비례하는 것의 영향을 받는다. 라는 설명이 있다. 이 말은 곧, 몸집이 커지면 발열을 줄이기 위해 동작이 둔해진다는 것이고, 몸집이 작을 수록 보다 움직이면서 발열하는 양이 작고, 따라서 민첩하게 움직인다는 것인데.. 주사위의 비유 이 말을 쉽게 설명하기 위한 비유가 무엇이 있을까를 고민하다가, 어제 운전하다가 갑자기 떠오른 것이 주사위였다. 운전할 때는 깊이 생각하..
회사에 오래된 친구가 있다. 참으로 오래된 친구인데, 고등학교 때 친구이다. 간만에 신나게 웃고, 말장난으로 왁자한 밤을 보냈다. 그 친구의 신혼집 집들이에 초대된 회사사람 사람들과 그런 시간을 보냈다. 그 중 한 명은 이 오래된 친구보다 더 오래전에 만난 초등학교 친구인데, 이 둘은 서로 대학 친구이다. 나나 이 고등학교 때 친구나 초등학교 친구나 말장난 하는 게 비슷한데 오랜만에 상당히 오래도록 이야기를 주고 받았으니, 옹기종기 모여 앉은 푸짐한 식탁에 집들이 다운 모습으로 즐거운 시간을 보냈다. 밥먹고 한 컷. 임옥희, 최호진, 김주생, 인턴사원, 그리고 서있는 양용철 부부.
subversion의 현재 릴리즈는 1.3.x이다. 다른 많은 추가사항이 1.2에 대해 이루어졌지만, 그 중에서 --xml 이라는 옵션이 기존에는 svn log에만 있던것이 다음과 같이 추가 되었다. svn blame --xml [--incremental] svn status --xml [--incremental] svn info --xml [--incremental] Display output in XML. If --incremental is also used, then output XML suitable for concatenation. CLI(Command Line Interface) 환경에서 XML 포맷 출력은 분명 이 명령을 사용하여, 다른 용도로 사용하기 위한 데이터를 출력하는데 사용하리라 기..
파일 찾아 돌아다니는 사람들이 처음 만나게 되는 것 중 하나가 쓰기 권한이 있는 IIS 기반 ftp 서버에 모아져 있는 불법 파일들인데, 그 간단한 원리는 이러하다. Windows의 가상 파일 시스템은 파일이나 디렉토리명에 ".", "CON" 등의 디렉토리명이나 디바이스 명이 들어갈 수 없다고 되어 있다. 그러나 FTP Server로 생성할 수 있는 버그(?)가 있는데, 자세한 것은 찾아봐야알겠으나 곧바로 생성은 불가능하고, 이름을 바꾸는 것으로 가능한 것으로 알고 있다. 알고 싶은 사람은 ftp directory tagging 이라는 검색어로 찾아보시라. 당한 사람은 왠만해서는 그 안에 뭐가 있는지도 알 수 없을 뿐더러, 지워지지도 않는다. 우리 부서의 한 직원의 PC가 그렇게 당하여 상당히 많은 불법..
버스나 지하철을 남들보다 빨리 들어갈 수 있다면 좋은 자리에 앉거나, 좋은 자리에 서 있을 수 있다. A. 버스. 버스는 서있는 사람들에게 다가와서 멈추는 교통수단이다. 어떻게 하면 내 앞에 멈추게할 지가 생각의 요점이다. 버스 기사 아저씨는 될 수 있으면, 빨리태우고 신호등이 바뀌기 전에 가려고 하는 습성을 가지고 있다. 따라서, 될 수 있으면 자신이 태울 사람의 맨 앞 사람에게 멈추는 경향이 있는 것이다. 다음과 같이 해보자. 0. 사람들의 무리중 맨 오른쪽에 서 있는다. 대부분의 사람들이 도로를 보고 있을 것이므로 오른쪽이 버스가 가장 나중에 도착하는 곳이다. 1. 버스가 저 멀리서 오고 있다. 2. 사람들이 움직인다. 3. 기사는 이 모든 상황을 슬쩍 파악하면서 멈출 준비를 한다. 4. 최대한 기..
지난 기사에서 .ctor 섹션에 있는 코드들이 어떻게 실행되는지에 대한 호기심만 자극한 채 벌써 일주일이 지났다. 오래 참으시었다. 지난번의 코드를 다시 인용해 보자면, $ more c.c #ifdef STRIP_ATTR #define __attribute__(x) #endif void __attribute__((constructor)) before_main( void ) { printf("I miss you Lorthlorien ever beauty.\n"); } void __attribute__((constructor)) before_main_2nd( void ) { printf("Bombadil, where have you been in the morning?\n"); } void __attribu..
C++ 언어는 그 특성상, 전역 개체의 초기화가 main 보다 먼저 이루어지므로 전역 개체의 생성자에 들어 있는 코드는 main 보다 먼저 호출된다. 이것은 여러가지 트릭으로 사용될 수 있는데, C에는 과연 그런 것이 없을까? 표준 명세에는 없다. 하지만, gcc의 __attribute__에는 그러한 일을 가능하게 해주는 지시자가 있는데, 바로 다음과 같이 사용된다. void __attribute__((constructor)) before_main( void ) { /* Things to do before main function */ } 또한 main 뒤에 호출되는 전형적인 방식은 atexit에 등록하는 것인데, 이것또한 void __attribute__((destructor)) after_main( ..
호출규약으로 번역되는 calling convention이라는 주제가 있다. UNIX 쪽 C를 하는 사람들에게는 그다지 많이 다가오지 않는 주제일지 모르나, Windows 에서 프로그래밍을 하다보면, WINAPI라는 매크로를 사용할 때와 사용하지 않을 때가 있는 것을 볼 수 있는데, 저것은 실상 __stdcall 이라는 방식으로 선언하라는 것을 의미한다. 여기에는 중요한 두가지 요소가 있는데, 1. 인자 전달방식 2. 스택 청소 담당자 이다. 이런 차이에 의해 주위에서 많이 볼 수 있는 것이 다음 세가지이다. 1. cdecl 2. stdcall 3. fastcall 추가적으로 C++가 도입되면서 thiscall이라는 방식이 생겼지만, 이는 기본적으로 cdecl을 근간으로 하고 있으므로 생략하겠다. 또한 고..
- Total
- Today
- Yesterday
- ssh
- SSO
- Subversion
- tattertools
- JavaScript
- macosx
- 킹벤자민
- BlogAPI
- perl
- TCP/IP
- VIM
- 수선화
- 오픈소스
- OpenID
- nodejs
- 구근
- MySQL
- Linux
- writely
- 벤자민
- SVN
- 덴드롱
- 대화
- 클레로덴드럼
- 커피
- 식물
- Tattertools plugin
- 퀴즈
- url
- 디버깅
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |