본문 바로가기
공부

[공부&과제] 우아한테크캠프 Pro 프리코스 백엔드 개발자 경력자 과정 사전과제 (숫자야구게임)

by 개발하는 지토 2020. 11. 15.

블로그 글을 오랜만에 쓰는 것 같다!
요즘 바빴었다는 핑계를 대보면서 시작한다.

이번에 우아한 형제들에 계시는 자바 자기 박재성 님께서 오픈하신 백앤드 교육과정에 지원을 했다.
원래 조건은 3년 차 이상 백엔드 개발자를 대상으로 한 교육이라고 알고 있었지만..
그냥 요즘 같이 스터디를 하는 개발자 분과 함께 신청을 해보았다.
(나도 교육 들어보고 싶단 말 이등...)

누구나 교육을 들을 수 있는 건 아니었고, 먼저 사전과제가 주어졌다.

사실 다음 주 화요일까지의 기한이지만 시간이 될 때 하자는 생각으로 어제 18시간을 들여서 마무리를 하고 제출을 했다.

이전에 평일에 출퇴근하면서 내용들은 쭉 보고 숙지를 하고 있었다.
그래서 일어나자마자 바로 컴퓨터 앞에 앉아서 일단 계획을 짜고, 요건들을 먼저 정리해보았다.
그런데 생각을 할 때마다 달라지는 요건 정의에 조금 애를 먹었었고, 결국엔 UI와 핵심 로직을 담당하는 기능 요건을 분리하였다.

요건을 먼저 다 정리하고, 학습용으로 첨부해주신 자바 테스트 작성을 먼저 학습하였다.
Junit5를 사용했고 String 클래스와 Set 클래스에 대한 테스트 작성을 진행했다.
간단한 테스트만 작성해봤었는데 내가 알지 못했던 기능이나 어노테이션을 새로 학습할 수 있어서 좋았다.

테스트 케이스 작성을 마치고, 기존 메인 과제를 시작했다.

먼저 깃허브에 있는 프로젝트를 클론 하고 해당 프로젝트에서 시작을 했다.
README파일에 기능 요건, 개발 요건을 먼저 정리하고, 내 브랜치를 생성해서 커밋&푸시를 진행했다.

과제는 숫자야구게임이었는데, 생각보단 어려웠고 시간도 많이 걸렸다.

그 이유는..
1. 기능요건을 명확하게 정리하고 개발을 진행하는데 익숙하지 못해서 오래 걸렸다.
2. 자바 컨벤션과 커밋 규칙을 따르기 위한 조금의 학습과, 신경을 썼다(¿)ㅋㅋ
3. 자바스럽게 구조를 잡기 위한 고뇌의 시간이 길었다.
4. 기능을 하나씩 구현할 때마다 테스트 코드를 명확히 작성했다.

사실 명확하게 요건을 정하고 구조를 잡고 개발을 진행하면 개발 시간을 그리 비중이 크지 않은 것 같았다.

그리고 메서드는 한 가지의 일만 하도록!이라는 규칙이 가장 와 닿았고, 이를 지키려다 보니 확실히 기능별 분리가 되고, 한 메서드에서의 코드 길이도 저절로 줄어들었다.

점심쯔음 시작했던 과제는 오늘 아침까지 진행을 했고 밤을 새우고 잠에 들었다..

하지만 피곤함을 넘어선 뿌듯함이 너무 좋았고, 하루 동안의 학습이었지만 정말 많은걸 생각하고 많은 변화를 가져올 수 있을 것 같은 과제였다.

그래서 더욱이 박재성 님이 진행해주시는 교육을 듣고 싶어 졌고, 만약에 들을 수 있게 된다면 정말 열심히 해볼 생각이다.

기다리기 지치니 빨리 발표했으면 좋겠다 :)

댓글