2012년 1월 21일 14:00
모두의 자리가 어두운 가운데, 창가쪽 유식의 자리만 밝다.
모든 팀원이 자리에 앉아서 작업중이다. 키보드 소리만 시끄럽게 울린다. 유식은 창 밖을 보고 있다.
그 때, 남기수가 일어나 유식의 자리로 온다.
기수: 뭐 하고 계세요?
유식: 숙제 하고 있어요. 팀장님께서 내 주신 숙제.
기수: 어때요?
유식: 어떻긴요. 지지부진이죠. 나누기랑 관련이 있는 버그란게 대체 뭘까. 그런 버그가 정말로 심어져 있긴 한걸까.
기수: 저도 통 머리가 돌아가질 않네요.
기수가 머리를 긁적거린다. 시애가 자리에서 일어나서 사무실 밖으로 나간다.
기수는 그녀가 사무실 밖으로 사라질 때 까지 바라본다.
뒤이어 안팀장이 자리에서 일어선다. 커피를 타서 역시 사무실 밖으로 나간다.
손에는 담배가 들려 있다.
연극 무대. http://justcool.egloos.com/v/4158973
기수: 안팀장님 원래 담배 태우시던가요?
유식: 아닐걸요. 끊으신 걸로 아는데.
기수: 이번 일로 은근히 신경을 쓰고 계시는 건가?
유식: 신경 안쓴다면 팀장이 아닌 거겠죠.
유식의 책상 쪽 조명이 밝아진다. 책상 위에는 백색의 인덱스 카드들이 놓여 있다.
기수: 카드로군요.
유식: ...
기수: 새로 사신 건가봐요.
유식: 이 카드로 말씀드릴 것 같으면!
유식이 대사를 내뱉으면서 벌떡 일어난다. 놀란 기수는 뒤로 흠칫 물러선다.
기수의 표정이 귀신이라도 본 사람마냥 변한다.
유식: 그건 다음에 이야기하기로 하고. 우선 가시죠. 커피는 제가 대접하리다.
유식과 기수는 커피 테이블로 향한다. 기수는 아직도 얼빠진 표정이다.
갑자기 유식이 뭔가 생각났다는 손짓을 하고 자리로 돌아간다.
급히 돌아온 그의 손에는 인덱스 카드가 들려 있다.
유식: 회의실로 가시죠. 자리에 앉아 있어봐야 일이 될것 같지도 않으니 뭔가 같이 해 봅시다.
기수: 뭘 하자는 건데요?
유식: 가보시면 안다니까!
유식이 회의실 문을 왈칵 열고 들어간다. 기수가 그의 뒤를 따른다.
유식은 의자 몇 개를 거추장스럽다는 듯 한 쪽 구석에 밀어놓는다.
기수는 그런 그를 신기하다는 듯 바라보고 있다.
유식: 자 받으세요.
유식이 기수에게 인덱스카드를 덜어주고 회의실 한쪽에서 펜 두개를 가져온다.
테이블 위에는 이런 저런 서류들과 과자들이 널려있다.
유식은 손을 뻗어 테이블을 치우고, 카드 넉 장과 펜을 테이블 위에 놓는다.
유식: 자. 그럼 이제 한번 해 볼까요.
기수: 뭘요?
유식: 시스템을 까 보는 겁니다. 기수씨는 범인이에요, 범인. 그러니까 나누기 관련 버그를 시스템에 심으려는 나쁜놈. 오케이?
기수: 왜 내가 범인을 해야 하나요?
유식: 내가 좀 더 착하게 생겼잖아.
기수는 어이없다는 듯 웃는다. 유식도 따라 웃는다.
기수는 펜을 하나 집어 들고 카드를 바라본다.
기수: 뭐 그럼 내가 범인이라고 칩시다. 어떻게 해야 하는 건가요?
유식: 누가 우리 시스템을 공격한다고 치면, 어디가 가장 쉬울까?
기수: 글쎄요...
기수, 머리를 긁적거린다. 유식은 턱을 긁적거린다.
기수: 소스코드를 만지고 컴파일하는건 생각보다 어려운 일이니까, 데이터베이스?
유식: 어째서?
기수: 관리자 계정만 있으면 데이터는 맘대로 바꿀 수 있잖아.
유식: 오호라.
유식은 카드 한 장을 들고 그 위에 "데이터베이스"라고 적는다. 글씨가 큼지막하다.
그리고 카드를 테이블 위에 올려놓고, "데이터베이스" 아래에 굵은 밑줄을 긋는다.
기수: 그럼 이제 데이터베이스에 가설을 적용해 볼 순서?
유식: 그렇지.
기수: 우리가 입증해야 할 가설은?
유식: 어떤 말종이 데이터베이스에 '나누기' 관련 오류를 넣었다.
기수: 그 가설을 입증하려면?
유식: 데이터베이스 데이터를 조작해서 나누기 오류가 발생할 수 있음을 보이고, 그 위치를 찾아내야죠.
기수: 오호라.
유식: 추임새만 넣고 있을때가 아니에요. 니가 나쁜 놈이니까, 지금부터 버그를 심어보세요.
기수: 에이 썅.
유식: 아니 왜 욕은 하고 그래?
기수: 나쁜 놈이니까 욕도 할수 있는거지.
유식: 오호라.
기수: 자. 그럼 내가 데이터베이스에 버그를 넣는다면 어디다 넣을까.
유식: 어디다 넣고 싶어요?
기수: 내가 나쁜 놈이라면 가능하면 들킬 리 없는데다 넣겠지.
유식: 들키지 않는 일은 없는 법이니까 좀 들킬 확률이 적은데다 넣겠지.
기수: 그렇겠지.
데이터베이스. http://lovesulki.tistory.com/31
유식: 들킬 확률이 떨어지는 데는 어디?
기수: 남들이 잘 보지 않는 곳.
유식: 거기가 어디일까?
기수: 우리는 데이터베이스를 자료 저장소로만 쓰잖아요?
유식: 그렇지.
기수: 코드는 전부 Java나 C++ 파일 안에만 두고.
유식: 데이터베이스 초기화 파일은 어디다 두죠?
기수: .sql 파일 안에 초기화 로직은 거의 전부 다 있지.
유식: 한번 만들어 놓으면 스키마가 바뀔 때 빼고는 거의 다 그대로 두죠?
기수: 그렇지. 그 파일 안 들여다 본지가 거의 한달은 될걸요.
유식: 오호라.
기수, 카드를 한장 집어 들고 "스키마 파일"이라고 적는다. 그리고 "데이터베이스" 아래에 둔다.
유식: 그런데 스키마 파일 고쳐서 나누기 버그를 심는다는 게 가능한가?
기수: 우리가 지금까지 코딩하던 습관에 비추어보면, 글쎄 가능하지 않을 것 같긴 한데.
유식: 그런데?
기수: 한가지 가능성이 있죠. 거기다 코드를 심으면 가능할 수도 있어.
유식: 어떤 코드?
기수: 트리거(trigger).
유식: 오우 씨팔.
기수: 욕은 내 담당인데.
유식. 카드를 집어 들고 "트리거"라고 적는다. 그리고 "스키마 파일" 카드 아래에 둔다.
유식: 이거 재미있는데.
기수: 재미있을 줄도 모르고 하자고 한거임?
유식: 이렇게까지 재미있을 줄은 몰랐지.
순간, 회의실 문이 왈칵 열린다. 허동수가 휠체어를 들이민다.
동수: 여기서 뭐하는 겁니꺼?
조명이 어두워진다. 그대로 암전.
'Thoughts' 카테고리의 다른 글
| 프로그래머 3부 (08) (0) | 2012/05/18 |
|---|---|
| 프로그래머 3부 (07) (0) | 2012/05/15 |
| 송호국민관광지 캠핑 (2012.05.04~05.05) (4) | 2012/05/06 |
| 초보캠핑: 콜맨 와이드 스크린 2룸 하우스 II 체험단 모집! (1) | 2012/04/26 |
| 다나와: SIGMA DN 렌즈 체험단 모집 (1) | 2012/04/19 |
| 프로그래머 3부 (05) (4) | 2012/02/23 |
댓글을 달아 주세요