Top Coder RAW novel - Chapter (6)
탑 코더-6화(6/303)
# 6
마법 같은 능력
────────────────한바탕 소란이 지나가고, 승호는 자신의 자리로 돌아와 앉았다. 황시내는 방금 전의 일이 아직도 믿기지 않는지, 멍하니 승호를 보았다.
“실력이 점프해도··· 너무 많이 점프 한 거 아니에요?”
“그랬나요. 이게 어느 정도 난이도 인지 잘 몰라서······.”
사실 방금 자신이 한 일이 어느 정도의 난이도 인지 체감이 되지 않았다.
사고가 나기 전에는 아무것도 모르는 신입이었다.
사고가 난 후에는 뭐든지 아는 신입이 되었다.
거기에 빠져 있는 건 경험.
지식의 가치를 판단하는데 필요한 것이 빠져 있었다.
“대단하죠. 대리나 과장님이 잘못 한 걸 사원인 승호씨가 찾아냈잖아요.”
그런가?
승호는 의문이 들었지만 굳이 반박하지 않았다. 황시내는 감탄을 멈추지 않았다.
“보통은 실력이 점프 한다고 해도 승호씨 처럼 드라마틱한 변화 까지는 보이지 않아요. 이건 승호씨가 엄청난 잠재력을 지니고 있었다는 것에 대한 반증이라고요.”
“다행히 그간의 노력이 빛을 발하나 봐요. 주말에도 쉬지 않고 공부 해왔으니까요.”
승호는 입술을 달싹 거리다 닫았다. 지금 자신이 겪고 있는 현상을 굳이 설명한다고 해서 이해 할 것 같지 않았다.
“언젠가는 이렇게 될 줄 알았어요. 그렇게 열심 하는데 안 되면 누가 되겠어요.”
연이은 칭찬에 승호가 조심스럽게 입을 열었다.
“저도 다행이라 생각합니다.”
진심이었다. 앞으로 1년을 더 해보고 실력에 변화가 없다면 그만 둘 생각을 하고 있었다.
전화위복.
자신의 머릿속을 메운 한 가지 단어였다.
“헤헤, 저도 다행이라 생각해요. 이대로 잘 진행된다면 선진에 납품 될 지도 모르고, 회사가 파산하지 않아도 되니까요.”
“꼭 그렇게 되도록 열심히 해보겠습니다.”
“승호씨 같은 사람을 뽑은 걸 보면, 아빠가 사업 수완은 없어도 사람 보는 눈은 있는 것 같아요.”
황호근.
황시내.
시내 소프트.
황호근이 딸인 황시내의 이름 따서 만든 회사가 시내 소프트였다.
“저는 사장님이 충분히 능력 있는 분이라 생각합니다.”
“헤헤, 우리 아빠 칭찬 받았네.”
승호가 어색한 미소를 지었다. 칭찬을 하는 것도, 받는 것도 자신에게는 어색한 일이었다.
“이 정도 사업체를 일구신 것만 해도 정말 대단한 분이라 생각 합니다. 이건 진심입니다.”
매출 20억.
직원 20명.
이곳에 입사 할 때부터 황호근은 승호의 롤 모델이었다. 자신도 40대가 넘었을 때 황호근 처럼 되고 싶다는 생각을 수도 없이 했었다.
황시내가 대답을 하려는 찰나, 대화를 나누고 있는 둘의 등 뒤로 그림자가 서렸다.
“저기 대화 나누는 도중에 미안한데 뭐 하나 물어봐도 될까?”
승호가 고개를 돌렸다. 박태수 과장이 미안한 표정으로 승호를 보고 있었다.
“아··· 네 말씀하세요.”
“아까 문 대리 한테 들었는데 XSS 문제를 봐줬다면서?
“네. 커밋 된 목록을 살펴보다가, 이대로 두면 납품에 문제가 생길 것 같아서 몇 가지 방향을 말씀 드렸습니다.”
“그게··· 내 것도 좀 봐주면 안 될까?”
“네?”
“혹시 버퍼 오버 플로우이라고 들어봤어? 자주 검색되는 데이터를 캐쉬 해서 배열에 저장하고 있는데 여기에 버퍼 오버 플로우 소지가 있다면서 수정을 하라고 해서. 인터넷을 찾아보긴 했는데 도통 잘 이해가 되질 않네.”
버퍼 오버플로우.
듣자마자 관련 내용들이 떠올랐다.
“아, 그건 보통 데이터를 저장하는 과정에서 지정된 메모리 주소를 벗어난 곳에 데이터가 저장될 때 생기는 문제라고 알고 있어요.
“거기 까진 나도 이해를 했는데. 이걸 도대체 어떻게 해결해야 하는지. 그걸 모르겠어.”
“저장하는 데이터의 크기를 미리 파악해서 동적으로 메모리를 할당 하는 방법을 쓰거나, 아니면 공통 라이브러리를 적용해서 함수가 반환될 때 스택 영역에 변화가 생기는지를 파악해서 만약 그런 경우라면 Exception을 발생 시키는 방향이 좋을 것 같습니다.”
“C++ 공통 라이브러리라면 어떤······.”
“유명한 걸로는 safelib 이 있을 거예요. 포트에서 검색해 보시면 사용방법에서부터 예제까지 설명이 나올 겁니다.”
승호가 까칠하게 돋아난 턱수염을 쓰다듬었다. 자신은 어떻게 이런 지식들을 전부 아는 걸까. 정말 사고의 영향인 걸까.
“고마워. 한 번 찾아볼게.”
박태수 과장 가자마자 이번에는 최영진 사원이 승호에게 다가 왔다.
“승호씨, 내가 물어볼게 하나 있는데. 혹시······.
그러나 최영진은 끝까지 말을 잇지 못했다. 최기훈이 책상을 탕 치며 자리에서 일어났기 때문이었다.
“뭐야, 다들 일 안 할 거야? 그 정도는 찾아가면서 하면 되잖아. 일일이 다 승호한테 물어보면 저 친구는 언제 일하나.”
최기훈의 말에 최영진이 입을 다 물었다. 이내 민망한 표정으로 자리에 돌아갔다.
“흠, 흠. 다들 궁금하게 많은 건 충분히 이해하고 있어. 그렇다고 다들 몰려가서 물어보면 저 친구는 언제 자기 일 하나. 그리고 오늘 복귀한 사람이야. 좀 쉬도록 해줘야지.
최기훈의 말에 의자에서 엉덩이를 떼던 사람들이 다시 자리에 앉았다. 그 모습을 황시내가 놀란 표정으로 바라보았다.
어느덧 저녁 시간.
승호는 황호근을 비롯한 직원들과 함께 빌딩 지하에 위치한 식당가를 찾았다. 황호근이 먼저 무인화 바람을 타고 설치된 식권 발급 기계인 키오스크에서 메뉴를 선택하고 식권을 뽑았다. 차례대로 최기훈, 박태수 등등 식권을 다 뽑고, 황시내가 메뉴를 선택하고 카드를 찍는 순간.
“어 이게 왜 이래.”
화면이 멈추었다. 말 그대로 화면이 멈춰 있었다.
– 카드 결제가 진행 중입니다.
진행 상태를 나타내는 동그라미가 뱅글 뱅글 돌기만 했다. 당황한 황시내가 화면을 터치했다.
“뭐야, 이거 고장 난 것 같은데.”
그때 드르륵.
거리는 소리와 함께 황시내의 핸드폰이 진동했다.
“결제 까지 됐잖아.”
함께 밥을 먹으러 온 사람은 총 6명. 그 중 4명은 이미 식사를 하기 위해 안쪽으로 들어갔다. 뒤에 남아 있는 건 승호 밖에 없었다. 당황한 황시내를 앞에 두고 승호가 눈을 반짝 거렸다.
‘이것도 될까?’
집에서 핸드폰, 컴퓨터로는 충분히 테스트 해 보았다. 승호는 한 발 내디뎌 키오스크 화면을 오른 손으로 터치했다.
010011110000011111111.
다른 사람들에게는 보이지 않는 숫자가 나타났다. 승호는 유심히 숫자들의 흐름을 살폈다. 정상 작동하고 있다면 숫자들이 줄지어 이동하고 있어야 한다. 그런대 한 곳에서 멈춰 있었다. 황시내가 주변을 두리번거리며 말했다.
“이거 직원한테 말해야 할 것 같은데··· 직원 좀 찾아보고 올게요.”
승호는 화면에 집중 하느라 듣지 못했다. 멍하니 화면을 보고 있는 승호를 보며 황시내가 물었다.
“승호씨? 승호씨?”
그러나 여전히 아무런 대답이 없었다.
그 사이 승호는 0과1의 세계에 푹 빠져 있었다.
‘펌웨어에 올라가 있는 결제 모듈과의 연동에서 문제가 생겼구나. 얘들도 멈춰 있으니 답답하겠지.’
결제가 끝나고, 그 사실을 메인 처리 모듈에 전달했다. 그 후 완료 되었다는 값을 받아야 하지만 알 수 없는 이유로 완료를 반환 받지 못해 멈춰 있었다.
‘잠시만 기다려봐.’
승호는 멈춰있는 0과1을 살피며 그 이유를 찾기 위해 노력했다.
‘일단 입력, 출력된 값은 정상이고.’
키오스크와 연결된 VAN사에서는 정상 결제 되었다. 그 값을 키오스크에서도 정상적으로 받았다. 현재 발생한 문제는 키오스크 내부의 문제였다. 차분히 해석을 해나가던 승호의 눈이 이채를 발했다.
‘설마 이것 때문에.’
01101111111100000011111.
return_succes◆
return_success로 리턴 되어야 할 값에 이상한 특수 문자가 들어가 있었다. 프로그램에서는 이 경우에 대한 대비가 되어 있지 않았고 결국 프로그램이 멈춰 버렸다.
“승호씨? 제 말 들려요?”
눈앞에 하얀색 손바닥이 어른 거렸다. 누구 손인지 알 것 같았다.
톡.
승호는 오른 손 검지로 키오스크를 건드렸다. 순간 0이 1로 바뀌었다.
지이이잉.
멈춰 있던 결제가 마무리 되고 식권이 뽑혀 나왔다.
“들립니다.”
놀란 황시내가 기계를 보며 중얼거렸다.
“어? 이게 뭐야. 다시 되네.”
“잠시 멈춰 있었나 봐요.”
“우와, 이거 뭐야. 승호씨가 해결한 거예요?”
놀란 승호가 두 눈을 동그랗게 떴다.
“네?”
“왜 그럴 때 있잖아요. 컴퓨터 안 될 때 툭툭 치면 다시 작동 하는 거. 방금 그래서 키오스크 친 거잖아요.”
에헴.
황시내가 두 팔에 팔짱 까지 끼며 내 말이 맞지? 하는 표정으로 승호를 보았다. 승호가 맑은 미소를 지으며 대답했다.
“맞아요. 제가 툭 치니까. 어! 하고 되더라고요.”
“승호씨도 어서 뽑아요.”
승호가 기기 앞에 서서 메뉴를 선택했다.
‘잘 부탁한다.’
마치 알아 듣기라도 하듯 아무런 이상 없이 식권이 출력 되었다.