C# - 메모리

스택할당 stackalloc 키워드를 사용하면 지역 변수에 한해서 스택 할당을 할 수 있음 해당 함수를 벗어나면 메모리는 삭제된다. unsafe 기능으로 사용할 수 있다. MSDN 문서 http://msdn.microsoft.com/ko-kr/library/cx9s2sy4.aspx http://msdn.microsoft.com/ko-kr/library/aa664785(v=vs.71).aspx C#에서 포인터 사용하는 방법 http://rkddlsghk98.blog.me/30160902176 동적 메모리 할당 MSDN http://msdn.microsoft.com/ko-kr/library/aa664786(v=vs.71).aspx 메모리 최적화 필요한 만큼의...
더 읽기

C++11 - 고정형 정수 타입

C++11에서 고정형 길이의 정수 타입이 새로 생겼음. 고정형 길이라는 것은 int8_t, int16_t 등 타입에 숫자가 붙는 것을 말함. 플랫폼에 상관 없이 크기가 고정 되어 있어서 크로스 플랫폼 개발에 사용하면 좋음. 헤더 파일 #include <cstdint> 정수 타입 int8_t, int16_t, int32_t, int64_t...
더 읽기

C# - Enum

Enum의 요소를 foreach로 열거하기 void Main() { foreach (TEST val in Enum.GetValues(typeof(TEST))) { Console.WriteLine("{0} - {1}", val, (int)val); } } enum TEST { ITEM_1 = 1, ITEM_2 = 10, ITEM_3 = 21, } 결과 ITEM_1 - 1 ITEM_2 - 10...
더 읽기

C# - 자신의 ip 주소 얻기

string myIPAddress = ""; var ipentry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()); foreach (var ip in ipentry.AddressList) { if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { myIPAddress = ip.ToString(); break; } }
더 읽기

C# - ConcurrentQueue, ConcurrentDictionary

ConcurrentQueue 자료구조 Queue의 멀티 스레드용 컨테이너 MSDN http://msdn.microsoft.com/ko-kr/library/dd267265.aspx 정의 var queue = new System.Collections.Concurrent.ConcurrentQueue<string>(); 데이터 추가 queue.Enqueue("First"); 데이터 참조 string item; if (queue.TryPeek(out item)) { Console.WriteLine("First item was " + item); } else { Console.WriteLine("Queue was empty."); } 데이터 가져오기(삭제)...
더 읽기

C# - Http Request

닷넷프레임워크에서는 서버로의 동시 접속수가 기본으로 최대 2로 제한되어 있다. 이 때문에 웹서비스 클라이언트에서 웹 서비스등을 호출할 때 처리량을 올리가 위해서는 멀티스레드에서 웹서비스를 호출하여도 액티브한 최대 동시 접속 수는 2로 된다. 싱글 스레드로 통신 할 때와 비교하면 처리량(시간당 처리량)은 향상 되지만...
더 읽기

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,...
더 읽기