Notice
Recent Posts
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
관리 메뉴

교대최소제곱법

[PintOS project 3 후기] 포기하면 그 순간이 바로 핀토스 종료예요... 본문

크래프톤 정글

[PintOS project 3 후기] 포기하면 그 순간이 바로 핀토스 종료예요...

옐라크레 2024. 1. 2. 20:25

5주간의 여정이 끝났다

아직 경쟁조건을 해결하지 못해 완벽한 승리는 아니지만 일단 끝을 봤다

디버깅하다가 노트북 들고 뛰쳐나가기도하고, 포기하고 편해질까 생각도 수백번은 한 것 같다

그러나 결국 버텼고 승리했다

 

물론 프로젝트4라는 인저리타임이 남긴했지만... 정규시간은 끝났다

 

해치웠나?


코드는 잘못이 없다 실수한 프로그래머만 있을 뿐

맞는데 왜 안 돌아가지?

그건 틀리기 때문에 안 돌아가는 것이다!

 

참 끔찍한 코드다

이 오타를 찾기까지 꼬박 하루가 걸렸다

핀토스를 하면서 느낀 것은 나 자신을 너무 믿지 말자는 것이다

오류가 나면 항상 로직이 틀렸는가를 먼저 확인했었는데 정작 문제는 오타 때문이었던 적이 많았다

 

warning을 항상 확인하자

 

이번 핀토스를 하면서 만난 warning 3대장이다

1. implicit declaration of function

2. assignment makes pointer from integer without a cast

3. 의문의 오타에 의한 워닝들!

 

핀토스는 코드의 양이 엄청났기 때문에 warnig이 묻히는 경우가 많아 힘들었던 것 같다

그러나 대부분의 문제는 warning을 해결하면 해결되는 경우가 많았고

이번 계기로 warning을 잘 확인하는 착한 개발자가 될 수 있었기 때문에 좋은 경험이었다고 생각한다


깃북은 신이다

핀토스를 하면서 배운 것 중 하나는 명세서를 잘 활용하는 방법을 깨달았다는 것이다

기억하기 힘들다면 보고 쓰면 된다 :ㅇ

 

처음에는 명세서를 다 읽고 정리해서 작업을 했었는데 빼먹는 것도 많고 시간도 오래 걸리는 문제가 있었다

그래서 아예 명세서를 주석으로 올려 놓고 작업을 하니까 빼먹지 않고 작성할 수 있기도 했고

이게 가이드라인처럼 보이기 때문에 작업속도도 올라서 아주 좋았던 것 같다


최고의 디버거 printf()

다른 사람들이 디버깅하는 것을 보면 vscode 디버거를 붙여서 쓰기도 하고 gdb를 쓰기도 하던데

그래도 나는 최고의 디버거는 printf라고 생각한다

절대 vscode 디버거 붙이기 귀찮아서 안 쓰는 것 아님 아무튼 그럼

ASSERT와 printf만 있다면 어디든 갈 수 있어..!

 

이건 내 코드는 아니고 캡쳐해 온 사진이지만 나도 이 정도는 찍어보면서 디버깅 했던 것 같다

한땀한땀 printf를 찍다보면 어디서 틀렸는지 왜 틀렸는지 찾게 되는데 이게 printf 디버깅의 묘미가 아닐까


코딩 명당, 광교 41층 스타벅스

 

5주간의 피로와 무기력함을 이겨내기 위해 많은 노력을 했던 것 같다

정말 정말 디버깅하기 싫고 공부하기 싫은 날이 있었는데 무기력함을 이겨내기 위해 다음날 휴가(?)를 내고 스타벅스로 가서 디버깅을 했다

확실히 장소도 바꾸고 맛있는 것도 먹고하면서 작업을 하니까 효과적이었고 그 다음날도 힘내서 핀토스를 만들었던 것 같다

그 날 내 옆에서 작업하시던 분도 DBA이신 것 같았는데 덕분에 motivate 되어서 더 열심히 한 것 같다

마지막으로

 

포기하면 끝이다

포기하지말고, 안주하지말고, 타협하지말고, 걸음을 멈추지 마라

후발주자면 후발주자답게 더 열심히 노력하자

남들이 걷는다면 난 뛰어야하고, 남들이 뛴다면 난 더 오래 뛰어야 앞지를 수 있다

포기하지말자

화이팅