드디어 프리코스가 시작되었다.
선발 과정에 대해서 알아보자.
📌 우아한 테크코스 5기 백엔드 선발 과정
- 지원서 작성: 10월 17일 ~ 10월 24일
- 프리코스: 10월 26일 ~ 11월 22일
- 1차 합격 발표: 12월 14일
- 2차 코딩테스트: 12월 17일
- 최종 합격 발표: 12월 28일
다음과 같이 이번 모집은 이전 기수와 달라진 점은 코딩 테스트 없이 서류 접수한 전원이 프리코스에 참여하는 것이다.
프리코스는 강의 기반 교육이 아닌 주어진 미션(과제 형식)을 해결하기 위해서 스스로 필요한 내용을 학습하고 터득해서 적용하는 것이다.
과정 자체에도 '성장'할 수 있고 앞으로 우테코의 교육과정을 맛볼 수 있는 기회이다.
내가 지향하는 프로그래밍 공부 방식과 너무 잘 맞아서 감동받을 정도였다.
[1주 차] 미션 - 온보딩
👉 미션 저장소
📆 기간: 2022.11.26(수) 15:00 ~ 2022.11.02(수) 00:00
기존 3주 -> 4주로 한 주가 추가되면서 첫 번째 주차에는 기본 프로그래밍 역량을 키울 수 있는 미션으로 나왔다.
코딩테스트를 치르지 않았기 때문에 앞으로 사용할 언어에 대한 역량을 키우고 미션 과정 자체에 적응하는 기간이었다.
0. 오리엔테이션
1. JDK 버전 맞추기
미션은 기능 요구 사항, 프로그래밍 요구 사항, 과제 진행 요구 사항 세 가지로 구성되어 있다.
그중 프로그래밍 요구 사항을 맞추기 위해서 프로젝트의 JDK 버전 세팅을 했다.
기존에 11 버전을 사용하고 있어서 변경할 내용은 없었지만 혹시나 프로젝트 별로 버전 세팅에 대해서 궁금하다면 내가 작성한 포스팅을 참고하자!
👉 [IntelliJ] project마다 JDK 버전 관리하기
2. 커밋 컨벤션
기존에 프로젝트에서는 아래와 같이 사용해왔다.
커밋 타입 (Commit Type)
feat : 새로운 기능 추가
fix : 버그 수정
docs : 문서 수정
style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
refactor : 코드 리팩토링
test : 테스트 코드, 리팩토링 테스트 코드 추가
chore : 빌드 업무 수정, 패키지 매니저 수정
rename: 폴더명을 수정하거나 파일 이동
remove: 파일 삭제
1주 차 과제는 총 7개의 문제를 해결해야 하기 때문에 구분하기 위해서 커밋 컨벤션을 다음과 같이 작성했다.
<type>(<scope>): <short summary>
이때 커밋 메세지는 반드시 읽는 사람 입장에서 메세지만 보더라도 이해할 수 있도록 작성해야 한다.
3. TIL
[ Java에 대해서 배운 내용]
아래 포스팅에 정리했다.
👉 [Java][우테코:프리코스](1주차) 배운 내용 정리
[ 클린 코드 ]
1. 상수 명명
static final 필드는 상수를 의미한다. 상수는 CONSTANT_CASE를 사용한다. 모두 대문자이며 각 단어는 하나의 언더스코어로 구분하는 형식이다.
상수가 아닌 필드의 이름은 lowerCamelCase로 작성할 것을 권장한다.
👉 Google Java Style Guide - 번역
2. 자바 변수명 네이밍
- 참고 자료
3. 자바 메서드 네이밍
- 참고 자료
나 자신, 다른 개발자와의 소통을 위해 가장 중요한 활동 중의 하나가 좋은 이름 짓기라고 한다. 사실 일주일만 지나도 내 코드는 참 낯설다.
🐻❄️ 나 : 이게 무슨 함수더라?
간략하게 작성하기 위해서 메서드 명을 짧게 작성하기보다 메서드나 함수명, 클래스명만 보고도 어떤 기능을 하는 것인지 알 수 있도록 작성하자!
충분히 이해 가능한 네이밍을 한다면 불필요한 주석을 줄일 수 있다.
4. 과제 제출
이때 gradlew clean test가 진행이 안돼서 에러가 나는 경우를 많이 보았다.
해결방안을 알아보자.
Case 1
: 테스트 코드를 Intellij에서 직접 실행했을 때 오류가 발생한 경우
💡 File → Settings → Build, Execution, Deployment → Build Tools → Gradle에서 Run tests using을 Intellij IDEA로 바꿔준다.
Case 2
💡 이 경우에는 경로에 한글이 있는 문제이다. 인코딩을 UTF-8로 변경하거나 잠시 영어 경로 폴더에서 테스트를 진행하자.
마무리
화요일 자정까지 제출이 완료되고 수요일 코수다가 진행되었다.
이때 정말 내가 평소에 프로그래머로 키우고 싶은 역량을 키우는 과정을 내가 하고 있다는 것을 느껴서 제대로 감명받았다.
이번 주차는 간단한 한 함수로 구현하는 미션이었지만 많은 생각을 할 수 있는 과제였다.
이때 요구사항이나 제한사항에 대한 문서가 명확하지 않고 모호한 부분이 있어 다 각자 다른 의견을 가지고 있었다.
나 또한 문제를 풀며 최대한 방어적으로 작성하되 이게 맞는지 조금 헷갈리기도 했다.
하지만 이건 다 큰 그림.
현실에서 현업에서 내가 해결해야 하는 문제들은 제한사항, 요구사항이 명확하지 않아서 이런 상황에서 내가 어떻게 방어 코드를 짤 지, 주어진 문제에 대해 나는 어떻게 접근하고 판단할지 그렇게 고민하는 자체를 연습시키는 것이 목적이었다.
소프트웨어에는 정답이 없고 계속 변화하는 세상에 맞춰서 스스로 판단에서 만들어나가는 것이다.
정말 내가 어떻게 부족한 부분을 채울지 고민했던 부분이다.
교육 이후 개발 프로젝트 경험이 있다고 생각했지만 해커톤에서 막상 내가 해본 적 없는 기능, 어떻게 구현해야 할지 막연한 기능 구현을 해야할 때 어떻게 설계해야 하고 접근해야 할지가 너무 낯설고 힘들었다.
그래서 그 부분을 어떻게 채울지, 어떤 식으로 학습을 해야 이런 부분의 역량을 키울 수 있을지 고민하고 있던 부분을 정확하게 채워주는 과정이었다.
남은 프리코스 3주도 파이팅!
'대외활동 > [미션] 우아한테크코스 프리코스 | Java' 카테고리의 다른 글
[우아한테크코스] 객체를 객체스럽게 사용하도록 리팩토링해라. (0) | 2022.11.26 |
---|---|
[우아한테크코스] 프리코스 4주차 : 다리 건너기 (bridge) (0) | 2022.11.19 |
[우아한테크코스] 프리코스 3주차 : 로또 (lotto) (0) | 2022.11.13 |
[우아한테크코스] 프리코스 2주차 : 숫자 야구(baseball) (0) | 2022.11.07 |
댓글