미션코스 2주차에서 프로젝트를 위한 BE 파트 배경 지식에 대해 공부했다면, 이번 3주차에서는 주석을 다는 방법, JPA에 대한 공부가 미션으로 나왔다. 주석 관련 툴인 JavaDoc, Swagger의 사용법을 공부하고 1주차 과제에 적용해보고 Spring의 작동원리에 대해 학습하게 된다. 추가로 1주차 과제를 할 때 프로젝트 구조를 Entity, DTO 클래스를 사용하지 않고 구성했기 때문에 4주차 에 예정된 API 연결 실습에 앞서 구조 개선을 위한 리팩토링 작업도 같이 진행하려 했으나 일정 조율 실패로 다음주에 Extra mission 구현과 함께 리팩토링을 진행하려 한다.
3주차 미션(상) : 주석을 다는 방법(JavaDoc, Swagger)
3주차 미션(하): JPA ORM, Persistence Context (+심화 RDMS vs OOP)
어차피 공부 내용은 깃허브 WIL에도 있으니 여기에는 내가 했던 삽질에 대해 쓰도록 하겠다.
우선 JavaDoc, Swagger에 대해서 듣기만 하고 실제로는 처음 써봤다. 특히 Swagger의 경우 프론트엔드 파트와 연결을 위한 API 명세 작업을 위해 쓰인다고 들은 적이 있어 더 신경 썼다. 둘 다 초보자인 상황에다가 프론트가 API 연결 때 할 일이 더 많기 때문에 내 실수면 많이 미안해지기 때문이다. 생각보다 시간이 많이 걸렸다. 그 이유에 대해 말하자면
1. JavaDoc이야 간단해서 큰 문제가 없었지만 Swagger에서 @RequestBody 어노테이션을 잘못 썼다가 기존 어노테이션과 충돌이 있어 수정하느라 오래걸렸다. 사실 수정 자체가 오래 걸렸다기 보다는 Swagger 주석을 추가했는데 기존에 Postman 테스트 통과했던 게 갑자기 500 에러가 발생해서 당황했다. 문제는 인텔리제이 서버 콘솔 창(?)에 에러가 나면 해당 로그가 나온다는 사실을 망각하는 바람에 문제점을 찾는데 오래 걸렸다. 그 외에는 요청/응답 body 형식 작성하는 게 눈 아팠던 정도...?
2. 1주차 미션을 제대로 한 줄 알았는데 spec.md의 명세와 내 기존 포스팅의 스크린샷을 대조해보니 안 맞는 것들이 많았다. 지금 수정하자니 견적이 안 나오기도 하고 어차피 DTO, Entity 리팩토링도 해야하니 그 때 같이 진행해야 할 것 같다. 기존 명세와 내 입출력, Swagger 명세 세 개를 대조해보느라 눈알이 빠지는 줄 알았고 많은 ATP가 낭비되었다. 이래서 처음 만들 때 확실하게 제대로 만들어야 함을 깨달았다.
3. DB 테이블 문제도 있었다. 아니 사실 문제가 아니었긴한데... Postman으로 재고 등록하고 인텔리제이 쿼리콘솔로 지웠는데 id값은 초기화가 안 되었다. 뭔가 마음에 안 들어서 테이블을 드롭하고 서버를 다시 실행했는데 item 테이블이 재생성되지 않았는지 보이지 않았다. 해서 yaml 파일도 건드려보고 했는데 되지 않았다. 해결은 정말 엉뚱하게 되었는데 그냥 콘솔 창에서 새로고침을 하지 않아 생성이 되었는데 뜨지 않았던 것이었다. 소중한 잠 시간이 날아갔다.
확실히 실제로 해보는 것과 이론만 아는 것에는 차이가 있다. IDE나 여러 툴들의 인터페이스 숙련도 차이도 있고 여러 시행착오를 겪어야 알 수 있는 것들도 있다. 새로운 것들을 보기만 하지 말고 직접 써보고 익히도록 해야겠다.
추가로 JPA에 대해 많이 듣기만 하고 그 놈의 JPA가 뭔지 이번에 처음 알게 되었는데 많은 공부가 필요할 것 같다. 확실히 어느 정도 레벨이 넘어가면 학교 전공수업에서 배운 CS지식과의 연관성도 생기는 것 같고 고급 개발자와 단순 코더와의 차이가 어떤 것인지도 느껴지는 것 같다. 곧 있을 기말고사를 CS공부할 기회로 삼고 시험이 끝나면 김영한 강사님 강의도 달려보고 여러 문서들도 찾아보면서 공부해야겠다.
'GDG BE 프로젝트 트랙' 카테고리의 다른 글
| GDG 프로젝트 트랙 4기 BE 1차 개발코스 3,4주차 WIL (4) | 2025.07.29 |
|---|---|
| GDG 프로젝트 트랙 4기 BE 1차 개발코스 1,2주차 WIL (2) | 2025.07.18 |
| GDG 프로젝트 트랙 4기 BE 기획코스 WIL (2) | 2025.07.01 |
| GDG 프로젝트 트랙 4기 BE 미션코스 2주차 WIL (1) | 2025.05.21 |
| GDG 프로젝트 트랙 4기 BE 미션코스 1주차 WIL (1) | 2025.05.13 |