자기소개

안녕하세요, 부산소프트웨어마이스터고 1학년 신은총입니다.

새로운 기술을 배우고 직접 프로젝트로 구현하는 걸 좋아합니다.

최근에는 AI, Spring, 보안 등을 학습하며 백엔드와 인공지능과 보안 분야를 중심으로 성장하고 있습니다.

저는 이 프로젝트에서 주로 계획, 코드 작성, 코드 검토 후 수정 요청을 담당했습니다.

실무 툴

선배님들이 저희 인턴들에게 Apidog, Slack, Atlassian(Confluence, Jira) 등 실무 툴을 알려주셨습니다. 처음에는 생소해서 어려웠지만, API 명세 작업을 반복하며 Apidog 사용법에 익숙해졌고, 회의와 질문과 피드백을 주고받고 공지사항을 보며 Slack 사용법에도 익숙해졌습니다.

ERD 설계

선배님들이 만든 기존 프로젝트를 살펴보며 구조를 조금이라도 이해했고, 커뮤니티 기능에 대한 요구사항을 받아 새로운 ERD를 dbdiagram.io에서 설계했습니다.

처음에는 like 테이블 하나로 여러 기능을 처리했지만, 데이터 혼선과 관리 복잡성을 피하기 위해 4개의 like 테이블로 분리했습니다.

이 과정을 통해 ERD 설계가 단순히 테이블을 나열하고 만드는 것이 아니라 데이터 흐름과 효율적인 조회 구조를 설계하는 과정임을 배웠습니다.

image.png

API 명세

Apidog에서 ERD를 참고해 API 명세를 진행했습니다.

또한 RequsetHeader부분에서 user-id를 받는 것은 처음 해보기도 했습니다.

가장 신기했던 것은 스키마였습니다.

여러 폴더로 나눈 뒤, 그 안에서 여러 스키마를 만들어서 api명세를 진행하는데 참고했습니다.

list search api들은 처음에는 get으로 했었지만 filter 기능을 추가하니 url이 너무 길어져서 고민하다가 가독성의 이유로 post로 바꿔서 body로 json보내도 괜찮다는 것을 깨달아서 post로 바꿨습니다. 전체 조회는 get, post 둘 다 가능하다는 것을 처음 알게 되었습니다.

이를 통해 HTTP 메서드 선택이 단순히 규칙이 아니라, 실제 데이터 전달 효율과 가독성에도 영향을 준다는 점을 깨달았습니다.

image.png