잠을 못자 헤롱대던 1주차를 끝내고, 2주차가 왔습니다.
수요일 오후 3시에 이메일로 미션을 받았고, 깃헙에서 내용을 확인 할 수 있었습니다.
미션을 받은 날은 왠지 모르게 긴장되고 그럽니다...
최종 코테를 보게 된다면, 보자마자 파바박 구현해야 할텐데 말이죠...!!
우선 메일을 보고 순서를 정해야 했습니다.
전 주차 미션부터 정리하여 공부하고 이번 주차 미션을 할 것이냐?
or
이번 주차부터 해결하고 전 주차 미션을 공부할 것이냐?
이번 주차는 하나의 Application 만 구현하면 되는 것이었기에 지난주와는 다소 결이 달랐습니다.
그래서 얼마나 걸릴지에 대한 감이 전혀 없었습니다.
얼마나 걸리는지 대강은 알아야 앞에 걸 공부하죠...?(....사실 그 공부도 범위를 정하지 않으면 끝없이 할수 있죠.)
최악의 경우 이번 주꺼 구현하는데에도 시간을 전부 소요할 것 같았습니다.
그래서 우선 가장 중요한 목표인 이번주 걸 해결하고 다시 돌아오기로 했습니다.
2주차 미션
2주차는 숫자 야구입니다. 지난 주차에 비해 요구사항이 디테일해졌습니다.
1주차 공통 피드백에도 요구사항을 지켜라라는 항목이 1번으로 있다면, 지키도록 노력해야곘죠!
"과제 진행 요구사항"이라는 큰 틀 안에서 "프로그래밍 요구 사항"이라는 세부 틀이 있고, 그 안에 "기능 요구사항"이 있었습니다. 그렇다면 이제부터는 요구사항을 정확히 읽고 지키는 것의 싸움입니다.
더불어 2주차는 함수분리와 함수별 테스트 작성하는 것에 그 목표가 있다고 합니다.
지난 주엔 각 문제마다 메소드를 쓰지 않고 한 클래스에 구현했던 것이 무척 아쉬워 이 실력을 늘려보기로 했습니다.
README 작성
구현하기 전 기능 목록을 작성했습니다.
먼저 구현 내용은 간단합니다. 컴퓨터에서 숫자를 생성하고, 내가 그걸 맞추는 것이죠.
현실세계에 있는 것을 컴퓨터로 옮겨 만들기 위해 코딩이 발전되었다고 합니다.
거기에 객체라는 개념이 도입되었고요.
아직 객체에 대한 정확한 정의는 내리기 어렵지만, 동작을 하는 행위의 주체가 있으면 객체라고 정의했습니다.
그래서 컴퓨터/유저/야구 순으로 클래스를 분리했습니다.
클래스가 분리되니 하위 기능 작성은 다소 쉬웠습니다.
또 README 에 [ ] 이런 마크다운 언어를 작성하니 체크표시가 가능해, 마치 퀘스트를 진행하듯 과제를 수행 할 수 있었습니다.
메소드 만들기
메소드 작성은 고통을 수반한 즐거움이 있었습니다.
이름을 짓는 것이 어려웠고, 매개변수를 어떻게 작성하는지, 리턴값은 뭔지 등등... 하나하나가 어려웠지만 삽질을 하며 구현해 갔습니다.
컴퓨터 클래스에서 메소드 한 개 만드는 데 몇 시간이 걸렸는지 모릅니다.
그렇지만 한 번 보다는 두 번이 나았고, 두 번 보다는 세 번이 나았습니다.
테스트 코드 만들기
junit이라는 것에 대해 아는바가 없다보니 검색을 시작했습니다.
검색을 해보니 단위 테스트가 가능한 라이브러리 라는 것을 알게 되었고, 깊은 공부는 어려웠지만 그래도 test코드를 흉내라도 내려고 노력했습니다.
모든 개발자는 테스트코드를 통해서 작성한 코드가 유효한지 검증을 거치고, 이러한 과정의 개발을 하고 있다는 것을 알게되었습니다. 테스트를 먼저 만들고 구현을 시켜 통과하는 TDD(Test Driven Development, 테스트 주도 개발)라는 개념도 있고, 이것이 무척 중요하다는 것도 알게 되었죠.
알고리즘 실력이 늘면 코딩 테스트 능력이 늘듯, 테스트 코드 실력이 늘면 코딩 실력이 늘 것이라는 생각이 들었습니다.
문제는 일단 구현
미션 제출 완료
지난주보다는 빠르게 토요일쯤 되니 구현을 마쳤습니다.
그렇지만 public, static 등에 대한 사용도 아직 미숙하고, 인스턴스 변수, 클래스 변수, 로컬 변수 등에 대한 내용도 정확히 잡혀있지 않아 계속 공부를 해야했습니다. 더불어 테스트코드에 대한 것도 공부가 필요합니다.
자바의 정석 책 인강이 있어 그걸 보니 이론으로 알던 것들이 많이 이어 졌습니다. 그래서 한 번 쭉 다 들어보려고 합니다.
삽질을 하며 감이 잡힐수록 점점 재미있어 지는 것이 무척 즐겁습니다
.
그리고 전주에 비해선 잠을 조금 더 잤는데(평균 5시간?) 이게 그렇게 행복할 줄은 몰랐습니다...ㅋㅋ
그래서 공부한 거 정리는 언제? ....아마 프리코스 끝나고?
다음주 목표는 구현과 더불어 테스트코드 더 익숙해지기 입니다.
남은 2주도 열심히 달려보렵니다!!
'성장기록 > 우테코(프리코스)' 카테고리의 다른 글
프리코스 2주차 공통 피드백 (0) | 2022.11.16 |
---|---|
2주차 피드백 강의 수강하며 몰랐던 부분 정리 (0) | 2022.11.10 |
프리코스 1주차 공통 피드백 (0) | 2022.11.06 |
우아한테크코스 5기 우테코 프리코스 1주차 회고 (3) | 2022.11.02 |
슬쩍 기간이 앞당겨진 우아한 테크 코스 5기.. (1) | 2022.10.04 |
남에게 설명할 때 비로소 자신의 지식이 된다.
포스팅이 도움되셨다면 하트❤️ 또는 구독👍🏻 부탁드립니다!! 잘못된 정보가 있다면 댓글로 알려주세요.