Language36 Event Sourcing을 통한 함수형 프로그래밍의 적용 함수형 프로그래밍은 이뮤터블한 데이터와 순수 함수들을 사용해 프로그램을 표현하는 패러다임입니다. 한편, Event Sourcing은 이와 관련 깊은 관계를 가지고 있는 아키텍처 패턴입니다. Event Sourcing이란? Event Sourcing은 시스템의 상태가 아닌, 상태를 변화시키는 이벤트들을 저장하고, 이를 기반으로 시스템의 상태를 구축하는 패턴입니다. 주요 특징은 다음과 같습니다. 이벤트 저장: 모든 상태 변화는 이벤트로 저장됩니다. 상태 재구축: 현재 상태는 초기 상태에서 시작하여, 저장된 이벤트를 순차적으로 적용하여 재구축됩니다. 이벤트 재생: 이벤트는 시스템의 다른 부분에서도 재생될 수 있어, 다양한 응답과 프로세스를 구현할 수 있습니다. Event Sourcing의 장점 이력 추적: 모.. 2023. 10. 13. 코틀린에서의 `reduce` Kotlin은 여러가지 내장 함수를 제공하며, 이를 통해 개발자는 간결하고 효과적인 코드를 작성할 수 있습니다. 여기서 reduce 함수는 특히 시퀀스나 컬렉션을 활용한 연산에서 강력한 유용성을 발휘합니다. reduce의 기본 구조 reduce 함수는 컬렉션의 원소들을 하나씩 순회하면서 주어진 연산을 누적적으로 적용하고, 그 결과를 반환합니다. 그 기본적인 형태는 다음과 같습니다. fun Iterable.reduce( operation: (acc: T, T) -> T ): T 이 함수는 두 개의 파라미터를 받는 operation 람다를 인자로 받습니다. acc: 누적값으로써, 연산의 중간 결과를 저장합니다. T: 현재 순회중인 컬렉션의 원소입니다. 기본 사용 예시 먼저 간단한 예를 들어 reduce의 사.. 2023. 10. 13. Kotlin에서의 기본 인자 값과 널 허용성 Kotlin은 다양한 기능을 제공하여 개발자의 생산성을 향상시키며, 그 중에서도 기본 인자 값과 널 허용성은 특히 주목받는 특징 중 하나입니다. 하지만 이 두 특징을 함께 사용할 때 주의해야 할 점이 있습니다. 기본 인자 값 Kotlin 함수나 클래스의 생성자에는 기본 인자 값을 제공할 수 있습니다. 이를 통해 호출자가 특정 인자를 생략하면 기본 값이 사용됩니다. 예를 들어, 아래의 Greeting 클래스에서 message 매개변수에 기본 값 "Hello"가 지정되어 있습니다. data class Greeting(val message: String = "Hello") println(Greeting()) // 출력: Greeting(message=Hello) 널 허용성 Kotlin은 널 허용성을 명시적으로.. 2023. 10. 12. Kotlin Companion Object에 대해 Kotlin의 companion object는 클래스 내부에 객체를 선언할 수 있게 해주는 매커니즘입니다. Java에서의 static 멤버를 Kotlin에서는 companion object를 통해 표현합니다. 이를 통해, 클래스 자체에 연결된 함수나 프로퍼티를 선언하여 사용할 수 있습니다. 기본 사용법: class MyClass { companion object { const val MY_CONSTANT = "Test" fun myFunction() { println("Called from the companion object!") } } } // 이렇게 사용 가능합니다: MyClass.myFunction() // "Called from the companion object!" 출력 여기서 MY_CONS.. 2023. 9. 20. 이전 1 2 3 4 5 ··· 9 다음 728x90