커밋 그래프

43 커밋

작성자 SHA1 메시지 날짜
44cd532d52 docs: 릴리즈 노트 업데이트 2026-03-27 08:06:53 +09:00
74aace919b docs: 릴리즈 노트 업데이트 2026-03-27 08:05:47 +09:00
da6db06dcc docs: 릴리즈 노트 정리 (2026-03-27) 2026-03-27 07:16:56 +09:00
13c263e649 docs: 릴리즈 노트 업데이트 2026-03-27 07:12:50 +09:00
d6ab622480 docs: 릴리즈 노트 정리 (2026-03-27) 2026-03-27 06:38:22 +09:00
296b89327b docs: 릴리즈 노트 업데이트 2026-03-27 06:34:25 +09:00
aae05be18f docs: 릴리즈 노트 정리 (2026-03-19)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 07:48:01 +09:00
99b9391967 docs: 릴리즈 노트 업데이트
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 07:47:19 +09:00
3a89354e88 docs: 릴리즈 노트 정리 (2026-03-18)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 17:08:36 +09:00
0f2dae72ad docs: 릴리즈 노트 업데이트
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 17:05:56 +09:00
5a8159b2cf docs: 릴리즈 노트 정리 (2026-03-17) 2026-03-17 10:02:15 +09:00
0f14991345 feat: recent-positions-detail API + AIS WebClient 버퍼 확장 (#109) 2026-03-17 10:01:53 +09:00
6751c84a0b docs: 릴리즈 노트 정리 (2026-03-17) 2026-03-17 09:29:36 +09:00
7d320b24a8 fix: AIS API 계정 롤백 — 신규 계정 응답 없음 (#107) 2026-03-17 09:29:18 +09:00
d023626eb0 docs: 릴리즈 노트 정리 (2026-03-17) 2026-03-17 08:41:37 +09:00
27515e6452 chore: prod AIS API 접속 계정 변경 (#105) 2026-03-17 08:41:16 +09:00
345b9c8051 docs: 릴리즈 노트 정리 (2026-03-13) 2026-03-13 10:19:41 +09:00
60131481f3 docs: 릴리즈 노트 업데이트 2026-03-13 10:13:05 +09:00
29566facb3 docs: 릴리즈 노트 정리 (2026-03-10) 2026-03-10 11:19:10 +09:00
bfaf190b8c docs: 릴리즈 노트 업데이트 2026-03-10 11:16:45 +09:00
02cc4a95b4 docs: 릴리즈 노트 정리 (2026-03-10) 2026-03-10 08:56:57 +09:00
1a0d52911f docs: 릴리즈 노트 업데이트 2026-03-10 08:46:03 +09:00
b16ceddf10 docs: 릴리즈 노트 정리 (2026-03-09)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 11:26:12 +09:00
2d525ab75a docs: 릴리즈 노트 업데이트
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 11:20:49 +09:00
0a115e4981 docs: 릴리즈 노트 정리 (2026-03-09) 2026-03-09 06:48:51 +09:00
d5ba32b308 docs: 릴리즈 노트 업데이트 2026-03-09 06:46:00 +09:00
fab931c128 docs: 릴리즈 노트 정리 (2026-03-08)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 09:32:09 +09:00
f628d381bb docs: 릴리즈 노트 업데이트
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 09:29:26 +09:00
cb41337e22 docs: 릴리즈 노트 정리 (2026-03-02) 2026-03-02 16:48:06 +09:00
bfed21dcb4 docs: 릴리즈 노트 업데이트 2026-03-02 16:44:46 +09:00
69b8ce8adc docs: 릴리즈 노트 정리 (2026-03-02)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 15:39:18 +09:00
242c2d13f5 docs: 릴리즈 노트 업데이트
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 15:28:45 +09:00
e0fc760754 docs: 릴리즈 노트 업데이트 2026-03-02 13:44:23 +09:00
007af70166 docs: 릴리즈 노트 정리 (2026-03-02) 2026-03-02 00:20:41 +09:00
b95e0f1d1c docs: 릴리즈 노트 업데이트 2026-03-02 00:12:41 +09:00
770207ee6c docs: 릴리즈 노트 업데이트 2026-03-01 23:11:06 +09:00
2e9361ee58 refactor: SNP API 전환 및 레거시 코드 전면 정리
- CollectDB 다중 신호 수집 → S&P Global AIS API 단일 수집으로 전환
- sig_src_cd + target_id 이중 식별자 → mmsi(VARCHAR) 단일 식별자
- t_vessel_latest_position → t_ais_position 테이블 전환
- 레거시 배치/유틸 ~30개 클래스 삭제 (VesselAggregationJobConfig, ShipKindCodeConverter 등)
- AisTargetCacheManager 기반 캐시 이중 구조 (최신위치 + 트랙 버퍼)
- CacheBasedVesselTrackDataReader + CacheBasedTrackJobListener 신규 추가
- VesselStaticStepConfig: 정적정보 CDC 변경 검출 + hourly job 편승
- SignalKindCode enum: vesselType/extraInfo 기반 선종 자동 분류
- WebSocket/STOMP 전체 mmsi 전환 (StompTrackStreamingService ~40곳)
- 모니터링/성능 최적화 코드 mmsi 기반 전환
- DataSource 설정 통합 (snpdb 단일 DB)
- AreaBoundaryCache Polygon→Geometry 캐스트 수정 (MULTIPOLYGON 지원)
- ConcurrentHashMap 적용 (VesselTrackStepConfig 동시성 버그 수정)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 09:59:49 +09:00
LHT
1480990f4f feat: REST V2 캐시 우선 조회 + Semaphore 부하 제어 + 응답 포인트 상한
- POST /api/v2/tracks/vessels: DailyTrackCacheManager 캐시-DB 분리 조회
- 모든 V2 항적 엔드포인트에 ActiveQueryManager 공유 Semaphore 적용
- 포인트 버짓: 총 포인트 초과 시 비율 기반 균등 분배 간소화
- prod/prod-mpr/query 프로파일에 rest.v2.query 설정 추가
- 원격 DB 필요 테스트 @Disabled 처리, Maven Wrapper/gitattributes 정비

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 06:43:02 +09:00
b4221c36fd feat: 다중 폴리곤 영역 탐색 REST API + STRtree 공간 인덱스 (Phase 8)
캐시 기반 인메모리 다중 폴리곤 영역 내 선박 탐색 API 구현.
JTS STRtree + PreparedGeometry로 고속 공간 검색, ANY/ALL/SEQUENTIAL 3가지 모드 지원.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 08:38:18 +09:00
e729316edf feat: IntegrationVessel 전용 DataSource 지원 및 프로파일 호환성 보장
- IntegrationVesselService에 전용 DataSource 자체 생성/관리 추가
  - vessel.integration.datasource.* 설정으로 별도 DB 연결 가능
  - @PostConstruct에서 경량 HikariDataSource 생성 (max 3, min 1)
  - 미설정 시 queryDataSource 자동 폴백 (기존 동작 유지)
- prod: 별도 DB (mdadb2 gis.t_ship_integration_sub) → 전용 DataSource
- dev/prod-mpr: queryDB signal 스키마 → queryDataSource 폴백
- 기존 DataSourceConfig 4개 파일 수정 없이 프로파일 완벽 호환

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 07:23:44 +09:00
dc586dde0c docs: Phase 5~6 구현 진행 문서 및 성능 보고서 업데이트
- implementation-progress.md: Phase 5~6 체크리스트 추가 (전항목 완료)
- websocket-performance-improvement-report.md: 대기열 구조, 캐시 아키텍처 설명 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 15:34:32 +09:00
60366816a6 docs: 구현 진행 문서 최종 업데이트 - 전 단계 완료
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 13:46:06 +09:00
78ff307785 feat: 글로벌 동시 쿼리 제한(Semaphore) 및 쿼리 완료 시 리소스 반환 보장
Phase 1.1 + 1.2: WebSocket 리플레이 요청 동시 부하 제어
- ActiveQueryManager에 Fair Semaphore 기반 글로벌 동시 쿼리 제한 추가 (기본 30개)
- @Async 스트리밍 메서드 내에서 슬롯 획득 (인바운드 채널 블로킹 방지)
- 쿼리 완료/실패/취소 시 finally 블록에서 반드시 리소스 반환
  - 글로벌 Semaphore 슬롯 반환
  - 세션별 쿼리 카운트 감소 (기존 누락 수정)
  - ActiveQueryManager 쿼리 정리
- TrackQueryInterceptor 세션 제한값 외부 설정화 (@Value)
- application-prod.yml에 websocket.query 설정 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 13:36:10 +09:00