▶▶ 이 리뷰는 위키독스을 통해 출판사에서 도서를 제공 받아, 직접 읽고 작성한 리뷰입니다.v <객체에서 함수로>는 코틀린과 함수형 프로그래밍에 관심이 있지만 어디서부터 시작해야 할지 막막한 개발자들에게 실전적인 접근법을 제시하는 책입니다. 이 책은 단순한 개념 설명에 그치지 않고, 실무에서 활용 가능한 웹 애플리케이션을 단계적으로 개발하면서 함수형 패러다임을 익힐 수 있도록 구성되어 있습니다. 다만, 중급 이상의 개발자를 기준으로 하기 때문에 프로그래밍이 처음인 분들은 다른 입문서를 먼저보고 해당 책을 읽으시는게 학습에 좀 더 도움이 될 것입니다. 함수형 프로그래밍은 객체 지향 프로그래밍과는 다른 사고 방식을 요구합니다. 그래서 이 책은 전통적인 객체 지향 방식에서 벗어나 함수형 스타일로 전환하는 과정 자체를 학습의 핵심으로 삼고 있습니다. 이를 통해 함수형 사고를 체득하고, 실용적인 코드를 작성하는 법을 배울 수 있습니다. 특히, 모나드, 펑터, 애플리커티브 같은 고급 개념도 자연스럽게 다루면서도 실전 코드 예제와 연습 문제를 제공하여 독자가 직접 따라 하면서 학습할 수 있도록 돕습니다. 책에서 다루는 주요 내용 중 세 가지를 꼽자면 다음과 같습니다. 첫째, 1장, 7장의 함수형 테스트 및 오류 처리입니다. 초보 개발자라면 테스트 주도 개발과 함수형 프로그래밍의 관계를 이해하는 것이 어렵게 느껴질 수 있습니다. 이 책은 테스트가 개발을 이끄는 구조를 설명하고, 이를 함수형 방식으로 적용하는 방법을 제시합니다. 또한, 7장에서 함수형 오류 처리 기법을 소개하며, 전통적인 예외 처리와의 차이점, 그리고 더 안정적인 코드 작성법을 탐구합니다. 이 과정에서 펑터와 유니언 타입을 활용한 안전한 오류 처리 방식도 함께 배울 수 있습니다. 둘째, 이벤트 기반 설계와 상태 관리(5장, 6장)입니다. 함수형 프로그래밍의 강점 중 하나는 불변성과 순수 함수를 활용한 안정적인 상태 관리입니다. 책에서는 이벤트 소싱 개념을 통해 상태 변경을 함수형 방식으로 다루는 방법을 설명합니다. 이를 통해 가변 상태를 최소화하고, 변경 이력을 안전하게 추적할 수 있도록 설계하는 기법을 익힐 수 있습니다. 셋째, 실제 애플리케이션 개발 적용(2장, 4장)입니다. 함수형 프로그래밍이 실제 웹 애플리케이션 개발에 어떻게 적용되는지를 이해하는 것은 중요합니다. 이 책은 HTTP 요청을 함수형으로 처리하는 방법과 도메인 모델을 함수적으로 설계하는 방법을 설명하며, 코틀린의 Http4k 라이브러리를 활용한 실전적인 예제도 제공합니다. 이를 통해 함수형 프로그래밍이 충분히 활용 가능하다는 점을 입증합니다. <객체에서 함수로>는 함수형 프로그래밍을 학습하고 싶은 개발자들에게 강력히 추천할 만한 책입니다. 이 책을 통해 견고하고 유연한 소프트웨어를 구축하는 방법을 배울 수 있을 것입니다. #객체에서함수로, #우베르토바르비니, #오현석, #길벗, #위키독스, #객체, #함수, #프로그래밍, #IT 객체에서 함수로
|
![]()
본 리뷰는 출판사 “길벗”에서 제공받은 도서를 읽고 작성됐습니다. |
|
"길벗출판사에서 제공받아 작성한 리뷰입니다." 코틀린을 활용한 함수형 프로그래밍 개념을 설명하고 단순한 FP 개념 정리가 아니라 함수형 관점에서의 httpx 코드 예시를 제공합니다. 작은 함수들을 조립해가는 과정에서 OOP와 다른 사고방식을 배울 수 있었고 실전 적용에 대한 다양한 아이디어도 얻을 수 있어서 전 만족스럽게 읽었습니다. 만약 FP 방식에 익숙하지 않다면 난이도가 다소 있는 편일겁니다. 적어도 프레임워크 상에서 코드를 작성해본 경험이 있는 분께 추천합니다. 코틀린을 몰라도 C#이나 Java(8.0 이상) 등 유사한 언어를 알고 있다면 부록 A.2를 참고하며 읽을 수 있습니다. |
|
<객체에서 함수로>는 코틀린을 활용해 함수형 프로그래밍을 배우는 데 도움을 주는 책입니다. 출판사에서는 난이도를 초/중급으로 분류했지만, 일반적으로 입문서로 보기에는 다소 어려운 내용을 담고 있습니다. 코틀린에 대한 기본적인 경험과 지식이 있는 개발자가 함수형 프로그래밍을 학습하고자 한다면 이 책은 매우 매력적인 선택지가 될 것입니다. 이 책은 총 540페이지로 구성되어 있습니다. 저는 먼저 종이책을 구매해 읽기 시작했는데, 이후 출판사로부터 전자책도 지원받아 함께 읽을 수 있었습니다. 종이책은 휴대하며 읽기에 부담스럽지 않았고, 전자책 역시 편리하게 읽을 수 있어 두 형식 모두 만족스러웠습니다. 이 책의 저자는 우베르토 바르비니(Uberto Barbini) 님이며, 전 세계에서 열리는 코틀린과 자바 컨퍼런스에 자주 참가하여, 젊은 프로그래머의 멘토로 활약하고 계십니다. 또한, 이 책의 역자는 오현석 님으로 워낙 유명하신 분이기도 하고, 다수의 좋은 책을 번역해주신 제게는 참 고마운 분입니다. 이 책의 아마존 평가 점수는 4.0점을 받고 있으며, 국내 서점에서 평가 점수는 교보문고, YES24 등에서 4점대 후반(5점 만점 기준)으로 높은 점수를 받고 있습니다. 길벗 출판사의 도서 지원을 받아 작성한 리뷰입니다. 길벗에서 제공해 준 책을 읽고 작성했음을 밝힙니다. 이 책의 매력 포인트<객체에서 함수로>는 총 14장과 4개의 부록으로 구성되어 있습니다. 이 책은 독특하게 0장으로 시작하며, "왜 함수형 프로그래밍인가?"라는 흥미로운 제목으로 독자의 관심을 끕니다. 이후 간단한 TODO 애플리케이션을 만들어 가며 함수형 프로그래밍의 주요 개념과 지식들을 차근차근 소개합니다. 이 책에서는 고차 함수, 이벤트, 펑터, 모나드, 모노이드, 어플리커티브 등 함수형 프로그래밍의 핵심 키워드를 다루며, 테스트, 이벤트 소싱, CQRS, 헥사고날 아키텍처 등 다양한 기술도 함께 소개하고 활용합니다. 다만, 책의 분량이 한정되어 있어 이러한 지식들을 깊이 있게 다루기에는 한계가 있습니다. 특히 관련 배경 지식이 없는 독자라면 내용이 다소 어렵게 느껴질 수 있습니다. 그러나 반대로 생각하면, 이 책을 통해 주요 키워드와 개념을 파악하고, 필요한 경우 추가 학습을 위한 방향성을 잡는 데 유용한 가이드로 활용할 수 있습니다. 이 책은 코틀린을 활용해 함수형 프로그래밍의 개념을 소개하고, 효과적인 코드 작성 방법과 설계 관련 지식을 제공합니다. 다만, 다루는 주제가 매우 광범위하기 때문에 설명이 항상 친절하지는 않을 수 있으며, 관련 배경 지식이 없는 독자라면 한 번에 이해하기 어려울 수 있습니다. 그러나 이 책에서 다루는 주요 기술에 대한 기초를 이미 갖춘 분이라면, 이 책을 통해 새로운 통찰력을 얻을 수 있는 매력적인 요소들이 곳곳에 담겨 있습니다. 추천하는 학습 방법은 책의 내용을 읽은 후 직접 코드를 작성해 보는 것입니다. 책에서는 분량 제한으로 인해 전체 코드를 상세히 설명하지 못할 수 있기 때문에, 실제 동작하는 코드를 직접 작성하면 저자의 의도를 더 깊이 이해할 수 있습니다. 처음부터 모든 코드를 작성하는 것이 어려울 수 있으므로, 저자가 제공한 GitHub 코드를 참고하면서 직접 운영 코드를 만들어 나가는 방식으로 학습하는 것이 효과적일 것입니다. 이 방법을 통해 책의 내용을 더욱 실질적으로 활용할 수 있을 것입니다. 마치면서<객체에서 함수로>는 약 2년 전에 출간된 책으로, 함수형 프로그래밍의 주요 개념과 필요한 지식을 잘 소개하고 있습니다. 책의 내용은 매력적이지만, 초급자들이 예제를 직접 따라하며 실습하기에는 다소 어려움이 있을 수 있습니다. 이 점이 아마존 평점이 조금 낮은 이유 중 하나로 보입니다. 이 책은 단순히 따라 하며 배우는 실습서보다는 프로그래밍 경험이 있는 독자들이 저자가 제공한 깃헙 코드와 책의 내용을 함께 참고하며 주요 개념을 습득하는 데 더 적합합니다. 개인적으로 이 책은 함수형 프로그래밍의 핵심 개념과 활용 방향을 이해하는 데 매우 유용했습니다. 물론 이 책만으로 함수형 프로그래밍에 대한 모든 지식을 얻기는 어렵지만, 주요 키워드와 개념들이 무엇인지 그리고 어떻게 활용되는지에 대한 감을 잡는 데는 큰 도움이 될 것입니다. |
|
#길벗 #코틀린 #객체에서함수로 #함수형프로그래밍 많은 개발자들이 객체지향 패러다임에 익숙했다. 하지만 최근 대규모 어플리케이션을 유지보수하면서 OOP 방식이 점점 한계를 드러낸다는걸 조금씩 느끼고 있다. 변경이 필요할 때마다 예상하지 못한 곳에서 사이드 이펙트가 발생하고, 복잡한 의존성으로 인해 코드가 복잡해지면서 이 문제를 해결하는 방법으로 '함수형 프로그래밍'이라는 말을 듣게 되었다. 하지만 함수형 프로그래밍을 어디서부터 어떻게 적용해야되는지는 감을 못잡고 있던 차에 길벗 개발자 리뷰어에 선정되어 읽을 수 있는 기회를 얻게 되었다^^b 이 책의 본질은 함수형 프로그래밍으로 코드가 더 순수하고 예측가능하며, 재사용성이 높아질까를 고민해주게 하는 책이였다. 왜 코틀린일까? 많은 개발자들이 스프링 프레임워크에서 자바 언어를 사용한 개발을 많이 하게 된다. 기존 레거시를 쉽게 바꾸지 못하므로 차세대로 전환을 하거나 시스템을 신규 개발할 때 다른 언어를 고민해볼 수 있지만, 이도 자바 개발자가 많기 때문에 코틀린을 도입하기란 쉽지 않다. 하지만 조금만 알아보면 코틀린은 객체지향과 함수형 프로그래밍을 지원하고, 자바와 높은 호환성으로 기존 프로젝트에도 도입이 가능하며 간결한 문법과 강력한 확장 함수 지원 등 한 번쯤 개발자라면 써보고 싶게 하는 포인트들이 많다. 우선 이 책을 읽기 위해선 코틀린 기본서나 레퍼런스 사이트를 참조해보면 좀 더 수월하게 읽어볼 수 있다. 또한 자바로 개발을 했던 분들이라면 어렵지 않게 이해할 수 있다. 그리고 책에서는 실제 프로젝트를 다루면서 어떻게 적용할 것인지를 상세히 설명하는 점이 좋았다. 기존 객체지향 박식으로 유지보수 문제에 대한 한계를 보여주고, 점진적으로 함수형으로 전환을 하며, 고차함수를 사용하는 방법, 그리고 함수형 프로그래밍의 핵심 개념인 모나드와 펑터 개념을 실무 코드에 적용한다. 개인적으로 가장 도움이 됐던 부분은 함수를 조합하는 방식이였다. 실무에서 어떻게 활용할 수 있지 고민을 하던차에, 코드를 짧고 강력하게 만들 수 있다는 것을 알았다. 물론 도입을 하려면 아직 많은 연습을 통해서 경험치를 좀 쌓긴 해야될 것 같다. 또한 함수형 프로그래밍만이 답이 아니라 FP를 도입할 때, 무조건 OOP를 안써야된다가 아니라 현실적인 타협점을 찾는 것이 중요하다는 말도 와 닿았다. 이 책을 통해 시스템의 유지보수성을 향상시키고, 버그를 줄이는데도 적극 활용할 수 있을 것 같다. 기존에 객체지향적 습관에서 함수형 프로그래밍 습관으로 바꾸기에는 노력이 필요하겠지만, 왜 함수형 프로그래밍이 필요하고, 어떻게 사용하면 되는지 현실적인 가이드가 되는 책이였던 것 같다. 함수형 아키텍처나 함수형 프로그래밍에 대해 관심을 갖고 있다면 누구나 한 번쯤 읽으면 많은 도움이 될 책인 것 같다. 기존에 패러다임을 벗어나 새로운 도전을 해보고 싶은 분들이라면 꼭 한 번 읽어봤음 하는 책이라 추천한다~!! [출판사로부터 책을 제공받아 주관적으로 작성한 리뷰입니다] |
|
실제 프로덕트에 코틀린을 쓰긴했지만, 제대로 알지 못했고 잘 못쓰고 있음을 많이 느꼈어요. ㅠ 진심... 이렇게 머리에 쥐날 뻔한 책은 오랜만이에요! ?? 함수형 패러다임을 코틀린 개발에 적용하는 과정을 배우는데, 펑터, 모노이드 같은 개념은 처음에 '이게 뭐지?' 상태에서 시작했어요. 테스트 코드 작성은 기본으로 시작하며 정말 세세함의 극한을 보여주는데, 여러번 읽고 조금씩 따라 치고 나니 '아, 이렇구나!!' 싶은 순간들이 조금씩 오더라구요. 장점은 실무 감각입니다! 이벤트 소싱이나 CQRS 같은 건 이론만 알던 개념인데, 직접 구현해보며 현장에서 써먹는 스킬을 익혔어요. 단점이라면... 가벼운 마음으로 혼자 읽기 힘든 난이도? ?? 그래도 성장하려는 의지가 있다면 괜찮지 않을까 생각이 됩니다 ?? 개발 시작한지 얼마 안되거나 개발 개념이 부족한 분들(바로 본인)은 조금 부담스러울 수 있지만, 얻어 가는 건 분명히 있다고 생각이 됩니다. |
|
<본 리뷰는 길벗출판사로부터 책을 제공받아 작성된 리뷰입니다.> 회사에서 아직은 코틀린 업무를 받지 않았지만, 장기적으로 해 보고 싶은 기술이고 더불어 객체지향과 함수형의 차이를 어떻게 풀어낸 책인지 궁금하여 리뷰어에 신청했었습니다. 우선 실습을 바탕으로 진행되는 책 인 만큼, 서문 부분에 실습 코드를 볼 수 있는 실습 코드가 제공되어 있으며, 어렵게 느껴지는 함수형 프로그래밍에 대해 추가적으로 연습을 할 수 있는 연습 문제들을 제공하고 있습니다. (물론 연습 문제들에 대한 해설들도 깃허브 링크에 첨부되어 있습니다.) 또 첨부된 사진처럼 간간히 책의 내용을 설명해주는 그림이 존재하며, <조에게 묻는다> 섹션을 통해 책을 읽으면서 자연스럽게 드는 궁금증, 혹은 이 부분까지는 궁금증이 들지 않았는데 읽고 보니 궁금해지는 질문들에 대해서도 저자의 답변을 볼 수 있습니다. 다만, 코틀린을 사용한 함수형 프로그래밍의 패러다임을 알 수 있다는 점에서는 좋은 책이지만 (추가로 실습을 하면서 저자는 TDD와 애자일 스토리를 강조하고 있어, 이 기법에 대해서도 공부해볼 수 있습니다.), 서문에는 중/고급 개발자들을 위해 저술된 책인 게 기록되어 있다보니 코틀린이나 함수형 프로그래밍에 익숙하시지 않은 분들은 어렵게 다가올수도 있습니다. 그래서 제 의견은, 코틀린이나 함수형 프로그래밍에 대한 다른 더 쉬운 책을 보고 나서 이 책을 본다면 더 쉽게 와닿을 수 있지 않을까라고 생각됩니다. ![]() ![]()
|