Keywordream 리팩토링 - 설계

권기현·2024년 6월 6일

keywordream

목록 보기
3/3

Keywordream 리팩토링 계획에서 계획했던 것처럼 리팩토링을 진행해볼 생각이다. MVC 패턴으로 구조를 변경하기 전에 DB 설계와 API 설계부터 변경하기로 했다.

1. DB 설계

Keywordream 리팩토링 계획에서 있었던 DB 관련 문제를 해결하고자 DB 설계를 다음과 같이 변경했다.

새로운 DB 설계

물론 새로운 DB 설계에서 문제점은 존재한다. 기존 프로젝트에서는 특정 종목에 대해서 실시간으로 크롤링된 뉴스 20개를 바탕으로 키워드 개수를 계산하여 많은 순으로 상위 30~40개를 뽑아내서 그 결과를 기존 DB에 저장한다. 하지만 새로운 DB에서는 특정 종목에 대해서 실시간으로 뉴스 20개를 크롤링하는 것은 동일하지만 모든 뉴스에서 키워드 개수를 계산했던 전과 달리 하나의 뉴스에 대해서만 키워드 5개 정도를 뽑아내어 각각 새로운 DB에 저장하게 된다.

이렇게 할 경우에 기존 방식과 새로운 방식에서 도출되는 키워드가 달라질 수도 있겠지만, 추후에 서비스를 고도화하는 입장(키워드를 클릭했을 때, 관련 뉴스가 나온다던가 or 관련 주식이 나온다던가)에서 생각해 봤을 때 새로운 방식이 더 타당하다는 생각이 든다.

2. API 설계

API 설계에서는 기존 페이지 기반 설계 방식보다는 도메인 기반 설계 방식으로 변경하기로 했다. 변경된 설계는 다음과 같다.

새로운 API 설계

API 설계를 변경하는 것은 Fron-end 쪽도 요청을 보내는 방식이 달라지는 것이기 때문에 수정을 해야 되는 상황이 발행한다는 문제점이 존재한다. 하지만 기존 API 설계에 문제점이 존재했고 DB 설계도 변경했기 때문에 이에 맞춰서 API 설계도 변경될 필요가 있다고 생각했다.

3. 앞으로의 계획

변경된 설계를 바탕으로 기존 진행했던 코드들을 수정해 볼 계획이다. 이에 더하여 API 문서도 실제로 Front-end와 협업한다는 생각으로 잘 정리하는 것이 목표이다.

profile
금융 IT 개발자 희망합니다

0개의 댓글