프로그래밍
-
C# - ArrayPool, MemoryPool프로그래밍/기록, 개념, 용어 2022. 10. 13. 23:46
ASP.NET Core 문서를 보던 중 모르던 게 보여서 검색을 해봤다. Request and Response operations in ASP.NET Core | Microsoft Learn 딱 알고 있는 메모리 풀과 크게 달라 보이지 않았다. 잠깐 쓰고 돌려주면 될 부분에 쓰면 딱 적합하게 보인다. 돌려주기를 깜빡하거나, 예외가 발생해서 돌려주지 못하는 경우만 없도록 신경쓰면 될 듯. 아래 블로그에서 설명을 너무 잘해주셨다. .NET Framework: 997. C# - ArrayPool 소개 (sysnet.pe.kr) .NET Framework: 999. C# - ArrayPool와 MemoryPool 소개 (sysnet.pe.kr)
-
Azure Key Vault에 올린 인증서는, 다운로드 시 암호가 해제 된다.프로그래밍/의문 2022. 10. 13. 02:58
나는 개발 환경에서 사용할 인증서를 Azure Key Vault에 올려두고, 내 빌드가 디플로이 될 때 Azure Key Vault로 부터 내가 올렸던 pfx를 받아 사용할 것을 생각했다. 이렇게 하면 인증서를 중앙에서 관리할 수 있기 때문에. Azure Key Vault에 pfx 인증서를 저장하고, 저장한 pfx를 다운 받아 사용하려고 아래의 문서를 참고했다. Export certificates from Azure Key Vault | Microsoft Learn Export certificates from Azure Key Vault Learn how to export certificates from Azure Key Vault. learn.microsoft.com 그리고 azure cli를 Azur..
-
동시성 토큰프로그래밍/기록, 개념, 용어 2022. 10. 2. 00:04
EF Core 같은 ORM에선 각 레코드에 대한 동시성 제어를 어떻게 처리할까 궁금했는데, 찾아보니 동시성 토큰(Concurrency Tokens) 이라는 게 있었다. Concurrency Tokens - EF Core | Microsoft Learn 동시성 토큰을 이용하면 애플리케이션에서 제어 중인 레코드와 DB에서의 레코드가 같을 때만 업데이트, 같지 않다면 업데이트를 하지 않고 예외를 발생시킴으로서 낙관적으로 동시성 제어를 할 수 있게 된다. 다음은 동시성 토큰을 지정하는 방법이다. 이렇게 동시성 토큰을 지정하면 행이 인서트 또는 업데이트 될 때마다 DB에 의해 자동으로 Timestamp의 값이 변경 된다. class Person { [Key] public int Id { get; set; } pu..
-
gRPC Performance Best Practice의 C++ - Enable write batching in streams프로그래밍/기록, 개념, 용어 2022. 9. 27. 02:27
Performance Best Practices | gRPC Performance Best Practices A user guide of both general and language-specific best practices to improve performance. grpc.io 에서 아래 부분이 무슨 말인지 잘 이해가 가지 않았는데, (Special topic) Enable write batching in streams if message k + 1 does not rely on responses from message k by passing a WriteOptions argument to Write with buffer_hint set: stream_writer->Write(message, Wri..
-
유니티에서 Nuget 이용하여 gRPC, Protobuf 패키지 설치프로그래밍/기록, 개념, 용어 2022. 9. 24. 12:11
유니티 Nuget 클라이언트 설치 아래 Github 레포에 접속합니다. GitHub - GlitchEnzo/NuGetForUnity: A NuGet Package Manager for Unity GitHub - GlitchEnzo/NuGetForUnity: A NuGet Package Manager for Unity A NuGet Package Manager for Unity. Contribute to GlitchEnzo/NuGetForUnity development by creating an account on GitHub. github.com 가이드에 따라 레포지토리의 Release에서 유니티 패키지를 다운로드 받고, 그 패키지를 유니티 프로젝트에 임포트합니다. Nuget을 이용하여 gRPC 이용에 ..
-
Docker 컨테이너에서 로컬 Windows 호스트 위 SQL Server에 접근하기프로그래밍/기록, 개념, 용어 2022. 8. 28. 05:49
Windows 호스트의 SQL Server TCP/IP 기능을 활성화 하기 SQL Server 구성 관리자(Configuration Manager) 를 키고, SQL Server 네트워크 구성 - MSSQLSERVER에 대한 프로토콜 - TCP/IP를 사용 상태로 변경한다. SQL Server 서비스 - SQL Server를 다시시작 한다 컨테이너에서 실행될 앱의 SQL Server 연결 문자열(ConnectionStrings) 설정하기. Server의 host.docker.internal은 컨테이너에서 호스트를 가리키는 이름이다. 안의 값들은 본인이 사용하는 값을 넣으면 된다. 만약 SQL Server 유저 계정이 없다면, 만들어서 추가하면 된다. "Server=host.docker.intern..
-
프로토콜 버퍼프로그래밍/기록, 개념, 용어 2022. 8. 27. 16:37
프로토콜 버퍼는 구글에서 개발한 직렬화 포맷 다양한 프로그래밍 언어와 플랫폼 지원 프로토콜 버퍼를 사용할 이유 개발 편의성이 좋음 키, 값 기반의 포맷으로, 실시간 서버 업데이트의 강점 직렬화 시 작은 바이너리 크기 프로토콜 버퍼를 이루는 요소들 프로토 파일들: 사용자가 메세지 모델을 정의하는 파일들 프로토콜 버퍼 컴파일러: proto 파일을 빌드하여 언어 별 소스 코드를 생성 언어 별 프로토콜 버퍼 라이브러리들: proto 파일을 빌드하여 생성된 소스코드를 프로그램 내에서 사용하게 해줌 proto 파일에 정의되는, 메세지의 요소들 Person 메세지를 정의했다. message Person { int32 id = 1; string name = 2; } Person은 메시지 이름, int32, string..