프로그래밍 랩...

일기장 2011. 12. 7. 14:39

그동안 열심히 했던 커맨드 프로세서 라는 마이크로 콘크롤러 프로그래밍 랩의 제한 시간이 내일까지 란다. 나는 이미 지난주에 완성해서 제출하고 교수한테 데모까지 했으니 상관없다. 

근데 같은 반 한 녀석이 있다.

이 녀석은 공부 잘하지도 않고, 열심히 하는것 같지도 않다. 자기를 희생한다기 보다는 자기 할거 다 하고 남는 시간에 공부하거나 숙제하는.... 예전의 나를 보는것 같은 느낌... -_-;;

이 녀석이 추수감사절 끝나고 나한테 간단하게 펑션들 어떻게 만드는지 개념을 설명해 달라고 했다. 그래서 그러지 뭐 하고 밤에 만나서 잠깐 같이 보여줬다. 사실 보여주는것보다 더 해줬지.

정말정말 중요한 핵심 부분을 아예 대놓고 적어줬으니... 이 핵심 부분이 몇줄 되지는 않지만 난 이거 알아서 적용해 내는데 이삼일 걸렸다. 그 녀석은 내가 이삼일동안 할 부분을 이삼분만에 해버렸으니.... 얼마나 이익인가?


그러더니, 계속 나한테 문자질이다. 나보고 좀 도와달란다. "도와" 달라고?...... 뭐 그럴수도 있지. 근데 내가 월화수는 바쁘네. 그랬더니, 자기는 수요일까지 끝낼 계획이니까, 좀 도와달라고 한다.

그때가 월요일 저녁이였다. -_-;;

내가 3주나 걸린걸 너가? "너" 가? 2일만에 끝내겠다고?
내가 반에서 최고레벨 프로그래머는 아닌데, 그래도 꽤 잘하는 축에 속한다. 근데 이 내가 3주나 걸린걸 "너"가 2일만에 하겠다고? -_-;;;

물론 이미 모든걸 파악한 내가 옆에 붙어서 내 생각대로 짜주면 2일만에 끝나긴 하겠지.

근데 난 그럴생각 전혀 없거든???

그래서 결국 어제도 밤에 도와줬다. 이 시키 이번주 무슨요일까지 끝낼거라고 징징대서 한번 더 봐줬는데..... 자기 딴에는 코드를 짰다고 한다. 근데 중요순서대로 1번, 2번, 3번...... 7번까지 있어야 할 펑션인데 이 놈은 4번을 짰다고 했다. -_-;;

감이 왔다. 이 새끼 안 짜고 구라치는구나.
일단 오라고 해서 봤다.

오 시발..... 봤더니.... 메인 펑션에는 딱 내가 보여준 내용 그대로만 들어가 있고 (그날 열심히 베낀거) 그리고 메인 펑션 밖에 무려.... 내가 집어준 핵심 코드가 있었다.
메인 펑션 밖에........ -_-;;


그리고 그 날, 내가 Pseudo code 물어서 (어차피 실제 코드 짜는 실력은 기대도 안하니까) Pseudo code 짜는걸 옆에서 보고 앉아 있으니까, 이 놈 진짜로 아무것도 모른다. if statement 에서 else 한 다음에 갑자기 return 0 를 하고 앉아 있다. 하마터면 입 벌리고 WFT? 표정을 지을뻔했지만 간신히 참았다.

나 잘난체 하는게 아니고, 저건 기초중에 기초중에 기초다. 근데 그걸 어떻게 하는지도 모른다는거는 이 놈새끼 할줄아는게 하나도 없는거다.

그 순간 난 깨닳았다. 넌 그냥 이번 수업 fail 해야 겠다. -_-;;


그래도 난 친절하게 1번째 중요도 펑션과 2번째 중요도 펑션을 거의 다 짜주었다. 사실 이거만 하는 법 알면 나머진 시간문제다. 지 혼자 낑낑대면 3~4일이면 프로그램 나온다. 한마디로 거의 핵심을 다 짜준 셈이다. 장기로 치면, 포, 차, 말, 상, 그야말로 뗼수 있는건 다 뗴고 왕하고 졸만 가지고 장기두는 셈이고, 스타로 치면, 저그 골라서 드론만으로 싸우는 셈이다.

그래도 1번 중요도 평선보다 핵심인 파싱은 안 짜주었다. 그래도 어마어마한 힌트를 줬다. 사실 조금 불만이였던게, 나한테도 누가 이런식으로 해줬다면 이 코드 1주일만에 끝낼수 있었을거다.

그래도 그냥 참고 넘겼는데 오늘 또 문자 오네.
오늘은 도서관 안와? 그래서 내가미쳤냐? 안간다 ^^ 했더니

"그럼 어디에서라도 볼수 없을까? 나 이거 무조건 오늘 끝내야 해. 내일이 데모 마지막 날이래. 나 오늘 너가 나 이거 끝낼수 있도록 도와줬으면 좋겠는데"

 
그냥 ^^ 밖에 안나왔다. 미친 시발놈.....
1. 처음에 그냥 아이디어랑 힌트만 달래서 핵심 가르쳐 줬더니 
2. 자기 프로그램 도와달래서 가봤더니, 내가 써준거 그대로 + 딱 보니까 다른 사람 펑션 한두개 그대로 복사 붙여넣기한거 가져와서 나보고 어떻게 해달라고...
3. 오늘은 아예 완전히 끝내달라고 하네.


내가 3주걸린거? 넌 그냥 공으로 먹겠다고? ㅅㅂ 미친새끼야 ^^
"이메일로 도와줄께. 내일까지 못 끝내니, 그냥 할수 있는데 까지 하고 데모해."


그래도 지난 학기 코드는 누구 다른 사람한테 얻어왔는지, 아주 기본적인거 스트럭쳐 하나랑 펑션 한개 그대로 복사 붙여넣기 해있더라. 근데 그거도 어디다가 복사 붙여넣기를 해야 할지 몰라서, 스트럭쳐를 소스 코드 맨 마지막에다가 declare 했더라 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

지난학기꺼인지 어떻게 아냐고? 지난학기에는 마이크로 콘트롤러로 다른 칩셋을 썼다. 이번학기부터 신형 칩으로 바꾼거다.

이 녀석이 지금 내 학교 베프들이면 난 두 팔 걷어 붙이고 밤새 튜터링 해줬다. 코드 내가 직접 짜주면서...... 근데 내 베프들은 이미 벌써 이 수업 들었고, 나처럼 무한 자기 희생해가면서 프로그램 시간내에 완성해서 다 제출해서 다 통과했다.


나? 일명 황금 연휴 기간이라 불리는 추수 감사절...... 추수 감사절은 보통 목요일이랑 금요일날 논다. 근데 보통 학교는 수요일도 왠만하면 빼준다. 애들 집에 가라고. 여긴 집이 멀어서 운전해서 몇시간이 기본이니까. 그리고 화요일 수업도 만만한거 밖에 없어서 그냥 빼먹었다. 월요일? 월요일은 갈 생각이였는데, 그만 잠 자다가 못 가고 빼먹게 되었다. 밤새서 코드 짜다가 그만 반 기절 상태로 자버렸다.

그렇게 추수감사절 1주일, 그리고 그 월요일 시작하기 전인 주말... 즉 전 주의 금요일, 토요일, 일요일까지..... 금요일날 수업 끝나고 집에 오자마자 일단 한숨 잤다. 그 전날도 엄청 고생해서 몇시간 못자서 그랬다. 아마..... 3시간 자고 레포트 썼나 그랬을거다. 그리고 낮잠자고 일어나서, 일요일을 지나 월요일날 새벽까지 미친듯이 코딩만 했다. 커피 열댓잔은 마셔가면서 눈 떠있는 시간은 키보드만 잡고 있었다.

추수감사절때 마찬가지였다. 단 하루도 놀지 않고, 계속 코딩만 했다. 심지어 여친집에 갈때도 21인치 모니터랑 내 맥북에어랑 양손에 들고 가서 쉬지 않고 코딩했다.

추수감사절이 끝났다. 근데도 아직 프로그램은 완전하지가 않다. 그래서 수요일까지 짜고 또 짜고 수정했다. 끝이다! 그럼? 이제 래포트다.

수요일부터 레포트 / 디버그 코드 지우고 / 주석 알아보기 쉽게 달고 / 코드 좀 더 깔끔하게 다듬고.... 목요일날 새벽에서야 레포트 쓰기가 끝났다.

레포트는 마소 워드로 60장이 넘어가더라.  그걸 금요일날 데모하고, 교수한테 무진장 깨지고..... 프로그램이 flexible 하고 reliable 하지 못한다고.. ㅠㅠ 

무진장 깨지고 나서 집에 와서 너무 서운하고 서러워서 한동안 아무것도 못했다. 내가 일도 하지만, 일보다 학교가 더 지랄맞다. 내가 일할때는 나한테 충분한 시간을 허용해주고 일을 하게 한다. 내 최대한의 편의를 봐주는거지. 그래서 나는 최고의 결과물을 뽑아내야만 하고, 항상 그래왔다. 

근데 학교는 씨발..... 미친 교수새퀴들은 내가 지 수업만 듣는지 알고 미친듯이 숙제랑 할거를 떠안겨준다. 내가 데모할때도 교수가 뭐랬는지 알어? 시발..... "너 이거 짜는데 시간 많이 투자 안했지?" 이런다. 시발....... 


그렇게  눈물과 한숨으로 3주내내 짠 프로그램... 이 3주동안 다행이 다른 랩과 수업들이 나를 안 괴롭혀서 나는 3주동안 내내 집중할수 있었고, 끝낼수 있었던 것이다. 아니...... 사실 다른 수업과 랩의 과제도 엄청나게 하긴 했다. 그리고 일도 했고. 그 모든걸 다 제시간에 끝내놓고 한거고, 학기중보다는 덜 괴롭혀졌던건 사실이다.


 그리고 이게 단순히 C 프로그래밍이 아니라 마이크로 콘트롤러 프로그래밍이라... 얼마나 골때린지 아나? 엠베디드 프로그래밍까지는 아니지만, 그래도 메모리를 직접 콘트롤해야 하는거라... -_-;;; 이거 내 생각대로 코드 짰다가, 막상 컴파일 시키면 뭔가 에러가 뜬다. 근데 미치고 환장하는게.... 이게 디버그 하기가 조낸 까다롭다. 왜냐? C 의 기본 펑션들을 거의 못 쓴다. 그리고 주어진 펑션은 고작 케릭터랑 스트링 출력/입력하는것뿐...... 인티저 (정수) 나 더블을 출력하고 입력하고 그런건 없다. 그래서 내 정수가 어떻게 펑션들 사이를 날라다니는지 확인을 할 수가 없다. 출력도 printf 나 puts 같은 C 의 펑션들은 못 쓰고, 딱 주어진 펑션 (저 위에) 를 쓰거나 직접 메모리를 콘트롤해서 출력을 해내는 펑션을 짜내야 한다. 그래서 프로그램 짜다가 에러 뜨거나, 막상 에러는 안 뜨는데 생각한대로 프로그램이 안 움직이면 재앙이다. 오죽하면, 스트링 입력을 잘라내서 각각 변수로 집어넣는거에서, 당연히 논리적으로 되어야 하는 파트에서 입력값이 변수로 잘 안들어가고 엉뚱하게 들어가서 여기서 3일 잡아먹었다. 


이렇게 개고생하고 눈물과 한숨과 허탈함으로 얼룩진 내 프로그램을 너가 오늘내에 완성하고 싶다고? 말이 "오늘내로 완성해야만 해" 지, 사실상 "니가 좀 내 대신 짜줘" 이 소리다.

내가 추수감사절에 피토하며 밤새도록 프로그램 짤때 넌 뭐했냐? 친구들하고 술먹고 놀았지? 가족과 잡담했지? 게임했지? 컴퓨터 웹서핑 했지? 그냥 문자로 시시덕거렸지? 안봐도 뻔해. 내가 붙잡아놓고 너 가르쳐 줄때도 계속 전화기 만지작 거리면서 문자 보내더만... 내가 중요한 파트라고 말하고 조낸 설명하는데 문자가 띠리링~ 하고 오면 내 화면 안보고 문자 보면서 문자 보내고 있다.


얘는 보니까 자세가 안되어 있네. -_-
하긴... 항상 내가 가르쳐 줄때도 와서 1시간 앉아있다가 가더라. 내가 계속 거기 앉아 있음에도 불구하고.... 나 같으면 나 집에 갈때까지 거기 앉아서 끈질기게 물어보고 물어보고 계속 뭔가를 갈취해 내겠다. 아..... 그러고보니, 올때 노트북도 마이크로칩도 안 들고 와서 내꺼 계속 썼다....

그냥........ 할 마음이 없는거다.  -_-;;

그냥 내 옆에 앉아서, 내가 소스코드를 내 컴퓨터로 연결해서 하나씩 작성해주는걸, 옆에 앉아서 지켜만 볼 뿐이다. 

미안하지만, 내가 봤을땐 넌 fail 이다. 아니 미안하지도 않지.... 
너 할거 다 하고, 공부하거나 과제 하려면 못하지...


내 친한 친구 녀석들도 그리고 나도....

이미 개인생활이란거를 포기한지 오래다. 그냥 눈만 뜨면 과제, 먹기, 응아, 씻기 이것중에 하나지. 
이번학기인 8월부터 여태까지인 12월까지 내가 가져본 개인생활이... 영화 3편, 게임 10시간정도네. 
게임도 사실 이번주 초까지 3시간이였는데, 블랙 프라이 데이때 미친 배틀필드3가 50% 세일을 해서 덜컥 사버렸다. 이 가격대로 떨어질려면 몇달은 더 기다려야 한다고 생각해서...
막상 이 녀석이 배송오자, 생각보다 너무 땡겨서 커맨드 프로세서 끝내고 이번주의 반정도는 체력 비축기간으로 잡고 기말대비 공부하고 일하면서 하루에 2시간정도씩 짬짬히 일과 일찍 끝내놓고 하는데, 이게 넘 잼있네 ㅋㅋㅋ

근데 오늘부터 또 금지다. 이제 다시 막판 파이널 랩 음향측정 프로그램을 향해 달려야지.

아, 방금 이 녀석한테 이메일이 왔네. 자기가 펑션 만들었다고... 수정 좀 해달래.

그래서 메일 열어봤더니 글쎄 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ


어제 내가 가장 중요한 펑션의 정말정말 최고 핵심 부분을 간단하게 15줄 정도로 짜준 코드가 있다.
이걸 그대로 복사& 붙여넣기 하고, 변수명 딱 하나 바꿔서 3번 붙여넣어서 보내왔다.

각각 펑션 이름은 펑션 3번, 펑션 4번, 펑션 5번. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
양심이 좀 있어라 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

어떻게 내가 짜준 걸 그대로 고스란히 복사&붙여넣기 하면서 너가 짰다고 하냐 ㅋㅋㅋㅋㅋㅋ
아니.... 설령 변수라도 하나 더 집어넣었으면 말도 안해 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

그래도 착한 나는 핵심 아이디어들을 짚어서 답메일을 친절하게 보내줬다.
근데 그 착한 핵심 아이디어 이메일을 "이해" 하려면, 최소한 너가 스스로 노력하고 공부했어야 했다. 너가 그냥 평소대로 아무것도 안하고 그랬다면 죽어도 이해 못할거지. 


이 놈이 가장 짜증나는게.... 이놈한테는 할려고 하는 의지가 안 보이더라. 
이 놈이 "나 이거 내일모레까지 끝낼거야" 라고 나불댈때 내가 핵심 아이디어 제일 처음 주고, 정확히 일주일후에 다시 봤다. 이 녀석이 가져온 코드를 보니까, 내가 보여준 첫부분 열심히 베껴놓은거 그냥 옮겨 적고, 다른애 코드 열댓줄 복사 & 붙여넣기 해서 가져왔더라.

그래서 어제 또 열심히 핵심을 주다 못해 가장 최고 핵심부분이자 힘든 부분을 내가 직접 간략버전으로 짜주었다. 이거면 정말 게임 끝이다. 이 정도면 스타 시작할때 쇼미더머니 2번치고 하는거랑 똑같지. 근데 오늘 자기가 짠 코드고, 자기 오늘까지 끝내야 하고, 자기 좀 도와주고, 자기 코드 좀 고쳐달라고 해서 보내온거 보니까 ㅋㅋㅋㅋㅋㅋㅋㅋ 씨발

내가 어제 짜준거 그대로 복사 & 붙여넣기 ... 근데 그대로 보내자니 좀 찔리네... 해서 변수 이름 하나 바꿔서 보내놓고, 고쳐달란다 ㅋㅋㅋㅋㅋㅋㅋㅋ

1. 제일 처음 코드? 없음. 내가 핵심줌. 근데도 2일안에 끝내야 한다고 개드립치고 은근 조름. 개무시.
2. 내가 핵심주고 나서 일주일후 다시 만남. 난 얼만큼 했나 과연 2일내에 끝낸다고 할 실력이 되나 하고 보니까 많이 봐줘서 30분정도 코드 두들겼음.
3. 그래서 직접 다 고쳐주고 핵심까지 써주고, 하는법, 아이디어, 알고리즘, Pseudo code 다 주고 옴.
4. 오늘 또 고쳐달라고. 내일까지 끝내야 한다고 징징 개드립침. 그래서 코드 보내라고 했더니 코드 옴. 오늘의 코드 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 5분짜리 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ


내가 일하면서 느낀건데, 할려는 의지가 있는 사람하고 없는 사람하고는 천지 차이더라. 둘이 똑같이 아무것도 몰라도, 의지가 있는 사람은 어떻게든 달려들어서 물어뜯고 본다. 뭘 해야 하는데 어떻게 해야 하는지 모른다? 그러면 구글도 검색하고 인터넷 포럼 돌아다니고, 어떻게든 방법을 알아내려고 애쓴다. 의지가 없는 사람은? 그냥 손놓고 누가 물어보길 기다린다. 누가 물어보면 "할줄 몰라" 라고 당당하게 답변.... 그래서 매니저가 어이가 없어서 "왜 진작 얘기 안했어?" 하면, 늦게 얘기한게 내 잘못인가? 하는 표정이다. 왜? 여태까지 "아무도 안 물어" 봤기 때문에...... 
 

 짤방은 내가 좋아하는 테라!!! 
얼른 테라 하고 싶다..... 제발 나 시니어 프로젝트 끝낼때까지 서비스 종료하지 말아라. ㅠㅠ