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