코틀린으로 배우는 함수형 프로그래밍 - 4장 고차 함수
범위 4장 고차 함수 요약 고차 함수, 부분 함수, 부분 적용 함수, 커링, 합성 함수는 함수형 프로그래밍을 하는데 기본적인 개념들이다. 개념 정리 고차 함수(higher order function): 함수형 프로그래밍에서 다음 두 가지 조건 중 하나 이상을 만족하는 함수. 함수를 매개변수로 받는 함수 ...
범위 4장 고차 함수 요약 고차 함수, 부분 함수, 부분 적용 함수, 커링, 합성 함수는 함수형 프로그래밍을 하는데 기본적인 개념들이다. 개념 정리 고차 함수(higher order function): 함수형 프로그래밍에서 다음 두 가지 조건 중 하나 이상을 만족하는 함수. 함수를 매개변수로 받는 함수 ...
범위 3장 재귀 개념 정리 재귀(recursion): 어떤 함수의 구현 내부에서 자기 자신을 호출(재귀 호출, recursive call)하는 함수를 정의하는 방법. 메모이제이션(memoization)이란, 어떤 반복된 연산을 수행할 때 이전에 계산했던 값을 캐싱해서 중복된 연산을 제거하는 방법이다. 꼬리 재귀(tail-recur...
범위 2장 코틀린으로 함수형 프로그래밍 시작하기 요약 함수형 프로그래밍의 특징은 다음과 같다. 불변성(immutable) 참조 투명성(referential transparency) 일급 함수(first-class function) 게으른 평가(lazy evaluation) ...
범위 1장 함수형 프로그래밍이란? 요약 함수형 프로그래밍의 특징은 다음과 같다. 불변성(immutable) 참조 투명성(referential transparency) 일급 함수(first-class function) 게으른 평가(lazy evaluation) 개념 정리...
범위 10장 클래스 요약 캡슐화를 풀어주는 결정은 언제나 최후의 수단이다. 클래스는 작아야 한다. 인터페이스와 추상 클래스를 사용해 구현이 미치는 영향을 격리한다. 개념 정리 단일 책임 원칙(SRP, Single Responsibility Principle): 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한...
범위 9장 단위 테스트 요약 실제 환경에서는 절대로 안 되지만 테스트 환경에서는 전혀 문제 없는 방식이 있다. F.I.R.S.T 개념 정리 TDD 법칙 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. ...
범위 8장 경계 요약 학습 테스트는 이해도를 높여주는 정확한 실험이다. 경계에 위치하는 코드는 깔끔히 분리한다. 새로운 클래스로 경계를 감싸거나 아니면 ADAPTER 패턴을 사용해 우리가 원하는 인터페이스를 패키지가 제공하는 인터페이스로 변환하자. 개념 정리 학습 테스트: 외부 코드를 익히기 위해 작성하는 테스트 케...
범위 7장 오류 처리 요약 예외를 사용하고, null을 반환하지 않음으로써 코드의 가독성과 안정정 두 마리 토끼를 모두 잡을 수 있다. 개념 정리 특수 사례 패턴(Special case pattern): 클래스를 만들거나 객체를 조작해 특수 사례를 처리하는 방식이다. 책에서 기억하고 싶은 내용 오류 처리 코드로 ...
범위 6장 객체와 자료구조 요약 추! 상! 화! 개념 정리 디미터법칙 : 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙. 책에서 기억하고 싶은 내용 변수를 비공개(private)로 정의하는 이유가 있다. 남들이 변수에 의존하지 않게 만들고 싶어서다. 자료를 세세하게 공개하기보다는 추상적인 ...
범위 5장 형식 맞추기 요약 코드 형식은 의사소통의 일환이다. 의사소통은 전문 개발자의 일차적인 의무다. 프로그래머라면 각자 선호하는 규칙이 있다. 하지만 팀에 속한다면 자신이 선호해야 할 규칙은 바로 팀 규칙이다. 책에서 기억하고 싶은 내용 코드 형식은 의사소통의 일환이다. 의사소통은 전문 개발자의 일차적인 의무다. ...