그동안 잘 써오던, VDSL이 이번 연휴기간 맞이 특별 고장을 일으켰다. 한 5,6년 전 99년인지 2000년 초인지에 ADSL을 사용하고 나서 얼마 안되어, 깜냥에는 네트워크 전문가랍시고, ADSL 이 안되어 ISP(KT) 기사를 불러 놓고, 상당히 열받은 제스쳐를 얼굴에 써가면서, 몇시간 인터넷이 안된 상황을 불쾌하게 피력한 적이 있었는데, 이번에도 비슷한 상황이 비슷하게 전개되어 이 찜통같은 더위에, 과거 전력이 생각이 났으나, 마침 오랜만에 스타크래프트 에피소드를 따라가느라 인터넷이 그닥 필요치 않은 상황도 그랬거니와, 삶의 주름살도 여유를 보태어, 공연한 제스쳐를 굳이 만들지 않아도 되는 업그레이드된(?) 고객이 되었기 때문에 휴일임에도 수리 기사를 보내어 오는 넉넉함에 일단 한 수 접고, 봐주..
한 사람의 창조성이 어떠하냐는 종합적인 생각과 밀접하게 연결된다고 말하고 싶다. 먼저 창조성과 종합적인 생각에 대하여 정리하자면, 창조성이란 다른 사람이 생각못한 천재적인 것도 있겠지만, 그보다는 덜하여도 새로운 것을 추구하려는 성향을 뜻하고, 종합적인 생각이란 앞만 바라보지 않고 옆과 전체적인 흐름을 보는 것이라 말 할 수 있겠다. 한 사람의 창조성은 어떤 문제를 해결함에 있어서, 그 문제를 해결하였다는 것만을 의미하지 않는다. 그것은 단지 그 사람의 기본 능력을 발휘하였을 뿐이며, 다른 사람에게 보이기에 그 이상도 그 이하도 아닌 것이다. 그것은 문제를 해결하되, 그 방법이 미래 지향적이며, 다른 것과 연관된 문제에 대한 적절한 처리를 하였다는 것에 있다. 종합적인 생각이 결여된 창조성은 돌연변이와 ..
장애인 무슨 협회인지, happy 뭐라는 사이트와 관련된 단체라고한다. 작년 7월에도 내가 거절했고, 올해 2월에도 거절했단다. 모두 기억이 안나지만 이 전화를 거절하게 되어서 세번째 거절하는 것이 된다. 전화를 주시는 분은 약간 음성이 떨리고, 인간적인 생각으로 전화를 끊게 되는 것이 도의상 안되는 짓을 한 것 같다는 생각이 든다. 많은 생각이 든다. 내가 이런 류의 전화를 모두 거절할 만큼 매말랐거나, 몇몇 후원하는 것을 핑계로 마음을 닫거나, 이미 충분히 생각하지 않고 나도 잘 모르는, 사실 연고가 없는 단체를 후원하고 있기 때문에, 난 그 단체냐고 되물었지만 거기가 아니랜다. 내가 생각하는 후원은, 어떤 방식으로든 그 단체를 내가 알게되는 사람이 있어야 가능하다고 생각한다. 단지 그 단체가 무슨 ..
지난 1주일 노력 많이 했다. 20개 이상되었던 것을 모두 답변처리 혹은 다음 버전에 픽스하여 넣도록 수정하여 2 개로 줄이다. 오늘은 휴일이거든, 무슨 일이었냐고? 팀전체는 75개에서 25개로 줄이게 되었는데, 모두 묘한 경쟁체제 덕이 아닌가 싶다. ^^; 버그 트래킹 시스템의 TODO list를 한 시간에 한 번씩 메일로 날아 오도록 프로그램해놓았거든. 다른 글에서 소프트웨어 번역에서 경쟁의식을 느껴가며 (혼자서만) 일하는 것을 소개한 적이 있는데, 인간이 그런 것인지 아니면 내 성향이 그런 것인지, 꽤 건전한 성장 동력이 되는 것 같다. 주체할 수 없는 어떤 힘이 있을 때, 그것을 막는 것 보다는 잘 길들일 수 있고 힘이 분출 될 수 있는 길을 만드는 것이 현명한 일이다. 내 안에 있는 힘들의 종류..
이번에도 지난번 글과 같이 간단한 함수의 디스어셈블을 통하여 함수호출시에 일어나는 일들을 살펴보고자 한다. 참고로 이와 같은 학문(?)의 범주는 다음과 같은 위치에 있다. * C 언어 표준 스펙 * intel x86 CPU의 System V Application Binary Interface * gcc의 구현 System V ABI 를 검색어로 찾아 보면 원하는 글을 찾을 수 있을 것이다. void func6( char x1, char x2, char x3) { x1 = 1; x2 = 2; x3 = 3; } struct _p { int a1; int a2; int a3; }; void func7( struct _p p1, int p2 ) { p1.a1 = 1; p1.a2 = 2; p1.a3 = 3; p2..
C 언어는 전통적으로 다음과 같은 방식으로 실행파일이 만들어진다. (1) 편집기를 통한 소스 작성 (2) 전처리기를 통해 소스로부터 매크로 확장 및 주석 제거 (3) 컴파일러를 통해 전처리된 코드로부터 어셈블코드 생성 (4) 어셈블러를 통해 어셈블코드로부터 목적파일 생성 (5) 링커를 통해 목적파일들 (라이브러리 포함)의 결합에 의한 실행파일 생성 이 중에서 (3) 번과정을 재미로 살펴보면서 어떤일들이 일어나는지 알아보고자 한다. 테스트한 환경은 다음과 같다. * x86 CPU * gcc 3.3.2 테스트 코드는 다음과 같다. void func1() { } void func2( int x ) { x = 0; } int func3() { return 7; } void func4() { int y; y = ..
- Total
- Today
- Yesterday
- 커피
- 퀴즈
- VIM
- writely
- tattertools
- Linux
- nodejs
- 대화
- 수선화
- SSO
- url
- 킹벤자민
- Subversion
- 클레로덴드럼
- perl
- 오픈소스
- macosx
- JavaScript
- 구근
- Tattertools plugin
- SVN
- 식물
- ssh
- 벤자민
- 디버깅
- MySQL
- 덴드롱
- TCP/IP
- BlogAPI
- OpenID
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |