1. Linq OrderBy()를 사용해서 목록 섞기 public static List Shuffle(List values) { Random rand = new Random(); var shuffled = values.OrderBy(_ => rand.Next()).ToList(); return shuffled; } Linq의 OrderBy() 메소드를 이용하면, 지정된 비교자를 사용하여 시퀀스의 요소를 정렬합니다. Random()을 사용해서 순서를 무작위로 섞기 위해 위와 같이 메소드를 구성 할 수 있는데요. static void Main(string[] args) { List values = new List() { "A", "B", "C", "D", "E" }; var valuse2 = EtcUtil...
프로그램을 개발하면서 소소하게 많이 접하게 되는것이 문자열관련, 날짜관련이 아닐까 싶은데요. 그중 Log 성 데이터를 다루다 보면 문자열 관련된 내용이 꼭 필요하게 됩니다. Log와 관련된 내용을 좀더 가독성이 좋게 만들면 좋을 거 같아서 보간을 이용한 간격을 맞췄는데요. 진행한 김에 같이 정리하였습니다. 1. string.Format 을 이용한 문자열 출력 string.Format() 의 메소드 매개변수 형식은 아래와 같은데요. {첨자, 맞춤:서식 문자열} 해당 메소드를 이용하면 위와같은 형태로 문자열을 출력할 수 있습니다. 2. PadRight() PadLeft() 를 이용한 간격맞춤 간혹 문자열의 간격을 조정해야 하는 상황이 발생하게 되는데요. 이때는 PadRight(), PadLeft() 메소드를..
들어가며 프로그램을 설계하고 코딩하는 과정에서, 각 어플리케이션의 요소 (클래스, 메소드, 구조체 등등) 를 변경하는 과정은 자주 발생하게 됩니다. 협업하는 과정에서 즉시 수정이 가능하면 좋지만, 시간을 두고 천천히 제외 해야 할 요소라면, 작업자 간의 자연스러운 공유 및 수정을 유도하는 것도 하나의 방법인데요. 꼭 제외에만 초점을 맞춘다기 보다는 Framework 의 변경, 추가 Method 생성 등도 이유가 될 수 있을 겁니다. 이때 사용하기 좋은 특성 중 에 하나가 [Obsolete] 입니다. ▶ ObsoleteAttribute ◀ 더 이상 사용하지 않거나, 그럴 예정인 어플리케이션 요소를 표시하는데 사용되는 특성이며, [Obsolete] 특성 (Attribute)을 붙여주는 방식으로 사용하게 됩니..
. 들어가며 .NET Framework 4.8 개발 환경에서, 기본적인 TLS 전송에 대한 프로토콜 버전이 1.0으로 전송된다는 얘기를 전해들었습니다. 이와 관련해서 서버에서는 1.2 를 지원하고 있어서 원활한 통신이 안되고 있다는 얘기에, 관련상황을 정리하였습니다. TLS란? TLS(전송 계층 보안) 프로토콜은 인터넷을 통해 전달되는 개인 정보를 보호하는 데 도움이 되도록 설계된 업계 표준입니다. TLS는 국제 표준 기구인 IETF(Internet Engineering Task Force)에 의해 제안되었으며 프로토콜의 첫 번째 버전은 1999년에 발표되었습니다. 가장 최신 버전은 2018년에 발표된 TLS 1.3입니다. TLS는 Netscape가 개발한 SSL(Secure Sockets Layer)이..
System.Math 의 Round 메소드의 경우 기본적으로 소수점 이하 자리수를 파라메터로 제공을 하지만, 올림 (Ceiling), 버림(Truncate) 메소드의 경우에는 제공을 하지 않습니다. 그렇기 때문에 해당 처리를 별도로 해줘야 하는데요. 간단한 방법으로 특정 소수점 이하의 올림, 버림 처리를 할 수 있습니다. 특정 소수점 올림 원하는 소수점까지의 표현을 위해 값을 곱해주고 나눠주는 방식으로 표현이 가능합니다. double value = 132.15469; //소수점 두자리 올림 Console.WriteLine($"Ceiling : {Math.Ceiling(value * 100) / 100}"); //소수점 세자리 올림 Console.WriteLine($"Ceiling : {Math.Ceili..
C#을 이용해서 개발을 진행하다보면, System.Math 를 통해서 수학함수를 사용할 일이 생기는데요. 그중 가장 많이 사용하는 부분이 수치를 이용한 올림/반올림/버림 처리가 아닐까합니다. 자주 사용하지만, 한번 만들어 놓으면 다시 보지 않기에 정리해봅니다. 올림 올림의 경우 Math.Ceiling(double a) 메소드를 사용합니다. double value = 132.15469; Console.WriteLine($"Ceiling : {Math.Ceiling(value)}"); //출력 Ceiling : 133 버림 버림의 경우 Math.Truncate(double a) 메소드를 사용합니다. double value = 132.15469; Console.WriteLine($"Truncate : {Mat..