일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring XD
- elasticsearch
- apache storm
- 스프링 배치
- Linux
- Java
- intellij
- Gradle
- Angular2
- SBT
- nginx
- elastic search
- 인텔리J
- scala
- Storm
- Spring Boot
- Clean Code
- hdfs
- 제주
- Spring Batch
- hadoop
- spark
- 도메인주도설계
- 엘라스틱서치
- design pattern
- hibernate
- Spring
- docker
- Hbase
- DDD
- Today
- Total
목록전체 글 (284)
욱'S 노트
자바나 스프링을 미리 경험했다면 의존성 주입(Dependency Injection)이라는 것에 익숙할 것이다. 그러나 기존의 방식은 런타임시에 의존성 주입이 발생한다. 앞에서 살펴봤듯이 함수형 프로그래밍에서는 최대한 컴파일러가 타입 안전을 검사하기를 원한다. 코틀린에서는 이 문제를 어떻게 해결할 수 있을지 살펴보자.Effects앞에서 효과가 무엇인지 알아봤다. 효과를 명시적으로 함수의 시그니처에 포함시키자는 것이 주요 아이디어이다. 기본적으로 순수 함수라면 함수는 연산만을 수행한다라고 얘기한다.fun add(x: Int, y: Int): Int = x + y 위의 간단한 순수 함수에 사이드 이펙트를 포함시켜 보자.fun loggingAdd(x: Int, y: Int): Int { println("x ..
함수형 도메인 모델링의 목적은 비즈니스 도메인을 정확하게 묘사하는 것이다. 컴파일러를 최대한 활용하여 타입-세이프하고, 버그를 방지하고 유닛테스트를 경감 시키는 것이 목적이다. 앞에서 살펴봤듯이 함수형 프로그래밍은 타입 주도 개발(Type Driven Development)을 따르기도 한다. 타입은 함수와 데이터가 준수해야 하는 엄격한 계약이다. 타입 시스템을 이를 어길 수 없다. 그러므로 다양한 케이스에 대한 유닛테스트도 경감시킬 수 있는 것이다.코틀린은 함수형 도메인 모델링에 적합하다. 코틀린은 data class, sealed class, enum class, value class를 제공한다. 그리고 애로우를 이용한다면, Either와 같은 흥미로운 데이터 타입을 제공 받을 수 있다.예제기본 타입 ..
방문일시 : 2025년 1월 18일주차장 : 과천향교카카오맵 : https://place.map.kakao.com/8652111 과천향교경기 과천시 자하동길 18 (중앙동 81)place.map.kakao.com 산행거리 : 총 6.4km (원점 회귀) 오늘도 일요일 일정이 있어서 가까운 거리에 있는 관악산으로 향했다. 내비게이션에서 과천향교 찍고 가면 노상 주차장이 많아서 쉽게 주차할 수 있다. 이때는 주차요금이 10분에 150원이였다. 산행을 끝내고 나니 6400원 나왔다. 만약 무료 주차를 하고 싶다면 과천시청에 주차를 하고 이동을 하는 방법도 있을 것 같다.https://place.map.kakao.com/11561761 과천시청경기 과천시 관문로 69 (중앙동 1-3)place.map.kakao..
방문일시 : 2025년 1월 12일주차장 : 용인시청카카오맵 : https://place.map.kakao.com/8021938 용인시청경기 용인시 처인구 중부대로 1199 (삼가동 556)place.map.kakao.com산행거리 : 왕복 8.4km (원점회귀) 일요일 오전 가볍게 동네 석성산 산행을 시작해본다. 주말 용인시청 주차장은 늘 한가한 편이다. 팁이 하나 있는데 용인시청보다는 용인우체국을 찍고 오면 들머리에 더욱 가깝게 주차를 할 수 있다. 주차를 하고 들머리로 이동했다. 길가에도 주차선이 있어서 주차를 할 수 있다. 코스를 보면 용인시청에서 가는 코스가 있고, 동백에서 올라오는 코스가 있다. 동백에서 올라오는 코스는 짧지만 가파르고, 용인시청에서 올라가는 코스는 평탄하면서 거리가 길다. ..
처음에 얘기했다시피 함수형 프로그래밍은 제약이 없다. FP에서 외부효과와 입출력을 다루는 방식이 대해서 알아보자. 핵심은 부수효과를 분리해 내는 것이다.엄격성과 지연성함수는 엄격(strict)할 수 있고, 지연(Lazy)될 수 도 있다. 지연성(Lazyness)를 활용하면 프로그램의 기술과 평가를 분리할 수 있다. Strict function항상 모든 즉시(eager) 탐욕적(greedy)으로 인자를 평가(eager, greddy)대부분의 프로그래밍 언어의 표준Lazy function내장 구문(&&, ||, if)에서 지원평가하지 않는 타입은 () → A와 같이 정의. 이와 같은 함수를 썽크(thunk)라고 부름fun lazyIf( cond: Boolean, onTrue: () -> A, /..