나라의 경제를 애기하는데 파리가 앉았습니다.

“나라의 경제를 이야기하고 있는데 파리가 앉은” 사연이 인터넷을 통해 뒤늦게 알려지면서 오랜만에 ‘경제’가 네티즌들을 활짝 웃게 만들고 있다.
이른바 ‘파리와 경제’ 사건은 대신증권 나민호 팀장이 지금부터 약 3년전 출연한 와우TV ‘내일의 투자전략’ 생방송 프로그램 도중 생겼다.
방송 도중 터진 웃음보 수습 불가
한경 와우TV 강기수 기자가 MC를 맡아 생방송으로 진행된 프로그램 도중, 스튜디오 안에 파리가 날아들어 나 팀장의 안경에 앉았다.
전혀 예상치 못한 황당한 일에 뜬금없이 강 MC가 웃기 시작했다. 이심전심으로 웃음은 걷잡을 수 없는 것으로 변해 나팀장에게 번졌다.
이를 악 물고, 침도 삼켜보았지만 나팀장은 터진 웃음이 수습되지 않았다.
강 MC가 “나라의 경제를 이야기하고 있는데 파리가 앉았습니다”라며 재치있는 멘트를 ‘날렸다’. 그러나 오히려 이 멘트가 ‘웃음보’에 바람을 넣은 꼴이 됐다. 주조정실에서는 방송 화면대신 VTR 자료 화면까지 ‘긴급 투입’돼 숨을 돌렸다.
그러나 잠시후 다시 방송 시작됐지만 설상가상, 이번엔 프로그램을 진행하던 강기수 MC가 다시 웃음을 터트렸다. 서로 얼굴만 보면 웃음을 참을 수 없는 상황. 둘은 자리에 마련된 노트북과 원고만 쳐다보면서 진행을 해 나갔지만 이미 한번 터진 웃음보가 도무지 줄어들지 않았다.
나민호 팀장,”경제가 어려운데 이렇게라도 웃음줘 다행”
실제로 나 팀장은 9일 인터넷에 이같은 동영상이 돌고 있는데 대한 소감을 묻는 노컷뉴스의 질문에 “당시 허벅지를 꼬집고, 강 MC는 펜으로 허벅지를 찔렀지만 진정되지 않았다”면서 “이때문에 지금도 오른쪽 다리가 불편하다”며 너스레를 떤다. 사태는 자료화면이 한번 더 ‘구원투수’로 등장하면서 결국은 더이상 생방송 진행이 안되고 파국(?)을 맞았다. 이 동영상은 2001년 당시 자료화면이 한경와우의 사내 게시판에 올려지면서 인터넷에도 돌게 됐다고 한다. 인터넷에서 화제가 되다보니 나 팀장의 동료들 역시 이 동영상을 대부분 보았다. 반응은 만점이다. 주변에선 “정말 재밌으니 1천원씩 받고 보게 하라”는 권유가 있을 정도.
나 팀장은 “당시엔 ‘방송 망칠 거냐’며 담당 피디에게 많이 혼났다”며 “그러나 경기가 많이 어렵고 경제 전망도 불투명한 때 3년전 출연한 ‘경제’ 관련 방송이 네티즌들에게 즐거움을 주게 돼 나 역시 즐겁다”고 말했다.
노컷뉴스 홍석재기자 nocutenter@cbs.co.kr얼굴에 파리 앉아 스타 된 증권 전문가

TV 생방사고 동영상 확산
‘파리의 남자’ 나민호씨 유명세

정지섭기자 xanadu@chosun.com

TV 생방송 중 발생한 작은 ‘사고’가 점잖은 증권 전문가를 인터넷 스타로 띄웠다.

주인공은 대신증권 나민호(42·사진) 투자분석팀장. 그는 지금 네티즌들이라면 얼굴을 다 알아볼 만큼 유명해졌다. 지난 2001년 한국경제TV에 출연했을 당시 발생한 방송사고 동영상을 2주일 전 방송사 스태프가 인터넷에 올림으로써 뒤늦게 급속히 퍼진 것이다.

사고의 내용은 심각하게 증시 상황을 설명하던 나 팀장의 얼굴에 파리 한 마리가 내려 앉는 바람에 웃지 못할 소동이 벌어진 것. 생방송 중이었지만 그는 웃음을 참지 못했고, 터진 웃음보는 옆자리 강기수 앵커에 고스란히 전달됐다. 두 사람이 어떻게든 웃음을 억누르려고 눈을 찡그리고 이를 악다무는 ‘가련한’ 동영상은 인터넷에서 대히트했다. 당시 강 앵커가 사태를 수습해 보려고 “나라 경제를 얘기하는데 파리가 앉았습니다”라고 했던 말은 유행어가 되기도 했다. 나 팀장은 “그때 웃지 않으려고 군대에서 맞던 생각 등 인생에서 서럽고 슬픈 온갖 생각은 다 하고, 허벅지까지 꼬집었다”고 했다. 그는 “지난주 지방 출장차 KTX를 탔는데, 옆자리 승객이 절 보고 계속 웃더라”고 했다. 강 앵커 역시 연락이 끊겼던 고교 동창생 군대 동기들에게서도 이메일이 왔다고 한다.

나 팀장은 “제 별명이 ‘파리의 남자’가 됐어요. 앞으로 증권 전문가보다는 ‘살충제 모델’로 뜨는 쪽이 더 빠르지 않겠느냐는 농담도 듣습니다”라고 했다. 대학 선·후배인 나 팀장과 강 앵커는 이번주에 ‘얼떨결에 인터넷 스타 등극’을 자축하는 자리를 마련할 계획이다.

일단 작성하고 고쳐보는 개발

일단 작성하고 고쳐보는 개발
길을 닦고 굴림대를 준비하는 데 충분히 주의를 기울이지 않았을 때 생기는 문제점은 소프트웨어를 개발할 때도 똑같이 발생한다. 전체 소프트웨어 개발 팀 75%는 무작정 바위를 밀면서 프로젝트를 시작한다.
이것을 일단 작성하고 고쳐보는 개발 (code and fix development)이라 한다.
즉 소프트웨어 계획이나 설계없이 바로 코딩으로 들어가는 것이다. 개발자들이 코딩하기를 열망하거나, 관리자나 고객들이 진척상황을 빨리 눈으로 보고 싶어하기 때문에 이렇게 하기도 한다. 일단 작성하고 고쳐보는 개발은 아주 소규모의 프로젝트가 아니면 전혀 효과를 발휘하지 못한다.

일단 작성하고 고쳐보는 개발의 문제는 (우리가 바위를 무작정 옮기겠다고 덤볐을 때처럼) 출발선에서 빨리 떠났다고 해서 결승선에 빨리 가까워진다는 것을 의미하지 않는다는 데 있다. 진보된 접근 방식을 사용하는 팀은 생산성을 높은 단계까지 끌어올리고 효율적으로 일을 끝마치도록 도와주는 프레임워크를 사용한다. 사용한 프레임워크를 정하는 것은 바위 밑에 굴림대를 가져다 놓고, 길을 닦고, 프로젝트 님의 에너지를 한 곳에 맞출 수 있도록 준비하는 과정을 뜻한다. 일단 작성하고 고쳐보는 프로젝트는 바위를 일찌감치 옮기기 시작하지만, 매일 충분한 양만큼 옮길 수 있는 것은 아니다. 같은 속도를 지속하기도 쉽지 않다. 일반저긍로 이러한 접근 방식은 초기부터 몇십 만개의 결함을 발생시키다. 몇몇 연구에 의하면 소프트웨어 프로젝트 예산의 40% – 80%가 초기 결함을수정하는데 쓰인다고 한다.

일단 작성하고 고쳐보는 개발은 두 가지 측면에서 매력적이기 때문에 계속 쓰인다.
첫째, 실행 즉시 얼만큼 진척했는지 알 수 있다.
둘째, 프로젝트를 진행하는데 어떠한 훈련도 요하지 않느다는 것이다. 소프트웨어공학적 훈련이 부족한 업계는 이 방식을 가장 많이 사용한다. 일단 작성하고 고쳐보는 식의 접근은 바보들의 황금과 유사하다. 첫눈에는 더할 나위 없이 좋아 보이지만, 숙련된 개발자들은 그것이 얼마나 가치 없는 것인지 안다.

변수 이름을 체계적으로 지어라

1. 변수 이름을 체계적으로 지어라.
2. 헝가리안 표기법으로 변수 이름을 지어라.
3. 변수의 자료형을 변수 이름에 접두사로 표기하라.
4. 기억 영역 계층을 접두사로 활용하라.
5. 함수의 역할을 접두사로 활용하라.
6. 자신만의 접두사를 만들어 활용하라.

7. 이름을 의미 있게 지어라.
8. 비슷한 변수 이름을 사용하지 마라.
9. 의미를 잃지 않는 범위에서 짧게 지어라.
10. 이름이 길면 밑줄 또는 대소문자를 구분하라.
11. 변수 이름을 밑줄로 시작하지 마라.
12. 대소문자를 적절히 배합해서 만들어라.
13. 대소문자를 구분한다는 것을 악용하지 마라.

변수의 자료형에 따라 붙이는 접두사

접두사 접두사가 지시하는 내용
a 배열
arr 배열
b bool형 변수
c character형 변수
d double형 변수
f float형 변수
fd 파일 기술자
fp 파일 포인터형 변수
h 핸들
i int형 변수
n int형 변수
p 포인터형 변수
pfn 함수에 대한 포인터
r 참조형 변수
s String형 변수
str CString형 변수
u 부호 없는 정수(U=unsigned int)형 변수
w word형 변수 = unsigned int형

예 : iNumber, iCounter i_number

변수의 기억 영역 계층과 접두사

접두사 접두사가 지시하는 내용
a 자동(auto) 변수
s 정적(static) 변수
g 전역(global) 변수
e 외부(external) 변수
r 레지스터(register) 변수

예 : int siMyNum; int riCounter;
global unsigned char g_ucMynum;
global unsigned char g_uc_mynum;

함수의 접두사를 활용한 예

함수 예 의미
GetNumber() ‘Get’으로 수를 얻기 위한 함수라는 것을 알 수 있다.
SetNumber() ‘Set’으로 수를 설정하는 함수라는 것을 알 수 있다.
MaxNumber() ‘Max’로 수치 중에 최대값을 얻는 함수라는 것을 알 수 있다.
PutNumber() ‘Put’으로 수를 저장하기 위한 함수라는 것을 알 수 있다.

프로그래머들 사이에서 관행적으로 쓰이는 접두사

접두사 지시하는 내용
Avr 평균값을 얻는다 AvrOfTot
Cnt 데이터의 개수를 얻는다 CntAllthing
Check 어떤 값을 검증한다. ChkData
Get 어떤 값을 얻어낸다. GetData
Set 어떤 값을 설정한다. SetData
Is 무엇인가에 대해서 묻는 역할을 한다. IsKey
Key 데이터 중에서 키 값만을 얻는다. KeyPaymentTable
Max 최대값을 얻는다. MaxOfNum
Mid 중간값을 얻는다. MidOfData
Min 최소값을 얻는다. MinOfArray

프로그래머들 사이에 관행적으로 쓰이는 축약어

어휘 축약어
function func
number num
day d 또는 dd
month m 또는 mm
year y 또는 yy
temporary temp
terminate end
terminal term

대소문자를 구분하여 이름을 짖는 프로그래머의 관행
1. 변수나 객체의 이름은 소문자를 시작한다.
2. 함수, 클래스, 구조형, 공용형 등의 이름은 대문자로 시작한다. (메소드 포함).
3. 기호 상수나 매크로 함수는 모든 글자를 대문자로만 짓는다.

주석을 작성할 때 좋은 코딩 습관

프로그램의 앞부분에 머리 주석을 반드시 달아라
잘 만들어진 주석의 예
/*****************************************************************************/
/* 파일명 : newaccnt.c
/* 작성자 : 1. 출처 :
www.gnu.org의 logcount.c
/* 2. 작성 : 소프트웨어 개발 2팀 아무개
/* 목적 : 사용자 로그 기록을 읽어들여
/* 콜 센터에 제공할 통계를 작성한다.
/* 사용방식 : 매일 한번씩 운영체제에 작성한
/* 스케줄러 프로그램 sched.exe에 의해서 자동으로 실행된다.
/* 이 프로그램을 컴파일하여 만든 실행 파일인 newaccnt.exe는
/* 반드시 sched.exe와 같은 디렉토리에 있어야 한다.
/* 사용파일 : userlog.dat를 읽기모도(r)로 읽어 통계를 낸 후에
/* useracnt.dat에 갱신 모드 (w)로 통계를 기록한다.
/* 제한사항 : 1. userlog.dat이 사전에 반드시 먼저 작성되어 있어야 한다.
/* 만약, 작성되어 있지 않다면 logcount.exe 파일이 제대로 작동하는지 점검한다.
/* 2. 이 프로그램은 반드시 새벽 2시 이후에 작동되어야 한다.
/* 만약 스케줄러 프로그램인 sched.c를 수정하는 경우에 이 시간을 고치지 말것.
/* 오류처리 : 1. 각종 오류가 발생한 경우에 오류 로그파일을
/* errlog.dat로 작성하고 바로 종료한다.
/* 이력사항 : 1. 2002년 3월 10일 최초 작성
/* 2. 2002년 6월 5일 스케줄러 프로그램과 연동되도록 수정
/*****************************************************************************/

/************** 이력사항 *****************************************/
/* v 1.0, 1990.10.1, 통신연구소, 아무개, 최초의 통신모듈을 작성하다.
/* v 1.1, 1990.11.1, 통신연구소, 아무개, callprooc()를 개선하여 속도를 높이다.
/****************************************************************/

다양한 주석의 형태
/* 한 줄 주석은 프로그램의 본문 주석에 많이 사용된다. */
/* –>주의 : 오류 메시지 처리 확인 요망 <–*/
/*>>>>>>>>>>>>> 정밀 계산 루틴 <<<<<<<<<<<<<*/
/*
* 여러 줄에 걸친 주석을 이런 식으로 작성할 수 있다.
* 이런 꼴의 주석은 특별히 강조할 사항은 아니지만
* 긴 문장으로 장황하게 설명하여야 할 때 사용한다.
*/

/*
* 이 모듈은 입력값을 검증한다.
* —————————————————————–
* 줄을 만들어 주석내용을 구분하기도 한다.
*
*/

/********************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 경고 (Warning) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/********************************************************/
/* 이 프로그림은 특별히 주의를 요한다. 열차의 제어
/* 모듈이기 때문이다. 모든 수치를 정밀하게 검증할
/* 필요가 있으면 수십 차려 이상 테스트해야 한다.
/********************************************************/

/*****************************************/
/******************************************
/**** 주의사항 : 절대로 이 프로그램에서는 ******
/**** 부동 소수점 연산을 하여 근사치를 ******
/**** 사용하면 안된다. 반드시 정수형면수만******
/**** 사용하라. 형 변환이 일어나서도 안된다*****
/******************************************
/*****************************************/

한 줄 주석과 주석 상자를 구분하라.

변수 사전 작성요 주석을 달아라
int area; /* 면적 : 지금 시공할 건물의 대지 면적을 계산한다.*/
int wide; /* 넓이 : 대지의 동서방향의 가로길이, 미터단위로 계산한다. */
int height; /* 높이 : 대지의 남북방향의 세로길이, 미터 단위로 계산한다.*/

의사 코드를 프로그램에 기입하라
프로그램의 목적을 주석으로 달아라
/**********************************************/
/* 언제 작성일 : 2004년 2월 10일 */
/* 어디서 장 소 :
/* 누가 작성자 :
/* 무엇을 코드성격 : php 코드로 약 20여줄
/* 왜 작성사유 :
/* 어떻게 작성환경 : APM
/**********************************************/