Description
“함수형 설계에 다가가는 실용적 접근 방식”
인공 지능 기반의 코드 자동 생성 덕분에 구현 장벽이 낮아질수록 오히려 무엇을 만들지, 어떻게 구조화할지에 대한 개발자의 판단력과 안목이 중요해진다. 그리고 그러한 판단력의 기준이 되는 것 중 하나가 바로 개발 패러다임이다. 시대에 따라 여러 개발 패러다임이 제시되었는데 현재는 객체 지향이 주류로 자리 잡았고 함수형 패러다임이 떠오르면서 서서히 받아들여지고 있는 상황이다. 함수형 프로그래밍 및 설계라는 개념과 용어 자체는 알려진 지 꽤 되었지만 실무에서 친숙하게 사용하기에는 여전히 쉽지 않다. 대부분의 개발자들에게는 기존에 익숙한 개념이나 실천법과 통하지 않거나 이를 버려야 한다는 부담감이 가장 큰 장벽으로 작용하는 것이 사실이다. 그런데 실은 기존의 숙련도를 잃지 않고도 새로운 기법을 잘 엮어 쓸 수 있다면 어떨까? 경력의 대부분을 객체 지향 프로그래밍 세계에서 성취를 이루어 온 《클린 코드》의 지은이 로버트 C. 마틴은 객체 지향 설계와 함수형 설계가 상충하거나 상호 배제하는 개념이 아니며 근본 원리를 공유하며 서로 연동해 쓸 수 있음을 이 책에서 보여 준다. 로버트 C. 마틴은 많은 개발자들이 부담을 느끼는 함수형 개발의 이론적 부분은 최소화한 채로, 도전해 봄직한 실용적인 연습 문제를 객체 지향 언어인 자바와 함수형 언어인 클로저로 풀어 가면서 기존 객체 지향 원리들을 활용하면서도 함수형 설계의 장점을 접목할 수 있는 기법들을 단계적이고 체계적으로 안내해 나간다. 그리고 두 패러다임의 원칙과 규율을 하나하나 적용해 가는 과정에서 고품질 코드가 만들어지는 것을 보여 준다. 한국어판에서는 특별히 클로저가 잘 쓰이지 않은 한국 상황을 고려해 자바스크립트 코드를 추가했다. 독자들은 겉보기에는 다른 세 언어로 어떻게 기본 원리를 공유하면서 다양한 설계 기법을 엮어 가며 문제를 풀 수 있는지 이 책을 통해 익힐 수 있을 것이다.
이 책에서 배우는 내용•함수형 개발의 기본 이해: 불변성, 재귀, 반복, 지연 등
•사례 연구를 통한 함수형 프로그래밍과 객체 지향 프로그래밍 비교
•데이터 흐름을 구성하는 데 필요한 함수형 설계 기법
•SOLID 원칙에 따른 더 나은 클로저 코드 작성
•함수형 테스트, GUI, 동시성을 위한 실용적 접근 방식
•함수형 환경에서 디자인 패턴 활용
인공 지능 기반의 코드 자동 생성 덕분에 구현 장벽이 낮아질수록 오히려 무엇을 만들지, 어떻게 구조화할지에 대한 개발자의 판단력과 안목이 중요해진다. 그리고 그러한 판단력의 기준이 되는 것 중 하나가 바로 개발 패러다임이다. 시대에 따라 여러 개발 패러다임이 제시되었는데 현재는 객체 지향이 주류로 자리 잡았고 함수형 패러다임이 떠오르면서 서서히 받아들여지고 있는 상황이다. 함수형 프로그래밍 및 설계라는 개념과 용어 자체는 알려진 지 꽤 되었지만 실무에서 친숙하게 사용하기에는 여전히 쉽지 않다. 대부분의 개발자들에게는 기존에 익숙한 개념이나 실천법과 통하지 않거나 이를 버려야 한다는 부담감이 가장 큰 장벽으로 작용하는 것이 사실이다. 그런데 실은 기존의 숙련도를 잃지 않고도 새로운 기법을 잘 엮어 쓸 수 있다면 어떨까? 경력의 대부분을 객체 지향 프로그래밍 세계에서 성취를 이루어 온 《클린 코드》의 지은이 로버트 C. 마틴은 객체 지향 설계와 함수형 설계가 상충하거나 상호 배제하는 개념이 아니며 근본 원리를 공유하며 서로 연동해 쓸 수 있음을 이 책에서 보여 준다. 로버트 C. 마틴은 많은 개발자들이 부담을 느끼는 함수형 개발의 이론적 부분은 최소화한 채로, 도전해 봄직한 실용적인 연습 문제를 객체 지향 언어인 자바와 함수형 언어인 클로저로 풀어 가면서 기존 객체 지향 원리들을 활용하면서도 함수형 설계의 장점을 접목할 수 있는 기법들을 단계적이고 체계적으로 안내해 나간다. 그리고 두 패러다임의 원칙과 규율을 하나하나 적용해 가는 과정에서 고품질 코드가 만들어지는 것을 보여 준다. 한국어판에서는 특별히 클로저가 잘 쓰이지 않은 한국 상황을 고려해 자바스크립트 코드를 추가했다. 독자들은 겉보기에는 다른 세 언어로 어떻게 기본 원리를 공유하면서 다양한 설계 기법을 엮어 가며 문제를 풀 수 있는지 이 책을 통해 익힐 수 있을 것이다.
이 책에서 배우는 내용•함수형 개발의 기본 이해: 불변성, 재귀, 반복, 지연 등
•사례 연구를 통한 함수형 프로그래밍과 객체 지향 프로그래밍 비교
•데이터 흐름을 구성하는 데 필요한 함수형 설계 기법
•SOLID 원칙에 따른 더 나은 클로저 코드 작성
•함수형 테스트, GUI, 동시성을 위한 실용적 접근 방식
•함수형 환경에서 디자인 패턴 활용
함수형 설계, 객체 지향과 만나다 (다르면서 통하는 두 패러다임의 공명)
$35.31