C# - TPL

닷넷 프레임워크 4.0에서 추가된 병렬 프로그래밍 라이브러리 여기의 글을 정리 Parallel.ForEach/For Parallel.ForEach using System; using System.Diagnostics; using System.Threading; using System.Threading.Tasks; namespace Sample01_ParallelForEach { class Program { static void Main() { //----- 데이터 생성 var collection = new int[]{ 10, 20,...
더 읽기

C# - Thread

현재 스레드의 ID 얻기 System.Threading.Thread.CurrentThread.ManagedThreadId 스레풀의 최소, 최대 스레드 개수 알기 int workThreads = 0; int iocpThreads = 0; // 최소 스레드 개수 System.Threading.ThreadPool.GetMaxThreads(out workThreads, out iocpThreads); // 최대 스레드 개수 System.Threading.ThreadPool.GetMinThreads(out workThreads, out iocpThreads); 스레드 사용하기 System.Threading.Thread TimeThread =...
더 읽기

C# - Trace

Trace 클래스 코드 실행을 추적하는 데 필요한 메서드 및 속성 집합을 제공 네임스페이스: System.Diagnostics 어셈블리: System(system.dll) Trace 클래스의 속성 및 메서드를 사용하여 릴리스 빌드를 측정 할 수 있다. 이렇게 하면 실제 설정에서 실행되는 응용 프로그램의 상태를 모니터링할 수 있다. 추적...
더 읽기

C# - Unit Test Mock

왜 사용하는가? Mock 라이브러리는 단위 테스트를 쉽게 하기 위해 존재합니다. 예를 들어서, 한 클래스 테스트에 데이터베이스를 활용해야 하는 경우가 있다고 가정을 합시다. 이 경우 직접 데이터베이스에 정보를 넣었다 뺐다 하면 상당히 큰 부담이 됩니다. 이런 부담을 주지 않고, 데이터베이스의 행동을...
더 읽기

마크다운 문법 - Table of contents

Table of contents ================= * [gh-md-toc](#gh-md-toc) * [Table of contents](#table-of-contents) * [Installation](#installation) * [Usage](#usage) * [STDIN](#stdin) * [Local files](#local-files) * [Remote files](#remote-files) * [Multiple files](#multiple-files) * [Combo](#combo) * [Auto insert and update TOC](#auto-insert-and-update-toc) * [Github token](#github-token) * [Tests](#tests) * [Dependency](#dependency)...
더 읽기

C# - Unit Test

준비 보통 프로그램이나 라이브러리 프로젝트에 추가 프로젝트로 유닛테스트 프레임워크를 사용하는 프로젝트를 만든다. 이렇게 하면 유닛테스트에 영향을 받지 않으면서 기존처럼 개발을 할 수 있다. 유닛테스트 프로젝트에 테스트 메소드를 만들면 테스트 탐색기에 리스트로 나온다. 유닛테스트 초기화와 실행 순서 지정한 유닛테스트만 실행 유닛테스트...
더 읽기

C# - 콘솔 키보드 입력, 프로그램 종료 키 조사

키보드 입력 class Program { static void Main(string[] args) { System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(키보드입력조사), null); while (true) { ...... System.Threading.Thread.Sleep(128); } } static void 키보드입력조사(object userState) { while (true) { var command = Console.ReadLine(); if (command == "종료") { ............. } }...
더 읽기

C# - ArraySegment 배열을 새로 할당하지 않고 특정 위치의 내용을 참고 하고 싶을 때

배열(예를들면 네트워크에서 받은 데이터를 저장한 버퍼 byte[] buffer)의 특정 위치에서 특정 크기만큼 참고하고 싶을 때 보통 새로 배열을 만든 후 복사해야 원하는 데이터만을 참조할 수 있다. 그러나 ArraySegment를 사용하면 새로 배열을 만들지 않으면서 버퍼의 특정 데이터를 참조할 수 있다. ArraySegment를...
더 읽기

C# - AutoMapper

기본 객체간의 복사를 자동으로 한다. 복사되는 객체에 복사한다. Nuget으로 설치 가능. 예 public class SourceType { public int SourceId { get; set; } public string Value { get; set; } public DateTime DateUpdated { get; set; } } public class...
더 읽기