feat: complete Oracle and MariaDB WebView data layer

This commit is contained in:
2026-07-10 05:33:19 +09:00
parent 5aa90e4aaa
commit 39c4504b87
44 changed files with 3956 additions and 46 deletions

View File

@@ -22,10 +22,11 @@
- 기존 운영 흐름을 반영한 `PREPARE` / `TAKE IN` / `NEXT` / `TAKE OUT` UI
- `F2`, `F8`, `Esc` 단축키
- 원본의 공급자 비의존 SQL/데이터 요청 71개를 .NET 8 Core 프로젝트로 이관
- DB 구현을 UI 및 Core에서 분리하기 위한 `IDataQueryExecutor` 경계
- Oracle/MariaDB 실제 비동기 `IDataQueryExecutor`와 소스별 health/retry/timeout
- WebView 코스피·코스닥·NXT·5개 지수·해외 실데이터 조회와 장애 UI
- MSIX 패키지 매니페스트와 x64 게시 프로필
실제 Oracle/MariaDB 연결 Tornado/K3D 송출은 아직 어댑터를 연결하지 않았습니다. 화면의 송출 버튼은 현재 운영 흐름 검증용이며 실제 방송 신호를 보내지 않습니다. 상세 현황은 [마이그레이션 문서](docs/MIGRATION.md)를 참고하세요.
Oracle/MariaDB 연결 계층은 구현 및 실제 DB 스모크 검증을 완료했습니다. Tornado/K3D 송출은 아직 어댑터를 연결하지 않았으며, 화면의 송출 버튼은 운영 흐름 검증용입니다. DB 설정은 [DB 운영 가이드](docs/DATABASE.md), 전체 현황은 [마이그레이션 문서](docs/MIGRATION.md)를 참고하세요.
## Visual Studio 2026에서 실행
@@ -60,7 +61,7 @@ dotnet build MBN_STOCK_WEBVIEW.csproj `
## 구성과 보안
원본 `RES/MmoneyCoder.ini`에는 실제로 보이는 DB 접속 정보가 있어 복사하지 않았습니다. [예제 설정](Config/appsettings.example.json)에는 비밀값이 없으며, 실제 로컬 설정은 Git에서 제외되는 `Config/appsettings.local.json`을 사용하도록 예정되어 있습니다.
원본 `RES/MmoneyCoder.ini`의 값은 저장소에 복사하지 않았습니다. [예제 설정](Config/appsettings.example.json)에는 빈 값만 있으며 실제 설정은 `%LOCALAPPDATA%\MBN_STOCK_WEBVIEW\Config\database.local.json` 또는 `MBN_STOCK_*` 환경 변수를 사용합니다. 로컬 파일 생성, 환경 변수, 보안과 스모크 테스트 방법은 [DB 운영 가이드](docs/DATABASE.md)에 정리했습니다.
MSIX 설치 폴더는 읽기 전용입니다. 로그, 플레이리스트, 운영자 설정과 미리보기 파일은 이후 `ApplicationData.Current.LocalFolder` 또는 `LocalCacheFolder`에 저장해야 합니다. Tornado 씬/영상처럼 큰 운영 자산은 별도의 설정 가능한 외부 폴더로 유지합니다.
@@ -71,7 +72,11 @@ MBN_STOCK_WEBVIEW.csproj WinUI 3 / WebView2 / 단일 프로젝트 MSIX
MainWindow.xaml(.cs) 네이티브 창, WebView 초기화, 보안 경계, 메시지 브리지
Web/ FarPoint를 대체하는 로컬 운영 UI
src/MBN_STOCK_WEBVIEW.Core/ 이관된 데이터 요청 및 공급자 비의존 Core
src/MBN_STOCK_WEBVIEW.Infrastructure/ Oracle/MariaDB 공급자·설정·복원력·health
tests/ Core/Infrastructure 단위 테스트
tools/MBN_STOCK_WEBVIEW.DbSmoke/ 비밀값을 출력하지 않는 실제 DB 스모크
Config/ 비밀값 없는 구성 템플릿
ThirdPartyNotices/ 공급자 재배포 라이선스 고지
docs/ 마이그레이션 기록과 다음 단계
```