프로그래머를 위한 파이썬 - 실전 프로젝트로 배우는 소프트웨어 개발의 원리와 정석
데인 힐라드 지음, 황반석 옮김 / 제이펍 / 2020년 11월
평점 :
장바구니담기


이 글에는 스포일러가 포함되어 있습니다.

우리는 프로그래밍을 하면서 고려하는 것들이 많습니다.


단순히 프로그래밍 언어를 배우는 측면을 뛰어넘어 자신의 실력을 발전시키고 싶은 부분이 반드시 존재하게 된다.


​


그렇다면 이 책, <프로그래머를 위한 파이썬>을 권해보고 싶습니다.


원제에서도 볼 수 있듯이 이 책은 기본적인 파이썬 책이 아닙니다.


Practices of the Python Pro 라는 말에서 Pro라고 함은 어느 정도의 경험을 했다고 볼 수 있습니다.


그 경험이라 함은 파이썬 프로그래밍 언어에 한정된 것이 아닌 실제적인 프로젝트를 수행했는지 여부에 달려있다고 볼 수 있습니다.


​


이 책의 추천대상은 중급정도로 측정되어 있습니다.


책을 숙독해본 결과 파이썬 입문은 확실히 아니라는 것을 볼 수 있었습니다.


설계에 대한 상세한 내용이 나오는데 이러한 내용은 확실히 실제 경험에서 우러나오는 얘기이기 때문에 공감할 수 있는 포인트가 입문자와 다르기 때문입니다.


​


고급자에게도 이 책이 어울릴 수 있는 부분이 있습니다.


고급자라는 명칭 또한 초급, 중급을 거쳐서 왔기 때문에 어떠한 경험과 어려움이 있었을지 알고 있을텐데 그것에 대해서는 모두 기억할 수 없습니다. 


과거의 어려움을 다시 한 번 상기할 수 있고 그 어려움을 통해서 어떠한 과정을 겪었는지 다시금 배울 수 있을 것입니다.


​


책을 통해서 프로그래밍을 배우는 부분은 사실 실전보다 적습니다.


이 책은 그러한 상황을 고려하여 실전에서 나타날 수 있는 상황을 고려하여 서술되어있는 책입니다.


실무에서 벌어졌을 때 그 상황에 빠르게 대처하기 위한 방법론적인 부분이 주로 서술되어있습니다.


책의 두께는 그렇게 두껍지는 않지만 핵심키워드가 명확합니다.


프로그래밍을 한다는 것 자체가 어떠한 작업을 더 효율적이게 하기 위함에서 생겨난 행동입니다.


그렇다면 자신의 현재 프로그래밍 숙련도를 몇 단계 발전시킨다면 어떻게 될까요?


책에서는 프로그래머를 대상으로 말하고 있습니다.


생각하보면 어떤 프로그래머에게 이 책이 적합할지 생각해볼 수 있습니다.


​


저는 데이터관련 업무를 하고 있기 때문에 이 책이 직접적으로 어울리지는 않습니다.


설계부분에서 배울 수 있는 부분이 있었고 어플리케이션 프로그래머와의 소통을 위해서 어떤 부분이 중요한지 간접체험할 수 있었습니다.


프로젝트를 진행하는데 있어서 어떤 부분에서 버그가 발생하고 고려 사항은 어떤 것들이 있을 지 그림과 코드, 상세한 주석으로 알 수 있었습니다.


​

Pro를 강조하는 앞표지를 볼 수 있습니다.


뒷표지에서는 책의 주요내용과 책의 목적을 간략히 볼 수 있습니다.


실무에서 프로그래머에게 중요한 유지보수가 중요하다는 내용이 있습니다.


저는 책을 볼 때 어떤 책이든 저자와 역자의 이력을 살펴봅니다.


책의 내용에 따라 이력이 중요한 경우가 있고, 저자가 어떠한 목적이 있는지, 그 목적과 부합되는지 알 수 있기 때문입니다.


책의 큰 내용은 3파트로 나눠집니다.


제가 주요적으로 살펴본 부분은 설계/버그/유지보수/애플리케이션에서의 유의사항/주석 등 다양하게 책을 통해 배우고 있습니다.


한 번 보고 덮을 책은 아니라고 생각합니다.


이 책에 있는 예시와 주석은 최신의 예시를 다루기 때문에 일반적인 예시에 질리신 분들에게 재미를 줄 수 있다고 생각합니다.


새로운 주제와 익숙한 주제를 어떻게 받아들일지에 대한 내용으로 설명을 하고 있습니다.


​


이 책의 특장점이 이러한 부분입니다.


오픈마인드로 기술을 받아들이는 태도가 있기 때문에 다양한 관점을 함께 배울 수 있습니다.


관련된 소스코드의 세부적인 함수, 클래스별 동작을 그림으로 묶어서 설명해주기 때문에 세세하게 코드를 살펴보시지않으셔도 책을 보며 목적을 이해하기 편하다는 것도 좋았습니다.


​


그림의 설명이 길게 되어있는 부분이 있는데 그림설명은 반드시 읽어보시길 바랍니다.


그림을 잘 그리는 사람은 많지만 그것을 기술적으로 설명하고 이해시킬 줄 아는 사람은 많지 않습니다.


또 다른 기술을 배울 수 있었습니다.


설명하면서 배운다는 것인 이러한 것임을 느꼈습니다.


​고급자들도 쉽게 설명하지 못하는 부분에 대한 설명입니다.


바로 추상화와 설계에 대한 설명입니다.


이 내용은 주관적으로 경험에 따라서 설명이 많이 갈리기 때문에 사람마다 의견이 분분합니다.


때문에 우리는 이 부분을 배울 때 많은 경험을 해보고 들어보고 받아들이는 연습을 해야합니다.


어떠한 경험을 통해 무엇을 배웠는지 정리해보는 것입니다.


​


이 책을 하나의 오답노트처럼 생각하고 자신의 오답경험, 어려웠던 설계경험을 함께 정리해보는 것이 좋다고 생각합니다.


이 책의 또 다른 장점은 주어, 동사, 서술어같은 글의 관계가 명확해서 이해하기가 좋습니다.


번역서를 보면서 이해하는데 어려운 점은 바로 글과 단어의 관계를 잘못해석한 경우 이해가 안된다는 점입니다.


이러한 부분에서 이 책은 번역이 굉장히 우수하다고 볼 수 있습니다.


​


한가지 주의하셔서 보셔야 될 것은 책에서 권장하는 글들이 있고 방법들이 존재하는데 모두 정답이 될 수 없다는 것을 인지하셔야합니다.


책을 보고 공부를 하는 것의 양날의 칼이 될 수 있다는 것을 말씀드립니다.


책은 지식의 확장이 될 수 있지, 지식의 정답이 될 수는 없다는 것입니다.


책에서 가장 마음에 들었던 부분입니다.


바로 버그에 대한 설명, 주의사항, 그림에 대한 자세한 설명, 차이점에 대한 설명입니다.


컴퓨터에 대한 지식을 판단할 때 우리는 많이 정답이 있다는 것은 가정하고 배우는 경우가 있습니다.


조심하셔야 될 것이 정답을 있을 수 있지만 상황을 다를 수 있다는 것입니다.


​


학교에서 배웠던 지식을 적합하게 활용하려면 버그에 대한 경험이 있어야 합니다.


이 책은 그러한 어려움에 대한 경험을 간접체험해줍니다. 그리고 주의사항을 던져줍니다.


다양한 관점을 제시해주는 것 또한 글에서 볼 수 있는 좋은 부분입니다.


​


개인적으로 책은 보면서 저에게 필요한 부분을 우선적으로 봤고, 나머지에서는 부차적인 것을 배웠습니다.


앞으로 옆에 두고 레퍼런스처럼 펼쳐볼 수 있는 책이라서 저에게 적합한 책이라고 생각이 드네요.


​


파이썬이나 프로그래밍에 대해 입문을 마치고 올바른 경험을 쌓으실 분들에게 추천드리는 책입니다.


감사합니다.



댓글(0) 먼댓글(0) 좋아요(1)
좋아요
l 공유하기 l 북마크하기찜하기 lthankstoThanksTo