미니 프로젝트 (항해일지 33일차)

김형준·2022년 6월 10일
0

TIL&WIL

목록 보기
33/45
post-thumbnail

1. 개발 및 학습일지


  • 오늘은 항해 5주차 미니프로젝트 주차가 시작되었다.
  • 처음으로 프론트엔드 분들과 협업하는 자리인만큼 설레기도 두렵기도 했다. (로컬에서 잘돌아가던 기능이 프론트분들이 돌릴 때만 안되면 어쩌지..😨)

1) 미니 프로젝트 설계

  • 먼저 오전 9시 해당 주차 발제 session에 참가하여 설명을 들은 후
  • 팀원 분들과 만나 아이디어 회의 후 각 영역의 팀원끼리 설계부터 시작했다.
  • 백엔드에서 가장 중요한 설계는 ERD 설계인 것 같다 (개인적인 생각)
  • 물론 수정될 수도 있지만, 처음 전체적인 흐름을 그려보며 필요한 테이블들을 생각해내고 완성도 있게 설계된 ERD에 따르는 개발이 가장 이상적이라고 생각했다. (전 직장에서도 ERD 설계가 가장 먼저 이뤄졌었다.)
  • 아래 사진은 ERD 초안이다. (아직 많이 미숙..)

  • 하지만 전체 프로젝트 관점에서 가장 중요한 부분은 단연 API 설계였다.
  • 실제로 API를 설계할 때 프론트 분들과 소통하며 서로 데이터를 주고 받는 방식을 알게 되었고,
  • 팀원과 원활한 소통 덕에 나름 명확한 API 설계를 할 수 있었던 것 같다.

2) 미니 프로젝트 개발

  • 사실 내가 맡은 부분은 게시글 CRUD 였는데, 이제 간단한 기능들은 다른 코드를 참고하지 않아도 구현할 수 있기에 그리 오랜 시간이 걸리지 않았다. (이게 바로 프레임워크의 장점인 것 같다.)
  • 물론 프레임워크 사용법에 능숙한것이지 코딩을 잘한게 아니다.
  • 그래서 실전 플젝 주차에는 알고리즘 스터디를 병행하며 실제 문제해결 역량과 코딩 실력을 향상시키려고 한다.
  • 무튼 게시글 CRUD에서 그나마 시간이 걸렸던 부분은 게시글 조회 기능이다.
  • 위 API 설계에서도 알 수 있듯이, QueryString으로 보내는 값을 @RequestParam으로 받아 (required=false)를 주고, 각 값이 없거나 있는 경우로 케이스를 분류하였고,
  • 해당 케이스에 맞는 JPA 쿼리 메소드를 정의했다.
  • 1차 목표가 끝난 후에는, 2차 목표 중 하나였던, 이미지 업로드에 관해 알아보았다.
  • 근데, 로컬 환경의 폴더에 저장하는 방식은 사실 간단하지 않았다. 하나 하나 독해하며 읽기엔 너무 복잡했고,
  • 배포 단계에서 우분투 PC (프리티어)에 파일들을 저장하는 것도 맞는건가 싶었다.
  • 그래서 무한 구글링 결과 Amazon AWS S3 버킷이라는 것을 알게 되었다.
  • 클라우드 저장소로, 이미지를 클라우드 저장소에 업로드하여 실제 DB에는 이미지의 URL만 저장하는 방식을 선택했다.
  • 이 부분도 거의 복붙으로 이어졌는데, 일단 오늘은 잘 찾았고 잘 돌아가게 수정까지 했다는 것에 의의를 둔다.
  • 내일 부터는 하나 하나 독해해보며 수정 및 삭제와 같은 기능들도 한번 살펴봐야겠다.
profile
BackEnd Developer

0개의 댓글