마크다운 문법 - 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...
더 읽기

C# - Debug 클래스

Debug 클래스 Debug 클래스는 그 이름대로 디버그 정보를 출력하는 클래스이다. Debug 클래스는 System.Diagnostics 이름 공간에 있다. 사용 예 using System.Diagnostics; Debug.WriteLine("Start Method"); Debug.IndentSize = 4; Debug.Indent(); Debug.Write("Debug.Write"); Debug.WriteLine("는 개행합니다."); for (int i = 0; i < 4; i++) { Debug.WriteIf(i%2==1,i);...
더 읽기

C# - List, Tuple, Queue, SortedList, SortedDictionary, SortedSet

List 정렬 https://msdn.microsoft.com/ja-jp/library/w56d4y5z(v=vs.110).aspx https://msdn.microsoft.com/ja-jp/library/b0zbh7b6(v=vs.110).aspx https://msdn.microsoft.com/ja-jp/library/234b841s(v=vs.110).aspx List<UserWeekTotalNetProfitResult> TopPlyser = new List<UserWeekTotalNetProfitResult>(); TopPlyser.Sort(PlayerCompare); static int PlayerCompare(UserWeekTotalNetProfitResult user1, UserWeekTotalNetProfitResult user2) { if (user1.TotalScore == user2.TotalScore) { if (user1.Level == user2.Level) { // UID는 절대 동점이 없음 if (user1.UID > user2.UID) { return -1;...
더 읽기

C# - XmlTextReader

XmlTextReader 로 XML 읽기 예제 1 <?xml version="1.0" encoding="utf-8" ?> <Config> <log4net> <root> <!--로그 레벨 지정. 아래에서는 INFO 레벨 이상만 로그가 남는다--> <level value="INFO" /> <!--어느 로그를 사용할 것인지 지정한다. 파일 로그와 날짜별 로그 사용--> <appender-ref ref="DayRollingLogToFile" /> <!--복수 지정...
더 읽기

Windows에 Rust 설치하기

Rust를 Windows에서 사용할 때 C++ 컴파일러가 별도로 필요하므로 먼저 VisualStudio Build Tools를 설치한다.(Visual Studio를 설치하면 된다) Rustup 설치 Rustup 사이트에 가서 rustup‑init.exe 링크를 클릭해서 다운로드 한다. 다운로드한 rustup-init.exe을 클리하여 설치한다. 설치가 끝난 후 아래 명령어를 실행하여 잘 설치 되었는지 확인한다....
더 읽기

C# - 닷넷프레임워크의 타이머 관련 클래스

인터넷에 있는 글에서 가져온 것입니다. DispatcherTimer 일반 타이머는 메인 스레드가 아닌 다른 스레드를 만들어서 처리 되지만 이것은 실행은 메인 스레드에서 처리 되어 메인 스레드와 동기화가 보장 된다. MSDN의 설명 각 Dispatcher 루프의 맨 위에서 DispatcherTimer가 다시 평가된다. 시간 간격이 발생할...
더 읽기