프로그래밍/기록, 개념, 용어
-
동시성 토큰프로그래밍/기록, 개념, 용어 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..
-
Azure Application Gateway를 통한 통신 시 502 Bad gateway가 발생했던 이슈프로그래밍/기록, 개념, 용어 2022. 2. 8. 22:20
이슈 원인 내 경우, 서버 애플리케이션(이하, 서버앱)에 "/" 경로에 대한 처리가 없어 Azure Application Gateway(이하, 게이트웨이)의 서버앱 헬스 체크가 실패했고, 이에 서버에 이슈가 있다고 판단한 애플리케이션 게이트웨이가 502 Bad Gateway를 발생시켰다. 이슈 확인 과정 게이트웨이에 서버앱을 연결했고 브라우저로 통신 결과를 보려고 했다. 그러나 502 Bad Gateway가 발생했고, 서버엔 어떤 통신 로그도 남아있지 않았다. 그리고 게이트웨이 개요에서도 인스턴스가 비정상적이라고 나왔다. Azure Application Gateway 502로 검색하여 나오는 글들을 보다가 어떤 글에서 아래 링크를 발견했다. Troubleshoot backend health issues ..
-
MS SQL SERVER에 원격 연결을 위한 구성 설정.프로그래밍/기록, 개념, 용어 2022. 2. 8. 00:27
SQL Server Configure Manager(SQL 서버 구성 관리자)를 찾아 실행한다. SQL Server가 설치되어 있다면 Search 창에서 바로 검색이 가능하다. SQL Server Network Configuration(SQL 서버 네트워크 구성) - Protocols for MSSQLSERVER에서 TCP/IP 실행 TCP/IP Enabled를 Yes로 수정. SQL Server Configuration - SQL Services를 누르고, SQL Server 재시작 연결이 안 된다면 점검해봐야 할 것들 인바운드 1433 포트가 열려있는지 확인. SQL Server 인증 계정이 계정이 올바른지 확인. Object Explorer에서 서버 - Properties - Security - S..
-
ClockSkew프로그래밍/기록, 개념, 용어 2022. 2. 7. 00:30
ClockSkew ClockSkew는 같은 소스의 클럭 신호가 어떠한 이유로 인해 서로 다른 시간에 어떤 목적지에 도착하는 현상을 말한다. ClockSkew는 TimingSkew 라는 이름으로도 불린다. 송신단과 수신단, 클럭 타이밍이 동기되지 못한 상황도 스큐라는 용어로 표현한다. Clock skew - Wikipedia 스큐 (naver.com) 사용 예 클라이언트에서 서버 간 허용되는 토큰 만료 시간 차이를 ClockSkew로 지정한다. ClockSkew를 10초로 지정하면, 토큰 유효 기간이 10시 10초로 지정되어 있어도 10시 20초 까지는 유효한 토큰으로 간주한다. TokenValidationParameters.ClockSkew Property (Microsoft.IdentityModel.T..