Commit Graph

3 Commits

Author SHA1 Message Date
kjh2064 d083eb7bf9 fix: 빌드 경고 정리 (미사용 변수, 중복 using 제거) 2026-06-29 23:20:05 +09:00
kjh2064 c56c9cc903 feat(kis): KIS API 클라이언트 .NET 포팅 완료
**구현:**
- IKisApiClient.cs: 완전한 read-only 메서드 인터페이스
  - GetCurrentPriceAsync, GetAskingPrice10LevelAsync
  - GetDailyShortSaleAsync, GetDailyItemChartPriceAsync
  - GetInvestorTrendAsync

- KisApiClient.cs: 완전한 .NET 구현 (kis_api_client_v1.py 포팅)
  - KisCredentials: 환경변수 + Windows 레지스트리 폴백
  - ITokenCache 통합: PostgreSQL 기반 토큰 캐싱
  - AssertReadOnly: 주문 API 차단 (governance/rules/06_no_direct_api_trading.yaml)
  - HttpClient: 비동기 API 호출 + 헤더 관리
  - 모든 quotation 조회 메서드 구현

**보안:**
- FORBIDDEN_PATH_SUBSTRINGS: "/trading/" 경로 차단
- FORBIDDEN_TR_ID_PREFIXES: TTTC/VTTC 주문 TR_ID 차단
- 매수/매도 API 절대 호출 불가 (2차 방어)

**DI 통합:**
- Program.cs: builder.Services.AddScoped<IKisApiClient, KisApiClient>();
- HttpClientFactory 패턴 활용

**다음 단계:**
- PostgresTokenCache 구현
- CollectionRepository PostgreSQL 구현
- Collection 엔드포인트 완성
- Web API 통합 테스트

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-29 23:15:40 +09:00
kjh2064 459edf5940 refactor(web): MudBlazor → Fluent UI Blazor v5 마이그레이션 완료
Quant Engine CI/CD Pipeline / validate-core (push) Failing after 10s
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (push) Failing after 8s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (push) Has been skipped
Snapshot Admin Deployment / build-and-deploy (push) Failing after 1m0s
Deploy to Production / Build & Deploy to Production (push) Successful in 1m21s
**주요 변경사항:**
- NuGet: MudBlazor 6.10.0 → Microsoft.FluentUI.AspNetCore.Components 5.0.0-rc.4-26177.1 변경
- Program.cs: MudBlazor DI → Fluent UI DI 등록
- App.razor: CSS/JS 라이브러리 및 프로바이더 변경
- MainLayout.razor: MudLayout → FluentStack 기반 재구성
  - FluentHeader 헤더 적용
  - 네비게이션 사이드바 토글 기능
  - Flexbox 레이아웃
- NavMenu.razor: MudNavMenu/MudNavLink → FluentNavMenu/FluentNavLink
- Dashboard.razor: MudBlazor 모든 컴포넌트 → Fluent UI v5로 변환
  - MudCard → FluentCard
  - MudGrid → FluentStack (Wrap)
  - MudText → HTML (h1, p, span)
  - MudChip → FluentBadge
  - MudTable → FluentDataGrid
  - MudAlert → div (커스텀 스타일)
- Operations.razor: 동일 패턴 적용
- _Imports.razor: Fluent UI 네임스페이스 추가

**빌드 결과:**  SUCCESS (0 errors, 5 warnings)

**다음 단계:** Stage 2 - Python → .NET 마이그레이션

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-29 23:11:18 +09:00