오늘의 활동
- 코드 리뷰
- 마스터 클래스
- 로또 게임 step-2 구현 후 예외 처리
- 스프링 기본편 자바 객체지향 파트 공부
- LeetCode 543. Diameter of Binary Tree
느낀 점
- 어제 새벽까지 step-2 구현에 몰두하여 어떻게든 구현을 하긴 했다. 하지만 프로그래밍 요구사항에 있는 enum 부분의 사용이 많이 약하다고 생각되어, 기상 후 그 부분을 계속 수정했다. 코드 리뷰 때 많은 힌트를 얻어 enum 생성자에 boolean 변수를 추가하는 방식으로 보너스 볼이 들어왔을 때의 로직을 재구현할 수 있었다. 이렇게 코드 리뷰 이후에 깨달음을 얻은 적이 한 두번이 아니었다.. 확실히 혼자 공부하는 것보다 동료들의 의견을 최대한 받아들이는 게 가장 좋은 것 같다!
- step-3를 구현하려고 보니 학습 목표에 제일 먼저 “적절한 예외 처리 방법을 익힌다.”라고 되어 있었기 때문에 그동안 대충 처리했던 예외 처리 부분을 재작성하는 시간을 가졌다. Input을 담당하는 클래스에서 입력을 받는 동시에 예외처리를 하도록 만들었는데 Complexity를 고려하면서 짜는 게 너무 어려웠다. 호눅스께서 “catch 블록에서 재귀를 사용하는 건 비추”라고 말씀하셨으니 while문으로 작성 후 depth만 2 이상이 되지 않도록 했다.
- 구현 진행 중에 어떻게 하면 객체지향적으로 잘 짤 수 있을까를 제일 많이 고민했던 것 같다. 오늘은 파파베어 마스터클래스가 있는 날이었기 때문에 미리 오픈되어 있는 sildo에 객체지향에 대한 질문들을 많이 했다. 정말 감사하게도 파파베어께서 질문 하나하나 친절히 답변해주셔서 어느 정도의 궁금증이 해결될 수 있었다.
- 분명 김영한님의 스프링 기본편을 처음 쭉 들었을 때는 설명이 이해가 가질 않았는데 직접 설계 후 구현하는 과정을 계속 진행하다 보니 완벽하게는 아니어도 대부분은 이해를 할 수가 있었다. 다형성, solid, 역할의 분리를 가지고 직접 코드를 단게별로 짜주셔서 이번 미션에서 고민했던 부분을 정리할 수 있었다.
- 갑자기 블로그 빌드 오류남.. 뭐지?
Leave a comment