상세 컨텐츠

본문 제목

[간단 리뷰] Practices of the Python Pro

Portfolio/Book-Review

by HarimKang 2020. 11. 27. 10:22

본문

Writer: Harim Kang

Practices of the Python Pro 간단한 리뷰

프로그래머를 위한 파이썬

  • 지은이: 데인 힐라드/ 옮김: 황반석

리뷰어's Background

저는 수학과 소프트웨어를 전공하고 현재는 SW Engineer 직무를 수행하고 있습니다. 제 주 언어는 파이썬이며(현재 직무에서도 파이썬을 사용합니다), 제가 그동안 만든 프로젝트들의 대부분은 파이썬으로 작성되었습니다. 저는 대학시절 자바를 통해 처음으로 프로그래밍을 시작하였고, 수학과에서는 MATLAB언어를 배웠습니다. 하지만, AI에 대한 흥미가 생긴 이후 저는 파이썬을 독학으로 공부하여 현재까지 사용해오고 있습니다. 작가 Dane Hillard 또한 C++과 MATLAB을 중점으로 시작하고 공부를 하였으나 저처럼 파이썬의 매력에 푹 빠져서 즐겁게 프로그래밍을 하고 있다고 합니다.

저는 책을 읽고 작가와 제가 비슷한 관점에서 프로그래밍에 대한 생각을 하고 있다고 느꼈습니다. 프로그래밍 세계는 다양한 방법들과 관점들이 존재합니다. 각각은 모두 장단점이 있으며, 각 개발자들은 중요하게 생각하는 것들이 다릅니다. 저는 SW설계의 중요도를 아주 높게 생각하고 있다는 점에서 책의 흐름을 이해하고 쉽게 읽어나갈 수 있었습니다. 컴퓨터 관련 학과를 졸업했다면, 소프트웨어 공학 과목과 해당 책의 내용이 유사하며, 복습을 한다고 느낄 수도 있습니다. 제가 대학시절 가장 재미있게 들었던 과목 중 하나로 소프트웨어 공학을 뽑을 수 있으며, 제가 성장하는 데에 많은 영향력을 행사한 과목입니다.

누가 읽으면 좋을까?

해당 책에서는 프로그래밍을 이제 막 시작한 모든 사람을 위하여 작성했다고 나와있습니다. 하지만 제 생각에 CS관련 지식이 어느정도 갖추어진 학생들이 읽으면 좋을 것 같고, 실제로 기본적인 파이썬은 다룰줄 알아야 쉽게 읽어나갈 수 있을것 같습니다. 해당 책의 주요내용은 '설계'와 '파이썬'이라고 생각합니다. 소프트웨어 공학의 파이썬 버전에 실무적인 코드를 짤 수 있는 가이드를 제시하는 책이라고 생각합니다. 그래서 이제 막 시작한 사람들보다는 CS 지식이 갖추어진 학생들을 위한 책이라고 생각합니다. 좀 더 구체적으로는 소프트웨어 공학 수업을 앞두고 있는 학생들에게 추천하고 싶네요.

책의 구성

책을 고를 때, 가장 중요하게 생각하는 부분은 차례입니다. 책의 전체적인 구성을 확인할 수 있도록 도움을 줍니다. 설계에 대한 내용이 60%이상이며, 중간중간 실제 코드를 통한 꿀팁(?)을 확인할 수 있습니다. 차례는 아래와 같습니다. 뒤의 부제는 제가 따로 요약을 해본 내용입니다.

  1. 모든 것이 중요한 이유: 파이썬과 설계의 중요성
  2. 설계의 기초: 파이썬을 바탕으로한 기초부터 추상화 및 다양한 설계, 테스팅
  3. 대규모 시스템에 적용하기: 확장성, 유연성, 상속 등과 관련된 고급 예제들
  4. 다음으로는?: 현재와 디자인 패턴, 분산 시스템

재사용성 높은 코드 작성 가이드

실제 코드를 예제로 사용하여 설명한다는 강점이 있습니다. 기존 전공같은 경우에는 그저 전공지식으로만 가지고 있는 경우가 많지만, 실제로 사용되는 코드를 통해서 설명하여 사용해보고싶은 느낌을 줍니다. 그리고 앞으로 코드 작성을 할 때, 생각없이 짜는 코드가 아닌, 더 생각을 깊게한 코드를 짤 수 있도록 도와줄 수 있습니다. 간단한 예제들을 쭉 설명하면서 복잡한 코드를 분리하는 전개로 진행되며, 이를 통해 간단해보이지만 논리적인 가이드를 얻을 수 있습니다.

생각보다 쉬운 난이도

Python Pro라는 책 이름과는 좀 다르게 난이도는 쉬운편입니다. 하지만, 기초가 튼튼해야 Pro가 될 수 있는거라고 생각합니다. 리뷰 기한이 존재하여 실제 실습은 스킵하고 책 내용 위주로 살펴보았습니다. 아쉬운 점은 테스팅 관련 파트에서 TDD에 대한 내용이 짧아서 뭔가 하다만 느낌이 든다는 점이 있었고, 중간에 같은 그림(그림6.5, 6.6)을 사용했는데 이유는 잘모르겠다는 점이 있었습니다. 그외에는 좋은 전개라서 다들 한번쯤 읽어보면 좋을 것 같습니다.

'Portfolio > Book-Review' 카테고리의 다른 글

[도서리뷰] 소프트웨어 스펙의 모든것  (2) 2021.02.20

관련글 더보기

댓글 영역