
복잡한 기능을 설계할 때 가장 어려운 지점은 “무엇이 먼저 실행되는가”보다 “데이터가 어떤 흐름으로 움직이고, 어디서 멈추거나 합쳐지는가”를 이해하는 일이다. 『코틀린 코루틴 리액티브 프로그래밍: Flow와 Channel』은 그 흐름을 기술 구현의 문제로만 다루지 않고, 비동기 시스템을 사고하는 방식으로 보여준다는 점이 인상적이었다. 이 책은 Flow와 Channel을 중심으로 코루틴 기반 리액티브 프로그래밍을 설명한다. 단순히 API 사용법을 나열하기보다, 데이터 스트림이 만들어지고 소비되는 과정, 차가운 Flow와 뜨거운 Flow의 차이, 배압처럼 실무에서 놓치기 쉬운 개념을 단계적으로 짚어준다. 덕분에 기능 요구사항을 정리할 때도 “이 이벤트는 한 번만 처리되어야 하는가”, “여러 화면이나 모듈이 같은 상태를 공유해야 하는가”, “처리 속도 차이가 생기면 어떤 경험으로 드러나는가” 같은 질문을 더 구체적으로 떠올리게 된다. 특히 Channel은 코루틴 간 통신이라는 기술 주제이지만, 제품 관점에서는 작업 단위 사이의 책임 분리와도 닿아 있다. 모든 데이터를 한곳에서 즉시 처리하려 하기보다, 생산자와 소비자의 경계를 세우고 흐름을 제어하는 방식은 복잡한 서비스 기획에서도 중요한 힌트를 준다. 기능이 커질수록 화면, 서버, 이벤트, 알림, 상태 갱신이 서로 얽히는데, 이 책은 그런 얽힘을 무작정 단순화하지 않고 구조적으로 바라보게 만든다. 읽고 나서 가장 크게 남은 것은 리액티브 프로그래밍이 “빠르게 비동기 처리하는 기술”만은 아니라는 점이다. 변화하는 데이터를 어떻게 관찰하고, 어떤 시점에 반응하며, 실패나 지연을 어디까지 감당할지 정하는 설계의 언어에 가깝다. 코틀린을 직접 깊게 다루는 개발자에게는 실전 가이드가 되고, 개발 협업을 하는 사람에게도 비동기 흐름을 이해하는 좋은 기준점이 될 책이다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.