일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring cloud netflix
- Java
- Dynamic Routing
- 탐색
- 설계
- 서비스스펙
- 단위테스트
- java #jvm #reference #gc #strong reference
- spring cloud netflix zuul
- container image #docker #layer #filesystem #content addressable
- spring cloud netflix eureka
- test
- docker
- code refactoring
- unittest
- BFS
- spring cloud
- springcloud
- Spring Data Redis
- netflix
- zuul
- reactive
- Eureka
- netflix eureka
- unit
- microservice architecture
- dfs
- forkandjoinpool #threadpool #jvm #async #non-blocking
- api-gateway
- Today
- Total
phantasmicmeans 기술 블로그
Key Point 함수형 프로그래밍에서의 변수 상태에 초점 함수형 언어에서 변수는 변경되지 않는다 함수형 프로그래밍은 변수 할당에 부과되는 규율이다. Functional Programming 정의 함수형 프로그래밍은 순수 함수로 나누어 문제를 해결하는 기법, 작은 문제를 해결하기 위한 함수를 작성하고 사용 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나 명령형 프로그래밍에서는 상태를 변경하는 것을 강조하는것과 달리, 함수형 프로그래밍은 함수의 응용을 강조한다. Side Effect가 없는 Pure Function을 1급객체로 Pure Function 설명 Side effect가 없는 함수 (함수의 실행이 외부에 영향을 끼치지 않는 함수, thread-..
코틀린의 가장 큰 장점중에 하나인 Extension Function 구글링해보면 이 주제에 관련된 자료는 무궁무진하고.. 솔직히 내용이 쉬워서 아래 자료를 보고 이해하면 될 것 같다. https://medium.com/til-kotlin-ko/kotlin%EC%9D%98-extension%EC%9D%80-%EC%96%B4%EB%96%BB%EA%B2%8C-%EB%8F%99%EC%9E%91%ED%95%98%EB%8A%94%EA%B0%80-part-1-7badafa7524a https://codechacha.com/ko/kotlin-extension-functions/ https://dev.to/frevib/kotlin-extension-function-vs-function-literal-with-receiv..
Higher-Order Functions 코틀린의 함수는 1급 객체이다. 즉 인자로 전달 될 수 있고, 다른 함수의 리턴값으로도 사용될 수 있다. 또한 변수에 부여될 수 있다. 아래 2가지 조건 중 하나를 만족하는 함수를 Higher-Order-Function(고차원 함수)라 부른다. 함수를 인자로 받는 함수 리턴값으로 함수를 사용하는 함수 자바의 경우 Collections.sort()를 예로 들 수 있다. 첫 번째 인자로 list, 두번째 인자로 Comparator를 받는데 이는 Functional Interface이다. public static void sort(List list, Comparator
Functional (SAM) Interface SAM: Single Abstract Method 자바에서도 마찬가지로 하나의 abstract method를 가지는 인터페이스를 functional interface라 하고 코틀린도 마찬가지이다. functional interface 를 선언하려면 fun modifier를 사용하면 된다. fun interface KRunnable { fun invoke() } SAM Conversions 이것도 자바와 동일하게 람다식을 활용하면 된다. 자바 Functional Interface를 알고 있다면 아주 쉽게 이해 될 것이다. functional interface fun interface IntPredicate { fun accept(i: Int): Boolean..
Interfaces 코틀린의 인터페이스는 abstract method 뿐만 아니라 java의 default method 처럼 구현 된 메소드를 포함할 수 있고, 프로퍼티 또한 포함할 수 있다. 다만 이 프로퍼티는 state를 유지하진 못하기에 구현체에서 접근자를 통해 컨트롤해야한다. interface MyInterface { fun bar() fun foo() { // optional body } } Implementing Interfaces class Child : MyInterface { override fun bar() { // body } Properties in Interfaces 인터페이스에도 프로퍼티를 선언할 수 있다고 했다. 해당 프로퍼티는 abstract 이거나, 구현체에서 접근자를 통해..