(C#) ThreadLocal<T>와 AsyncLocal<T>의 차이점
멀티 스레드 환경에서 각 스레드별로 하나의 공통 데이터에 접근하여 처리 될때 스레드 마다 원자성을 보장하면서
데이터를 다뤄야 하는 상황이 발생할 수 있습니다.
이때 제공 되는것이 Thread Local Storage(TLS) 변수라는 것이 있습니다.
쉽게 말해 tls변수는 스레드별 고유한 데이터를 저장(?)할 수 있는 공간이라고 이해 하면 됩니다. 또한 이 tls변수는(이하 거론되는 ThreadLocal<T> AsyncLocal<T> 동일) 자체적으로 데이터 원자성이 보장되기에 lock없이 접근하여 사용이 가능합니다.
(C#) 커스텀 비동기 Task
async, await을 사용해서 비동기 작업을 처리 하기 위해서는 일반적으로는 System.Threading.Tasks.Task 클래스를
사용해서 반환되는 메서드를 만들어 처리 합니다.
(ASP.NET Core) 웹 응용 프로그램 윈도우 서비스로 호스팅 하는 방법(Kestrel사용)
ASP.NET Core 웹 응용 프로그램을 호스팅 할때 보통 윈도우 서버의 IIS에서 호스팅 하거나
윈도우 또는 Linux나 도커 환경 등에서 Kestrel로 셀프 호스팅을 할 수 있습니다.
(기타) disqus provider를 사용해서 Comment기능 추가하기
Jekyll테마를 사용해서 github 블로그 만들때 Comment기능을 추가 하는 방법 입니다.
참고로 다음 설명에서는 TeXt Theme 사용 기준으로 설명 합니다.
(ASP.NET Core) SignalR 클라이언트 인증 처리 및 인증 정보 기준 특정 클라이언트에게 전송 처리 (feat JWT인증)
지난 글에서 JWT인증 처리 방법에 대해 설명했었습니다.
이번 글은 지난 글 JWT인증을 사용해서 ASP.NET Core 에서 SignalR 호스팅시 인증된 클라이언트만 접속을 허용하고 인증된 클라이언트 특정에게 RPC메서드 통신을 하는 방법입니다.
(ASP.NET Core) JWT인증 처리
ASP.NET Core에서 JWT + 쿠키 클레임을 통한 인증 처리를 사용할 수 있습니다.
우선 ASP.NET Core에서 JWT를 사용하기 위해 누겟에서 관련 패키지를 받아 설치 합니다.
(WPF) 잘못된 바인딩 사용에 의한 메모리 누수
정성태님 블로그
“C# - 닷넷 응용 프로그램에서 메모리 누수가 발생할 수 있는 패턴”에 대한 글을 보던 중 처음 접한 내용을 보았는데..
단순한 바인딩 처리로 인해 메모리 누수 가능성이 존재 한다는 것이다.
(WPF) Window Base 구성하기 with DevExpress 테마 적용
WPF프로젝트 개발에서 커스텀 하게 윈도우 크롬을 제거하고
윈도우 타이틀바, 컨트롤박스를 구현하는 과정에서 같은 스타일의 윈도우를 팝업 윈도우 형식으로 여러개 사용해야 하는 상황
이 생겨 귀찮게 매번 각 윈도우를 꾸미지 않고 기본 스타일을 Base로 만들어서 사용할 수 있도록 구현해봤다.
동시에 기본 스타일을 사용하면서 DevExpress의 테마도 같이 사용해야 하는 환경에서 구현하게 되었다.
전체 글 65개, 9 페이지