Language/C# 6

C# .Net Core 로 만든 Linux 기반 멀티 소켓 서버 Base Project 공개

https://github.com/Kuass/Csharp-Socket-Server Kuass/Csharp-Socket-Server Easy-to-customize projects that serve as the foundation for a powerful socket server. - Kuass/Csharp-Socket-Server github.com 소켓 서버 예제는 많지만 .Net Core 로 작성된 예제나 너무 간단하게만 이루어진 소켓 예제가 주류로 이루어 진 것 같아 Base Project 를 작성해 Github에 공개했습니다. 해당 서버에서는 자체적으로 Protocol 을 정의하여 여러분들이 직접 Custom 하기 용이한 형태로 개발된 상태입니다. 어디까지나 Base 예제이고 작동은 확인했으나..

Language/C# 2021.05.22

String 으로된 Byte Array를 Byte[] 로 리턴받기

실무에서 사용했던 알고리즘입니다. 알고리즘 이랄게 없지만요;; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 static void Main(string[] args) { string packet_str = "20 21 03 18 09 40 55 00 01 07 4D 4F 44 45 52 4E 54 32 00 04 02 31 41 00 01" + " " + "00 01 FF FF FF FF FF FF FF FF 00 00 00 00 01 00 00"; byte[] array_result = string_to_hex_array(packet_str); } public static byte[] string_to_hex_array(string charstr) { string[] split ..

Language/C# 2021.04.23

[정보] 신선한 충격을 받았다. (알고리즘/코드 최적화)

ByteArray(Hex) 를 HexArray 로 바꿔주는 방법을 구글링 했더니 스텍오버플로우에 다음과 같은 솔루션이 있었다. 아니 이런 세상에.. 내가 쓰던 BitConverter 방식보다 30배 빠른 코드가 있었다!! 하긴 내가 일반적으로 코딩하는 곳은 Resource가 충분한 환경에서 개발을 진행하기 때문에 이러한 경험을 겪은 적이 없지만 Resource가 한정적인 환경에서는 이러한 알고리즘이 아주 중요할 거 같다는 생각이 들게 되었습니다.. .Net Core로 Linux Server Application을 개발할때는 저러한 Algorithm을 참고해서 구축해야 하겠습니다. 출처 : stackoverflow.com/questions/311165/how-do-you-convert-a-byte-arra..

Language/C# 2021.03.08

모니터의 밝기를 System.Management 로 관리하기

Windows10 에서 모니터의 밝기를 조정하고 싶었습니다. Windows10 Desktop 뿐만아닌 IoT 버전에서도 적용하고 싶었고, 많은 시행착오끝에 성공했습니다. 아래 소스를 공개합니다. NuGet에서 System.Management를 설치해주셔야합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87..

Language/C# 2021.02.18

String을 BCD로 변환하거나 BCD를 String으로 변환하기(이진화 십진법)

BCD(Binary-coded decimal)는 2진화 10진법으로 보통이면 ASCII 라고 하면 숫자를 하나 표현하는대 한 바이트를 사용합니다. 하지만 BCD를 사용하면 숫자 두개를 표현하는대 한 바이트를 사용할 수 있게 됩니다. 날짜를 표현하게 된다면 20010101231110 이라면 ASCII는 14바이트지만 BCD는 절반인 7바이트를 이용합니다. 바이트 하나하나를 절약하여 회선 비용을 절감하고싶거나, Serial 통신등 노이즈에 약한 통신방법을 이용하는 IoT나 소형 제품에 적용되는 데이터 형식이라고 생각합니다. BCD -> String 1 2 3 4 5 6 7 8 9 public static string BCDtoString(byte[] bcd) { StringBuilder temp = new ..

Language/C# 2021.02.18