14:00 ~ 16:00 API, ERD 작성 미니세션 ( 김재연 튜터님 )
주말에 했었던 과제를 통해서 오늘은 일정 관리 앱 필수 과제를 진행 하였다.
과제를 진행하면서 전체적으로 구조는 어떻게 돌아가고, MVC 패턴 등 과정은 이해할수 있었다.
오늘은 전체적으로 잘 풀리지 않은 날 이였다.
주말에 시간을 들여 작성한 ERD 다이어그램, API 명세서를 기반으로 작성을 하였지만 password 필드는 String으로 바꿔야 함과 동시에 전체적인 구조로 리팩토링을 하는 단계를 가져야 했다.
그리고 날짜를 LocalDateTime으로 달아야 하는 과정을 생성자 시점에서 매개변수로 그대로 달고 있었다는 점에 나는 자바 기본문법에 미숙해져 있을 뻔 했다. 하지만 튜터님의 질문 공세로 나를 다시에 일 깨우쳐서 생성자를 굳이 매개변수로 매칭 시켜서 하는 고정관념에 빠져나올수 있게 도움을 주셨다.
public Scheduler(String title, String contents, String password) {
this.title = title;
this.contents = contents;
this.password = password;
this.createdAt = LocalDateTime.now();
}
위 코드를 보면 등록일이 매개변수로 꼭 매칭 될 필요없이 선언 될수 있다는 점을 튜터링을 통해 일 깨우쳐 주셨다.
그렇지만, 과제를 다시 한번 작성해보고자 다시 처음부터 과제를 진행하였지만, 잘 풀리지 않고 JDBC에서 너무 스스로 스트레스를 받았던 것 같았다 뭐가 뭔지 잘모르겠고 하루가 막막하게 흘러갔지만, 다행히 JDBC가 알아야하긴 하지만 잘 쓰이지는 않는다는 점이 다행이였다. 모두가 내가 더 성장할수 있는 과정이라고 생각하면 하루를 마무리할것 같다.
✔ API, ERD
{ 미니 세션 }

API 명세서는 말그대로 명세서에 명세화 하는 것처럼 건축가들이 건축하기 전에 설계도를 보면서 하는것과 유사하다.
위 사진 처럼 API 정보는 많을수록 좋으며, 필수적으로 들어가야할 요소는 HTTP메소드, URL, 요청, 응답 등이 있다. 데이터 통신은 JSON 방식으로 거의 이루어지며, 각 쓰임과 각 메소드마다 요청, 응답하는 결과 값이 다 다르게 나타난다.

ERD는 API 명세서보다 더 먼저 만들어져야 한다고 강의 튜터님이 설명해주셨다.
실제로 프론트엔드 개발자와 협업을 하기위해서 API 명세서와 ERD가 먼저 만들어져야 하는 형식이 개발을 들어가기전에 해야하는 사전작업이라고 볼수 있으며, ERD는 그려보면 위 그림처럼 나타낼수 있으며
erdcloud.com 사이트 에서 직접 그려 볼수 있다.
- 새롭게 알게 된것
변수명에 언더바( _ ) 를 넣어주면 안 좋다. 문법상 문제는 없지만 카멜케이스 방식으로 변수명을 선언해주는 것이 좋다. 왜냐하면 협업 과정에서 언더바를 쓰면 불쾌 하다(?)는 개발자들 간의 약속에서 어긋나는 표현이라고 튜터님이 설명해주셨다.
created_at ☞ createdAt 으로 변경 하였으며, 실제로 DB에서는 createdAt으로 카멜 표기법을 쓰면 created_at으로 인식 한다고 튜터님이 친절히 설명해주셔서 새롭게 알게된 느낌이었다.
또한 주석 // Todo 를 붙이면 주석이 밝아지는 이스터에그도 알려주셨다.
LocalDate 시분초 x
LocalDateTime 시분초 o
Date 사라지고있는거 ( 사용하지마라고 권고중 ) <<<
DB에서 DATE형식은 TIMESTAMP로 표현한다. ( 기본값을 설정할시 DEFAULT CURRENT_TIMESTAMP )
'[내일배움캠프-Sparta] > Spring 6기' 카테고리의 다른 글
| TIL 27 [ Spring ( SOLID 객체지향, Container와 Bean, 싱글톤 ) + 스탠다드반 (DI / IOC) ] (0) | 2025.03.27 |
|---|---|
| TIL 26 [ Spring 일정관리 앱 과제 해설 + 학습법 & 동기부여 세션 ] (0) | 2025.03.26 |
| TIL 24 [ Spring ( 3 Layer 아키텍처, DB, SQL, JDBC, SQL Mapper ) ] (0) | 2025.03.21 |
| TIL 23 [ Spring ( 응답 데이터, 메모장 만들기 실습 ) + 스탠다드반 ( 예외처리 )] (0) | 2025.03.20 |
| TIL 22 [ Spring ( 어노테이션II, Request Mapping, 요청 데이터) ] (0) | 2025.03.19 |