반응형
✔️ 오늘 한 일
- ERD 설계
- 프로젝트 환경 설정
- API 명세 작성
> TMI : 팀원들과 약 5시간 가량의 디스코드 회의를 진행했다.
👀 오늘의 이슈
🔎 ERD 고려사항
1. post 조회 테이블의 필요성?
- 배경 : 일자별 조회수 통계 API 구현 시, 조회가 발생한 날짜 데이터 필요
- 분석 : post 테이블 내에 있는 조회수 컬럼만으로는 언제 조회가 발생한 건지 알 수 없음
- 결론 : 조회가 발생한 날짜를 기록할 수 있는 별도의 조회 테이블이 필요하다고 판단하여 생성함
2. post 테이블의 조회수/좋아요수/공유수 컬럼 → 조회/좋아요/공유 테이블의 컬럼으로 분리?
- 배경 : 게시물 목록 API의 정렬 기능에서 조회수 데이터 필요
- 분석 : 별도의 테이블과 Join하여 조회하는 것보다 post 테이블 자체에서 조회하는 것이 성능의 부하를 줄일 수 있다고 판단함
- 결론 : 위와 같은 판단 하에 post 테이블 내에 그대로 두었으나, 더 나은 방향이 있을 시 수정 예정
💡 Today I Learned
1. @JsonProperty를 통해 JSON 필드명을 커스터마이징할 수 있다.
- 고민한 내용 : API 명세를 작성하면서 Request/Response Body의 필드명을
스네이크 케이스(post_id)
가 아닌카멜 케이스(postId)
로 사용해야 할지 고민했다. - 고민한 이유 : JSON 필드명은 곧 서버에서 주고받는 변수명이고, Java의 변수명은 관례적으로 스네이크 케이스보다는 카멜 케이스를 사용하기 때문에, 카멜 케이스를 사용하는 것이 적합하지 않나 판단하였다.
- 배운 점
- JSON 필드명은 반드시 서버에서 사용되는 변수명과 일치할 필요가 없다.
@JsonProperty를 통해 필드명을 커스터마이징할 수 있기 때문이다.
- JSON 필드명은 반드시 서버에서 사용되는 변수명과 일치할 필요가 없다.
- 하지만, google과 MS는 카멜 케이스를 표준으로 권장하고 있어 우리 팀은 결국 카멜 케이스를 채택했다.
반전(?)
2. .env 파일을 통한 환경변수 설정
- properties/yml 파일을
gitignore
하거나암호화
하지 않고도 .env 파일을 통해 DB 정보 등 민감한 데이터를 안전하게 관리할 수 있다. - 활용 방법
- .env 파일 : DB 정보 입력
- yml 파일 : DB 정보 영역에 ${.env파일에입력한변수명} 으로 설정
- .env 파일을 gitignore에 추가
3. Jira와 Github를 연동하여 Issues를 효율적으로 관리할 수 있다.
< 해당 글은 velog에서 이전하며 옮겨온 글로, 가독성이 좋지 않을 수 있는 점 양해 부탁드립니다. >
🔗 velog 버전 보기 : https://velog.io/@ryuneng2/TIL-원티드-프리온보딩-백엔드-인턴십-Week1-2일차-0821
'TIL > 2024 원티드 프리온보딩 백엔드 인턴십' 카테고리의 다른 글
[TIL] 원티드 프리온보딩 백엔드 인턴십 Week1) 6일차, 0825 (0) | 2025.01.22 |
---|---|
[TIL] 원티드 프리온보딩 백엔드 인턴십 Week1) 5일차, 0824 (0) | 2025.01.22 |
[TIL] 원티드 프리온보딩 백엔드 인턴십 Week1) 4일차, 0823 (0) | 2025.01.22 |
[TIL] 원티드 프리온보딩 백엔드 인턴십 Week1) 3일차, 0822 (0) | 2025.01.22 |
[TIL] 원티드 프리온보딩 백엔드 인턴십 Week1) 1일차, 0820 (1) | 2025.01.22 |