🧅 About MagicOnion MagicOnion이란? - MagicOnion은 SignalR 및 Socket.IO와 같은 양방향 실시간 통신 제공 - WCF 및 웹 기반 API와 같은 RPC 메커니즘을 제공- .NET 플랫폼을 위한 최신 RPC 프레임워크 - 이 프레임워크는 HTTP/2를 위한 빠르고 컴팩트한 바이너리 네트워크 전송인 gPRC를 기반으로함.- .ptoro(Protocal Buffers IDL)없이 C# 인터페이스를 프로토콜 스키마로 취급하여 C# 프로젝트간 코드 공유 가능 요구 사항서버 - NET 6.0 이상이 필요 클라이언트 - .NET 6.0 이상 - .NET 표준 2.1, 2.0- Unity 2021.3(LTS)이상공식 GitHub- MagicOnion 😺 사담- 개..
🖥️ Incremental Source Generator 란?- .NET 5 이후의 기능으로, 컴파일 타임에 코드 생성을 최적화 하고 성능을 향상시키기 위해 도입된 기술 - 기존의 소스 생성기보다 더 효율적이고 부분적으로 코드 생성을 수행할 수 있는 기능 제공 주요 개념 1. Incremental Source Generation- 코드 생성을 부분적으로 수행하여, 변경된 부분만 다시 생성- 전체 코드 베이스를 다시 분석하지 않고 변경된 입력에 대해서만 반응, 더 효율적인 코드 생성 가능 2. Performance- 대규모 코드베이스에서 소스 생성기의 성능을 크게 향상 시킴- 반복적인 빌드 및 변경 작업에서 유용 3. Diagnostics - Incremental Source Generator는 진단..
개요 - MemoryPack은 Cysharp라는 일본의 소프트웨어 개발 회사에서 개발한 고성능 C# 직렬화 라이브러리 MemoryPack 라이브러리- .NET에서 사용되는 고성능 메모리 패킹 및 직렬화 라이브러리- 게임 개발이나 고성능 애플리케이션에서 자주 사용됨.- 직렬화와 역직렬화작업을 빠르고 효율적으로 처리, .NET 최신 기능 활용 특징 1. 고성능- MemoryPack은 빠르고 효율적인 직렬화/역직렬화 성능 제공 2. 간단한 사용 방법- 직렬화할 클래스에 `MemoryPackable` 특성을 적용하고 `partial` 클래스를 정의하면 사용 가능 3.소스 생성기 - .NET의 소스 생성기 기능을 사용하여 컴파일 타임에 직렬화 및 역직렬화 코드를 자동으로 생성 4. 최신 C# 기능 지원 - ..
1. global using - global using은 C# 10에서 도입된 새로운 기능- 네임스페이스를 전역적으로 사용할 수 있도록 하는 키워드- 이를 통해 모든 파일에서 공통으로 사용하는 네임스페이스를 매번 using 구문으로 선언할 필요 없이 한 번에 선언할 수 있음- 만약 global using문과 일반 using 문이 혼합되어 있는 경우에는, 모든 global using문이 일반 using 문 앞에 선언되어야함. // GlobalUsing.cs 파일global using System;global using System.Text;global using System.IO; 2. global using static - using static은 타입(type)을 import 하여 해당 타입 안..
🖥️ 오버헤드(OverHead)OverHead 는 시스템의 리소스를 소모하면서도 실제 작업의 주요 성능에 기여하지 않는 추가적인 비용이나 부하를 의미. 컴퓨터 과학에서 오버헤드는 다양한 맥락에서 발생할 수 있음. 요약 : 리소스를 소모하는 추가적인 비용이나 부하 오버헤드의 종류 1. 함수 호출 오버헤드- 함수 호출 시 스택 관리, 레지스터 저장 및 복원, 프로시저 호출 등의 추가적인 작업 때문에 발생하는 비용 ex) - 스택 프레임 생성 및 제거 : 함수 호출 시 현재 함수의 상태를 스택에 저장하고, 호출된 함수의 스택 프레임을 생성: 함수가 종료되면 프레임 제거하고, 이전 함수의 상태를 복원 - 파라미터 전달: 함수 호출 시 인자들을 스택이나 레지스터를 통해 전달 - 프로시저 호출 및 반환: ..
🧅 [MagicOnion] StreamingHub, FilterStreamingHub - StreamingHub is a fully-typed realtime server client communication framework. - 스트리밍 허브는 완전히 타입화된 서버 클라이언트 실시간 통신 프레임워크다. - Using the StreamingHub real-time communication service, the server can broadcast data to multiple clients - 스트리밍 허브는 실시간 커뮤니케이션 서비스를 사용한다, 그리고 서버는 다수의 클라이언트한테 데이터를 브로드캐스트 할 수 있다.Filter - MagicOnion filter is powerful f..