-
Notifications
You must be signed in to change notification settings - Fork 0
[KOBG-13] Lesson 관련 api 제작 #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
📊 Jacoco Test Coverage
|
📊 Jacoco Test Coverage
|
📊 Jacoco Test Coverage
|
📊 Jacoco Test Coverage
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🔑 JIRA 이슈 키
KOBG-13lesson 관련 api 제작✒ 진행한 작업
💡 생겼던 문제 및 해결법
1️⃣ 외부 발음 평가 API 서버의 에러 문제
2️⃣ oneToone 관계인 LessonSentence - LessonChat
chat이 sentence의 답변을 유도하는 질문이라 1:1매핑이 되어야 했다. 그러나 oneToone 의 의미 만으로는 jpa 메소드가 lesson sentence id 로 lesson chat 을 1:1로 가져올 수 있는 것이 아닌, list 로 매핑이 되었다. 따라서 joinColumn 에 unique 설정을 추가하여 진행해 oneToone 이 가능하도록 설정했다.
📢 아쉬운 부분 및 개선점
😤 WebClient 비동기 장점 사용 부실
mvc 상태에서 WebClient 를 사용한다면, 그저 RestTemplate을 대체하기 위해 통신 방법으로 사용하는 정도로 WebClient 를 제대로 사용할 수 없는 방법이라고 한다. WebClient 는 WebFlux 와 함께 사용할 때 비로소 비동기의 장점을 완연히 보여줄 수 있다고 해서 해당 부분 참고해 디벨롭할 예정이다.
🔑확대/수정에 용이한 번역 erd 다시 구성
처음에는 번역본에 대한 것을 모두 google-translation-api 로 대체할 것이라고 계획을 했었다. 구현 후, 의문점이 들어 다시 개발자 분과 논의해보니 고정된 부분은 그래도 저장하는 게 좋지 않을까로 결론을 짓게 되었다. 또한 추가로 실제 회사라면, translate-api 사용보단 번역가에게 외주를 맡기고 제대로 검증된 번역본을 사용할 것 같다는 판단이 들어 추후에 보다 다양한 외국어 반영이 쉽고, 각 문장에 대해 보다 구조화된 erd를 구성해 추후 유지보수에 용이하게 할 예정이다.
📚 data.sql 방식이 아닌 데이터 파이프라인 기반 관리 진행
현재는 레벨 별 콘텐츠가 많진 않고, 추후에 확대될 예정이라 가볍게 진행하였으나 추후 데이터의 확장과 편리한 업데이트를 고려하여 데이터 파이프라인을 구현하여 관리하고자 한다.
💌 AI Agent 이용한 매끄러운 대화로 디벨롭
현재는 레슨의 기본 문장을 답변할 수 있도록 하는 소통방식이어서 보다 자유롭지는 못하다. 추후 AI Agent 를 통해서 자유로운 소통 안에서 다양한 주제 관련 어휘 및 문장을 활용하도록 도울 예정이다.