본문 바로가기
Storify

STORIFY (0122) - 종속성 순환 문제, 페이지네이션

by Peter.JH 2024. 1. 23.
728x90

1. ai모듈에 있는 createStoryBook을 books모듈로 이식

이식 중 문제 발생!

현재 createStoryBook함수가 ai.service에 위치한다. 기능을 보면 book관련 함수이기에 books.service로 옮기려고 했다. 

 

코드 흐름:

0. createAistory(stories.service) ->

1 - 1. createStory(stories.repository) 작성된 일기(Story) DB에 저장

1 - 2. langchain(ai.service) 작성된 일기를 바탕으로 동화 생성

 

2. createStoryBook(ai.service) stableDiffusion에 병렬 요청 후 생성되면 S3에 저장

2 -1 stableDiffusion(ai.serivce) 삽화 생성

 

3. createBook(books.service) 생성된 동화, 삽화를 DB에 저장

 

현재 흐름이다. 이중 createStoryBook을 분리시키려고 했다. 그러나 종속성 순환 문제가 발생하였다. 

StoriesService, AiService, 그리고 BooksService 간에 서로 의존하고 있는 관계다. 이렇게 되면 서로 참조하면서 순환 종속성 문제가 발생할 수 있다.
현재 createStoryBook 함수는 AiService에 있지만 BooksService로 이동하려 했다. 이 경우 BooksService는 이미 AiService에 의존하고 있으므로, AiService가 BooksService에 종속되면 순환 종속성이 발생했다.

 

추후 fastapi서버에 ai관련 기능들을 옮길 예정이기에 그때 해결하는 게 좋다고 생각한다. 

2. books 모듈 내 findAllBooks에 pagination 추가

3, book모듈내 updateBook 추가

728x90

'Storify' 카테고리의 다른 글

STORIFY (0124) - 사용자 스토리  (0) 2024.01.25
STORIFY (0123) - 단일 책임 원칙  (0) 2024.01.24
STORIFY (0119) - API 구조 변경  (0) 2024.01.19
STORIFY (0118) - s3 연결  (0) 2024.01.18
STORIFY (0117) - 기술적 챌린지  (0) 2024.01.17