Meow & Code Journey
close
프로필 사진

Meow & Code Journey

github: @https://github.com/garambaek1017

  • 분류 전체보기
    • 👩 일상
      • 일상
      • 맛따라산따라(산행)
      • 국내 여행
      • 해외 여행
      • 집사일기
      • 방탈출+크라임씬
      • 2025 일상
    • 👩🏻‍💻 프로그래밍
      • C#
      • C#_SignalR
      • C#_ASP
      • C#_Blazor
      • C#_MagicOnion
      • Unity
      • Node.js
      • Log & Motinoring
      • DB & Redis
      • 코테일기
    • 📔 개념 요약
    • 🐞 오류
  • 홈
  • GitHub

MemoryPack 라이브러리

개요 - MemoryPack은 Cysharp라는 일본의 소프트웨어 개발 회사에서 개발한 고성능 C# 직렬화 라이브러리 MemoryPack 라이브러리- .NET에서 사용되는 고성능 메모리 패킹 및 직렬화 라이브러리- 게임 개발이나 고성능 애플리케이션에서 자주 사용됨.- 직렬화와 역직렬화작업을 빠르고 효율적으로 처리, .NET 최신 기능 활용  특징 1. 고성능- MemoryPack은 빠르고 효율적인 직렬화/역직렬화 성능 제공 2. 간단한 사용 방법- 직렬화할 클래스에 `MemoryPackable` 특성을 적용하고  `partial` 클래스를 정의하면 사용 가능  3.소스 생성기 - .NET의 소스 생성기 기능을 사용하여 컴파일 타임에 직렬화 및 역직렬화 코드를 자동으로 생성 4. 최신 C# 기능 지원 - ..

  • format_list_bulleted 👩🏻‍💻 프로그래밍/C#
  • · 2024. 8. 7.

[C#] Global Using

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 하여 해당 타입 안..

  • format_list_bulleted 👩🏻‍💻 프로그래밍/C#
  • · 2024. 8. 5.

오버헤드

🖥️ 오버헤드(OverHead)OverHead 는 시스템의 리소스를 소모하면서도 실제 작업의 주요 성능에 기여하지 않는 추가적인 비용이나 부하를 의미. 컴퓨터 과학에서 오버헤드는 다양한 맥락에서 발생할 수 있음.  요약 : 리소스를 소모하는 추가적인 비용이나 부하 오버헤드의 종류  1. 함수 호출 오버헤드- 함수 호출 시 스택 관리, 레지스터 저장 및 복원, 프로시저 호출 등의 추가적인 작업 때문에 발생하는 비용 ex) - 스택 프레임 생성 및 제거 : 함수 호출 시 현재 함수의 상태를 스택에 저장하고, 호출된 함수의 스택 프레임을 생성: 함수가 종료되면 프레임 제거하고, 이전 함수의 상태를 복원  - 파라미터 전달: 함수 호출 시 인자들을 스택이나 레지스터를 통해 전달  - 프로시저 호출 및 반환: ..

  • format_list_bulleted 👩🏻‍💻 프로그래밍/C#
  • · 2024. 7. 31.

비동기에서[async/await] lock 사용하기

SemaphoreSlim 클래스를 사용하면 비동기에서 lock을 사용할 수 있다.  AsyncLock.cs namespace Common;public sealed class AsyncLock{ // 한번에 하나의 스레드만 접근 가능하도록 설정되어, 사실상 뮤텍스처럼 동작한다. private readonly SemaphoreSlim _semaphore = new SemaphoreSlim(1, 1); // 동시 실행 제한 수 3 //private readonly SemaphoreSlim _semaphore = new SemaphoreSlim(3); public async Task LockAsync() { await _semaphore.WaitAsync(); ..

  • format_list_bulleted 👩🏻‍💻 프로그래밍/C#
  • · 2024. 7. 11.
[.net] nullable reference types 관련 경고 처리

[.net] nullable reference types 관련 경고 처리

.NET 8.0으로 신규 프로젝트 개발중인데, string 변수만 쓰면 위에처럼 자꾸 표시되서 이게 갑자기 왜 뜨지? 라고 생각했었다. ( 이전엔 .NET Framework 로만 개발했었음) 찾아보니까  .NET Core 3.0부터 nullable reference types이 도입되었고, 그래서 string?처럼 nullable 표시를 하지 않으면 컴파일러가 경고를 낸다고 하였다.  이를 관리하려면 프로젝트 파일에 enable 또는 disable를 설정을 하면nullable reference types 기능을 활성화하거나 비활성화할 수 있다.   .NET 6, 이전에는 enable이 없어서 직접 추가했어야 했는데, 이후에는 projects에 이 속성이 포함이라  .csproj 파일을 열고 disable..

  • format_list_bulleted 👩🏻‍💻 프로그래밍/C#
  • · 2024. 7. 9.

AddDbContextPool 과 AddPooledDbContextFactory

- AddDbContextPool 과 AddPooledDbContextFactory 는 모두 Entity Framework Core에서 DbContext 인스턴스를 풀링(pooling)하여 성능을 최적화 하는데 사용.  그러나 이 둘은 약간의 차이가 있음  1. AddDbContextPool역할: AddDbContextPool은 DbContext 인스턴스를 풀링하여 재사용합니다.이는 주로 단일 인스턴스의 수명이 요청(request) 당 한 번인 웹 애플리케이션 시나리오에 적합합니다.사용법: DbContext를 애플리케이션 서비스로 등록하여 풀링을 활성화합니다.구현 예:services.AddDbContextPool(options => options.UserMySql("YourConnectionStri..

  • format_list_bulleted 👩🏻‍💻 프로그래밍/C#
  • · 2024. 7. 1.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • ···
  • 8
  • navigate_next
전체 카테고리
  • 분류 전체보기
    • 👩 일상
      • 일상
      • 맛따라산따라(산행)
      • 국내 여행
      • 해외 여행
      • 집사일기
      • 방탈출+크라임씬
      • 2025 일상
    • 👩🏻‍💻 프로그래밍
      • C#
      • C#_SignalR
      • C#_ASP
      • C#_Blazor
      • C#_MagicOnion
      • Unity
      • Node.js
      • Log & Motinoring
      • DB & Redis
      • 코테일기
    • 📔 개념 요약
    • 🐞 오류
인기 글
전체 방문자
오늘
어제
Copyright © 뽀도 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바