반응형

분류 전체보기 748

외부 binary 링크하여 컴파일하기

외부 파일에 함수를 만들어 놓고 별도 컴파일 한 후에 최종 실행 파일을 만들 때 이것을 같이 묶어서 컴파일 하는 것을 C 프로젝트에서 많이 사용하게 된다. 이 기초적인 작업의 샘플을 여기에 쉽게 써 보겠다. 두개의 파일을 작성한다. 하나는 func.c 이고 또 하나는 call.c 이다. func.c 에는 함수만 들어 있고 call.c 에는 main함수가 들어 있어 실행이 가능하게 된다. 먼저 func.c 를 다음과 같이 작성했다. #include long func_a(); long func_a() { printf("here is func_a!\n"); return 0; } 함수 이름 앞에는 return type 으로 long 을 지정 했다. 만일 static long func_a() 라고 선언하게 되면 ..

VIEW 의 쿼리에디터 폰트 설정

DBIO를 작성할 때 특히 VIEW나 EXECSQL을 작성할 때 SQL에디터에서 컬럼 줄을 가지런하게 맞추기 위해서는 폰트설정을 해야 한다. 이렇게 가지런한 SQL을 보기 위해서는 프로프레임 스튜디오의 환경설정->프로프레임->DBIO 섹션에서 맞출 수 있다. 나는 개인적으로 Courier New-regular 를 좋아한다. 물론 사이즈는 개인적인 화면의 크기에 따라 맞추면 되겠지만 사이즈 9 정도가 적당하다. 모든 프로그램이 그렇지만 가지런하게 줄을 맞추는 것은 개발자의 기본소양이다. 그래야 자기 자신이 나중에 프로그램 분석할 때도 도움이 되고 남은 사람이 유지보수할 때도 보기에 편하다. 가독성이 떨어지는 프로그램을 만날 때 마다 개발자를 찾아서 한대 패 주고 싶은 것은 누구나 마찬가지 마음일 것이다.

머리가 길었다

근무하고 있는 하나은행 명동허브 빌딩 앞에서 점심을 먹고 한컷을 찍었다. 뒤로 명동 입구가 보이고 왼쪽이 하나은행 명동 허브 빌딩이다. 물론 오른쪽 저 뒤에 길건너 보이는 것이 롯데백화점 영플라자이다. 이제 머리가 상당히 길었다. 이 머리를 두고 가장 괴로와하는 사람은 아들이다. 아들은 아빠 머리 때문에 친구들이 놀린다고 머리를 옛날처럼 깍으라고 거의 읍소를 하다시피 한다. 다들 멋있다고 한다고 했더니 그 사람들은 가족이 아니라서 그렇게 말해 주는 것 뿐이라면서 실제 속마음은 그게 아니다고 하소연한다. 아무래도 곧 다시 깍아야 할까 보다. 다시 머리를 깍아야 할 까 고민이다. 실제로 길을 가다다 아주 어린 아이들을 만나면 나를 자세히 본다. 아마도 남자인 거 같은데 머리가 긴 걸보니 여자인가 싶기도 한 ..

멜번초이는 2008.09.18

소똥치기

시골집에서는 소를 키우는데 보통은 6마리를 키우고 있다. 과거에는 큰 소 한마리가 700만원 정도 했는데 지금은 250만원 정도 한다고 한다. 그나마 짭짤하던 수입이 이제는 사료값이나 인건비도 안 나오는 수준으로 소값이 떨어져서 소키우기를 포기해야 할 정도가 된 듯 하다. 그러나 이놈들은 여전히 매일 똥을 싸기 때문에 치워줘야 한다. 이 소똥치는 작업이 다리와 허리가 안 좋은 노인이 하기에는 상당히 부담되는 작업이라 시골에 내려가면 으례히 소똥을 한발 치우게 된다. 소똥을 먼저 입구 쪽으로 모은 다음에 경운기에 퍼 담는다. 그런 후 경운기로 사과밭으로 싣고 가서 다시 뿌려야 하는데 이것도 제법 힘이 든다. 봄에 뿌리기 위해서 겨우내 밭 귀퉁이에 쌓아 놓고 숙성을 시키기도 한다. 이때 비닐 같은 것으로 덮..

주왕산 주산지

경상북도 청송군에는 주왕산이 있다. 이 주왕산 귀퉁이에 주산지라는 저수지가 있는데 유명하다고 하여 가족들과 같이 가 보았다. 워낙에 예술적 감흥이 없는 터라 동네에 흔히 있는 저수지랑 별반 차이가 없어 보였지만 사진을 몇 장 찍어 왔다. 주산지 주차장에는 이런 돌이 하나 서 있는데 무슨 유명한 영화를 여기서 촬영을 했던 적이 있는 모양이다. 이 주차장에서 한 20분 정도 걸어서 산으로 올라가면 주산지에 도착하게 되는데 비가 안 와서 수량이 많이 줄어 버들나무가 물위로 드러나 있었다. 주산지에는 커다란 버들나무가 30여그루가 있는 것이 특징이란다. 우리가 보통 개울가에서 봐왔던 버들나무는 키가 1미터 남짓하는 연약한 것인데 이 주산지에 있는 버들나무는 나이가 몇살이나 먹었는지 몰라도 엄청 크다. 이 버들나..

하나은행에 핀 해바라기

지난 6월 초에 하나은행 프로젝트에 투입되어 하나은행명동허브 빌딩에서 근무하고 있다. 이 빌딩은 과거 서울은행 본점 빌딩이었으나 지금은 하나은행의 소유인데 4층에 조그마한 테라스가 있어서 휴식의 공간으로 많이 활용한다. 난 여기에 7월초에 해바라기를 심었다. 그러나 이 땅이 그렇게 기름진 땅은 아니었나 보다. 해바라기를 여럿 심었지만 다들 줄기가 굵어지지 못하고 비실비실하더니 이래저래 쓰러지고 살아남아 꽃을 피운 것은 몇 안 된다. 처음 심었을 때 싹이 쑥쑥 자라 올라서 크게 될 놈이 아닌가 기대도 했지만 점점 커가면서 줄기가 더 이상 굵어지지 않고 또한 키도 쑥쑥 자라지 못 하였다. 땅에 어떤 환경이 자라는데 장애가 되는 것인지는 모르지만 하나은행 명동허브 빌딩의 4층 테라스 화단에서의 해바라기 가꾸기..

한국생활기 2008.09.17

연금보험, 종신보험 해지

ING 종신보험 해약 2008년8월21일 명동 외환은행 본점 바로 옆에 있는 센트럴빌딩에 가서 ING생명의 종신보험을 해약했다. 8년간 불입했고 총 불납입금액은 4백4십만원 정도 되는데 해약환급금은 1백2십만원 정도 나왔다. 해약환급금은 당일 오후에 지정한 계좌로 바로 입금되었다. 해지에 대한 설득이나 설명은 따로 없이 매우 신속하게 처리해 주었다. 삼성화재 연금보험 해약 2008년9월10일 점심시간을 이용해서 을지로에 있는 삼성화재에 가서 연금보험을 해지했습니다. 물어봤더니 매달 원화로 납부해야 한다고 해서 해지하기로 마음먹었습니다. 2005년 부터 넣었으니 3년 정도 넣은 셈이지요. 총 납입금액이 450만원 정도였는데 해지환급금이 400만원 정도 나왔습니다. 그런데 여기서 매년 연말정산 때 공제받았을..

strcpy 의 위험성

strcpy 를 사용할 때 그 변수의 사이즈에 대하여 정확히 인지를 하고 사용해야 한다. 자칫 잘못하면 엄한 메모리의 영역까지 엎어칠 수 있다. 다음의 예제는 a 라는 스트링 변수에 문자를 2 byte만 넣을 수 있는데 이것을 오버하여 무턱대고 strcpy 를 했을 때 그 뒤에 바로 따라오는 변수 b의 기존 값(12345)이 뭉개져 버리는 것을 보여주고 있다. #include #include #include typedef struct a { char a[3]; char b[10]; } a_t; main() { a_t a; strcpy( a.b, "12345" ); printf("b ptr=[%p] len=[%ld] size=[%ld] value=[%s]\n", a.b, strlen(a.b), sizeof..

아파트에 핀 도라지

아파트 화단에 몇 년째 피어나는 도라지가 있다. 소나무를 캐올 때 흙속에 씨가 따라왔다가 아파트에서 피어난 것으로 추정된다. 작년에도 이맘때 이 꽃을 보면서 "어 도라지꽃이 피었네" 라고 했던 기억이 나는 것으로 보아 몇 년째 계속 피고 있는 것이다. 이 소나무가 여기로 이사 온 것이 5년 째 이니깐 잘 하면 5년 이상은 묵은 도라지 일 가능성이 높다. (5년근 도라지) 그것도 백퍼센트 순수 국산 산도라지.. 그러나 씨가 싹이 튼 것이 아니라 소나무를 캐올 때 30년 묵은 소나무와 같이 친구먹던 도라지가 흙 속에 묻혀서 같이 와서 살아 남았다고 가정을 한다면 이거 대박이다. 이 거 캐먹으면 산삼먹는 거나 다름 없는 효과를 보지 않을까? 안타깝게도 이것이 도라지인 줄 모르는 젊은이들이 많다. 그래서 내가 ..

오라클 리스너 떠 있는지 확인하는 방법

오라클 리스너 확인하기 1. 리스너 구동하기 lsnrctl start : 리스너 구동하기 lsnrctl stop : 리스너 중단하기 이 명령어는 오라클이 설치되어 있는 서버에서 실행해야 한다. 당연 oracle 유저로 실행해야 먹을 것이다. 윈도우 커맨드모드에서 실행하는 client 용 명령어는 아니다. 2. 리스너 환경 파일 $ORACLE_HOME/network/admin 아래에 있는 listener.ora 3. tnsping 사용하여 외부에서 리스너 동작 확인하기 사용법 : tnsping TNS명 C:\Documents and Settings\SHCHOI> tnsping DBDCBS1 TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Product..

반응형