부트캠프
[우테코 - 1주차] 10.15 작업 환경 설정 및 기능 구현 명세서 작성
planting grass
2024. 10. 16. 00:51
728x90
1주차
10.15(화) 작업 환경 설정 및 기능 구현 명세서 작성
1. 준비
1) 작년 우테코 살펴보기
- 우아한테크코스는 15시에 문제가 공개되기 때문에 그 전 시간동안 작년 6기때 나온 문제들을 둘러봤다.
- 간단하게 baseball 문제를 보고 깡으로 구현을 해보았다.
- 이후 남는 시간에 합격 후기나 다른 사람들은 어떻게 우테코 프리코스를 했는지 살펴보았다.
- 기억에 남는 사람들이 몇몇 있어서 보니 결과가 전부 다 합격이었다.
- 나 역시 이 정도보다 더 노력하고 몰입해야겠다고 생각했다.
2) 프리코스 과제 가이드를 읽어봤다.
woowacourse-docs/precourse at main · woowacourse/woowacourse-docs
woowacourse-docs/precourse at main · woowacourse/woowacourse-docs
우아한테크코스 문서를 관리하는 저장소. Contribute to woowacourse/woowacourse-docs development by creating an account on GitHub.
github.com
- 간단하게 정리하면 아래와 같다.
- 프로젝트를 자신의 계정으로 fork하기
- fork한 저장소를 자신의 컴퓨터로 clone하기
- 기능 구현을 위한 브랜치 생성
- 브랜치는 아래처럼 2개를 생성할 예정이다.
- 제출을 위한 브랜치
- 연습을 취한 브랜치
- 브랜치는 아래처럼 2개를 생성할 예정이다.
- 통합 개발 환경(IDE)으로 가져오기
- 기존 사용하던 인텔리제이 IDE를 사용할 예정이다.
- 기능 구현
- 처음부터 MVC 패턴으로 코드를 짜면 좋으나 아직 익숙치 않아서 Application에 통째로 구현 후 차근 차근 나눠서 MVC 패턴으로 짤 예정이다.
- 기능 구현 후 add, commit
- gitkraken을 사용할 예정이다.
- 본인 원격 저장소에 올리기
- github 서비스에서 Pull Request를 보내기
3) 스터디 들어가기
- 디스코드에서 스터디를 많이 구하기에 들어갔다.
- 이번 프리코스를 통해 다른 개발자들은 어떻게 하는지 살펴보고 의사소통을 많이 나눠볼 예정이다.
- 되도록이면 다양한 사람들과 교류해보고 싶다.
2. 몰입
1) 환경 설정
- JDK가 작년과는 다르게 21버전을 사용한다고 한다.
- 이에 인텔리제이도 23년도 버전이기 때문에 최신 버전으로 업데이트 해야 했다.
- 기존에 JDK는 21버전을 설치해 두었기 때문에 설치하지 않아도 되었다.
- 다만 JDK 버전이 다양하기 때문에 버전을 관리할 겸 .bat 파일로 간단하게 교체 가능하게 했다.
- 배치 파일로 자바 버전별로 간단하게 사용 가능하게 할것이다.
- 메모장에 아래 코드를 입력해서 .bat으로 저장해주면 된다.
@echo off set JAVA_HOME=[JDK경로] set Path=%JAVA_HOME%\bin;%Path% echo Java [버전] activated. java --version
- 인텔리제이를 최신버전으로 업데이트 한 뒤
Ctrl + Alt + Shift + S
를 눌러 JDK 설정을 바꿔줬다.
한글 깨짐 문제를 방지하기 위해 Ctrl + Alt + S
를 눌러 설정을 바꿔줬다.
- Build and run using: Intellij로 변경
- Run test using: Intellij로 변경
2) 깃 설정
- Git bash나 Gti Kraken은 따로 설정을 건들일 필요는 없어서 패스했다.
- 깃 브랜치로 닉네임인 lold2424과 practice를 생성했다.
- practice는 이것저것 연습용으로 사용할 예정이다.
- lold2424 브랜치에 최종으로 올릴것!
- 이후 Docs 폴더가 없어서 만들고 README.md도 추가해 줬다.
- 깃 브랜치로 닉네임인 lold2424과 practice를 생성했다.
3) 요구사항 명세서 작성
- 요구사항 명세서를 코드를 짜기전에 우선 작성해보려 한다.
- 어떠한 기능을 구현해야할지 생각해보았다.
- 💡기능 요구 사항
- 입력한 문자열에서 숫자를 추출하여 더하는 계산기를 구현한다. 쉼표(,) 또는 콜론(:)을 구분자로 가지는 문자열을 전달하는 경우 구분자를 기준으로 분리한 각 숫자의 합을 반환한다.
- 예: "" => 0, "1,2" => 3, "1,2,3" => 6, "1,2:3" => 6
- 앞의 기본 구분자(쉼표, 콜론) 외에 커스텀 구분자를 지정할 수 있다. 커스텀 구분자는 문자열 앞부분의 "//"와 "\n" 사이에 위치하는 문자를 커스텀 구분자로 사용한다.
- 예를 들어 "//;\n1;2;3"과 같이 값을 입력할 경우 커스텀 구분자는 세미콜론(;)이며, 결과 값은 6이 반환되어야 한다.
- 사용자가 잘못된 값을 입력할 경우
IllegalArgumentException
을 발생시킨 후 애플리케이션은 종료되어야 한다.
- 입력한 문자열에서 숫자를 추출하여 더하는 계산기를 구현한다. 쉼표(,) 또는 콜론(:)을 구분자로 가지는 문자열을 전달하는 경우 구분자를 기준으로 분리한 각 숫자의 합을 반환한다.
- 크게 3가지 방향으로 생각했다.
- 덧셈할 문자열 입력
- 커스텀 구분자 분리
- 덧셈 실행 및 결과 출력
- 이후 각각 어떤 예외 처리를 해야할지 고민을 했다.
- 처음에는 간단하게 생각했으나 나중에는 실수도 포함해서 계산기를 설계해야 하는지 아니면, 정수로만 계산해야 하는지도 생각했다.
- 이건 너무 과하다는 생각이 지금은 든다…
3. 느낀 점
1) 나와 다른 개발자들은 어떤 생각을 하는가
- 디스코드라는 커뮤니티에서 많은 사람들이 모였다.
- 사소한 잡담부터, 개발환경 팁, 어떤 생각으로 프리코스에 임할지 등 다양한 의견이 나왔다.
- 스터디에서는 좀 더 많은 대화를 나눌 수 있었다.
- 1주차 과제가 끝나지 않아 아쉽게도 자세한 대화를 할 수 없었다.
- 그럼에도 다른 개발자들은 어떤 방식으로 개발하는지 MVC 패턴은 자신은 View 중심적인지 Model 중심적 개발인지 등 어떤 사고방식을 갖고 있는지 상세하게 알 수 있었다.
- 확실히 다른 사람들을 만나 의사소통을 하니 다방면에서 내가 개발자로서 성장할 수 있을 것 같다.
- 오프라인 스터디도 있었는데 아쉽게도 서울에 거주하고 있지 않아 슬펐다.
졸업 시기도 다가오고 취업준비는 해도해도 끝이 없어서 지쳐가고 있는 요즘, 목표를 확실하게 잡은거 같다.
프리코스 기간이 끝나고 나서 시작할때 보다 조금 더 성장한 개발자가 되어 얻어가는것이 있으면 좋겠다.
728x90