새소식

반응형
250x250
📁 프로젝트 일지/👩‍🏫 공공 교육 서비스

9.기능 구현(6) - 수강 후기 게시판(작성, 수정, 삭제)

  • -
728x90
반응형

🦮 스스로를 위한 프로젝트 일지 가이드

1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가

2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가

3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가

 

수강 후기 게시판 CRUD 구현 시 다음과 같은 기술을 사용했다.

 

1.조인

2.뷰

 

 

1️⃣ 프로젝트를 진행하며 '왜' 그렇게 했는가

 

수강 후기 작성 시 카테고리에 회원이 수강한 강좌의 정보를 띄우고 싶었다.

회원이 수강한 강좌 테이블인 mycourse에는 회원 아이디와 강좌 번호만 있기 때문에 강좌 정보를 띄우려면 course 테이블의 정보가 같이 필요했다.

그래서 두 테이블을 조인하여 정보를 불러왔는데, mapper에 적고 보니 쿼리가 4줄이 되어 불편하고 가독성도 좋지 않았다.

또한 다른 서비스 로직에서도 사용되는 쿼리였기에 두 테이블을 조인한 쿼리를 뷰로 만들기로 했다.

뷰로 만들면 쿼리도 짧아지거니와 추후에 데이터 관리를 할때도 물리적인 테이블에는 영향이 가지 않으니 더 편리할 거라고 판단했다.

 

2️⃣ 어떤 문제가 생겼고, 어떻게 해결하였는가

 

두 테이블을 조인한 것을 뷰로 만들고 난 후 mapper에 반영하고 팀원의 코드와 합치며 형상관리를 하는 과정에서 생성한 뷰에 대해 자세한 설명을 하지 못했다.

그래서 팀원이 뷰의 정체를 알지 못해 약간 혼란스러워했는데, 이 부분은 뷰를 만들고 바로 공유하지 못한 커뮤니케이션의 부재였다고 생각한다.

 

그리고 아주 사소한 기술적인 문제가 있었다.

수강 후기 작성 시 엔터로 줄바꿈한 내용이 반영이 안되는 오류였다.

원인은 HTML에서 후기를 띄울 때 <br> 태그로 줄바꿈을 인식하는데 작성한 후기가 디비에 저장될 때는 개행문자 \r\n으로 저장되기 때문이었다.

 

해결 방법은 수강 후기 조회 시 컨트롤러에서 VO를 불러온 후 replace 함수를 사용하여 \r\n을 <br> 태그로 직접 바꿔주었다.

 

3️⃣ 프로젝트를 되짚어보며 개선할 점이 있는가

 

어떤 업데이트 상황이 생기면 바로바로 공유를 해야 한다는 교훈을 얻었다.

또한 업데이트한 상황을 문서로 정리해 두면 좋다.

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.