IT컨설팅(프리랜서) 이야기(0)

요즘 짬 날때 마다 옛날 코드들을 재활용해서 운영중인 서비스에 적용하는 중입니다.
어차피 운영중인 서비스는 PHP, 예전에 짠 코드도 PHP... 하여 운영중인 서비스는 나날이 발전(???????)중입니다.(아니 사실 불필요한 코드가 더해지는 건지도..)

여튼 덕분에 옛날 코드를 다시 리뷰 할 수 있고 추억팔이(?)를 할 수 있게되었습니다.

반은 픽션이고 반은 실화를 기반으로 한 이야기입니다.

갑님은 모 회사 개발팀장님 이시고 저는 사무실에 자리하나 차지하는 외주 컨설턴트(라기보다 자기들끼리 해결 안될때 물어보는 협력사 관계...)

갑 : 저.. N군. 간단한 메세지 큐가 하나 필요한데 말이지..

N군 : 갑자기 왠 메세지 큐인가요? 어떤 용도로 사용하실 건데요..

갑 : 정치적 용도로.. 이런 일을 하려면 '새 서버'가 필요하고 '기존 서버'는 이미 성능의 한계점에 도달했습니다. 라는 걸 윗분들 한테 통계로 좀 보여주기 위해서?

N군 : 그럼 JBoss 같은거 깔고 JMX 쓰세요. ActiveMQ 같은 거도 괜찮을 것 같은데...(한참 저런게 유행이였다. 지금이라면 restmq 라고 말하겠지만..)

갑 : 우리 애들이 json이나 XML 그런거 이해 할까? 아니 무엇보다 서버 관리자가 싫어하지 않을까?

N군 : 그럼 그냥 mySQL에 그 뭐지 Table의 Storage Engine을 Memory 형태로 만들어서 insert 하면 되자나요?

갑 : 전무님(CTO)께 보고를 DB Connection 을 줄이는 형태로 튜닝해서 서버 리소스 확보했다고 했는데, 요걸 뒤집어야 하는데 지금 진행 사항 다 알고 계신데 뭔가 이슈거리가 조금 필요해서.

N군 : 결국 기존 솔루션인 PHP를 이용해서 HTTP로 간단하게 큐잉 할 수 있는게 필요하시다? 그리고 가급적 새로운 서브 도메인/별도 서버로 만들어서 내부 용도로만 쓸 거고 자체 솔루션에 Action ID관리 같은 걸 다 할 수 있게?

갑 : 그래야 새 서버 구매 기안 올릴 핑계도 생기고.. 우리도 좀 여유있게 작업 할 수 있고 서버 관리자 죽는 소리 안들어도 되고...

N군 : 그런데 대체 어떤 용도의 큐길래 그러시나요?

갑 : 아 뭐 일단은 지금 회원 가입 과정 바꿀 때 E-Mail 인증 넣는거 있자나.. XX시가 만드는 그거 용으로... 마침 회원가입/로그인용 서버가 제일 사양이 낮으니까 핑계가 좋자나?

N군 : 아...



function keygen($len)
{
$idx = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$retVal = "";
$str_limit = intval(strlen($idx))-1;
$length = intval($len);
// 5 글자 이하거나 다른 형태면 Error
if($length < 6)
{
// Error를 만들어보세요.
exit;
}
while($length--)
{
$retVal.= $idx[mt_rand(0, $str_limit)];
}
return $retVal;
}

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

$tempkey = 'emailaddr';

$redis->set($tempkey,keygen(13));
$redis->close();
?>

대충 E-Mail 주소를 키로 해서 랜덤 문자열 13자리 생성해서 저장해라 라는 코드입니다.

갑 : 이게 어떤 원리야? 코드가 왜 몇줄 안되?

N군 : 키 생성 코드는 그때 XX씨 교육용으로 만든거고 어차피 E-Mail 값은 불변. E-Mail 값이 key, 랜덤 생성된 문자열은 val 이죠. 확인하는 단에서는 redis에 접속해서 E-Mail 로 생성된 문자열을 확인 할 수 있죠.
갑 : 아하..

N군 : 웹 서버 달고 xml-rpc(그때는 저게 유행이였던듯 지금은 json?)으로 입/출력 받으면 HTTP 메세지 큐 라고 말할 수 있지 않겠어요?

갑 : 헐.. (이님 구라/사기 치는거) 대박.

N군 : 만드는데 30분. 하지만 가격은 선불로 1800달러. 페이팔 환영.

갑 : 헐 그건 안됨요. 우리 이달에 우리 서버 못삼요.

N군 : 그럼 코드 삭제. GG

갑 : 헐.. 대신 월 450달러로  컨설팅 계약 3개월 연장 ㅇㅋ?.

N군 : Deal.

하지만 이 3개월 연장이 내 인생에 똥을 줬어...

핑백

  • StudioNabu : IT컨설팅(프리랜서) 이야기(1) 2013-01-15 23:39:13 #

    ... 전편에 이은 속편 0. 잘 돌아가는 코드는 그냥 둬라 개발팀이 한국에 있지만 최종 결정은 해외 법인(그러나 대부분 한국사람..)에서 받는 '나름' 외국계 기업인 우 ... more

덧글

  • 떠리 2012/12/01 13:04 #

    막줄이 핵시미군요
※ 로그인 사용자만 덧글을 남길 수 있습니다.


반응형 광고

구글 광고 작은 것



studionabu.com is powered by Egloos. Subscribe to RSS. Skin designed by 바니.