퀵바

당우 님의 서재입니다.

회귀하고 탑코더

웹소설 > 일반연재 > 판타지, 현대판타지

두둥이아빠
작품등록일 :
2021.12.13 13:54
최근연재일 :
2022.01.06 14:00
연재수 :
23 회
조회수 :
31,867
추천수 :
626
글자수 :
131,163

작성
21.12.15 14:00
조회
1,552
추천
29
글자
12쪽

회귀하고 탑코더 5화

DUMMY

[5화]


“명성전자···”


성훈이 조용히 입으로 중얼거렸다.


명성전자.

시총 300조를 웃도는 우리나라 최고의 대기업이자 글로벌 기업들과 어깨를 나란히 하는 기업이다.

2022년에는 신기술인 인공지능 핸드폰을 출시하며 그 명성을 더욱 높였다.

전생의 성훈에게는 너무나 먼 기업이었고 평생 그들과 마주칠일은 없다고만 생각했다.

하지만.

2000년인 지금, 명성전자는 성훈에게 그리 멀게만 느껴지지가 않았다.

어쩌면 이것이 제2의 인생에서 첫 획을 두껍게 그을만한 절호의 기회라는 생각마저 들었다.

자켓 안주머니에 있던 핸드폰의 무게가 순간 무겁게 느껴졌다.


‘이 스마트폰만 있다면 가능할 지 도 몰라.’


성훈은 결심한 듯 조심히 입을 뗐다.


“좋습니다. 선배님들과 교수님들의 이제껏 해왔던 노고에 누가 되지 않도록 최선을 다하겠습니다.”


성훈의 대답만 오매불망 기다리던 장대영 교수는 시커먼 얼굴위에 하얀 치아를 드러내며 환한 미소를 보였다.


#


“휴”


성훈은 집에 도착하자마자 스마트폰 부터 꺼내 Wow어플을 실행했다.


[10:04 stackunderflow.com : “Improving the Stack Underflow search algorithm using Semantic Search”을 검색했습니다.]

[10:06 stackunderflow.com : “Improving the Stack Underflow search algorithm using Semantic Search”을 검색했습니다.]

[10:19 stackunderflow.com : “Improving the Stack Underflow search algorithm using Semantic Search”을 검색했습니다.]

···


[오늘 총 72개의 Wow 검색 기록이 있습니다.]


오늘도 어김없이 미래의 누군가 검색한 기록들이 펼쳐져 나왔다.

성훈은 핸드폰 액정을 손가락으로 슥슥 올리며 새로 올라온 내용들을 천천히 읽어 내려갔다.

하지만 성훈이 찾고자 했던 내용은 어디에도 보이지 않았다.

그렇다면 모든 검색 히스토리를 보는 수밖에.

성훈은 [All History] 버튼을 클릭했다.

그러자 이제까지 검색한 모든 내용들이 핸드폰 액정을 가득채웠다.

성훈은 지체없이 돋보기 표시로 되있는 버튼을 누르고, ‘OS Scheduling Algorithms’ 라고 쓴 후 엔터버튼을 눌터치했다.


‘과연 이 폰의 주인이 운영체제 관련 알고리즘을 검색한 적이 있었을까?’


성훈은 스마트폰의 진짜 주인이 OS(운영체제)와 친분(?)이 있었던 사람이기를 바라며 차분하게 기다렸다.

로딩바가 쉴새없이 돌더니 이내 검색을 마쳤는지 어플 화면에 결과를 알려주는 문구가 떴다.


[‘OS Scheduling Algorithms’에 대해 검색결과 145개의 검색 결과를 찾았습니다.]


[2018.09.21 14:23 operatingsystem.org : “Process scheduling algorithms”을 검색했습니다.]

[2018.12.07 11:19 we3schools.com : “Types of Scheduling algorithms”을 검색했습니다.]

[2019.01.05 18:01 stackunderflow.com : “ How to apply scheduling algorithms on eucalyptus or openstack instances”을 검색했습니다.]

[2019.03.02 14:23 gethub.com : “scheduling algorithms in the C++ language”을 검색했습니다.]

···


검색한 문구의 폰트가 굵게 표시되어있었고, 검색한 내용이 시간순으로 나열되었다.


‘이..있다!’


성훈은 속으로 퀘제를 불렀다.

OS 스케줄링 알고리즘에 관한 145개의 검색결과를 보자, 이 정도면 충분하다고 생각한 성훈은 링크된 문구를 하나씩 클릭하며 관련된 내용과 여러줄의 소스코드를 훌어보기 시작했다.


슥슥슥···


어느새 성훈은 차가운 땅바닥에 배를 대고 엎드렸고, 왼손에는 핸드폰을, 오른손에는 연필을 쥐고 손코딩을 하기 시작했다.

손 코딩이란 말그대로 PC 자판기가 아닌 손으로 직접 코딩을 짜는 것이다.

2000년 당시 PC시장의 확장으로 CPU와 DDR메모리, 메인보드 등의 부품 가격이 하락하면서 PC 가격이 대폭 인하되었지만, 그럼에도 PC 한대의 가격은 100만원을 훌쩍 넘었다.

2000년도의 대학생 한달 평균 생활비가 25만 4천원 이라는 것을 감안하면 100만원은 결코 적지 않은 돈이었다.

성훈의 통장 속 잔고에는 고작 37만 9천원이 전부였다.

그마저도 반 이상은 어머니 병원비에 보태야 하는 실정.

성훈의 방에 PC가 없다는건 어찌보면 당연한 일이었다.


스마트폰을 보던 성훈은 반드시 이번 생에서는 전생과 다른 삶을 살겠다고 속으로 다짐했다.


‘20세기의 마지막 해 2000년. 난 정확히 22년 전으로 돌아왔다. 할 수 있는건 무궁무진 하다. 지금 당장 할 수 있는 거라곤 장대영 교수가 던져준 산학협력단 과제가 전부이지만. 이건 단지 시작에 불과해.’


성훈은 스마트폰을 들고있던 손에 힘을 꽉 쥐었다.

세계에서 탑으로 꼽히는 풀스택 개발자들과 당당히 어깨를 마주할 날을 상상하며 연필을 쥐고있던 성훈의 오른손도 점점 속도가 붙였다.

성훈은 저녁밥을 먹는 것도 잊은채 오직 코딩에만 집중했다.

중간에 난관에 부딪히면 스택 언더플로우를 보며 해결했고, 소스가 오픈된 곳이 보이면 적용할만한 소스인지 분석한 후 자신의 노트에 옮겨 담았다.

성훈의 젋어진 머리는 전보다 한층 더 빠르게 돌아갔고, 그의 프로그래밍적인 기억도 그대로 남아있었다.

PC 하드웨어로 따진다면 마치 신형 CPU의 빠른 처리속도와 22년간 쌓아온 데이터 메모리의 조화가 적절한 시너지로 작용됐다.


8시

10시.

12시.

4시.


시간 가는 줄도 모르고 노트에 코드를 채우던 성훈은 마침내 연필을 손에서 놓았다.


“휴. 이정도면 됐겠지?”


성훈은 자기가 적은 소스를 다시한번 한줄한줄 꼼꼼히 확인했다.

완벽하진 않지만 이정도면 충분하다고 판단한 성훈은 그제서야 차디찬 바닥에서 일어났다.

성훈의 8평짜리 방을 환하게 밝혀주던 빛은 4시40분이 되어서야 그 자취를 숨겼다.


#


소프트웨어 공학 연구실.


수업을 모두 마친 성훈은 연구실로 안으로 들어오자마자 가방에서 노트를 꺼냈보였다.

그 모습을 지켜보던 장대영 교수와 대학원생들은 어리둥절한 표정을 지었다.


“그···그게 뭐야?”


궁금한건 못참는 전태양이 먼저 입을 열었다.


“OS 스케줄링 알고리즘 라이브러리 소스를 C++로 작성해봤습니다. 컴퓨터실에 가서 PC에 소스를 옮기려고 했지만, 그 전에 교수님께 먼저 검토부터 받는게 우선인건 같아서 가져왔습니다. 여기요.”


성훈이 장대영 교수에게 건넨 노트에는 한 페이지를 빼곡하게 채운 소스들이 담겨있었다.

한눈에 봐도 50페이지는 족히 넘어보였다.


“이···이걸 하루만에 다 했단 말이야?”

“네. 가독성은 조금 떨어지지만 맨 뒷페이지 보시면 클래스 구조와 함수 API 정리해 놓은 클래스 다이어그램이 있습니다. 그 부분 참조하시면 이해하시기에는 충분히 도움이 될겁니다.”


클래스 다이어그램.

C++, Java와 같은 객체지향 시스템에 존재하는 클래스, 클래스 안의 메소드(함수), 필드(변수), 상속관계 등의 연결관계를 도식화해서 객체의 구조를 보기쉽게 나타낸 그림이다.

쉽게 말해 요리 레시피와 비슷한 구조를 갖는다.

요리 레시피를 보면 음식의 이름이 있고 음식의 조리방법, 음식에 들어가는 재료의 이름, 정량 등을 한눈에 보기 쉽게 만들어 요리하는 사람의 이해를 돕는다.


장대영 교수가 뒷페이지를 보자 성훈의 말대로 여러 클래스들의 속성과 관계를 보여주는 그림들이 잘 정리정돈되어있었다.

그것을 보자 흠칫 놀란 장대영은 마른침을 꿀꺽 삼키며 다시 첫페이지로 돌아가 차례대로 소스를 읽어나갔다.

손코딩으로 작성한 소스코드 치고는 술술 넘어갔다.


그리고 수십분 후.


“이···이거 정말 너가 쓴거 맞아?”

“네. 맞습니다.”

“이 많은 걸 어떻게 하루만에···”


말을 잇지 못한 장대영 교수는 노트와 성훈의 얼굴을 번갈아가며 쳐다봤다.

스케줄링 알고리즘을 분석하고 이해하는 것만 해도 몇시간 혹은 몇일이 이 걸릴 일이었다.

그렇기에 시간을 일부러 넉넉히 잡아 생각하고 있던 교수였다.

참다못한 성훈이 입을 뗐다.


“그것보다··· 교수님. PC에 소스 옮겨 놓는건 어떻게 할까요? 한시가 급하다면서요.”

“어? 어어. 그렇지··· 일단 옮겨놓고 컴파일 해봐라. 나 참···”


장대영 교수의 어쩔줄 몰라하는 모습에 대학원생들은 앉은 자리에서 피식 웃었다.


#


————————————————————

BUILD SUCCESS

Total time : 11.220s

Error : 0

Warning : 2

————————————————————

09:30:23 Build Finished (took 11s.220ms)


모니터 화면에 컴파일 성공 메시지가 뜨자 성훈이 안도의 한숨을 내쉬었다.

두 번의 컴파일 에러부분이 있었지만 단순한 syntax에러(언어 문법 에러)들 뿐이었다.

집에서 손으로 코딩하고 뇌로 컴파일 한 결과 치고는 생각보다 컴파일러가 적은 에러를 토해냈다.


‘오케이!’


속으로 뿌듯함을 느끼던 성훈이 속으로 외쳤다.

성훈이 앉은 자리 뒤에서 멀뚱히 서서 구경하던 대학원생들은 모니터에 눈을 못 떼지 못하고 있었다.


“대박··· 이게 한번에 빌드가 되다니. 말도 안돼.”

“컴파일 경고(Compile Warning : 개발자의 경미한 실수로 인한 경고 표시) 도 별로 안 나왔잖아? 오 윤성훈··· 제법인데?”

“야! 빨리 우리가 만든 프로그램에 그 라이브러리 붙여보자. 바이너리 파일만 일단 여기 디스켓에 넣어줘 봐.”


김동주가 자켓 주머니에서 플로피 디스크를 황급히 꺼내 성훈에게 건네자 성훈이 받기를 주저하며 말을 꺼냈다.


“그게···아직 컴파일만 성공한 단계라 바로 프로그램에 붙이기에는 무리가 있어보입니다. 테스팅 과정을 좀 더 거치며 알고리즘의 성능을 최적화 시킨후에 붙여도 늦지 않을겁니다. 빠르면 오늘 자정 전까지, 늦어도 내일 오전까지 마무리 짓고 드려도 될까요?”


소프트웨어 테스팅.

코드안에 여기저기 숨어있는 결함과 버그를 찾기위해 반드시 거쳐야하는 일련의 과정이다.

개발과정에서의 테스팅은 필수이자 코드의 질을 높여주는 최선의 방법으로 여겨진다.

코드의 질이 높아진다는 건 프로그램의 속도와 성능, 그리고 신뢰성이 한층 더 높아진다는 뜻과 일맥상통한다.

성훈에게는 이 과정이 누구보다 익숙했고, 빠른시간안에 테스팅 할 자신이 있었다.

성훈의 모습을 옆에서 쭉 지켜본 세명의 대학원생 무리는 그의 말에서 어딘가 모를 믿음직함이 느껴져 말없이 고개만 끄덕였다.


#


테스트 작업은 무리없이 진행되었고, 성훈은 마지막으로 스케줄링 알고리즘 성능을 테스트하고자 CPU 수행이 완료된 시간을 디버깅 콘솔화면에 표시하기로 했다.

잠시후.

콘솔화면에 반환된 시간을 확인한 성훈은 엄지와 검지를 튕겼다.


‘좋아... CPU 수행 시간이 더 좁혀졌어. 이거면 충분할거야.’


성훈은 플로피 디스크에 라이브러리 파일을 저장하고 컴퓨터실에서 나와 곧바로 연구실로 걸음을 옮겼다.

자정이 조금 넘은 시간.

그의 가벼운 발걸음 소리가 깜깜한 학교 복도에 울려 퍼졌다.


이 작품은 어때요?

< >

Comment ' 0


댓글쓰기
0 / 3000
회원가입

회귀하고 탑코더 연재란
제목날짜 조회 추천 글자수
23 회귀하고 탑코더 23화 +5 22.01.06 1,020 25 9쪽
22 회귀하고 탑코더 22화 22.01.05 913 16 11쪽
21 회귀하고 탑코더 21화 +1 22.01.04 1,004 24 13쪽
20 회귀하고 탑코더 20화 +1 22.01.03 1,072 20 13쪽
19 회귀하고 탑코더 19화 +5 21.12.31 1,241 25 11쪽
18 회귀하고 탑코더 18화 +1 21.12.30 1,249 24 12쪽
17 회귀하고 탑코더 17화 21.12.29 1,280 23 12쪽
16 회귀하고 탑코더 16화 +1 21.12.28 1,284 25 14쪽
15 회귀하고 탑코더 15화 +1 21.12.27 1,278 26 13쪽
14 회귀하고 탑코더 14화 +1 21.12.25 1,323 26 13쪽
13 회귀하고 탑코더 13화 +1 21.12.24 1,303 25 13쪽
12 회귀하고 탑코더 12화 +3 21.12.23 1,333 27 14쪽
11 회귀하고 탑코더 11화 +2 21.12.22 1,343 27 12쪽
10 회귀하고 탑코더 10화 +2 21.12.21 1,386 28 14쪽
9 회귀하고 탑코더 9화 21.12.20 1,426 26 14쪽
8 회귀하고 탑코더 8화 +5 21.12.20 1,451 33 13쪽
7 회귀하고 탑코더 7화 +1 21.12.17 1,479 33 13쪽
6 회귀하고 탑코더 6화 21.12.16 1,481 27 13쪽
» 회귀하고 탑코더 5화 21.12.15 1,553 29 12쪽
4 회귀하고 탑코더 4화 21.12.14 1,641 33 13쪽
3 회귀하고 탑코더 3화 21.12.13 1,694 34 13쪽
2 회귀하고 탑코더 2화 +3 21.12.13 1,831 34 13쪽
1 회귀하고 탑코더 1화 21.12.13 2,283 36 13쪽

구독자 통계

신고 사유를 선택하세요.
장난 또는 허위 신고시 불이익을 받을 수 있으며,
작품 신고의 경우 저작권자에게 익명으로 신고 내용이
전달될 수 있습니다.

신고
비밀번호 입력