커밋 그래프

348 커밋

작성자 SHA1 메시지 날짜
8b0bbf3d66 Merge pull request 'feat: 특정어업수역 폴리곤 기반 수역 분류 + 연결선 성능 수정' (#96) from fix/fishing-overlay-perf into develop 2026-03-20 12:50:04 +09:00
e21d2a74e5 docs: 릴리즈 노트 업데이트 2026-03-20 12:49:00 +09:00
d4a35f546d feat: 특정어업수역 Ⅰ~Ⅳ 폴리곤 기반 수역 분류 — 경도 하드코딩 → point-in-polygon 교체
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 12:47:29 +09:00
1351f366f1 Merge pull request 'fix: 중국어선감시 연결선 폭발 수정' (#94) from fix/fishing-overlay-perf into develop 2026-03-20 12:30:47 +09:00
8c5ba0000c fix: 중국어선감시 연결선 폭발 — 부분매칭 제거 + 거리제한 + 마커 상한
- gearLinks: 부분 매칭(startsWith) 제거 → 정확 이름 매칭만
- gearLinks: 거리 제한 0.15도(~10NM) 추가 — 원거리 연결선 차단
- gearLinks: 최대 200개 제한
- operating 마커: 최대 100척
- 역할 라벨: 일반 어선(FV) 제외, 본선/부속/운반만 최대 100개
- parentName 최소 3글자 이상만 매칭

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 12:30:25 +09:00
5d7dca128d Merge pull request 'fix: prediction 배포 스크립트 수정' (#92) from fix/prediction-deploy-timeout into develop 2026-03-20 12:21:14 +09:00
af088fdcc1 fix: prediction 배포 스크립트 수정 — health timeout 60초 + tar.gz 재시도 수정 2026-03-20 12:20:54 +09:00
2ef1e55927 Merge pull request 'ci: deploy 키 갱신 후 재배포 트리거' (#90) from ci/redeploy-prediction into develop 2026-03-20 12:17:42 +09:00
8df1bb8f0f ci: deploy 키 갱신 후 재배포 트리거 2026-03-20 12:17:23 +09:00
22f58c8473 Merge pull request 'feat: Python 어선 분류기 + 배포 설정 + 모니터링 프록시' (#88) from feat/prediction-service into develop 2026-03-20 12:10:46 +09:00
a68dfb21b2 feat: Python 어선 분류기 + 배포 설정 + 백엔드 모니터링 프록시
- prediction/: FastAPI 7단계 분류 파이프라인 + 6개 탐지 알고리즘
  - snpdb 궤적 조회 → 인메모리 캐시(13K척) → 분류 → kcgdb 저장
  - APScheduler 5분 주기, Python 3.9 호환
  - 버그 수정: @property last_bucket, SQL INTERVAL 바인딩, rollback, None 가드
  - 보안: DB 비밀번호 하드코딩 제거 → env 환경변수 필수
- deploy/kcg-prediction.service: systemd 서비스 (redis-211, 포트 8001)
- deploy.yml: prediction CI/CD 배포 단계 추가 (192.168.1.18:32023)
- backend: PredictionProxyController (health/status/trigger 프록시)
- backend: AppProperties predictionBaseUrl + AuthFilter 인증 예외

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 12:10:21 +09:00
206c6f22a0 Merge pull request 'feat: 중국어선 조업분석, 어구/어망 분류, 이란 시설, 레이어 재구성' (#84) from feature/korea-layers-enhancement into develop 2026-03-20 08:52:15 +09:00
b34efe37de chore: develop 머지 충돌 해결 (RELEASE-NOTES.md) 2026-03-20 08:51:53 +09:00
Nan Kyung Lee
a467540dda fix: 중국어선감시 활성화 시 지도 드래그 불가 — 마커 pointerEvents none 추가 2026-03-20 08:49:58 +09:00
Nan Kyung Lee
d40084da3b feat: 한국 현황 상단에 중국어선감시 버튼 추가 2026-03-20 08:48:21 +09:00
Nan Kyung Lee
8f4558a81c fix: 선박 팝업 텍스트 색상 고정 — 라이트 모드에서 정보 안 보이는 문제 해결 2026-03-20 08:45:43 +09:00
bb7c428528 docs: 릴리즈 노트 업데이트 + lint 에러 수정 2026-03-20 08:44:55 +09:00
Nan Kyung Lee
8b69bea667 fix: 한국/중국 선박 현황 패널 기본 접힘 처리 2026-03-20 07:27:47 +09:00
Nan Kyung Lee
7174dfd629 feat: 중국어선 조업분석, 어구/어망 분류, 이란 시설, 레이어 재구성
- 어선 분류 개선: AIS Ship Type 30 + category fallback + 선박명 패턴
- 어구/어망 카테고리 신설: 선박명_숫자_ / 선박명% 패턴으로 분류
- 중국어선 조업분석: GC-KCG-2026-001 + CSSA 보고서 기반 (안강망 추가)
- 중국어선 선단 탐지: 본선-부속선 쌍, 운반선 환적, 선망 선단
- 어구/어망 → 모선 연결선 시각화
- 어구 SVG 아이콘 5종 (트롤/자망/안강망/선망/기본)
- 이란 주변국 시설 레이어 (MEFacilityLayer 35개소)
- 사우스파르스 가스전 피격 + 카타르 라스라판 보복 공격 반영
- 한국 해군부대 10개소 추가
- 레이어 재구성: 선박(최상위) → 항공망(항공기+위성) → 해양안전 → 국가기관망
- 어선 국적별 하위 분류 (선박 분류 내 어선 펼치기)
- 오른쪽 패널 접기/펼치기 (한국현황, 중국현황, 조업분석, OSINT)
- 항공망 기본 접힘 처리
- 센서차트 기본 숨김

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 16:46:27 +09:00
4a6bc2d9cd Merge pull request 'fix: OSINT 중복 저장 최종 수정 — DB UNIQUE + save try-catch' (#82) from fix/osint-dedup-unique-index into develop 2026-03-19 13:07:38 +09:00
0c6d626b36 fix: OSINT 중복 저장 방지 — 개별 save try-catch + DB UNIQUE(title) 인덱스 2026-03-19 13:06:58 +09:00
088a3e7caa Merge pull request 'fix: OSINT 중복 체크를 title 단독 조건으로 단순화' (#80) from fix/osint-title-dedup-simplify into develop 2026-03-19 11:49:57 +09:00
5a2675a1d5 fix: OSINT 중복 체크를 title 단독 조건으로 단순화 2026-03-19 11:49:38 +09:00
a0b31b99e7 Merge pull request 'ci: deploy.yml에 OpenSky 크레덴셜 환경변수 추가' (#78) from ci/opensky-env-secrets into develop 2026-03-19 11:02:43 +09:00
b1daa36911 ci: deploy.yml에 OpenSky 크레덴셜 환경변수 추가 2026-03-19 11:02:28 +09:00
4a5e29377c Merge pull request 'fix: GDELT 쿼리 URL 인코딩 수정' (#76) from fix/gdelt-url-encoding into develop 2026-03-19 10:56:27 +09:00
712d7c12ff fix: GDELT 쿼리 URL 인코딩 수정 (한글/특수문자 깨짐 해결) 2026-03-19 10:56:11 +09:00
05160605bd Merge pull request 'docs: 릴리즈 노트 정리 (2026-03-19.2)' (#74) from docs/release-notes-2026-03-19-2 into develop 2026-03-19 10:45:22 +09:00
dcff31002d docs: 릴리즈 노트 정리 (2026-03-19.2) 2026-03-19 10:45:10 +09:00
b6456145d5 Merge pull request 'feat: OpenSky OAuth2 인증 + 수집 주기 5분 조정' (#73) from feat/opensky-oauth2-credits into develop 2026-03-19 10:44:46 +09:00
0b3775a251 docs: 릴리즈 노트 업데이트 2026-03-19 10:44:21 +09:00
bf9c0bd346 feat: OpenSky OAuth2 인증 + 수집 주기 5분 조정
- OAuth2 Client Credentials 토큰 관리 (30분 유효, 자동 갱신)
- 수집 주기 60초 → 300초 (일일 크레딧 11,520 → 2,304)
- AppProperties: openSkyClientId/Secret/AuthUrl 설정 추가
- application-prod.yml: 환경변수 참조 (OPENSKY_CLIENT_ID/SECRET)
- 미설정 시 익명 모드 폴백 유지
2026-03-19 10:43:58 +09:00
Nan Kyung Lee
e9ce6ecdd2 feat(korea): 한국 현황 레이어 대규모 확장 — 국적 필터, 풍력단지, 항구, 군사시설, 정부기관, 미사일 낙하
- 국적 분류 필터 추가 (한국/중국/북한/일본/미분류)
- S&P Global / MarineTraffic 탭 디자인 개선
- CCTV 백엔드 프록시 연결 (CctvProxyController)
- 풍력단지 레이어 (8개소 해상풍력)
- 항구 레이어 (한국/중국/일본/북한/대만 46개)
- 공항 확장 (중국 20, 일본 18, 북한 5, 대만 9개 추가)
- 군사시설 레이어 (중국/일본/북한/대만 38개소)
- 정부기관 레이어 (중국/일본 32개소)
- 북한 발사/포병진지 레이어 (19개소)
- 북한 미사일 낙하 시각화 (2026년 4건, 궤적 라인, 인근 선박 감지)
- 항행정보/팝업 공통 스타일 정리
- 선박 현황 정렬 스타일 개선
- 레이어 패널 폰트 축소

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 10:34:16 +09:00
506584cd66 Merge pull request 'docs: 릴리즈 노트 정리 (2026-03-19)' (#71) from docs/release-notes-2026-03-19 into develop 2026-03-19 10:24:04 +09:00
572de9827a docs: 릴리즈 노트 정리 (2026-03-19) 2026-03-19 10:23:33 +09:00
424a95e78f Merge pull request 'refactor+fix: 인라인 CSS 정리 + OSINT 중복 수집 방지 + MapLibre race condition 해소' (#70) from refactor/inline-css-cleanup into develop 2026-03-19 10:21:21 +09:00
2c6f79c4d3 docs: 릴리즈 노트 업데이트 2026-03-19 10:20:24 +09:00
e304a841ed fix: OSINT 기사 중복 수집 방지 + MapLibre symbol layer race condition 해소
- OsintCollector: title 기반 24h 중복 체크 추가 (GDELT/Google News)
- ShipLayer: hover를 feature-state로 분리하여 setData 빈도 감소
- ShipLayer: ships-korean-label 조건부 마운트 → visibility 제어로 변경
2026-03-19 10:19:06 +09:00
5210ddcda8 Merge pull request 'refactor: 인라인 CSS 정리 — 공통 클래스 + Tailwind 전환' (#68) from refactor/inline-css-cleanup into develop 2026-03-18 14:23:45 +09:00
4dd1597111 refactor: 인라인 CSS 정리 — 공통 클래스 추출 + Tailwind 전환
- CollectorMonitor: 29건 인라인 → CSS 클래스 (~3건 동적만 잔존)
- 팝업 공통 CSS: .popup-header, .popup-body, .popup-grid, .popup-label 추출
  - AirportLayer, DamagedShipLayer, InfraLayer, SubmarineCableLayer 적용
- LoginPage: var(--kcg-*) 인라인 → Tailwind 유틸리티 전환 (hover 포함)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 14:23:09 +09:00
5b39866f4d Merge pull request 'fix: 한국 선박 클릭 시 지도 포커스 이동 + 모달' (#66) from fix/ship-click-flyto into develop 2026-03-18 12:28:17 +09:00
448f1b6804 fix: 한국 선박 목록 클릭 시 지도 포커스 이동 + 모달 동시 호출
- onShipClick: focusMmsi + flyToTarget(zoom 10) 동시 설정

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:28:00 +09:00
e5a79cf37a Merge pull request 'fix: LIVE 모드 더미 피격선박 제거' (#64) from fix/damaged-ships-live into develop 2026-03-18 12:12:05 +09:00
60edd6bcfd fix: LIVE 모드 더미 피격선박 제거 + 선박 분류/배지 색상 통일
- DamagedShipLayer: 시나리오 범위(3/1~3/14) 밖이면 피격선박 미표시
- getMarineTrafficCategory: VesselType 문자열 매칭 우선 (Cargo→fishing 오분류 수정)
- EventLog 배지 색상: CSS 변수 통일 (LayerPanel/ShipLayer와 동일)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:11:46 +09:00
ff860ba639 Merge pull request 'fix: 선박 분류 오류 수정 + 배지 색상 통일' (#62) from fix/ship-category-colors into develop 2026-03-18 11:58:45 +09:00
387c4e42c8 fix: 선박 분류 오류 수정 + 배지 색상 통일
- getMarineTrafficCategory: VesselType 문자열 매칭을 STAT5CODE 접두사보다 우선 적용
- STAT5CODE 매칭: 2번째 문자가 숫자인 경우만 적용 ("Cargo" → fishing 오분류 방지)
- EventLog 로컬 getShipMTCategory 제거 → 공통 getMarineTrafficCategory 통합
- EventLog 배지 색상: 하드코딩 hex → CSS 변수 (LayerPanel/ShipLayer와 동일)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 11:58:32 +09:00
5279a016d1 Merge pull request 'docs: 릴리즈 노트 정리 (2026-03-18)' (#60) from chore/release-prep-10 into develop 2026-03-18 11:04:27 +09:00
0e2397da9b docs: 릴리즈 노트 정리 (2026-03-18) 2026-03-18 11:04:09 +09:00
4f6fabf15a Merge pull request 'feat: 센서 그래프 개선 + 지진 마커 + 시설 아이콘 정렬 + SSH 재시도' (#59) from hotfix/ssh-retry-v2 into develop 2026-03-18 11:03:43 +09:00
a06fc0b4cc docs: 릴리즈 노트 업데이트 2026-03-18 11:03:24 +09:00