Skip to main content

Command Palette

Search for a command to run...

Fusion 튜토리얼 - 0부: NuGet 패키지

Published
2 min read

모든 Fusion 패키지는 NuGet에서 사용할 수 있습니다.

다음을 참조해야 합니다.

  • Stl.Fusion.Server – 서버 측 어셈블리
    • .NET Framework 4.X를 사용하는 경우 대신 Stl.Fusion.Server.NetFx를 참조
  • Stl.Fusion.Client – 클라이언트 측 어셈블리
    • Blazor 클라이언트는 대신 Stl.Fusion.Client를 참조하는 Stl.Fusion.Blazor를 참조
  • Stl.Fusion – 양쪽에서 사용하는 공유 어셈블리
  • Stl.Fusion.EntityFrameworkEF Core를 사용하려는 경우 서버 측 어셈블리에서 사용

Fusion 전체 패키지 목록:

  • Stl - "ServiceTitan Library"를 나타냄(예, 모든 회사에는 자체 STL이 필요). BCL에서는 찾을 수 없었던 비교적 고립된 추상화 및 도우미 모음. StlCastle.Core에 의존함. 기타 타사 패키지일 수도 있음
  • Stl.Net - Stl에 의존적. WebSocketChannel은 현재 포함된 유일한 타입
  • Stl.Interception - Stl에 의존적. Castle DynamicProxy를 기반인 호출 차단 도우미
  • Stl.CommandR - StlStl.Interception에 의존적. CommandR은 인터페이스 기반 명령 핸들러 뿐 만 아니라 일반 메소드로 작성된 AOP 스타일 핸들러도 지원하도록 설계된 "MediatR 스테로이드"입니다. 그 외에도 명령 핸들러 API를 통합하고(파이프라인 동작과 핸들러가 동일함) 그렇지 않으면 가질 수 있는 거의 모든 상용구 코드를 제거하는 데 도움이 됩니다.
  • Stl.Fusion - Stl, Stl.InterceptionStl.CommandR에 의존적. Fusion과 관련된 거의 모든 것.
  • Stl.Fusion.Server - Stl.FusionStl.Net에 의존적. 클라이언트 측 상대방이 Fusion Publisher와 통신할 수 있도록 서버 측 WebSocket 끝점을 구현합니다. 또한 퓨전 API 컨트롤러(FusionController)에 대한 기본 클래스와 웹 앱에 이 모든 것을 등록하는 데 도움이 되는 몇 가지 확장 메서드를 제공합니다.
  • Stl.Fusion.Server.NetFx - .NET Framework 4.X 버젼의 Stl.Fusion.Server
  • Stl.Fusion.Client - Stl.FusionStl.Net에 의존적. FusionControler 기반 API 끝점과 호환되는 클라이언트 측 WebSocket 통신 채널 및 RestEase 기반 API 클라이언트 빌더를 구현함. 이 모든 것을 함께 사용하면 클라이언트에서 서버 측 대상을 "미러링"하는 컴퓨팅 인스턴스를 얻을 수 있음
  • Stl.Fusion.Blazor - Stl.Fusion.Client에 의존적. 편리한 Blazor 구성 요소를 구현합니다. 현재 StatefulCompontentBase<TState>와 2개의 하위 항목인 ComputedStateComponent<T>ComputedStateComponent<T, TLocals>가 있습니다.
  • Stl.Fusion.EntityFramework - Stl.Fusion에 의존적. Fusion 인증, 작업 지속성, IKeyValueStore 등의 EF Core 기반 구현을 포함
  • Stl.Fusion.EntityFramework.Npgsql - Stl.Fusion.EntityFramework 의존적. Npgsql 기반 작업 로그 변경 추적 구현을 포함. PostgreSQL에는 메시지 대기열로 사용할 수 있는 NOTIFY / LISTEN 명령이 있으므로 이 데이터베이스를 사용하는 경우 Fusion이 작업 로그 변경에 대해 피어 호스트에 알릴 수 있도록 별도의 메시지 대기열이 필요하지 않음

More from this blog

개발, 테스트, 운영에서의 도커 활용

핵심 원칙: "한 번 빌드하고, 어디서든 실행한다 (Build once, run anywhere)" 도커의 가장 큰 장점은 환경 일관성입니다. 동일한 도커 이미지를 사용하여 개발, 테스트, 운영 환경을 구성함으로써 "제 PC에서는 됐는데..." 하는 문제를 최소화할 수 있습니다. 1. 개발 단계 (Development) 목표: 빠른 코드 변경 반영, 쉬운 디버깅, 실제 운영 환경과 유사한 환경 구성. Docker 사용 방안: Dockerf...

May 9, 20256 min read15

[EF Core] 데이터 삭제 시 소프트 삭제 적용

DB에서 데이터를 삭제하면 일반적으로 복구할 수 없습니다. 또한 관계에 따라 영구 삭제 자체가 어려울 수도 있습니다. 그래서 데이터를 영구 삭제하는 대신 IsDeleted 속성을 true로 주고 IsDeleted 속성을 필터링해서 조회하는 방법을 사용하기도 합니다. 이를 소프트 삭제라고 합니다. 그런데 EF에서 알아서 데이터 삭제 시 소프트 삭제를 하고 쿼리시 IsDeleted 속성을 체크해서 삭제한 데이터를 제외한 데이터만 쿼리하게 하는 ...

Mar 18, 20243 min read19

[EF Core] ValueConverter를 이용해서 엔터티 속성의 도메인 관리

EF Core를 사용하면서 문자열 길이 등의 특성을 일일이 지정하는 것은 번거롭습니다. ... [MaxLength(32)] public string? 제목 { get; set; } 엔터티가 한 개일 때는 상관이 없으나 제목 유형이 여러 엔터티에 사용될 경우 유형을 지정하기 번거롭습니다. 속성 유형을 도메인으로 관리하면 참 편할텐데요, ValueConverter를 이용할 수 있습니다. 그런데 이것을 인터페이스 정적 추상를 사용해서 다음처럼 ...

Mar 16, 20242 min read8

디모이 블로그

154 posts

.NET 관련 기술을 선호하고 새로운 언어를 배우는데 관심이 있습니다.