|
지나가는 대학생을 대여섯쯤 붙잡고 Python을 아느냐고 물어보면, 그들 중 서넛은 알고 있으며, 그 중에서도 한 두명은 Python을 사용해본 경험이 있을 것입니다. 대학에서 이제 Python은 교양의 영역으로 접어들었기 때문입니다.
제가 재학중인 학교에서도, 이미 모든 학부생에게 기초 교양으로 Python 및 데이터과학 관련 과목을 지정하였습니다. 또한 상당수의 타 대학에서도 Python을 활용한 여러 교양/전공 과목을 개설중인 것으로 알고 있습니다. 즉, Python 프로그래밍은 이미 대학 교양 영역의 일부가 되었으며, 요즘 대학생들의 상당수는 Python Idle에서 print("hello world!") 정도는 타이핑 해보았을 것이라 기대할 수 있겠습니다.
저 역시 처음 Python IDLE를 켜고, 기초 교재를 따라 코드를 타이핑 해본지도 몇 년이 지났습니다. 물론 그에 비해 실력은 썩 좋지 않고, 아직도 검색을 통해 겨우 겨우 원하는 것을 구현하는 것에 그치는 정도입니다. 하지만, 여러 개발 프로젝트에 참여하는 것 이외의, 어떠한 방법으로 스스로의 Python 실력을 업그레이드 할 수 있을지에 대한 의문은 이미 오래 전부터 가지고 있었습니다.
거의 700~800페이지에 육박하는, 시중의 두껍고 무거운 교재는 중급자 이상에게 유효한 내용을 충분히 담고 있을 것이라 기대할 수 있습니다. 하지만, 바쁜 일상에서 이러한 교재를 모두 소화한다는 것은 현실적으로 어려운 일이고, 보통 '백과사전'을 활용하는 형식으로 그때그때 목차를 뒤져보게 되는 것이 대부분의 활용법이 됩니다. 즉, 책 전체를 꼭꼭 씹어서 소화하고, 내것으로 온전히 만들기에는 많은 애로사항이 따릅니다. 헌데, 이 책은 조금 다릅니다. 겨우 300페이지 남짓한 책인데, 목차 하나하나를 살펴보니 재밌어보이는 주제가 너무 많고, 실제로 한 챕터씩 읽어갈때마다 새로운 지식이 쏙쏙 들어옵니다. 게다가, 걔중에는 바로 프로젝트에 활용할만한 내용도 많습니다.
![]()
책의 서문에 따르면, 대상 독자는 이미 파이썬 개발 경험이 어느정도 있는 파이썬 개발자이며, 대상 독자는 본 책을 통해 파이썬을 더 잘 활용할 수 있는 방법을 배울 수 있습니다. 특히 파이썬 코드, 애플리케이션, 테스트, 이식, 확장 등에 대한 노하우를 엿볼 수 있습니다. 그것도, 20년 간의 개발 경력을 가진 저자의 노하우를 말이죠.
![]()
파이썬 모듈, 라이브러리, 프레임워크를 가져다가 사용한 적이야 많지만, 이들이 어떤 구조로 되어 있으며, 내부적으로 어떻게 연결되어 돌아가는지, 스스로 개발하여 사용하려면 어떠한 형태를 취하여야 하는지, 깊게 고민해본적도, 실제로 해본 적도 없었습니다. 2장을 읽고 나니, 이미 충분한 지식을 얻게 되었고, 동작 원리도 알 수 있게 되었습니다.
요즘 대부분 라이브러리의 문서화는 스핑크스를 사용하여 진행된다고 합니다. 본 책에서도 문서 작업의 자동화를 위한 스핑크스 사용법을 소개하고, 좀 더 편리하게 응용하는 방법까지 소개하고 있습니다. 사실 스핑크스가 무엇인지, 또는 스핑크스를 사용하는 법을 알려주는 포스팅은 이미 웹 상에도 많습니다. 하지만, 이렇게 응용법을 한 눈에 알려주는 글은 그리 많지 않습니다. 특히 국문으로 된 글은 더더욱이요.
![]()
저자는 1~13장 까지 차근차근 읽는 것보다, 관심 있거나 현재 프로젝트와 관련 있는 챕터부터 먼저 읽는 것도 좋다고 말합니다. 이미 위에서 목차를 훑어보신 분들은 벌써 어느 정도 관심있는 챕터가 생기셨을텐데요. 만약 내가 현재 진행하는 별도 프로젝트가 없거나, 위 주제들을 어떻게 적용해야 될지 감조차 잡히지 않는 상황이라면, 처음부터 끝까지 쭈욱 읽어 나가는 것도 추천합니다. 이 경우, 많은 부분들이 이해되지 않을 수 있습니다. 저 또한, 책을 1회독 하며, 이해되지 않는 부분이 곳곳에 존재하였습니다. 이 경우에는 인덱스 포스트잇을 활용합시다. 추후에 포스트잇을 붙인 부분을 좀 더 살펴보고, 찾아보고, 이해하도록 합니다. 시간이 많다면 2회독, 3회독과, 키워드 검색을 병행하여 이해도를 높이는 것도 좋을 것 같습니다.
![]()
몇 가지 인상적인 부분도 따로 소개합니다. 이미 파이썬을 어느정도 써보신 분들이라면, 타인이 개발한 오픈소스 프로그램을 본인의 프로젝트에 가져와서 사용하는 경우가 많았을 것입니다. Python은 setup.py 파일을 통해 손쉬운 외부 파이썬 프로그램 설치를 가능케 합니다. 내가 직접 개발한 프로그램의 배포를 실현하기 위하여, 또는 외부 라이브러리 등을 설치할때 오류가 발생할 경우, 단순히 오류를 구글링해서 해결하는 것이 아니라, 좀 더 깊은 이해를 바탕으로하여 해결할 수 있도록 하기 위하여, 본 챕터는 파이썬 개발자에게 반드시 필요한 부분 중 하나라고 생각합니다.
![]()
개발을 직업으로 삼고 있는 분들이 아닌, 아직 학부생 레벨의 개발자라면 단위 테스트가 많이 낯설 것으로 생각됩니다. 저 또한, 프로그램 개발에 있어서 자동화된 단위 테스트를 행한다는 것이 조금 낯설었습니다. 하지만, 본 챕터를 읽은 이후에는 조금 더 많은 것이 와닿습니다. 최근에 아예 TDD 방법론을 바탕으로 초급 웹개발을 풀스택으로 진행하는 도서의 베타테스터로 참여한 적이 있었습니다. 만약 본 책의 해당 챕터를 읽은 후였다면, 훨씬 더 와닿는 상태로 리딩을 진행할 수 있었을 것이란 생각도 들었습니다.
![]()
대부분의 경우, 합리적으로 저렴한 비용을 지불하여 테스트를 진행할 수 있다는 부록 인터뷰를 보고... 다시 한번 중요성을 실감합니다. 책의 곳곳에 실용적인 인터뷰가 수록되어 있어, 이 부분도 좋았습니다. 인상적인 내용도 많았구요.
![]()
표준 라이브러리 모듈 중 하나인 itertools에 관한 내용입니다. 불과 어제도, 프로젝트를 진행하던 중 2차원 리스트 내부에 혼재된 여러 리스트를 한방에 1차원으로 통합할 방법을 고심하다가, 결국 검색을 통해 itertools의 chain 메서드를 활용하여 해결했습니다. 어디서 본 것 같다는 생각이 들었는데, 여기 그대로 있네요. 이때, 본 책을 빠른 시일 내에 여러번 읽고 내것으로 만들어야겠다는 생각을 한번 더 하게 되었습니다.
![]()
성능 최적화 파트에서도 여러 사례를 소개합니다. 예컨대 위에 나온 특정 요소가 list 내에 있는지 확인하는 방법에 대한 구현 방법입니다. 훨씬 효율적인 방법으로 구현이 가능함에도, 저 역시 대부분의 케이스에서 저런 비효율적인 코딩을 해왔던 것 같습니다. 당장, 지금 하고 있는 프로젝트에서 스스로 코딩하던 '여러 짓'...들이 비효율적이란걸 깨닫게 되는 부분입니다. 깨달음이 조금씩 깊어져갑니다.
아직 초급 수준에 불과한 학부생 개발자이지만, 이런 실력에도 불구하고, 많은 도움을 받을 수 있었던 책이었습니다. 책의 여러 토픽에 대해 어느 정도 알고 계신 분들이라면, 또 다른 시야로 더 많은 도움을 받을 수 있을 것이란 확신이 듭니다.
본인의 Python 레벨을 한 단계 더 끌어올리고 싶으신 분들이라면, 또는 책의 부제 "파이썬 작동 원리에서 확장, 테스트, 배포, 최적화까지"를 보고, 관심이 동하신 분들이라면, 반드시 읽어보시길 강력 추천드립니다!
|
|
오늘은 한빛미디어의 <나는 리뷰어다 2021> 일환으로 받은 진지한 파이썬에 대한 서평을 작성해보도록 하겠습니다.
![]()
주로 머신러닝에 관한 책 위주로 다루던 것과 다르게 이번에 받은 책은 프로그래밍에 관한 책입니다. 특히 최근 핫한 프로그래밍 언어인 파이썬(Python)에 대해 깊게 다룬 책인데요. 머신러닝과 파이썬은 뗄레야 뗄 수 없는 관계이기 때문에 파이썬에 대해 아는 것 또한 굉장히 중요합니다.
결국 우리가 배운 이론을 실제 데이터에 적용하기 위해서는 파이썬이든 R이든 어떠한 Tool을 이용해야하며,이때 이 Tool을 능숙하게 잘 사용할수록 보다 다채로운 분석을 할 수 있겠죠. R보다 범용성이 넓은 파이썬의 특성상 파이썬의 기능을 잘 알수록 더욱 잘 활용할 수 있다고 합니다.
저도 프로그래밍은 개인적으로 약하다고 생각해서요. 저같은 사람들에게 이 책은 "파이써닉"하게 프로그래밍하게 만들어주는 책입니다. Q. 이 책은 어떤 책인가요? 파이썬(Python) 입문자를 넘어 중급, 고급으로 나아가고 싶은 개발자를 위한 실전 프로그래밍 지침서입니다. 대부분 공감하시겠지만, 전문 서적 중 입문서라고 칭하는 책들은 굉장히 많습니다. 특히나 입문자가 많아지는 요즈음, 그러한 입문서 또한 같이 늘어나는 추세이고요. 중급자를 위한 서적도 같이 늘어나면 좋겠지만, 실상 그렇지 않은 경우가 다반사입니다. 오히려 기하급수적으로 중급 이상의 책이 감소하고 있죠. (어려운 책은 안 읽으려는 대부분의 사람들의 특성 같기도.. 하고요.... ㅎㅎ)
이러한 트렌드는 좀 더 공부하고 싶은 사람들에게 좋은 사인은 아닙니다. 좋은 책이 있다고 하더라도 거의 대부분이 원서 위주고, 번역서라고 하더라도 어색한 번역체가 가득하고요.
이때 진지한 파이썬은 파이썬으로 15년 넘게 개발해온 저자가 파이썬의 기능과 능력을 활용해 프로그램을 체계적으로 구축하는 방법을 소개합니다. 단순히 파이썬의 문법과 Loop, 자료구조 등을 배우는 입문서의 수준을 넘어 '파이써닉'하게 사용하는 방법을 알려주는 책입니다.
사실 저는 개발자를 꿈꾸는 게 아니기 때문에 프로그래밍 언어를 깊게 다룬다고 하면 '굳이?' 라는 생각은 있습니다. 프로그래밍 언어에 집중할 시간에 통계학 이론이나 수학 책을 살펴보는 게 낫다고 생각하거든요. 이론적 기반이 탄탄하면 이를 코드로 옮기는 건 무리가 아니라고 생각이 들어서요.
그러나 파이썬으로 얼마 전 데이터 분석 프로젝트를 하면서 자신감이 좀 꺾였습니다. ㅎㅎ 파이썬을 능숙하게 다루는 팀원을 보면서 많은 걸 배웠거든요. 많은 라이브러리를 유연하게 사용하고, 객체지향이라는 파이썬의 특성을 십분 활용하는 팀원을 통해 파이써닉하게 프로그래밍하는 방법을 익힌다면 AI를 공부할 때 훨씬 도움이 되겠다는 판단이 들어 이 책을 읽기로 하였습니다.
실제로 Scikit-learn, Tensorflow, PyTorch 등 머신러닝 라이브러리와 더불어 numpy, pandas, matplotlib 등 데이터 분석에 필수적으로 요구되는 핵심 라이브러리를 사용하기 위해서는 파이썬 사용을 피할래야 피할 수가 없습니다. 그렇기에 파이써닉하게 사용하는 방법을 알아야겠다고 생각이 들었고요.
간단하게 목차를 소개하면 다음과 같습니다.
Q. 그럼 누구에게 추천하는 책인가요? 파이썬을 주 언어로 사용하는 개발자들에게 추천하는 책입니다. 점프 투 파이썬 등 입문서로 꼽히는 대표 책들을 읽으신 후, 파이써닉하게 알아가고자 하는 분들을 위해 추천하는 책입니다.
개인적으로 앞으로 머신러닝, 딥러닝 등을 전문적으로 하실 분들에게도 추천하는 책입니다. 저도 그전까진 파이썬에 대해 깊게 알아갈 생각은 크게 안했는데요. 생각해보니 수많은 파이썬 라이브러리를 잘 다루기 위해서라도 파이써닉하게 다루는 방법을 배울 필요가 있겠더라고요. 물론 R을 위주로 사용하는 분들도 많긴 하겠지만, 요즘 파이썬을 이용해 데이터 분석을 하는 분들도 많으니깐요. 입문서를 넘어서 파이썬 자체에 대해 심도있는 학습을 한다면 코드를 짜는 데 있어 훨씬 효율적이지 않을까 싶습니다.
Q. 이 책의 장점은 무엇인가요? 첫째는 몇 안 되는 중급 이상의 난이도있는 서적입니다. 입문서가 가득한 서적 속에서 전문적인 내용을 다룬다는 것은 정말 기쁜 일이죠. 라이브리러와 메소드, 데코레이터의 고급 활용법 등과 더불어 개발한 소프트웨어의 테스트부터 성능 최적화, 문서화와 API 관리, 배포 등 개발 프로세스에서 완성도있게 프로그램을 짜고 싶은 분들에게 최적일 것이라 생각합니다.
둘째는 어려운 서적임에도 불구하고 깔끔한 번역체입니다. 읽다 보면 번역이 되게 깔끔합니다. 번역서 중 너무 어색한 번역 탓에 오히려 집중이 안 되는 경우도 많은데 이 책은 그렇지 않습니다.
정리하자면 이 책은 파이썬의 전문적인 내용을 알아가고자 하는 파이썬 개발자들에게 추천하는 서적입니다. 또한 AI 엔지니어, 머신러닝 엔지니어들에게도 파이써닉한 AI를 만들 수 있도록 윤활유를 제공하는 책이라고 할 수 있겠네요.
감사합니다.
|
|
먼저 책 표지부터가 무언가 진지한 파이썬 느낌이 강하다고 느껴졌습니다.
참고로 이책은 문법을 가르쳐주는 기초 파이썬 책이 아니라 웹프로그래밍에서 실질적이고 필요한 내용들만 다루고 있습니다. 파이썬에서 필요한 것들은 책을 읽어나가면서 깨달을 수 있을 듯 합니다.
책을 읽으면서 다 이해를 하지 못하였지만 그래도 책에 있는 실습내용을 한번씩 쭉 훑어보면서 연습을 진행하면 언젠가는 도움이 될 것이라고 생각합니다.
마지막으로 좋은 책 제공과 기회를 주신 한빛미디어 담당자 분들께 감사 드립니다. 3월에도 내용이 탄탄한 도서를 읽고 빨리 리뷰를 남기고 싶습니다.
#나는리뷰어다 #진지한파이썬 #파이썬
|
|
혹시 파이썬으로 개발 업무를 하다가 막 한계가 느껴진 경우가 있을지 궁금하다. 사실 나도 회사에서는 파이썬으로 작업을 많이 하지만, 일반적인 업무를 하는데 있어서는 그냥 여타 파이썬 입문책에 나와있는 문법이나 기법으로 해결되는 경우가 많다. 그런데 문제는 성능을 개선하려고, 다른 오픈소스 코드를 분석하다 보면, 앞에서 많이 봤던 그런 입문책에서는 소개되지 않는 문법이나 패키지들이 사용된다는 점이다. 특히 나같은 경우는 멀티프로세싱과 멀티스레딩 관련 부분이 많이 막혔고, 이를 온라인에 나와있는 예제나 개발문서만 보고 구현하는 게 너무 어려웠다. 어쩌면 문법만 소개하기에는 이제 파이썬은 많은 시간동안 발전이 이뤄졌고, 수많은 개발자들에 의해서 구현에 필요한 다양한 패키지들이 나왔기에 어쩌면 일반 입문책으로 파이썬의 모든 것을 다루기엔 어려워진 것 같다. 나도 단순히 입문책에서 소개하는 문법보다는 궁극적인 성능이나 개발 효율성을 올릴 수 있는 그런 방법을 배우길 원했고, 그런 입장에서 이 책을 접했다.
서두에 언급했던 것처럼 이 책은 입문책이 아니다. 책을 열자마자 나오는 주제는 여타 기초 문법이 아닌, 파이썬으로 패키지 라이브러리를 만들때의 버전 관리와 코딩스타일과 관련된 내용이다. 그래서 혹여나 파이썬을 처음 다루는 사람이라면 이 책보다는 다른 쉬운 책을 권하지만, 뭔가 파이썬으로 작업을 많이 하고, 전반적인 성능 개선 / 패키징 / 테스트에 관심이 많은 사람이라면 오호? 하는 생각이 들지 모른다. 그만큼 책에서 다루는 내용이 심오하고, 실무에 써먹을 수 있을만한 내용들이 많다. 간단하게 책에서 다뤄지고 있는 주제는 다음과 같다. - 모듈, 라이브러리, 프레임워크 개발/관리 그리고 특이하게 각 장별로 해당 주제에 대한 전문가와의 인터뷰가 담겨져 있다. 사실 책에서 다뤄지는 주제들이 약간 전문성이 있다보니, 단순히 내용과 예시만 소개되는 것보다도 해당 패키지를 사용하는 전문가가 겪는 어려움이나 팁에 대한 소개가 나와있어, 딱 내용이 와닿았다. 개인적으로 관심있게 읽은 부분은 최적화부분이었다. 사실 회사에서 많이 하던 일도 하드웨어와 실시간 통신을 하면서 얻은 데이터를 어떻게 처리하는지 여부가 성능에 영향을 많이 미쳤다. 이런 부분에서도 파이썬에서 제공하는 자료형이나 로직을 잘 설계하고, 이 때의 성능을 잘 모니터링할 수 있어도 작업의 효율이나 성능을 올릴 수 있다는 점을 책을 읽고나서 알았다. (한편으로는 그동안 너무 무식하게 코딩했구나 하는 후회도 한편 듦...)
책의 서두를 읽다보니 알았는데, 사실 이 책은 The hacker's Guide to Scaling Python Programming (실전 스케일링 파이썬 프로그래밍)의 4판으로 나온 책이었다. 앞에서 이야기했던 것처럼, 한창 멀티스레딩 관련 자료를 찾다가 중고서점에서 우연히 딱 집은 책이 이 책이었는데, 2년이 지난 지금 같은 저자가 쓴 책을 읽었던 것이다. 4판인 진지한 파이썬으로 넘어오면서 언급했던 주제인 스케일링 관련 내용은 많이 줄었지만, 조금 더 다양한 주제와 예제로 폭넓게 다뤄졌다. 다만 주제가 넓어지는데 비해 책에서 다뤄진 내용이 딱 기본이 전제된 것을 가정하고 언급된 내용이 많아 처음 접할 때는 조금 어려운 점이 느껴질 수 있을 수 있다.(그리고 개인적으로는 이 주제들이 300여페이지로 설명되기에는 너무 함축되지 않았나 하는 생각이 좀 든다.) 그래도 읽으면서 직접 예제를 다뤄보면, 여타 유명한 패키지내에서 구현되어있던 전혀 생소한 문법과 기법들이 조금씩 이해되는 경험을 하지 않을까 생각한다. 참고:
(해당 글에서 소개하고 있는 "진지한 파이썬" 책은 한빛미디어로부터 제공받았음을 알려드립니다.) |
|
파이썬을 개발하면서
시간대, 문서화, DB, 성능, 아키텍처 등
단순히 파이썬 내부 구조나
[저자] 저자인 쥘리앵 당주는 (오픈스택은 250만줄이 넘는 코드가
[역자] 역자는 김영하 님으로,
[결론] 훌륭한 저자, 역자, 내용의
실제로 책 본문에는
[CHAPTER 1 프로젝트 시작하기] * 파이썬3를 사용
[CHAPTER 2 모듈, 라이브러리, 프레임워크] * import 는 내부적으로 __import__ 를 호출
[CHAPTER 3 문서화와 모범 API 사례] * 스핑크스를 사용해서 프로젝트를 문서화를 자동화
[CHAPTER 4 시간 정보와 시간대 다루기] * 시간대는 UTC +- 12 가 전부가 아니라, 15분 단위도 존재
[CHAPTER 5 개발한 소프트웨어 배포하기] (생략) [CHAPTER 6 단위 테스트] (생략) [CHAPTER 7 메서드와 데커레이터] (생략) [CHAPTER 8 함수형 프로그래밍] (생략) [CHAPTER 9 AST, Hy, 리스프 계열 속성] (생략) [CHAPTER 10 성능과 최적화] (생략) [CHAPTER 11 확장과 구조] (생략) [CHAPTER 12 관계형 데이터베이스 관리] (생략) [CHAPTER 13 효율적으로 코딩하기] (생략) 출판사에서 책을 보내주셔서, |
|
‘진지한 파이썬’은 파이썬 고수로 가기위한 도전이라 생각합니다. ‘진지한'이라는 말에서도 느낄 수 있듯 이 책은 쉽지 않습니다. 파이썬으로 프로그래밍을 한 경험이 있어야 읽을 수 있는 책인데 막 파이썬에 입문한 사람이라면 좀 어려울지도 모르겠습니다. C++, 자바 개발자에게 ‘Effective’, ‘Advanced’ 시리즈가 있듯 파이썬 개발자에게는 ‘진지한 파이썬’이 있습니다. 이 책은 총 13개의 장으로 되어있는데 각 장마다 내용이 독립적이라 필요한 부분만 골라 읽을 수 있는 구조입니다. 그래도 1장부터 3장까지는 모든 파이썬 개발자에게 유용한 내용이라 순서대로 읽는 것도 괜찮을 것 같습니다. 저자의 노하우가 뭍어나는 전체적인 내용도 좋았지만 중간 중간에 나오는 파이썬 전문가 인터뷰 내용이 참 흥미로웠습니다. 각 파트별 디테일한 설명을 들을 수 있었고 규모가 큰 파이썬 프로젝트를 진행하다보면 격게되는 다양한 고충을 미리 답습할 수 있었습니다. 파이썬을 사용한지 10년도 넘었는데 주력 언어가 아니라 그런지 책속에 모르는 내용이 참 많았습니다. 파이썬이 배우기 쉬운 언어로 대중에 알려졌지만 이 책을 보니 고수가 되는 길은 역시 쉽지 않네요. ‘진지한 파이썬' 파이썬 고수라면 넘어야할 산이라 생각합니다. 저도 필요한 내용을 진지하게 다시 한번 읽어볼 생각입니다. |
|
2021년 기준 파이선은 가장 인기 있는 입문자용 프로그래밍 언어라고 할 수 있다. 간결한 문법 체계와 풍부한 표준 내장 라이브러리, 그리고 커뮤니티는 프로그래밍에 익숙하지 않은 사람이라도 빠르게 애플리케이션이나 서비스를 구현할 수 있을 정도이다. 특히 TensorFlow를 위시한 Deep Learning의 인기와 취업 준비생의 코딩 테스트에서의 파이선 선택자의 좋은 성적이 여러 파이선 입문서, Deep Learning, 그리고 코딩 테스트를 다루는 서적의 출간에 많은 영향을 줬다고 생각한다. 이 책은 위와 같은 인기와는 조금 다르게 어떻게 파이선 기반의 'Product'를 더 잘 만들 수 있을지에 대해서 다루고 있는 책이라고 생각한다. 이러한 유형의 도서 중 하나는 Effective Python인데 해당 도서와 차이점이 있다면, 진지한 파이선의 경우 코드 효율성에 대한 내용만 다루는 것이 아니라 소프트웨어의 생애주기와 관련된 내용도 비중 있게 다루고 있다는 점이다. 단순히 동작하는 프로그램을 만드는 것이 아니라 아래와 같이 좋은 소프트웨어를 만들기 위한 여러 가지 주제를 비중 있게 설명하고 있다.
어느 정도 규모가 있는 파이선 서비스를 개발한다면 반드시 고려해야 할 점을 시원하게 긁어주는 내용이 포함되어 있기 때문에 기존에 파이선이 아니라 자바나 다른 기술 스택의 경력자들도 빠르게 학습할 수 있는 장점이 있다. 소프트웨어 생애 주기 외에도 중고급 파이선 사용자들이 궁금해할 부분인 시간 정보, 데커레이터, 그리고 멀티 프로세싱 등 특정 주제를 간결하게 설명하고 있다. 다만, 책에서도 언급했듯이 각 장 하나하나가 하나의 책으로 설명해야 할 정도로 방대한 내용이므로 더 관심이 있는 독자는 진지한 파이선으로 시작해 다른 도서를 더 살펴보는 것을 추천한다. 개인적으로 JVM 기반의 서비스를 많이 개발하다가 최근에 파이선 기반의 서비스 개발에도 참여하고 있는데, 책의 내용 중 일부는 알고 있었고 일부는 몰랐기 때문에 많은 도움이 되었다. 책이 그렇게 두껍지 않고 번역도 매끄럽게 되어있기 때문에 파이선으로 갓 입문한 개발자들에게 더 미려한 소프트웨어 개발을 하는 데 많은 도움을 줄 것으로 보인다. |
|
소스코드 품질평가 기업인 티오베는 매달 프로그래밍 언어 순위인 프로그래밍 커뮤니티 지수 (티오베 인덱스)를 발표하고 있다. 이 지수를 보면 관련 분야 종사자들이 어떤 언어를 가장 많이 사용하는지, 어떤 언어와 관련되어 커뮤니티 활동이 왕성한지를 알 수 있다. 2021년 2월 발표된 티오베 인덱스를 보면 지난 달에서 1,2위가 역전된 것을 알 수 있다. 1위에는 C가, 2위에는 Java가 랭크되었는데, Java의 하락세가 두드러졌다. 최근의 트렌드를 보면 Java의 점유률은 전반적인 하락세를 유지하고 있다. 오라클의 라이선스 정책에 따라 많은 개발자들이 Java에 대해 예전 같은 사랑을 보내고 있지 않고, Java의 대체재들도 많아 지고 있기 때문으로 생각된다.
|
※ 한빛미디어 2021 도서 서평단 "나는 리뷰어다"의 일원으로 도서를 제공받아 작성한 리뷰입니다.
|
|
파이썬의 기본적인 내용만 학습한 상태에서 프로젝트를 진행하게 되면, 유지보수나 문서화 등 많은 부분에서 어려움을 겪게 됩니다. 더 좋은 코드를 만들고 협업을 잘 하기 위해서는 한 단계 더 학습이 필요합니다. "진지한 파이썬"에서는 문서화, 테스트, 메소드 그리고 성능&최적화 등 초급 프로그래머 들이 알아야 하는 내용들이 압축되어 잘 들어있습니다. 페이지 수가 많지는 않지만 많은 내용들을 담고 있습니다. 그래서 내용들이 자세하고 깊게 설명되어 있지는 않습니다. 파이썬 프로그래머들이 꼭 알고 있어야 하는 내용들이 많이 수록되어 있다는 점이 이 책을 읽기에 충분한 이유가 된다고 생각합니다. 초급 파이썬 프로그래머 분들에게 이 책을 추천합니다. |