Language 14

yyyy-mm-ddTHH:mm:ss(LocalDateTime) 를 원하는 데로 주무르기(T 만 없애는 등)

val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss", Locale.KOREA) val nowDateTime = LocalDateTime.now() val localStartDateTime = LocalDateTime.parse(nowDateTime.toString(), formatter) val DT = DateTimeFormatter.ofPattern("HH시 mm분 ss초").format(localStartDateTime) LocalDateTime.parse(nowDateTime.toString(), formatter) 에 변환할 LocalDateTime 형식의 변수를 할당하여 주시고 리턴되는 값을 변경하고 싶으시다면, DateTi..

Language/Kotlin 2021.09.28

코틀린에서 java.time.LocalDateTime 을 비교하기

import java.time.Duration import java.time.LocalDateTime 임포트를 해줍니다. val targetDate: LocalDateTime = LocalDateTime.of(2021, 9, 27, 17, 37, 39) val nowDate = LocalDateTime.now() // 2021, 9, 27, 17, 38, 00 val duration: Duration = Duration.between(targetDate, nowDate) 위와 같이 코드를 구성해 주면... 20초 라는 결과를 얻을 수 있습니다. 나노초 단위도 얻을 수 있습니다. 소요 시간을 한글로 표현 및 출력하려면 아래처럼 작성할 수 있습니다. val hours = seconds / 3600 val m..

Language/Kotlin 2021.09.27

Composer Error Fix - it is missing from your system. Install or enable PHP's fileinfo extension

처음에는 이 문제를 보고 다르게 이해를 했다가 패키지를 업데이트 하려고 했다. 하지만 해당 문제가 아니라, Problem 1 의 두번째에 있는 leafue/flyststem 을 보면, 내 시스템에 빠진게 있다. PHP의 fileinfo 확장을 설치하거나 활성화 해라 라고 되어 있다. 그래서 php.ini 를 살펴보면!!! 이렇게 주석 처리된 곳이 있다. 해당 부분을 풀어주고 다시 composer update 를 진행해 보자. 성공적으로 패키지가 설치/로드 되었다.

Language/PHP 2021.06.23

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

maven Project 를 gradle Project 로 변경할 때 dependencies 고치기(maven repository 활용)

Minecraft 플러그인 빌드도구를 Maven 에서 Gradle 로 변경하면서 HikariCP 와 querydsl-sql 등을 그대로 작성하면 dependencies { implementation 'com.zaxxer:HikariCP' } 이렇게 작성하게 됬는데, 찾을 수 없다고 gradle 에서 build 에러가 났다. 그럴땐 https://mvnrepository.com/artifact/com.zaxxer/HikariCP 여기서 모듈을 검색한 뒤에 여기에 있는 글을 그대로 작성해주고 나서 빌드가 성공적으로 되었다.

Language/Java 2021.05.19

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