일상생활/하루하루

2014.6.7 그래 인생 노답이지

1. 물리 과제를 6주차 정도 밀렸다. 매주 대략 4문제씩 줘서 그냥 귀찮아서 (...) 안하고 살았는데 이게 쌓이다보니 의외로 짜증난다. 별거 아닌 문제들인지라 풀면서 짜증이 나는데, 이 문제 난이도로 시험이 나와서 짜증이 한 번 더 난다. 솔직히, 고등학교 때나 중학교 때 공부하면서 풀었던 문제 수준으로 중간고사를 내는데 울화통이 터지지 안 터지겠는가.


2. 실습 과제 하나 덕분에 열심히 열 내고있다. 테트리스 코드 던져주고 테트리스를 제작하되 기능 추가하면 개당 5점씩 가산점을 부여한다는 게 과제, 사실 콘솔 기반으로 제작을 하면 재미가 없다는 건 이미 겪어본 일임으로 OpenGL써서 만들자! 이 삽질을 하고 있는데, 이런저런 문제 덕분에 열심히 좌초 중이다. 욕심을 더 내서 넷플 기능을 추가하던지, 이런저런거 생각해둔걸 하나하나 박아넣고 있는데 이런식으로 짜다보니 코드가 꼬이거나 기능 추가하면서 코드 엎는 건 한 두 번이 아니다. 넷플이라던지 2인플이라던지 OpenGL이라던지를 먼저 생각하고, 테트리스 코드를 구현하다보니 확장성에 강박관념을 걸게되는데, 이 때문에 기능을 최소 단위로 나눠서 프로그래밍을 하게 된다. 기능 구현이 절반도 안 된 상태에서 함수는 30개 정도 되고, 라인수도 주석 없이 1천 라인되는 거 보면 답이 안나오긴한다. Main 함수에 호출되는 함수는 5개 정도인데, 다섯 함수 각각이 최소 3~4개 정도 되는 함수를 호출하고 그 함수가 또 함수를 호출하고... TDD 스럽게 (?) 개발하자라는게 목표에는 의외로 부합할지도 모르겠는데, 실제로 최소기능 하나 짠 뒤 컴파일하고 문제점 확인하면 수정하고 이걸 거의 5~60번 정도 반복한 것 같다. 이게 효율적인지는 잘 모르지만, 여튼 오류 잡는 건 한결 쉬워진건 확실하다. 또한 함수 하나 만들고 여러군데 재활용하기도 편하고...


여튼 테트리스가 완성되면, 몇몇 민감한 부분을 제거한 버전을 한 번 깃허브에 올려볼 생각이다.


3. 인간의 기억이 그렇게 정확하지도, 오래가지도 않는 다는 걸 매번 깨닫는데, 분명 한 1년 전에 배운 것들이나 길게는 5~6년전에 분명히 배웠던 것들이 기억이 안 날때가 의외로 많다. 지금도 구의 부분 적분하는 방법이 생각이 안나서 열심히 삽질하고 있었는데 이런거 보면 나란 사람도 많이 글러먹었다는 걸 깨닫는다. 공부는 해야겠는데, 배웠던 게 기억 안나는 상황이라니...


4. 종합적으로 말하자면, 시험기간은 인간의 능력을 한계치까지 끌어내주는 광역버프 같다. 지금도 얼어죽을 물리 연습 문제를 풀고, 테트리스 코드 짜고, 회계 용어 외우고 있다. 빨리 시험이 끝나면.... 끝나면... 그래 계절학기가 나를 기다리고 있겠지... llorz

'일상생활 > 하루하루' 카테고리의 다른 글

2014.11.26  (0) 2014.11.26
2014.10.05 커짐 그리고 작아짐  (0) 2014.10.05
2014.9.26 나의 맥북이 이렇게 허접할리가 없어!  (0) 2014.09.26
2012.8.3 관전  (1) 2012.08.03
2012.7.24  (8) 2012.07.25
2012.6.10 끄적끄적  (3) 2012.06.10
2012.5.27 잉여함은 어디까지인가?  (5) 2012.05.27