우테고 프리코스(7기)

[프리코스 1주차 회고] 문자열 덧셈 계산기

dulbong 2024. 10. 21. 23:47

회고할 내용이 아주아주 많았던 1주차이다. (좋았던, 아쉬웠던, ... 등등)

너무 회고할 내용이 많아서 하나씩 정리해본다. 

어디서부터 회고를 시작해야할지 몰라 우테코 프리코스에 참여하게 된 간단한 계기부터 시작하려한다.

 

본격적인 회고는 ✒ 4Ls 에 작성하고자 한다. 

 

첫 회고글이기 때문에, 

대부분의 회고 작성 요령에서 지양하라고 하는 참여 계기와 구구절절 내 이야기까지 담아보았다

 

 

 

 

 

 

 

🤔 우테코에 참여하게된 계기는?


 

처음 개발을 시작하면서는 "혼자" 공부했다.

 

이전까지 다른 공부를 하면서도 나는 혼자 공부하는 것을 선호했는데, 분위기에 휩쓸리는 스타일이라 주변에 친구들이 있으면 집중을 잘 못하고 잡담을 많이 하게 되었기 때문이다. 

그러면서 계획했던 공부를 하지 못하고 흐지부지되는 경우가 아주아주 많았기에 정말 모르는 개념, 과제 문제가 있지 않으면 혼자 공부하는게 더 편했다.

 

그러나 얼마 지나지 않아 개발은 혼자서 공부하는게 아니라는 것을 금방 깨달았다.

코드에 오류가 나더라도 주변에 물어볼 개발자가 없으니 자연히 강좌 커뮤니티 (게시글 거의 안올라옴) 아니면 ChatGPT 에 피드백을 받았는데, 코드에 대해 고민하고 이것 저것 시도해보는게 아니라 피드백받은 코드를 Ctrl+C, Ctrl+V 하고있는 내 모습을 보면서 이렇게 공부해서는 안된다고 생각했었다. 

 

내 키보드가 이렇게 생겼어도 괜찮았을 정도

 



코드에 대해 같이 리뷰할 동료가 절실했던 나에게 우테코가 다가왔다!

피어리뷰를 중요하게 생각하는 우테코에서 동료들과 고민하면서 내 코드를 뜯어고쳐보고 싶었다.

 

사실 우테코에 지원하게 된 다른 이유도 많지만,

가장 중요한 이유는 피어리뷰이기 때문에 간단하게 회고록에서 소개하고 싶었다. 

 

 

 

 

 

 

 

🤔 우아한 테크코스 프리코스의 시작


 

프리코스가 시작되는 주차는 내 시험기간과 딱 겹친 일주일이었다. 

사전 설명회 영상에서 "우테코 붙으려면 학교 시험정도는 버릴 각오를 해야" 한다는 말씀을 들었는데,

실제로 디스코드 방 입장하고 보니 시험기간인 대학생 분들도 정말 많았지만 다들 열정 넘치게 우테코 프리코스에 참여하고 계셨다.

 

첫 날, 디스코드 방에 입장하자마자 벌써 여러개 올라온 잡담, 토론, 함께 나누기 글들을 보고 정말 깜짝 놀랐다.

이정도 열정 넘치는 사람들 사이에서 내가 잘 할 수 있을까? 걱정이 들기도 하였다.

 

 

잡담 방에 올라오는 수많은 스터디 모집글 중에서 하나에 합류하여 같이 비대면 스터디로 진행하기로 하였다.

후에 대면 스터디가 올라온다면 집에 가까운 스터디 하나에서 같이 모각코 하면 좋을 것 같다. 

 

스터디에 가입한 이유는 앞서 말했던 것처럼 개발 공부는 혼자 하면 안된다고 생각했기 때문!

같이 프리코스 기간에 동기부여할 동료들이 절실하게 필요했다.

 

 

 

 

 

 

 

📑 문제 정의


 

먼저 1주차에서 주어졌던 문제에서의 요구사항, 구현할 예외사항들을 정의해보고자 한다.

 

1. 주어진 문자열에서 기본적으로 , 와 : 의 구분자를 사용한다.

2. 추가적으로 주어지는 구분자가 있을 경우에도 기본 구분자는 마찬가지로 사용된다. 

3. 추가적으로 주어지는 구분자는 한글자로 제한한다. 

  3-1. 구분자가 //, :: 등으로 주어지는 경우는 제외한다.

4. 사용자가 입력하는 잘못된 값(IllegalArgumentException)에는 아래 네 가지 경우가 있다. 

  4-1. 커스텀 구분자를 두 글자 이상 입력하였을 경우

  4-2. 커스텀 구분자 사용을 위한 입력을 했으나 정작 커스텀 구분자를 입력하지 않은 경우

  4-3. 음수를 입력한 경우

  4-4. 구분자를 읽어오려는 시도를 했으나 읽어오지 못한 경우 

5. 아무 문자열도 입력하지 않은 경우 합산으로 0을 반환한다. 

 

 

추가적으로 우테코에서 주어진 프로그래밍 요구사항들 중, 내가 신경 써야하는 부분은 다음과 같았다. 

 

-JDK 21 버전에서 실행 가능해야 한다

-자바 코드 컨벤션을 지키면서 프로그래밍한다.
-기본적으로 Java Style Guide를 원칙으로 한다.

 

 

JDK 21 버전에서 실행 가능

기존에 Intellij 에서 사용하던 JDK 버전은 17이었는데, 

첫 번째 요구사항을 만족하기 위해서 JDK 버전 변경이 필요했다. 

 

https://mi2mic.tistory.com/231

 

[JAVA] jdk 21 설치 및 환경변수 설정

jdk 21을 설치해보려한다. jdk 17을 설치하려 했는데 21 버전이 나왔길래 21 버전으로 설치하기로 했다. 1. 구글 검색창에 jdk 21 로 검색 or https://www.oracle.com/kr/java/technologies/downloads/ 해당 링크 클릭 검

mi2mic.tistory.com

 

미미믹 님의 JDK21 설치 및 환경변수 설정 티스토리를 참고했다. 

이상하게 바꿨는데도 JDK 버전이 그대로다.

 

살펴보니, 예전 코알못 (여전히 그렇긴함) 시절에 JDK 17버전을 설치하며 마구 추가했었던 환경변수 내 path 가 그대로 남아있어서 아래에 새로 추가한 JDK 21 버전의 path를 못읽어오고 있었다.

 

PATH에서 JDK17과 관련된 쓸데없는 경로를 모두 삭제해주고 다시 실행해보니 

제대로 환경변수가 적용되었음을 확인할 수 있었다.

 

 

 

 

 

 

 

📑 문제 풀이


폴더 구조

JAVA-CALCULATOR-7\SRC
├─main
│  └─java
│      └─calculator
│          └─Application.java
└─test
    └─java
        └─calculator
            └─ApplicationTest.java

 

 

제출 코드 깃허브 주소

https://github.com/woowacourse-precourse/java-calculator-7/pull/1852

 

 

 

 

 

 

✒ Liked


 

 

 

 

✒ Learned


 

 

 

 

✒ Laked


 

 

✒ Longed For