또는 좌측 태그 목록에서 Project_NumberBaseball
을 눌러보세요!
Calculator 프로젝트에 이어, 이번주는 숫자야구 게임을 Command Line Tool (= 터미널)로 개발해보았다. 지난번 Playground와는 달리 실시간으로 상호작용할 수 있어서 너무 좋다. 따로 밑그림 없이 필요한 기능을 하나씩 구현해나갔는데, 각 기능 구현의 자유도가 높다보니 오히려 어려운 프로젝트였다.
개발 도중에 기수생들과 구성한 Organization에서 개인 브랜치에 각자 Pull Request하며 코드 리뷰를 하는 과정이 있었다. 나는 스스로의 수준이 낮아서 남의 코드를 리뷰할 생각을 못했는데, 지금 생각해보면 꽤 이기적인 생각인 것 같다. 결과적으로 나는 일방적으로 피드백을 받기만 했으니.. 양질의 코멘트를 달아주신 능력자 기수생 분한테는 감사할 따름이다. 너무 많은 피드백을 수용하고 싶진 않아서 (내 과제가 아니게 되어버릴 수 있으니), 대부분의 기능을 모두 구현하고 이따금 올렸다.
도중에 내 프로젝트 구조를 파악하기 어려워져서 마음대로 도식화를 해봤는데, 정말 도움이 많이 되었다. 다음에는 튜터님이 알려주신 UML 규격에 맞춰서 그려보고 싶다. 사용할 수 있는 툴도 정말 많고 종류도 정말 많은데, 틈틈이 차근차근 배워나가야겠다!
이번 과제를 진행하면서 클래스의 SOLID 원칙이나 객체지향 프로그래밍 원칙 등은 그다지 고려하지 않으며 작업한 게 많이 아쉽다. 이미 작업이 끝난 프로젝트도 충분히 그 관점에서 리뷰하여 킵할 것은 킵하고, 개선할 점은 개선하도록 해야겠다. 그 밖의 주요 기능이나 고민한 점들은 Github의 README에 많이 작성했으니, 이 밑으로는 좀 더 개인적인 이야기를 적어보고자 한다.
필요한 기능 구현은 화요일 ~ 수요일에 모두 마쳤다. 그런데도 정말 부족하다고 느꼈다. 내가 짠 코드는 뒤죽박죽에, 지금까지 들은 강의 내용임에도 불구하고 기본 문법에 대한 이해도가 정말 낮고.. 내 강의, 과제, 알고리즘 풀이 등 학습현황을 정리해서 튜터님께 상담하러 갔다. 학습방향이나 기술적인 것들을 기대하고 갔는데, 오히려 내 멘탈리티와 자신감에 대한 얘기를 해주셨다. 그리고 근본적인 문제는 내 학습법이 아니라 위축된 자아와 페이스 조절 실패였음을 짚어주셨다. 나는 그저 내 실력 부족만 생각하고 있었는데, 튜터님의 그 말들이 한 발짝 물러나서 나를 관찰하게 된 계기가 되었다. 얘기를 드리길 정말 잘 한 것 같다. 지금 생각해보니 프로젝트 초반에 골머리를 앓아가며 작업했는데, 그 때 특히 에너지 소모가 심하게 되었나보다.
스스로에 대한 자신이 없으면 결과를 도출해내지 못한다. 이는 틀린 결과를 도출하는 것보다 심각한 문제일 수 있다. 좋은 결과를 도출하는 것은 둘째치고, 그 행위 자체에 두려움을 품어버리면 충분한 실패 경험을 겪지 못하기 때문이다. 나만의 논리를 구성해서 아무튼 결과를 도출해내는 것. 그 형태가 '논리'일 뿐, 어쩌면 삶을 살아가는 데 있어 한 발짝 나아가는 행위인 것 같다. 적어 갔던 고민 중에는 '논리력'에 대한 고민도 있었는데, 문제 해결의 과정을 지금 하고 있는 고민들에게 적용해보라는 조언도 해주셨다.
건강한 정신은 충분한 휴식으로부터 나온다. 요즈음 잠을 충분히 못 잔 것 같다. 단순히 늦게 자서 그런 것이기도 하지만, 눕고나서 쉽사리 눈을 감지 못한다. 내일이 기대되면 금방 잠에 들곤 했는데, 요 최근 그러지 못한 것을 보니 나 자신을 너무 몰아세우고 있었나보다. 좀 더 즐겁게 살자. 건강한 에너지로 공부한 지식들이, 나를 더 건강하게 이끌어가줬으면 좋겠다.
와 글 정성 가득하네요 ㅠ 커밋 저게 다 몇 개고.