IT

책 "Architecture Patterns with Python 파이썬으로 살펴보는 아키텍처 패턴" (O'EILLY , 한빛미디어) 리뷰

BoBooBoo 2021. 6. 20. 23:52
반응형

파이썬으로 살펴보는 아키텍처 패턴

버마비단뱀 (Python Bivittatus) 이 그려진 이 책은 일단 책 표지부터 정말 파이썬 책이다. 책 제목과 내용과 딱 맞는 동물이 그려진 것은 내가 본 것 중에 처음이 아닌가 싶다. 사설이지만, O'RELLY 표지에 그려진 동물들은 대부분 멸종 위기종이라고 하는데, 파이썬이 엄청 잘 나가듯이 이 버마비단뱀 친구들도 잘 버텨줬으면 좋겠다. 

 

옮긴이 오현석님의 말과 같이 파이썬은 빅데이터부터 시작해서 데이터 사이언스, 머신러닝 분야에 관심이 많아지면서 큰 붐이 일었고 다른 프로그래밍 언어에 비해 배우기 쉬운 (나는 다른 언어부터 배워서인지 진짜 그런가 잘 모르겠다만 그렇다고들 함) 덕분에 정말 많은 사람들이 프로그래밍을 입문하고 활용하게 되었다.

 

나 역시도 같은 이유로 파이썬을 입문해서 머신러닝 해보는 척도 좀 해보고 간단한 서버나 툴을 만들어 쓰기도 한다. 다른 프로그래밍 언어도 마찬가지이긴 하지만 유독 내가 느끼는 문제는, 생산성이 좋고 필요한 기능만을 빠르게 개발할 수 있다는 이유때문인지 몰라도 소위 말해 지맘대로 막 개발하고 있다 라는 느낌을 스스로가 받는 코드를 짜는 경우가 많은 것 같다. 그리고 일단 잘 되긴 되니까 그냥 넘어간다. 당연히 테스트 따위는 제대로 하지도 않다보니 습관도 좀 더럽게 들었던 것 같다. 나와 같이 이렇게 스스로 코드를 더럽게 짜고 있다고 생각하거나 만족스럽지 못하는 사람들이 꼭 필요로 하는 부분이 이 책에서 말하는 아키텍처 패턴들인 것 같다. 사실 주변을 보면 모두가 알면서도 안하고 적용을 안하는 경우가 더 많은 것 같기도 하다. 귀찮으니까


이름만 들어도 해야될 것 같은데 너무 귀찮은 테스트 주도 개발 TDD (Test Driven Development) 부터 시작해서 도메인 주도 개발 DDD (Domain Driven Design), 이벤트 기반 아키텍처 EDA (Event Driven Architecture) 에 대해 차례로 설명하고 자세히 이런 패턴들이 파이썬에서 파이썬답게 어떻게 지원되고 있는지 자세하게 설명하고 있다. 책을 안보더라도 이 단어들이 어떤 것을 말하는지 알고 있다면 정말 필요한데 읽기 싫다하는 느낌이 들 수도 있겠다 생각은 든다만 개인적으로 파이썬 개발에 본격적으로 뛰어든 사람이라면 꼭 한번은 거쳐가야될 관문이 아닌가 싶다. 

 

특히 이 책에서는 여러 아키텍처들을 테스트해보기 위해서 플라스크, SQLAlchemy, Pytest, Docker, Redis 등을 포함해 파이썬 프레임워크 기술을 가져다 쓰고 있다. 책 저자들은 이 기술들을 몰라도 읽는데 불편함은 없을 것이라 하는데 (옮긴이는 이 목표를 잘 만족했다고 하시긴 하지만), 그래도 알고 나서 공부하면 더 좋지 않을까라고 개인적으로 생각한다. 아키텍처를 알고 나서 프레임워크들을 보면 원리가 쏙쏙 들어와서 좋을 것 같긴하지만 아마도 재미가 없을거다.

 

최근 쏟아져 나오는 파이썬 책들 중 이 책이 단연코 Pythonic 한 코드를 작성하는데 도움을 줄 수 있는 가장 좋은 책 중 하나가 아닐까 싶다. 유독 잘 되어있는 모듈화, 캡슐화 그리고 간단한 프레임워크들을 사용하다보면 도대체 왜 되는지 왜 안되는지도 모르는 상황을 만나기도 하고 해결하기도 힘든 경우가 많다. 사실 이 문제들을 해결하는데 필요한 가장 중요한 기술이 그 프레임워크가 어떻게 개발되었는지를 알고 어떤 패턴이 사용되었는지를 아는 것이 아닐까. 몇 년전 Spring Framework 를 한창 시작할 때 느꼈던 답답함과 공부하면서 느낀 속시원함을 파이썬에서 다시 한번 느끼게 해주는 좋은 책이다. 

 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

반응형