▶ Java 코드카타 문제 풀이
▷ 50. 가장 가까운 같은 글자
● 문제 풀이 시 조건
- 배열 안에 있는 글자가 아닌 글자가 들어오는 경우에는 -1로 표현
- 배열 안에 있는 글자가 들어온 경우에는 앞에 있는 칸의 크기만큼 표현
● 코드
● 풀이 시 알게 된 것
- getOrDefault() : 찾는 키가 존재한다면 찾는 키의 값을 반환하고 없다면 기본 값을 반환하는 메서드
→ 코드 구조
맵명.getOrDefault(키, 기본값)
▶ 계산기 과제 피드백
▷ Checked Exception 과 Unchecked Exception
● Checked Exception
- RuntimeException의 하위 클래스가 아니면서 Exception 클래스의 하위 클래스인 경우를 말한다.
- 체크 예외는 반드시 에러 처리를 해야한다.
ex)
○ 존재하지 않는 파일의 이름을 입력(FileNotFoundException)
○ 실수로 클래스의 이름을 잘못 적음(ClassNotFoundException)
● Unchecked Exception
- RuntimeException의 하위 클래스인 경우를 말한다.
- 체크 예외와는 다르게 예외 처리를 강제하지 않는다.
ex)
○ 배열의 범위를 벗어난 예외(ArrayIndexOutOfBoundsException)
○ 값이 null이 참조변수를 참조(NullPointerException)
* 왜 언체크 예외는 예외 처리를 강제하지 않았는가?
: 코드가 굉장히 복잡해지기 때문
→ 단순히 배열을 만들어 배열의 원소를 출력하는데도 try/catch문을 사용해야해서 코드가 복잡해진다.
▷ 깃에서 사용하는 커밋 컨벤션(Commit Convention)
● 커밋 메세지 구조
- 제목, 본문, 꼬리말 세가지 파트로 나누고 한 줄을 띄어 구분합니다.
○ 제목 : 어떤 작업을 했는지 명확하게 드러나야하고, 너무 길지 않게 작성해야 한다.
○ 본문 : 긴 설명이 필요한 경우에 작성한다. 어떻게 했는지가 아니라, 무엇을 왜 했는지를 작성한다.
○ 꼬리말 : 이슈 번호를 참조시킬 때 주로 사용한다.(선택사항)
● 제목(type)
○ type은 subject와 함께 제목 내에 포함된다.
○ type: subject 의 형태로 작성되며 : 뒤에만 띄어쓰기를 한다.
○ 타입명들
| feat | 새로운 기능 추가 |
| fix | 버그 수정 |
| design | CSS 등 사용자 UI 디자인 변경 |
| refactor | 코드 리팩토링 |
| comment | 주석 추가 및 수정 |
| style | 코드에 영향을 주지 않는 변경사항(오타 수정, 탭 사이즈 변경, 변수명 변경) |
| docs | 문서 수정 |
| test | 테스트 추가, 테스트 리펙토링 |
| chore | 빌드 부분 혹은 패키지 매니저 수정사항 |
| rename | 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우 |
| remove | 파일을 삭제하는 작업만 수행한 경우 |
○ subject
- subject는 type과 함께 제목 내에 포함된다.
- 명령조로 작성하며, 문장보다는 구문으로 작성한다.
- 영문으로 작성할 경우 첫 글자는 대문자로 시작한다.
- 끝에 마침표(.)를 사용하지 않는다.
- 한 줄에 50자를 넘으면 안된다.
ex)
feat: Add .gitinore
feat: .gitignore 추가
● 본문
○ 모든 커밋이 본문을 사용해야 할만큼 복잡하지 않기 때문에 선택 사항이다.
○ 커밋에 대한 맥락과 부연 설명이 필요할 때 작성한다.
○ 어떻게보다 무엇을, 왜 변경했는지를 작성한다.
○ 본문을 작성할 때 제목과 본문 사이에 한 줄을 띄고 작성한다.
○ 한 줄에 72자를 넘지 않아야한다.
● 꼬리말
○ 꼬리말은 선택 사항이며, 이슈 트래커 ID를 참조하는데 사용된다.
○ 꼬리말은 유형: #이슈 번호 형식으로 작성한다.
○ 여러 개의 이슈 번호를 적을 때는 쉼표로 구분한다
'TIL' 카테고리의 다른 글
| CH2 키오스크 과제 TIL (0) | 2025.01.19 |
|---|---|
| 내일배움캠프 TIL 17. (0) | 2025.01.17 |
| 내일배움캠프 TIL 15. (1) | 2025.01.15 |
| 내일배움캠프 TIL 14. (1) | 2025.01.14 |
| 내일배움캠프 TIL 13. (0) | 2025.01.13 |