일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- scala
- Spring XD
- 스프링 배치
- Spring Boot
- Hbase
- hdfs
- Angular2
- 엘라스틱서치
- Spring Batch
- SBT
- elasticsearch
- spark
- Java
- elastic search
- Gradle
- hadoop
- 도메인주도설계
- hibernate
- apache storm
- Linux
- Storm
- Clean Code
- DDD
- design pattern
- docker
- 인텔리J
- Spring
- nginx
- 제주
- intellij
- Today
- Total
목록Methdology/Functional Programming (2)
욱'S 노트
불변 데이터(Immutable Data)이전 회차에서 살펴보았다시피 부수효과란 함수 내부의 구현이 함수 외부의 상태에 영향을 끼치면 안된다는 것을 의미한다. 가장 기본적인 룰은 기존 데이터를 변경하지 않고, 새로운 데이터를 만들어 내면 된다. 코틀린에서는 copy라는 내장함수를 제공하기 때문에 쉽게 다를수 있다.data class Deposit(val amount: Int) { fun withdraw(amount: Int): Deposit = copy(amount = this.amount - amount)} val deposit = Deposit(100)val newDeposit = deposit.withdraw(50) Optics기본적으로 코틀린의 Data클래스는 불변 데이터 ..
개요프로그래밍의 패러다임은 세가지가 있다. 명령형 프로그래밍 혹은 절차식 프로그래밍(Imperative Programming)객체지향 프로그래밍(Objective Programming)함수형 프로그래밍(Functional Programming)왜 함수형 프로그래밍이 등장하게 되었을까? 간단한게 말하자면 함수형 프로그래밍은 명령형 프로그래밍의 대안이다. 나같은 경우도 객체지향과 함수형 프로그래밍을 혼합해서 사용한다. 프로그램을 역할을 나눌 때는 객체지향으로 로직을 전개할 때는 함수형 프로그래밍을 사용하는 편이다.명령형 프로그래밍은 지시를 하나하나 내리는 방식을 의미한다. 지시를 수행함으로써 시스템의 상태가 변경된다. 하지만 시스템이 커질수록 코드에 대한 추론이 어려워지고 복잡성이 증가하며 테스트가 어렵다는..