종목 조회 및 시세 API 구현 - #17
Merged
Merged
Conversation
hej090224
reviewed
Aug 3, 2026
hej090224
left a comment
Member
There was a problem hiding this comment.
코드 리뷰 요약
Twelve Data 연동 및 market 도메인 계층화 전반적으로 구조가 깔끔하고 테스트 커버리지도 좋습니다. 아래 인라인 코멘트로 버그 가능성, 성능, 개선 제안, 컨벤션 관련 의견을 남겼습니다.
🔴 버그 가능성
SymbolRepository.searchActive의 LIKE 검색에서%/_와일드카드 미이스케이프
🟠 성능
GetCurrentPriceServiceImpl/GetPriceHistoryServiceImpl에서 읽기 전용 트랜잭션 내부에 외부 HTTP 호출이 포함되어 DB 커넥션 점유 시간이 길어짐
🟡 개선 제안
SyncSymbolsServiceImpl의 안전장치가 '빈 응답'만 막고, '부분 응답'으로 인한 대량 비활성화는 막지 못함- 심볼/시장 활성 검증 로직이 여러 서비스 구현체에 중복
🔵 컨벤션/구조 (nit)
PriceSnapshot/PriceSnapshotRepository가 이번 PR에서 실제로 사용되지 않음@ConfigurationProperties배치(domain-local vsglobal.property) 컨벤션 정리 필요- 리포지토리 최초의 REST 엔드포인트라 URL 버전 프리픽스 유무를 미리 정해두면 좋을 것 같음
세부 내용은 각 인라인 코멘트를 참고해주세요.
hej090224
self-requested a review
August 3, 2026 15:16
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
✨ 작업 내용
GET /symbols,GET /symbols/search페이지네이션 조회GET /symbols/{symbolId}/priceRedis cache-aside 현재가 조회GET /symbols/{symbolId}/price-historyUTC 1시간봉·최대 7일 조회🔍 리뷰 시 참고사항
TWELVE_DATA_ENABLED=true,TWELVE_DATA_API_KEY설정이 필요합니다.PriceSnapshot적재와 별도 실시간 가격 수집기는 이번 범위에 포함하지 않았습니다.✅ 체크리스트
.env.example등) 변경이 필요한 경우 작성 또는 수정했나요?검증
./gradlew build./gradlew ktlintCheckgit diff --check📎 관련 이슈(선택)