C# - http 요청 시 동시 접속 수 제한

닷넷프레임워크는 서버로의 동시 접속 수가 기본으로 최대 2로 제한 되어 있다 즉 클라이언트는 한 서버로 머신당 최대 동시 접속 수가 2개로 제한 그래서 웹 서비스 클라이언에서 웹 서비스 등을 호출할 때 출력결과를 올리기 위해서는 멀티스레드로 웹서비스를 호출하여도 실제로는 활동하는 최대...
더 읽기

C# - Dataflow

닷넷프레임워크 4.5에 추가 NuGet으로 입수 가능 https://www.nuget.org/packages/Microsoft.Tpl.Dataflow MSDN에 문서는 있지만 정식 닷넷프레임워크에는 추가 되지 않은 상태 MSDN: http://msdn.microsoft.com/en-us/library/hh228603.aspx 일어 MSDN: http://msdn.microsoft.com/ja-jp/library/vstudio/system.threading.tasks.dataflow.aspx 번역기로 돌리면 영어보다 보기 편함 비동기 프로그래밍은 쉽지는 않지만 의외로 기존의 동기식 코드를 손쉽게 비동기 코드로 바꿀 수 있는...
더 읽기

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 == "종료") { ............. } }...
더 읽기