윈도우즈 환경에서 GUI를 지원하는 Linux 도커 컨테이너 띄우기 본 포스팅에서 자잘한 설치환경 에러에 대해서 설명하지는 않습니다. 사전 조건 > Windows 10 버전 2004 이상 또는 Windows 11 설치치 1. WSL2 설치 명령 프롬프트 창을 관리자 권한으로 연다. wsl --install 을 통해 WS...

윈도우즈 환경에서 GUI를 지원하는 Linux 도커 컨테이너 띄우기
대규모 시스템 설계 기초 리뷰
[Book Review] 대규모 시스템 설계 기초 가상 면접 사례로 배우는 대규모 시스템 설계 기초 독후감. 책 내용을 요약하는 포스팅은 아닙니다. 읽으면서 들었던 생각들을 주저리 정리하는 글에 가까움. (미래에 부끄러워서 지울수 있음) 개인적으로 이 책은 신입이나 취준생 보다는 조금 더 연차가 있을때 읽는게 좋다고 생각한다. 저연차 때...
Mimalloc (미말록)
Mimalloc: Free List Sharding in Action 논문 요약 미말록(Mimalloc) 이란? 마이크로소프트에서 개발한 성능 좋은 Memory Allocator. 다른 최신 Memory Allocator은 할당시간/메모리사용량/스레드 스케일링의 성능향상이 주된 목표이지만, mimalloc은 메모리 참조 지역성을 향상시키는데 포커...
Dynamic PGO (Dynamic Profile Guided Optimization, 동적 프로필 기반 최적화)
(.NET 6 기준으로 작성한 포스팅입니다.) (23-11-09: .NET 7 기준 최신정보 업데이트 하였습니다.) 서론 이전 포스팅에서 설명한 PGO는 런타임에 적용할 수는 없는 최적화다. 링크 타임에만 진행할 수 있는 최적화이므로 JIT를 사용하는 Managed Code에서는 사용이 불가능하다. 하지만, .NET Core 3.0부터 계층 컴파...
PGO (Profile Guided Optimization, 프로필 기반 최적화)
(2023/11/05 업데이트) PGO (Profile Guided Optimization, 프로필 기반 최적화) 프로파일링 옵션을 추가한 프로그램을 실행하면 프로필이라는 일종의 사용 통계 데이터가 남는다. 이 프로필 파일을 통해 다음 컴파일 시에 최적화를 해주는 기능. 네이티브 코드(C or C++)에서만 가능하고, 관리코드(C# 등)와 네이티...
GC DATAS (Dynamic Adaptation To Application Sizes, 동적 힙 갯수 조절)
DATAS (Dynamic Adaptation To Application Sizes, 동적 힙 갯수 조절) 힙 메모리 사용량에 따라 힙 갯수를 줄이고 늘릴 수 있는 기능. .NET8 에서 추가된 기능. 내용이 길어져서 별도 포스트로 나누었다. 원본은 이 포스트에서 확인가능. 디테일한 내용은 추후 포스팅을 통해 설명할 예정이며 지금도 개발중...
.NET 8 변경점
.NET 8 변경점 .NET 8 변경사항 에서 관심있는 부분 정리. [제네릭] GetEnumerator 개선 foreach 같은 구문에서 사용하는 제네릭의 GetEnumerator()가 개선되었다. 기존 코드는 다음과 같이 별다른 조건체크 없이 매번 열거자를 새로 생성하도록 되어있다. IEnumerator<T> IEnumerab...
.NET GC 정리(2)
.NET GC 정리(2) 인터넷 여기저기 흩어져있는 GC 관련정보 정리 2탄. 틀린게 있다면 말해주세요. GCHeapAffinize SGC (Server GC)는 논리 코어갯수만큼의 힙을 가지고 있고 멀티코어에서는 병렬처리가 가능하기때문에 WGC (WorkStation GC) 보다 처리량이 월등하다. Heap Affinize는 힙과 코어를...

.NET GC 정리(1)
.NET GC 정리(1) 인터넷 여기저기 흩어져있는 GC 관련정보 정리 1탄. 틀린게 있다면 말해주세요. 누구나 아는 내용 다음은 누구나 아는 내용이고 .NET 버전이 달라져도 동일한 내용 (.NET 7까지는..) CLR이 제공하는 메모리 수집 기능 GC C#, ASP.NET 등 .NET 환경에서 개발한 프로그램은 CL...
몬테카를로 트리 탐색 - Monte-carlo Tree Search (MCTS)
[인공지능] MCTS 알파고에서도 사용된 탐색 알고리즘으로, 시뮬레이션을 통해 가능성이 높은 선택을 하며 탐색하는 알고리즘. 4가지 과정을 통해 진행된다. 선택(Selection) : 현재 주어진 트리에서 트리 정책(Tree Policy, 최선의 자식 노드를 선택하는 정책)에 따라 결정되는 최선의 ...