우테코 7기

README.md

gilbert9172 2024. 10. 14. 23:08

 

❒ Description


내일(10.15 화요일)부터 우테코7기 프리코스를 시작한다. 그에 따라 필요한 몇 가지 준비를 전날 미리 해두려고 한다.

 

 

 

 

 

❒ Java version 


물로 최근에 Virtual Thread 기술을 탑재한 Java21 나왔지만, 6기도 Java17 썼기 때문에 17 사용할 같다.

 

 

※ [2024.10.15]

나의 예상과 다르게 Java21이로 과제를 진행한다고 한다.

보자마자 java21로 변경해주고, Intellij java compile도 21로 변경해줬다.

 

 

 

 

 

❒ gradlew


 

1. Why?

mac을 사용하는 경우 다음 에러가 발생한다.

zsh: ./gradlew: bad interpreter: /bin/sh^M: no such file or directory

 

이 오류는 주로 Windows와 Unix 기반 시스템(예: macOS, Linux) 간의 줄바꿈 방식 차이로 인해 발생한다.

Windows에서는 줄바꿈을 `\r\n (Carriage Return + Line Feed)`으로 처리하고, Unix 기반 시스템에서는

`\n (Line Feed)`만 사용합니다. `^M`은 Carriage Return (\r)에 해당하며, 이는 파일이 Windows 형식의

줄바꿈을 포함하고 있다는 의미다. 이러한 이유로 `./gradlew build` 수행시 위와 같은 에러가 발생하는 것이다.

 

2. 해결 방법

dos2unix ./gradlew
vim gradlew
:set fileformat=unix   #입력 후 에터
:wq

 

 

 

 

 

❒ 프리코스 과제 작업 순서


1. 시나리오 바탕의 요구 사항 분석

사용자/시스템 시나리오로 요구사항을 구분
우선순위를 부여하여 개발 순서를 잡아 가기.
+ 예외 상황도 생각나는 부분은 작성

 

 

2. 도메인 모델링

요구 사항을 바탕으로 도메인 모델의 역할, 관계, 핵심 필드를 정의

 

 

3. 메인 로직 분석

도메인 모델링을 기반으로 시스템에서 처리해야 할 핵심 로직 파악.
피그마 또는 freeform 활용

 

 

4. 도메인 로직과  비즈니스 로직  구분

도메인 로직과 비즈니스 로직을 명확히 구분. Util 기능도 함께 구분하는 것이 좋을 듯.

 

 

5.  코드  작성  & TC 작성

개발 과정에서 필요한 기능은 유연하게 추가
  • 작업 방향성
    • 시스템 로직 개발 후 입출력 작업을 한다.
    • 로직-TC-로직-TC 순으로 작업한다. (이때 예외 케이스 추가로 고민해야 함.) 
    • 컨벤션을 지키지 못한 로직이 있다면 FIXME : 컨벤션(내용)이라는 태그 달아둔다.
  • 수정 사항
    • 추가된 로직은 도메인 모델에 갱신해준다.

 

6.  점검 & 제출 & 피드백 

제출을 하고 피드백을 받는지, 피드백을 받고 제출하는지 이건 시작하는 날 판단

 

 

7.  회고

작업 과정에서 아쉬웠던 부분, 잘한 부분, 그리고 최초에 설정한 목표에 대한 회고