- Spring 프로젝트 생성 및 기본 설정
- 프로젝트 구조: 도메인 기반으로 패키지를 나눔
- 응답 형식 설정: 일관된 API를 위해 JSend를 사용하고, 예외 처리를 추가하여 백엔드 개발자가 간단하게 오류 메시지를 반환할 수 있도록 함
- Security와 CORS 설정: 테스트 환경과 프로덕션 환경에서 설정 파일만으로 변경할 수 있음
- JSON 직렬화/역직렬화 관련 설정: 날짜/시간을 JSON으로 전송 시 ISO 문자열로 표현, DB에는 UTC 시간으로 저장
- JPA 엔티티 저장 형식 설정: 배우의 세부 정보를 보여주지 않고, 데이터 입력은 관리자만 가능하므로 엔티티에서는 문자열 리스트로 사용하고 실제로 SQL에 저장할 때만
,로 연결된 문자열로 저장하고 불러옴
- 사용자 엔티티 구현
- 공연/전시 DB 및 API 구현
- 숏폼, 좋아요 DB 및 API 구현
- 추천 알고리즘 설계
- DNN에 비해 요구 사양이 낮은 ALS 사용
- 사용자의 좋아요 및 예매 여부, 시청 시간, 세부 정보 조회 등 파라미터를 수집하고 적용
- 추천 서버 구현
- 파이썬 flask 서버 사용하여 구현 (사용이 간편함)
- 학습 및 추천은 Apache PySpark 라이브러리 사용
- 추천 서버는 처음에는 메인 DB 함께 사용하고, 이후 DB 복제하여 메인에 최대한 영향 안가도록 분리
- ORM 대신 익숙한 순수 SQL 사용
- 데이터 수집 로직을 작성하는 개발자가 쿼리를 짜 줄수 있어 업무 분배에 용이함