알고리즘.  뭐.. 그런거.

나는 알고리즘을 거의 다 잊은 듯 합니다.
사실 지난주까진 내가 배운 대부분의 알고리즘을 머리속에 넣고 있다고 생각했었습니다.
생각만 했었지요.
학생 때, 그리고 새로운 몇몇 알고리즘 책이 나올때마다 사서 읽고 연습도 하고 했었지요.

자, 지난주에 경력직 면접을 보면서 저에게 '소수' 구하는 알고리즘을 물어봤습니다.
네, 뭐 그정도 쯤이야 하며 설명하던 찰나.. '소수'구하는 로직이 기억나지 않았습니다.
설마.. 소수 알고리즘을.. 하며.. 당황하던차에 소수의 정의도 정확하게 기억하지 못하는
스스로를 깨닳았습니다.

소수, 1과 자신으로 나누어지는 수를 제외한 더 이상 나누어 지지 않는 수.
네, 이게 소수죠. 더 이상 나누어지지 않는 수라는 건 기억해 냈지만, 거기에 1이 아닌것은
기억도 못했습니다.

소수 구하는 기본 공식은 아주 간단합니다.
예를 들어,

수 n 이 소수인지 구하기 위해서는, 2 부터 시작하여 n-1 까지의 수로 나누어 지는지
확인을 하여 나눈 수의 몫이 0일 경우 소수가 아닌 것이 됩니다.

int sosu( int n ) {
   int i = 0;
   for( i = 2; i < n ; i++ )
       if( n % i == 0 ) return -1;  // 소수가 아님.
   return 0;  // 소수라면 0 리턴.
}
   
이렇게 됩니다.
이 알고리즘의 경우 n=97 이라면 루프가 96번 돌겠죠. 2부터 97까지.
네. 97은 소수 입니다.
소수가 아닌 수들은 중간에 -1 return 을 받을 테고요.

이것 말고도 몇가지 더 소수 구하는 알고리즘들이 즐비합니다.
간단하죠?

자, 저는 이 알고리즘을 알아내기 위해 책을 좀 들쳐봤습니다.
바보같죠. 네 몇일간 전 바보같은 줄 알았습니다.
몇일전 7년차 고참에게 알고리즘 기억하세요? 라고 뭍기 전까지.

과장님이 말씀하시길, 신입개발자 뽑는 것도 아닌데 별걸 다 물어본다고 하시더군요.
물론 알고리즘등이 중요한 개발이슈를 가지는 회사들도 있습니다.
그런 회사에겐 필수겠죠. 제가 그런회사로 이직하려는 건지 모르겠어요.
만약 그런회사라면, 저는 다시 미친듯이 공부해야 합니다.
저는.. 아마도 대다수의 알고리즘을 다 잊은 듯 하거든요.

아.. 여전히 약간 암울하긴 합니다.
얼마나 어떻게 공부를 해야 살아남는 곳이 될지.. 여기는 IT 바닥이라지요.
머리 좋은 초짜 개발자들은 몰려오고요!
매년 새로운 플랫폼과 개발방법론, 새로운 아키텍쳐, 새로운 언어.. 새로운 .. 새로운...
일자리는 줄어들고요... 후훗.
그렇습니다.

하지만. 힘내요! 우리에겐 연륜이라는게 있잖아요.. 쿨럭..>.,<
이게..도움이 되는 말인지..
다만, 늘 공부는 해야겠지요.

열정이 식지 않는 개발자로 남기를.


몇가지 시행 착오를 거처 티스토리 원격발행을 설정해본다.

티스토리 서브도메인은 그냥 되는듯 하지만, 개인도메인이 연결된

원격발행에 대한 시착착오를 이야기 해볼까합니다.


일단. 내 티스토리 블로그는 http://blog.lieps.kr 이며, 실제로 http://lieps.tistory.com 으로도 연결 가능합니다.


일단, 서비스사이트가 티스토리라서 이에 맞게 설정해서 연결을

시도했지만요,

"요청이 잘못 되었습니다" 하고 나옵니다. 아- 아직 안되는 건가? 하고 생각하고 있었지만, 다른분들은 다들 연결이 되었다고 하네요. 그렇다면,

뭔가 다른문제가 있겠거니 했지요.


일단, 티스토리와 이곳 thoth 는 모두 제 개인 도메인이 연결되어 있습니다.

그래서 뭔가 지원이 다른가? 하고 생각중이었고요.

네. 다릅니다.

thoth 원격 발행 설정시 개인도메인으로 연결이 되어 있으면, 티스토리로 인식 못하는 듯 합니다.

직접입력으로 하셔야 합니다. 그래야 연결 가능합니다.


아이디와 비밀번호는 티스토리의 접속 아이디(혹은 이메일), 접속 패스워드를 사용하셔야 합니다.

티스토리 원결설정에 표기되어 있는 원격발행을 위한 ID가 아닙니다.


좀, 헤깔리는 부분이 있었지만, 실제 원격발행을 위한 설정은 엄청 간단하네요.

지금 확인했지만, 이글루스와 네이버도 연동가능하도록 추가되었네요.


추신, 이글은 http://blog.codelab.kr 에서 thoth 서비스로 발행되었습니다.

어제, 정확히 오늘 새벽, 떡이떡이님이 쏘아 올리신 thoth.kr 비공개 베타
인증쿠폰을 한장 얻어서 기대감?을 앉고 오늘 첫 사용 소감을
자-알 쓸려다가 약간 짜증을 가지고 살짝 글을 올려봅니다.

thoth.kr, 새로은 블로깅 시스템을 기대했어요.
XE엔진이 코어라면, 사실 저는 예전에 게시판으로써의 제로보드는
좋아했지만, 블로그로써의 기능을 억지 추가하여 만든걸 써본적이 있는데
그닥 좋았다는 생각을 하지 못했어요.

사실 XE가 얼마나 좋은지 아직 모르겠어요. 그 이후로는 제로보드 자체를
사용하지 않았으니까요. (뭐 사실, 보드보다는 블로그로 넘어간거지요..)

각설하고,
토드의 모토가 좀더 편하고 기존 서비스보다 사용성 측면에서 나은
서비스를 만드는 것을 특히, 글쓰는 도구에 대한 광고를 대대적(?)으로
해온바, 사실 약간의 기대감을 가지고 있습니다.

아직은 클로즈드 베타이며, 좀전에 알파테스트를 끝낸 서비스니까요.
일단, 토드 계정을 만들었고, 지금 첫 글을 올리고 왔씁니다만,
사실 그 글은 거의 짜증 섞인 단어들만 나열한 것 뿐이에요.

글 쓰다 아이콘 잘못 클릭해서 2번이나 글이 날아갔거든요 :-(
어쨌뜬, 토드의 글쓰는 도구들을 기대하고 있습니다.

빨리 이런저런 버그 고치고 정식 서비스가 오픈 하길 기대합니다.
곧, 티스토리도 그 기능들을 추가하게 될지.. 그것도 약간 기대합니다 :-) ㅎ

제 짜증썩인 토드 첫 글입니다.
http://blog.codelab.kr/20751

이 글은 대단히 감정적인 글이며 지극히 개인적인 일이다.

나는 오늘 대단히 기분나쁜 일을 당했다.
이것은 지극히 프라이버시를 침해한 일이며, 
회사가 저지른 부당한 일임에 틀림없다.
여러분의 회사는 그러지 아니한가 알아보기 바란다.

나는 현재 여의도의 모 금융권 대기업의 SI 프로젝트에 참여하고 있다.
개인적으로 이 여의도라는 동네의 회사들을 지극히 싫어한다.
대단히 고지식하며 따분하고 짜증나게 한다.

정장입기를 강요하며, 귀걸이를 착용하지 말라고 압박하며
긴팔 와이셔츠를 입으라고 협박하는 곳이다. 그것이 외주 업체의
개발자임에도 불구 하고 말이다.
(그러면서 에어컨은 정말 짜증날 정도로 시원하지 않다.)

매일 나는 아침마다 더워 죽겠는데 긴팔 와이셔츠에 상의를 걸치고
출근한다. 아주 돌아버릴 지경이다.  겨우 이곳 몇개월을 위해
비싸디 비싼 정장을 구입했으며, 한 여름에는 잘 나오지도 않는
긴팔 와이셔츠를 구입했으며, 여름용 긴팔 와이셔츠가 없어서
좀 부꺼운 긴팔 와이셔츠도 입는다.  젠장.

이는 대단히 불합리하며 비효율적인 작태라 아니할 수 없다.
이 한여름에 긴팔 와이셔츠는 도대체 왜 착용하라고 하는가!

어쟀든, 각설하고,

많은 회사들이 보안을 이유로 지극히 말도 안되는 일에 직원들과
업무 당사자들을 억압하며 휘두르고 있다.

보안, 이 것은 아주 중요한 요소 이다.
그 어떤 방법으로든 보안상의 이유를 든다면 이것은 합리화 된다.
다만, 이 보안상의 이유로 업무상 제한을 가한다면,
어떤 방식으로, 어떤 정보들을 감시하는지에 대한 명확히
제시하며 감시당하는 이들이 불이익을 당하지 않도록 해야한다.
이것은 지극히 당연하며 꼭 필요한 일이다.

회사는 나의 이메일을 감시할 수 있고, 내가 설치하는 프로그램들이
어떤것들인지 내가 적는 글들이 어떤식으로 감시 당하며 보관 되어지는를
명확히 알고 있어야 회사에서 원하는 엄한 정보나 혹의 내 지극히
개인적인 정보들이 노출되는 것을 방지하지 않겠는가!

생각해 보라, 내가 나의 개인 웹사이트에 내 ID와 그 비밀번호를
적어 놓는데, 이를 회사 프록시나 혹은 감시자가 캐치했다면,
이것은 역으로 나의 정보를 회사가 아무렇게나 취급할 수 있는 여지가
충분하지 않은가?

회사가 업무담당자들의 보안의식을 못믿어 감시하고 있다면,
반대로 내 정보를 감시하는 보안담당자들의 보안의식은 과연 믿을만 한가?
그것을 피 감시자인 업무담당자들에게 충분히 설명하고 있는가?

나는 오늘, 단지 메신저를 설치했다는 이유로 PM으로 부터 사실 확인서를
작성하라는 얘기를 들었다. 특정 방식으로 메신저를 사용한것도 아닌
설치를 이유로 경고와 동시에 '반성문'이라 일컫는 문서를 작성했다.

내 30점짜리 인성상 충분히 열받으라는 식으로 문서를 작성했으나
중간에 PM이 바꾸어 올렸버렸다. 이것도 사실 별로지만, 그래도
'을' 회사의 입장이 있으니.. 참 엿같긴 하다.

나는 SI가 처음도 아니니 어느정도 감시와 통제에 대해서는 이해하고 있다.
내가 지금껏 일해왔던 '갑'의 대규모 회사들은 다 이런젓을 하고 있다.
하지만, 메신저등의 특정 프로그램을 설치하는 것으론 별다른 제한을
가하지 않는다.  다만 설치 후 실행을 못하게 한다든지, 원천적으로
설치를 방지 한다든지 혹은 실행 후 패킷등의 검사로 이를 못하도록
제한하고 있다.

이것이 회사의 입장으로써 당연한 것이다.

문제는 여기서, 아에 사용자의 화면자체를 감시하는 것은 대단히
문제가 된다. VNC등의 서버를 사용자의 컴퓨터에 설치하고 이를
삭제못하게 하며 사용자도 모르게 VNC 클라이언트등으로 내 컴퓨터를
볼 수 있다.

또한 특정 프로그램으로 내가 어떤 프로그램을 설치했는가 자체를 알아
낸다는 것은 개인 프라이버시 침해가 되지 않는가!
이를 알수 있다는 것은 내 프로그램의 내 일이 충분히 노출될 수 있다는
것을 의미한다.

어디 내 개인정보나 전화번호, 계좌번호, 비밀번호등을 함부로 적을 수나
있겠는가. 이를 피 감시자인 나에게 알려주지 않았다.

이게 뭐하는 행태인가? 대단히 무식하고 어이없는 짓이다.

그들은 나에게 이러한 모든것을 알리지도 않은 체 나에게 '반성문'을
요구하였다.

자, 나는 대단히 기분 나쁘게 생각했으며, 이 보안이라는 것에 구멍을
내고 싶다는 생각을 했다.
아주 가볍게 정말 엿 먹이고 싶다는 생각을 소심하게 했으며,
지금 계획중이기도 하다. :-)

이것은 다르게 생각해 볼 일이다.
회사가 취급(?)하는 직원들에 대한 행동양식이다.

과연, 회사는 하드웨어적인 시스템적으로 완벽하게 업무취급자들의
시스템을 제한할 수 있는가? 당연히 불가능 하다.
어이 없게도 회사들은 USB 스틱, USB 하드디스크 등을 소켓에 꼽고 읽고
쓰는 것만으로도 알수 있다.
이를 쓰지 못하도록 하게는 하고 있지만 이는 방법이 없는 것도 아니다.

단적으로 리눅스 라이브CD로 부팅하여 USB를 꼽고 NTFS로 마운트하여
복사한다면 어떻게 알겠는가.

이들이 취하는 보안이란 것은 사실 우수운 것이다.
물론 이것은 최소한의 조치인 것을 왜 모르겠는가!
그렇다 최소한의 조치이다.

최대한의 조치는 바로 업무 담당자들의 보안의식을 높이는 것이다.
그러나 실제는...

그래, 그들은 보안의식을 높이기 보단, 억압하며 그들에게 불이익을
줌으로써 협박하는 것을 보통 택하고 있다.

그렇게 한번 호되게 당하고 나서, 아! 이러면 안되겠다. 조심해야지!
과연 이렇게 얼마나 생각하겠는가.
많은 사람들이 X같이 걸렸네, 짜증나.. 하면서 술 한잔 마시고
잊어버리면 끝이다.

하지만, 실수로 치부하며 담당자들에게 조심성을 일깨우고 교육을 함으로써
보안의식을 높이게 해준다면...?

그들이 과연 혹시라도 있을 한명의 나쁜 생각을 가진 자가 시스템적이든,
아니면 몰래 문서를 빼돌리든, 이런 일을  하는 자가 생겨난다면,
그 후야 어떻든 이는 궁극적으로 회사 또한 잘못을 포함하고 있다.

적당히 당근과 채찍이 필요한 것은 어느 곳에든 있다.
방법과 수준을 무시하고 억압하는 곳은 언젠가는 분명 그로인해 불이익을
얻게될 것이다.

그대들의 회사는 지금, 그대들의 PC를 통해 그대들을 어떻게 감시하고
있는가?

어떤 방식으로? 이메일? 메신저? 패킷? 아니면 화면을 통째로?
조심하라, 그대들이 무심코 적는 ID, 패스워드, 계좌번호, 주소,
전화번호등이 해커가 아닌 보안 담당자들에 의해 침탈당할 수 있다.
아는가? 모르는가?

걱정된다면, 최소한 아래와 같이 사용하라.
https 를 지원하는 이메일을 사용하라.
한 예로, gmail 은 https 를 지원하고 있다. 이메일이 암호화되어 외부와 통신할 것이다.
가능한한 개인정보를 담고 있는 사이트를 접속해야 한다면, https를 지원하는 곳으로 선택하라.

telnet은 사내 혹은 내부적으로만 사용하라.
외부접속은 무조껀 ssh 를 사용하라.  내 계정이 모두 노출 되는 것을 방지하라.
더불어 ftp 또한 secure ftp를 이용하라.

혹시 메신저가 된다면, 요새는 대부분 대화의 암호화를 지원한다.
꼭 체크할것.

가볍고 적당히 사용할 ssh 서버를 알고 있는가?
브라우징을 할때, ssh 터널링을 사용하라. 혹, 부하가 걱정된다면
그때 그때만 사용하라. 완벽하게 22번 포트로 암호화 되어 나간다.

그러나 엿같지만, 당신의 화면을 보거나 캡쳐하고 있다면,
아무 소용없다.

아마도 들어가고 나가는 모든 패킷을 내가 통제하는 프로그램을 작성하거나
사용하게 된다면, 아마도 관리팀에서 전화가 오게 될것이다.

세상을 언제나 약자에게 불합리하며, 그렇지 않은 곳에 있다면,
당신은 행복한지 알아야 한다. :-(
 

ps, 보안담당자들의 의식을 욕보이는 것이 아니다.
다만, 이런 행태를 일삼는 특정 회사들의 보안을 미끼로한 개인의
프라이버시 침탈을 욕하는 것이다.

첫줄에서도 얘기했지만, 이것은 지극히 감정적이며 개인적인 글이다.
오해하지 말길 바란다.

좀 오래된 기사이긴 한데, IDG에서 몇가지 기사를 읽다가
링크를 걸어 놓는다.

최근, 일적인 면에서, 개인적인 면에서 윈도우즈 사용이 잦아 들면서
리눅스 데스크탑 사용을 안 하는 편인데, 역시나 익숙함이란
무시못할 강력한 무기인것은 확실하다.
단, 나의 경우 데비안과 우분투는 익숙하다. 사실 뭘 쓰던 나에겐 그닥 문제가 되지
않는다. 다만, 요새 새로 구입한 옴니아 폰 때문에 윈도우를 좀 많이 사용할 뿐이다.

IDG 올 1월에 이런 기사가 떴다.
윈도우 7이 리눅스를 무너뜨릴 수 밖에 없는 이유

그 이유로써, 파워쉘, 윈도우즈진영의 오픈소스 소프트웨어,
그리고 비스타 보다 더 나아진 기능성..

나 또한, 윈도우즈7의 성공여부에 대하여 대단히 긍정적으로 생각하고 있는 편인데,
그  이유는 비스타 보다 비약적으로 가벼워졌으며, 리소스 고갈을 해결했다는
내용을 보았기 때문이다.  가벼워진 윈도우즈, 그리고 리소스를 고갈하지 않는 이유.
이 두가지 이유만으로도 기존 윈도우즈 보다 윈도우즈7을 기대하는 이유이기는 하다.

그 이외의 윈도우즈 UI나 비스타 모양새 뭐 이런것들은 그닥 기대하지 않는다.
사실, 미려해지긴 했으나, 여전히 모양새는 우분투를 선호한다.

그리고 글 중간에,
"초기에 말했듯이 비용을 지불함으로써 기술지원을 받을 수 있고 선호하는 OS의 종류를 선택해야만 하는 어려운 상황 역시 회피할 수 있다. 리눅스 배포판에는 글자 그대로 수십 종의 배포물을 선택하도록 되어 있다(101 가지의 서로 다른 취향은 차라리 배스킨라빈스에나 가서 선택하는 게 낫지 않겠는가?)."

이런 대목이 나온다.
비용지불에 의한 기술지원. 나의 경우 여지것 기술지원이라고 해놓고, 잘못되면
와서 포맷해주는 것 빼곤 받아본 적이 없다. 솔직히 이러한 기술지원은 브랜드 PC사나
일반 관련 A/S 업체에서 해주는 것이기 때문에 명확히 기술지원 이라고 하기는 좀
그렇기는 하다 :-)

저자는, 여러 배포판중에 어떤걸 선택하느냐의 문제에 대하여 걸고 넘어지긴 했는데,
베스킨 라빈스가서 선택하라니, 어이없게.
사람들이 베스킨라빈스에 가는 이유는 여러가지 맛있는 것들을 골라먹기 위해서인데,
리눅스를 쓰는 이유중의 하나도, 쓸만한 여러 배포판중 맛좋은(?) 것을 사용하기 위해서
라고 말하면, 어떨까나. 

이렇게 말해본다.  윈도우즈는 선택의 여지가 없다.  내 취향대로 선택할 수 없다면,
독재국가에나 가서 사용하는 것이 낫지 않겠는가?!
( 갑자기 독재국가가 왜나오냐 묻지 말것. 베스킨라빈스가 나온게 더 황당함.)

어쨌든, 저 기사는 너무나 윈도우즈(?) 스런 글이다.
마지막에 아래 글귀가 눈에 확 뜨이면서 애플사용자들의 맘을 상하게 했을 것이다.

"
다음 단계는 매킨토시를 원래의 자리로 되돌려 보낼 시간이다. 바로, 애플파이 속으로! "

마녀사냥하면서 악마는 지옥으로 돌아가라 하며 외치는 것과 다를바 없는 어이없는
글귀다 :-(


이 기사와 관련하여 다음날 이런 기사가 났다.
이 바닥에 자주 있는 일이다.

리눅스가 윈도우 7에 무너지지 않는 이유

누구나 다 알고 있는 이유이며, 글 자체는 상당히 유하게 쓰여있다.(번역을 그렇게 했나?)
하여튼, 가장 맘에 드는 것은 역시 가장 아래 글귀다.

만일, 윈도우 XP가 그렇게 좋았다면 왜 아직도 리눅스는 활발히 사용되고 있는가?

윈도우즈7은 상당한 이슈와 호흥을 없고 기세 당당하게 나타날 것이다.
하지만, 역시 리눅스는 활발히 사용되리라 나 또한 생각하며, 기대한다.



아래는 번외 이야기이며, 윗 글과는 별로 상관없는 낙서다 :-)

몇가지 기사를 더 링크를 걸어 놓아 본다.
읽어보면 흥미있을 것이다.

XP 사용자가 윈도우 7을 이용할 수 밖에 없는 이유
윈도우용을 대체할 맥·리눅스용 SW를 찾아볼까
개발자도 아닌 내가 리눅스를 사용하는 이유
리눅스를 포기하는 7가지 허술한 이유


리눅스를 포기하는 7가지 허술한 이유에서의 그 이유들은 정말 공감하고 있다.
너무나 허술한 이유이기 때문이다.
처음 내가 리눅스를 대하고 나서 윈도우즈로 돌아간 이유이기도 하다.
물론, 지금은 상당부분 리눅스에서 많이 놀고 있다.

처음에도 언급했지만, 가장 무서운 것은 "익숙함"이라는 것.
이 기사에서 역시나 가장 와 닿는 것은, 바로 윈도우즈에서 사용하던 프로그램들이
리눅스에서는 되지 않는다고 하는 것.

새삼스런일도 아니지만, 기사에서 언급된 포토샵이나, 드림위버등은 실로,
일반사용자를 위해 만들어진 프로그램은 아니다. 
실제로 이 프로그램들은 전문가를 위한 프로그램이다.
(포토샵 엘리먼트같은 것은.. 나중에 나왔으므로 ..pass )

당신이 일반적으로 사용하는 포토샵의 기능중 그 "뽀샵질"을 위한 기능은 포토샵의
가장 기본적이며 가장 작은 부분중에 하나다.
즉, 여러분은 뽀샵질을 하기 위해 삽 가지고 될일을 포크레인으로 하고 있다고
생각하면 된다.

이러한 기능들은 리눅스에도 있으며, 맥에도 있으며, 예전 도스에도 있었다.
하다못해 요새는 웹상에서도 가능하다.  웹상에서 하고 있는 그 뽀샵질이
실제 인터넷에 포토샵을 올려놓고 제공하고 있다고 생각하는 사람은 없을 것이다. :-)

나도 그랬지만, 좋다 좋다 하니 다들 어서 그렇게 구해서 쓰나보다.
다만, 내가 사용하고자 하는 목적에 따라 적당한 프로그램을 구해서 사용할 줄 아는것도
좋은 컴퓨터 사용습관임을 명심해야 한다.

포토샵 띄워놓고, 드림위버 띄워놓고, word 에 파워포인트까지 띄워놓고 작업하면서
컴퓨터가 너무 느리네, 꾸졌네 하는 소리는 하지 말길.
아무리 좋은 일반 데스크탑 깔아놓고 써도 저렇게 띄워놓으면 점점 느려지는 건
어쩔수 없는 일이니까 :-)

IDG 기사 파도타기 하다 관련 기사들 몇가지를 들쳐보면서
예전이나 지금이나 변함없이 다들 치고 박고 하고 있다는 것인데,
다행이, 그러면서 모든면에서 장족의 발전을 하고 있다는 것이다.
리눅스든 윈도우즈든 말이지.

결국, 사용자가 좋아지는 것이니까. 나쁘게 생각하지는 않는다.
다만, 별 그지 같은 이유로 까는 얘기들은 조금만 접었으면 좋겠다.
다 접으면, 사실 재미가 없기때문에 ... 조금만 :-)




요 몇일간, 가십거리로, FP의 기사에서 한국이 인터넷 검열국 리스트 5에 든게
그냥 쪽팔려 쪽팔려 했었고, 인터넷 검열 국가 순위에 중국 바로 밑이라는 기사에서는
한숨이 팍팍 나오고..

사실, 개인적으론 특정 사이트들( 그 수많은 댓글이 창궐하는...)의 실명제를
내심 기대하기는 했다.  댓글도 정도껏 달아야지. 쪽팔리게 그게 뭐니.
스스로에게 쪽팔리지도 않니? 니들은? ..

하여튼, 인터넷의 어느정도 정화는 필요하다는 것이 나의 생각이었다.
하지만 거기까지.

정도껏 정도껏하고 생각했더니, 도를 넘어서는 현행 정부의 만행은 극에 달아
이젠 쪽팔려 민망하기 까지 하다.

인터넷과 인트라넷을 구분못하나?
인터넷이 우리꺼니? 정부관할 인트라넷쯤 된다고 생각하는 건가?

오늘, 유튜브가 한국 사이트의 업로드 제한을 하겠다고 했다.
(관련 뉴스  http://news.nate.com/view/20090409n07646 )
물론, 한국 유튜브 게시판 제한한다고 해서 사용 못하는 것은 아니지만,
그것 자체로도 쪽팔린 일이다.

인터넷 상의 표현의 자유에 대해 http://googlekoreablog.blogspot.com/

구글 공식 블로그에 포스트된 글로벌 커뮤니케이션 총괄 부사장 레이첼 웨트스톤
(Rachel Whetstone)의 글이다.

대한민국, 민주 공화국인 대한민국이 해외 언론의 인터넷 검열국 리스트에 포함되는 일이며
표현의 자유를 포기할수 없으니 너네 사이트는 업로드를 막겠다는 소리를 듣고
어디 쪽팔려서 관련 정책 관계자들은 잠이나 오니?

쪽팔려서 내가 잠이 다 깬다.
젠장.

fXqDWev8sgRZRVDZDpe66rQejoN
오오:-)
절 실망 시키지 않았어요. 요새 펄에 대한 기대와 함께, 펄 워크샵은 나에게 펄에
푹 빠지게 만든 아주 신나는 기회였답니다.

단, 정규발표밖에 듣지 못해 아주 아쉬웠어요.
개인적인 사정으로 lightenling talk 는 듣지 못했지요.

사실 라이트닝 톡에서 듣고 싶은게 있었거든요 :-0
자, 잠깐 짧은 후기를 적어 볼까요?

우선 저는, 펄 비기너이며, 실제 사용할려면 아직 많은 공부가 필요해요.
어쨌든, 펄은 많은 재미를 가진 언어임이 이번 워크샵을 통해 밝혀졌어요. ^^:)

일단, 워크샵은 13시부터 저녁 9시까지 하드코어일정을 무난히 그것도 다들
지루하지 않게 끝낸듯 합니다.
제가 8시까지 있었는데도 불구하고 거의 모든 자리가 차 있었던걸 감안하면
아마 끝까지 다들 남아 있으셨으리라 생각됩니다.

제 관심사에 대해 몇가지 정리해 보면,
강차훈님의 최신 스타일 펄로 개과천선하기를 듣는 동안, (물론 예전에도 스터디에서 강차훈님의 몇몇 가지 이야기를 듣긴했습니다만, 깔끔히 정리해 주셨지요.)
책에는 나오지 않은 펄에 대한 스타일들을 정리할 기회 였습니다.

김기석님의 Web2RSS에서는 몇가지 RSS를 구현할 수 있는 모듈들에 대한 이야기가 좋았구요,

전종필님의 basic skill up 에 대하여서는 저와 같은 펄 비기너들이 새겨들으면
좋은 내용들, regex, ref, pkg, CPAN 등등에 대하여 재미있게 이야기해 주셨어요.

김동민님의 센서네트웍에서의 펄의 사용은, 사실 전 좀 이론적인 그리고 전문적인
부분이어서 잘은 모르겠지만, 알로리즘 구현및 실험에서의 perl 의 파워를 보여주셨지요. 요새 유비쿼터스 센서 네트웍이 많이 회자되는데요, 펄의 그 편리함을 재미있게 설명해주셨어요.

일본에서 날아와 주신 펄 catalyst 에 대한 이야기를 해주신 한송희님의 발표는,
펄의 프레임웍에 대한 사용법과 내부동작도 잠시 소개해 주셨는데, 문제는
카탈리스트에 대한 이야기가 거의 우리나라에서는 전무하다시피한 상황에서
펄 워크샵을 통해 펄 관심의 증폭과 함께 가장 많이 회자될 이야기가 되지 않을까
하는 생각도 듭니다. 왜냐며한 요새 웹 트렌드중의 하나가 바로 웹 프레임웍이
아닌가 하거든요.

이번 워크샵의 리더이신 김도형님은 Gtk2-Perl 에 대한 이야기를 해주셨어요.
역시 실망시키지 않는 김도형님.  희원님의 말씀대로 perl-dna 를 가진 사람이
아닐까 하는 :)
일단, Gtk2-perl의 간단한 사용법과 재미있는 예제들. 아- 재미있었어요.
그리고 윈도우즈용 펄 + Gtk2 의 Camelbox 에 대한 이야기.
크로스 플랫폼의로써의 gtk에 대해 다시 생각하게 만든 발표 였어요.

그리고 아마도 가장 많은 박수와 재미를 받으신 분은 이분이 아닐까 생각됩니다.
바이오펄을 이야기해주신 박종화 박사님의 발표는 참 많은 것을 이야기 해주셨지요.
펄의 역사와 함께, 펄의 정신.. 그리고 바이오 펄의 정신, 재미난 비하인드 스토리등등
어쨌뜬, 웬지 그루의 느낌을 지울수 없는 분이셨어요.

배상우님과 권혁진님의 보안에서의 펄의 위치는, 적지 않은 파워를 가진 언어가
바로 펄이 아닌가 하는 것을 실감나게 시현까지 해주시며, (특히 권혁진님의 자신의 회사 홈페이지까지 해킹해주시며 보여주신 것이 압권 :) 좋은 이야기를 해주셨지요.

김준홍님의 언어학에서의 펄의 위치는, 사실 펄을 조금이라도 아시는 분이라면,
펄의 그 유연한 텍스트 처리에 대해 익히 들어오셨을텐데요, 실제 예시를 들어주시며
좋은 내용 발표해 주셨습니다.

김현승님의 영상 오브젝트 추출에서의 펄의 사용에 대하여 얘기해 주셨는데,
펄의 간편함, CPAN의 위대함, 영상분야까지? 라는 생각을 하게 만든 발표.
아, 좋았어요. 재미있었구요.

김희원님의 즐거운 펄 기억남기기. Parse::RecDescent 모듈을 설명하며,
그림그리기를 좋아하는 희원님의 자작 그림들과 재미있는 예제들. 그리고
현재 한국 펄의 분위기를 여과없이 실랄하게(?) 보여주었어요. 아- emacs 의 신기함도 보여준 좋은 발표였답니다.

여기까지가 regular talk 이었는데, 저는 여기까지만 들었고요. lightening talk 를 듣지 못해 정말 아쉬웠어요. 제일 듣고 싶었던 것중에 하나가 바로 도형님의 MiniCPAN에 대한 이야기였거든요. 나중에 따로 도움받을 기회가 생기길 기대하여.


저는 unix based c programming을 주로 하는 사람으로, 사실 어릴때는 최고는 역시
C 라는 생각을 가진 아주 닫힌 사람이었어요.

사람은 자기가 아는 만큼, 그만큼 밖엔 성장할 수 없다고들 하는데,
perl를 사용하며, 닫힌 생각을 좀더 넓혀가고 있습니다.
펄이 뭐가 유연하냐고 물으신다면, 내각 생각하는 모든 것들을 perl로 구현할 수 있을것 같구요, 이미 만들어진 아주-아주 많은 모듈들을 여러분은 cpan 에서 뒤져볼수 있으며, console 이건 gui 든 무엇이든 가능하며, unix 든 윈도우즈든 다 가능하며,
- 시도 쓸수 있어요. perl poet 이라고 하죠? ^^

실제 제가 펄을 공부하겠다고 마음 먹은 이유는, 아주 간단합니다.
배상우님께서도 발표중에 말씀해주셨는데, 어떤 플랫폼에서도 돌아가는 스트립트를
만들수 있는 것중에 perl 이 가장 유연하고 가장 편하다는 것이지요.

많은 사람들이 linux 를 사용하면서, gcc 가 깔린, 즉 컴파일러가 깔린 unix 를 상상
하곤 합니다만, 실제 대부분의 unix  machine 들은 c 컴파일러를 제공하진 않습니다.
물론, perl은 거의 100% 지원한다고 봐야 하지요.

대부분의 OS에서 language dna 가 C 이기 때문에 c 컴파일러와 OS는 분리하여
생각하지 않습니다만, 또한 많은 부분 (특히 unix)에서 perl 이 기본적으로 깔리는
이유는, OS의 많은 부분 자동화를 perl 이 담당하고 있기도 하다는 제 소견입니다.

자, 요새같은 ruby, python 과 같은 쉽고 파워풀한 언어들이 등장하는 가운데
여러분은 perl 과 같은 오래된 노인네 같은 언어라고 생각할 지도 모르는 perl을
왜 선택하느냐고 생각할지도 모르겠습니다.

하지만, 제가 요 몇달간 경험한 펄은, 여전히 루비나 파이썬과 같은 (혹은 더더욱 더)
파워풀 하며, 여전히 발전하고 있으며, 그 어떤 상황에서도 빠르고 유연하게 대처할
능력을 가진 언어가 아닌가 하는 생각을 해봅니다.

제가 펄을 좋아하는 결정적이유는, 아무렇게나 프로그래밍 할수 있다는 거예요.
(python을 좋아하지만 관심같지 않았던 이유는 tab 때문이었지요.)
형식과 틀에 관계없이, 그리고 절차적이든 OOP든 뭐든  말이죠.

perl을 찬양하고 있지만, 언어는 도구에 불과합니다.
하지만, 도구를 쓰는 것은 많은 생산성과 유연함을 동시에 가져다 줍니다.
어떤 도구를 쓰느냐는 자신의 선택에 달려 있지만, 그 어떤 도구를 선택중이시라면
(특히 unix 나 linux를 사용하고 싶다면) perl 을 선택한 것은 멋진 선택중 하나라는
생각을 여러분께 알려드리고 싶답니다 :-)



사용자 삽입 이미지

곧! 드디어! Fireofx 3 다운로드가 시작됩니다!
자자.. 준비하시고! 다운로드 준비 하시죠!

오늘 정확히는 어제지. 24시가 지났으니.
fork 정확히 prefork 모델에서 multi-threads 모델로 설계가 바뀌었다.
바뀔수 있다. 많이들 그러니까. 하지만 설계일때나 그렇지.
대략, 개발 50% 정도 나간 상황에서 개발모델을 확 바꿔버리면...
개발자들은 어떻게 하라는 것인가.

"바꾸는 놈들도 우끼지만, 그렇다고 그걸 수용하고 만들겠다는 나도 미친놈'이
되어 버린.. 나는 :-) 훗.

대략 수긍하고 긍정적으로 받아들여야지 하고 맘 먹은 이유는...
이전 모델은 일단 prefork - system queue 에 연결해야 한다.
문제는 어쩔수 없이 db-pool 을 이용해야 하는 상황이 나타나서 시스템이 상당히
복잡해져서 하나의 전문에 queue 를 8번 읽고 써야 하는 형태로 변해버렸다.
저렇게 됐을경우 queue를 상당히 꼼꼼하게 관리해야 하며
분배서버가 없는 상황에서 queue 내부에서 msgtype 으로 프론트단의
서버에 분배도 해줘야 하는 극약 처방을 해야 했다.
물론 설계가 조금 불안정하긴 하지만 :-( 그렇다고 설계를 싹 다 바꿔야 할만큼
엉망이지는 않았다.

thread 모델로 바꾸는 조건은 queue를 없앤다. 그리고 프론트가 엔드단을
중간에 thread가 connectless 방식으로 맺고 끊으며 접근한다.
이렇게 햇을 경우 connection 을 유지 했을때 보다 connection 비용이 좀더 들기는 하지만
상대적인 비용이지 절대적으로 느리지 않다.
(그 비용을 오늘 스트레스 테스트해본 결과 대략 10ms 정도 차이가 난다.)

웅. 그래. 커넥션유지하지 않는 조건엔 연결되어 있을 경우 통신회선 점검을 하지
않고, 그걸 리포트 하지 않는다는 조건과 오픈 일주일 연기를 걸었다.

자. 어쨌뜬.. 그래서 프론트와 엔트를 연결하는 중간 비즈니스 단은 포크 모델에서
멀티 쓰레드 모델로 변경되었고, 지난주 목요일 부터 오늘까지해서
좀더 안정적인 쓰레드 모델을 구성하면서 계속적인 스트레스 테스트를 하고 있다.

포크에 비해 쓰레드가 디버그 비용에서는, 개발자 입장에서는 좀더 많이 들지만,
프리-포크와 시스템 큐를 사용하는, 그것도 큐에 동시에 3개의 프로세스가
한 전문에 8번씩 읽고 써야 하는 골치아픈 상황을 해소시키긴 했다.

이래저래, 시킨대로 해야 나중에 뭐라하지 않는 IT 바닥의 고질적인 문제와 더불어
개발 50% 진행에서 레이아웃을 180도 뒤엎은 이런 상황에서 내가 할 수 있는 말은

"Hope is good thing!" 이다.

좌절 금지.  좋은 경험. 희망은 좋은 것...
그래도 괜찮아. 개발기간 일주일 늘려 줬잖아 :-( 비록 지난 시간의 3/1 이상은
버렸더라도.

어쨌든, 지난 몇일간 바뀐 레이아웃을 위해 미치도록 코딩하고 테스트 하고
고생은 많았다.

이게 unix 데몬이니 망정이지.
내일은  좀더 나아지겠지.
(사실 오늘부터 통합테스트 였는데 역시 일주일 뒤로 밀렸다. 으하하하 :-(

하루일과

PUBLISHED 2008/02/29 00:41
POSTED IN ~2009.12.31/talk about it
06:30 기상 (사실은 더 일찍 일어나야 하지만....ㅜㅜ)
07:30 집 앞에서 버스
07:50 작전역 앞에서 9500번 광역버스
09:20 강남 우성아파트 혹은 뱅뱅사거리에서 하차
09:30 1005-2 번 시외버스 타고 분당 정자역으로 출발
09:50 정자역 한 정거장 전, 두산 위브 앞에서 하차
10:00 출근 완료 (사실은 9시 반까지 인데.. ㅜㅜ )
....... 작업.. 작업...
12:00 점심 식사 (건물 3층 식당에서 3000원 짜리 백반. 곧..3500원으로 ㅜㅜ)
13:00 다시 작업 시작 ...
....... 계속 작업. 가끔 차도 마심.
18:00 저녁 먹으러 밖으로 나감.. ㅠㅠ (다들 퇴근 하는데 ㅜㅜ)
19:00 다시 작업 시작 ...
....... 계속 작업...
21:00 ~ 21:30 작업 종료...
21:40 정자역에서 다시 1005-2번 승차
22:10 양재역 또는 교육개발원 4거리 또는 뱅뱅 사거리에서 하차
22:20 9500번 광역버스 다시 승차
23:40 인천 작전역 하차
23:50 시내버스 승차
24:00 퇴근 완료
....... 씻거나.. 약간 쉬거나.. 약간 티비 보거나..
01:00 대략 취침...

요새 분당 정자쪽 프로젝트 때문에 이러고 살고 있다.
평일엔... 아무것도 못한다.
예전엔 그래도 집에서 두세시간이라도 쉬면서 책도 보고 티비도 보고 했는데.

이 프로젝트가 5월 9일에 종료 예정이니...
지금은... 코딩 시작한지 약 2주차.. 실제 코어 개발일정이 3월 중순.
4월은.. Rush Test 또는 Stress Test 와 함께 디버깅
그리고.. NMS 와 운영측 Client 개발 지원을 위한 작업도...

누가..... 소프트웨어의 심장을...만드는가... 심장... 심장 ..
아- 요새 재밌게 보던 '뉴하트'가 오늘 끝났다. 젝일 :-(

그래도 재밌는건, solaris 에서 gcc 로 이프로젝트의 core 쪽을 맡고 있다.
그래봤자.. 뭐 대단한건 아니지만:-)
그래서 재밌다.

내가 좋아하는 unix 와 c 로 만들거든. (나는 C++ 보다 C가 훨씬 재밌다고 생각한다.)
자.. 인제 자야지.
내일 있다가 또 일 나가야지. 그리고 나면 기다리는 주말!

요새 처럼 주말이 기다려 지긴 오랜만.
사실.. 이제 주말 기다리는 것도 오래지 않아.. 휴일 근무에 돌입 할지도 ㅜㅜ