커뮤니티, 프로필, 뉴스 페이지 등 남은 퍼블리싱과 전반적은 CRUD
기능은 시간만 투자한다면 가능한 부분이고 배웠던 기능들이니 내 프로젝트에 중요한 기능들을 구현하려는 시도를 해보자.
DB
기반 음악 장르, 패션 아이템 추천음악 장르와 패션 스타일을 추천 해주는 기능을 만드려고 한다.
큰 범주로 봤을때는 음악 장르와 패션 스타일이지만
사실 음악 플레이리스트나 의류를 추천해 주는 것이 더 바람직하다.
웹에서 유저에게 추천을 해 주려면 어떤것이 필요할까?
방법 1. 모든 음악 데이터와 의류 데이터를 DB
에 저장하고 저장된 데이터를 기반으로 추천 로직을 구현.
유저에게 데이터 기반 아이템을 장르별로 모두 보여주고 웹에서 지정한 갯수의 아이템을 선택하고 선택된 아이템을 기반으로 중복된 장르와 스타일의 아이템과 비슷한 아이템 추천.
DB
에 저장 되어있고, 데이터를 기반으로 아이템을 서로 연결 후 추천 가능.DB
에 저장해야 하고 아이템의 수량이 한정적임.Map
생성Map
의 값을 내림차순으로 정렬하는 메서드 생성Map
에서 가장 많이 선택된 장르 두 개를 넣어서 반환해주는 메서드 생성유저의 데이터를 참고하여 추천 해 줄 수 있는 정보는?
데이터를 참고 하지 않고 추천 해 줄 수 있는 방법
데이터 연동 테스트를 위해 캐글에서 받아온 csv
파일을 SQLyog
와 연동하는 작업을 진행했다.
csv
파일에 필요한 데이터를 직접 가공하여 노래 제목, 아티스트명, 장르로 나누었다.
데이터를 DB
에 저장하기 위해 sql
에서 csv
파일을 가져오는 시도를 했다.
,
콤마로 지정해주고 테이블의 컬럼 갯수도 맞춰주고 문자 인코딩도 UTF8
로 맞춰주었다.방법 2. 유저의 선호도를 기반으로 비슷한 장르의 랜덤 아이템 추천
음악, 패션 관련 데이터를 DB에 저장할지, Spring 환경 내부에서 직접 CSV 파일을 연동할지.
의류 카테고리와 데이터는 크롤링을 이용해보자.
음악 플레이리스트는 API를 활용해보자.
카테고리는 나누었으니 서로 엮을 수 있는 로직 구현 생각.