Kotlin
Leetcode79. Word Search (w. kotlin)
Leetcode79. Word Search (w. kotlin)
2023.04.16Given an m x n grid of characters board and a string word, return true if word exists in the grid. The word can be constructed from letters of sequentially adjacent cells, where adjacent cells are horizontally or vertically neighboring. The same letter cell may not be used more than once. Example 1: val board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]] val word = "SEE" Output: true..
Kotlin 으로 Spring batch 시작하기 Part.1
Kotlin 으로 Spring batch 시작하기 Part.1
2022.10.29Java 로 된 Spring Batch 는 예제는 많지만 Kotlin 으로 된 예제는 부족한 것 같아 실전 프로젝트 처럼 예제를 작성 하기로 했습니다. 모든 code 는 아래 github 에서 확인해주세요 https://github.com/nothingprogram/spring-batch-practice GitHub - nothingprogram/spring-batch-practice Contribute to nothingprogram/spring-batch-practice development by creating an account on GitHub. github.com Project setup 하기 build.gradle.kts import org.jetbrains.kotlin.gradle.task..
How to use Redisson with kotlin
How to use Redisson with kotlin
2022.10.02Redisson은 Jedis, Lettuce 와 같은 자바진영의 레디스 클라이언트입니다. Lettuce와 비슷하게 Netty 를 사용하며 non-blocking I/O 를 사용합니다. Redisson 의 특이한 점은 직접 레디스의 명령어를 제공하지 않고 , Bucket 이나 Map 과 같은 자료구조나 Lock 같은 특정한 구현체의 형태로 제공한다는 점입니다. https://github.com/redisson/redisson GitHub - redisson/redisson: Redisson - Redis Java client with features of In-Memory Data Grid. Over 50 Redis based Java objects Redisson - Redis Java client wi..
kotlin coroutine - Mutex 와 Actor (공유자원)
kotlin coroutine - Mutex 와 Actor (공유자원)
2022.08.05kotlin 에서 멀티쓰레드 및 코루틴 환경에서 자원을 공유 하기위해서는 보통 잘알려진 방법으로 는 Mutex 로 context 의 Lock 을 걸어 자원을 읽고 쓰는 동안 그 자원에 대해서 접근하지 못하도록 하는 방법이 있다. Mutex private suspend fun massiveRun(action: suspend () -> Unit) { val n = 100 // 시작할 코루틴의 갯수 val k = 1000 // 코루틴 내에서 반복할 횟수 val elapsed = measureTimeMillis { coroutineScope { // scope for coroutines repeat(n) { launch { repeat(k) { action() } } } } } println("$elapsed ..
Kotlin - with 과 apply
Kotlin - with 과 apply
2022.07.24java 를 주 언어로 사용하시다가 kotlin 으로 넘어오는 경우가 많은데 kotlin 을 처음 접하게 되면 드는 생각이 OOP를 지원하지만 생각보다 많은것들이 함수형으로 코드를 작성하는것이 더 편하다는 생각이 든다. 오늘은 그중에서도 With 과 Apply function 에 대해서 알아보자. With 어떤 객체의 이름을 반복하지 않고도 그 객체에 대해 다양한 연산을 수행할 수 있다면 좋을 것이다. 다양한 언어가 그런 기능을 제공한다. 코틀린도 마찬가지 기능을 제공하지 만 언어 구성 요소로 제공하지 않고 With라는 라이브러리 함수를 통해 제공한다. fun main() { println(alphabet()) } fun alphabet() = with(StringBuilder()) { for (lett..