본문 바로가기

Before 2025/Programming Language18

[Kotlin] Compare two formatted Date Strings 목차 Import Library 날짜 데이터 생성 날짜 비교 예제 결과 결론 Import Library import java.text.SimpleDateFormat import java.time.Duration import java.time.LocalDateTime import java.util.* 날짜 데이터 생성 // 현재 시간 가져오기 val format = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.getDefault()) val date = try { val millis = Calendar.getInstance(TimeZone.getTimeZone("UTC")).timeInMillis format.format(Date(millis)) } cat.. 2023. 6. 3.
[Kotlin] forEach에서 break & continue 1. continuereturn@forEach를 하면 break가 될 것 같지만 continue로 동작한다.이름을 짓는 방법도 있다. 마찬가지로 continue로써 동작한다. 2. breakrun 함수로 감싼 후 return@run 으로 run에서 나온다면 break로써 동작한다.continue와 마찬가지로 이름을 지어줄 수 있다. 2022. 12. 5.
[Dart] const & final keyword finalfinal은 한 번 값을 대입하면 변경할 수 없다.final은 런타임에 값이 결정된다.final은 해당 파일이 실행될 때 해당 위치에서 값이 결정된다.constconst는 한 번 값을 대입하면 변경할 수 없다.const는 컴파일 타임에 값이 결정된다.const는 이 파일을 컴파일할 때 값이 결정된다. 2022. 11. 18.
[Kotlin] 진수 변환. 알고리즘. 안녕하세요 골드입니다. 오늘은 코틀린에서 진법 변환에 대해서 글을 쓰도록 하겠습니다. 1. N진수 -> 10진수 2진수, 8진수, 16진수로 표현된 "1111"을 10진수로 변경하는 코드입니다. 코틀린은 함수 라이브러리가 다양하게 잘 만들어져 있습니다. toInt()에 N을 입력하면 "1111"은 N진수로써 표현되고 이를 toInt() 10진수로 변경하는 함수입니다. 만약 변환하는 데에 올바르지 않은 값을 입력하였다면 NumberFormatException이 나타나게 됩니다. 1111(2) -> 15(10) 1111(8) -> 585(10) 1111(16) -> 4369(10) 수학적으로 계산하는 방법은 이렇습니다. 앞서 4비트 "1111"로 예제를 만들었기 때문에 n의 제곱수에 곱해지는 것은 모두 1이.. 2021. 8. 25.
[Kotlin] 비동기 프로그래밍 기술 안녕하세요 골드입니다. 비동기 프로그래밍은 더 이상 선택이 아닌 필수임에 따라 프로세스 블록에 대한 해법은 꽤 오래 연구되어 왔습니다. 코틀린 공식 문서를 참고하여 그 다양한 기술 해법에 대해서 간략하게 이야기하고자 합니다. https://kotlinlang.org/docs/async-programming.html#threading Asynchronous programming techniques | Kotlin kotlinlang.org 스레드 콜백 미래시 리액티브 프로그래밍 코루틴 스레드 가장 잘 알려진 방법입니다. 시간이 오래 걸리는 작업은 ui에 영향을 미칠 수 있습니다. 애플리케이션에 경우 최악은 ANR이 발생하여 앱이 멈출 수 있다는 것입니다. 이러한 경우 분리된 스레드에서 작업을 할 수 있습니.. 2021. 6. 19.
[Kotlin] 코틀린 초기화 방법과 순서 안녕하세요 골드입니다. 오늘은 코틀린에 있는 여러 가지 초기화 방법에 대해서 설명을 해보려고 합니다. 어떤 방법이 있는지 그리고 이 방법들 중 어떤 것이 먼저 동작하는지 알아볼 것입니다. 1. 생성자 - 기본 생성자 클래스의 인스턴스를 생성할 때, 우리는 생성자를 사용합니다. 여러 생성자를 생성하여 인스턴스의 고윳값을 원하는 방식으로 설정할 수 있습니다. 코틀린의 기본 생성자는 이렇게 생겼습니다. 코딩을 하다보면 한 번쯤은 사용한 경험이 있는 익숙한 코드입니다. 함수의 인자를 선언하듯이 Test 클래스의 생성자를 정의할 수 있습니다. 이게 코틀린의 기본 생성자입니다. 정의한 클래스 생성자 매개변수를 그냥 사용할 수도 있고, 클래스 속성의 커스텀 게터와 세터를 정의해야 한다면 일대일 대응 관계로 정의한 후.. 2020. 12. 25.
[Kotlin] Java의 void, Kotlin의 Unit, Nothing 차이점 안녕하세요 골드입니다. 이번 글은 키워드의 차이점에 대해서 정리한 글입니다. 그중 자바의 void와 코틀린의 Unit에 차이점을 살펴보고 추가로 Nothing에 대해서도 작성하도록 하겠습니다. 결론부터 이야기하면 코틀린의 Unit은 자바의 void와 비슷합니다. 1. void와 Void 먼저 자바의 void는 반환 타입이 없으므로 생략한다는 의미입니다. 흔히 자바로 메소드를 생성할 때 반환 타입이 없으면 void를 사용합니다. 매번 사용하는 main메소드도 void를 사용합니다. 반환 값이 존재하지 않기 때문입니다. 그리고 Void가 있습니다. void와 Void는 다릅니다. int와 Integer가 같지만 다르듯이 void와 Void도 이와 같습니다. 비유하자면 void는 기본형이고 Void는 참조형입.. 2020. 12. 16.
[Kotlin] var, val 그리고 const val 안녕하세요 골드입니다. Kotlin이라는 언어를 사용한다면 너무나도 당연하게 쓰는 var과 val 키워드가 있습니다. 이번 글에서 이 둘의 차이점에 대해서 알아보고 비슷하지만 다른 val과 const val의 차이점에 대해서도 알아보도록 하겠습니다. 1. var var은 variable를 의미하며, Kotlin에서 변수를 선언할 때 쓰는 키워드입니다. 흔히 말하는 기본 자료형 혹은 객체 참조 모두 var 키워드를 사용한 변수에 할당할 수 있습니다. var 키워드로 선언된 변수는 값을 변경할 수 있습니다. 변수를 선언할 때, 타입을 같이 작성할 수도 있습니다. 다만, 선언하면서 초깃값을 지정하였다면 변수의 타입을 생략할 수 있도록 코틀린은 타입 추론(type inference) 기능이 있습니다. 2. va.. 2020. 12. 16.
[Java] PriorityQueue(우선순위 큐) 사용법과 예제 안녕하세요 골드입니다. 1. PriorityQueue(우선순위 큐)란? 흔히 아는 Queue는 FIFO(First In First Out) 형식으로 먼저 들어온 데이터를 먼저 방출하는 방식입니다. PriorityQueue는 Queue인터페이스 중의 하나로, 저장 순서에 상관없이 우선순위(Priority)가 높은 것부터 선출하는 것이 특징입니다. 저장공간으로 배열을 사용하고, 각 요소를 힙(heap)이라는 자료구조 형태로 저장합니다. 힙은 이진트리의 한 형태로 가장 큰 값과 가장 작은 값을 빠르게 찾을 수 있다는 장점이 있습니다. 기본적으로 PriorityQueue는 요소에 대한 비교 기준이 존재해야 하고, 비교 기준에 따라 그 우선순위를 결정하게 됩니다. 2. PriorityQueue 선언 Priorit.. 2020. 11. 13.
반응형