파이썬, 윤인성, 한빛미디어, 2019 [도사 리뷰] 혼자 공부하는

 *이 책의 내용을 저자가 강의하는 유튜브 영상을 시청하고 요약하고 있습니다. 따라해봐도 될 듯 blog.naver.com 게임을 만들려다 들여다보게 된 즐겨찾기, 들여다본 자료 for STUDYblog. naver.com

#파이썬 #한빛미디어 #혼돈파

직접 기획하고 동업자와 함께 프로그래밍한 인터넷 쇼핑몰을 17년간 운영하고 있습니다. 최근 자사의 쇼핑몰 모바일 사이트 리뉴얼을 다시 기획하고 있는데요, 4차 산업혁명이 화제가 되어 머신러닝과 데이터 분석에 대해 개인적으로 학습하고 있습니다. 그동안 축적해 온 구매 데이터를 분석해서 쇼핑몰 운영에 뭐 쓸만한 게 있는지 알아보려고 하는 거예요. 덕분에 파이썬이라는 언어를 공부해야 하는 상황이 생겼어요.

그러면서도 어느덧 중1이 되어버린 큰애의 미래를 고민하면서 어떤 일에 종사하더라도 기본소양으로 프로그래밍을 할 수 있으면 좋겠다는 생각을 하게 되었습니다. 그러면서 쉽게 사용할 수 있는 프로그래밍 언어로 코딩을 가르치려고 틈틈이 Pison 관련 학습영상도 언급했습니다.

이런생각을바탕으로웹프로그래밍이나기획을넘어서이제파이썬으로가볼까하는데마침2019년6월에출간된혼자공부하는파이썬은학습의방향설정에많은도움이됐습니다. 광고 회사에 근무하는 아내도 내가 책상 위에 둔 책을 보며 빅 데이터는 이제 광고 업자들과 마케터들에도 화제가 되는도 공부하고 본다고 합니다. 제목을 보고 마음에 드셨나 봐요. 혼자 공부하는 걸 꽤 좋아하거든요.

책을 처음 받았을 때의 느낌이 그렇게 두껍지는 않지만 꽤 무겁다는 느낌이었습니다. 종이의 재질의 이름은 잘 모릅니다만, 포토 숍이나 일러스트와 같은 디자인 관련 서적 등에 사용하는 약간 광택이 있는 재질인 것 같네요. 컬러를 많이 넣어야 하는 디자인 서적은 너무 번들거려서 형광등 아래에서 보기가 불편했어요. 다행히 이 책은 그렇게 큼직하지 않아서 읽어 나가는데 큰 문제는 없었습니다.

말미에 별책 부록 형식으로 ‘혼교 용어 노트’라고 쓴 Pison 학습에 필요한 용어가 정리되어 있는 것이 먼저 눈에 띄었습니다. 모양은 대학 시절에 가지고 다니던 보케부라리 책을 사면 딸려오는 단어장 정도일까요? 파이썬을 처음 알게 된 저 같은 초보자가 파이썬의 생소한 용어들이 헷갈릴 때 찾아내는 색인 같은 느낌이었어요. 용어마다 간략한 설명이 붙어 있습니다.

hongong.hanbit.co.kr Page Share Hanbit Media Posts Videos Loadmore 파이썬에 관해 가장 많이 받는 질문은 무엇인가요? 파이썬을 공부한 후에 무엇을 할 수 있습니까? 혼자 공부하는 독자에게 꼭 부탁하고 싶은 것이 있다면? C언어는 주로 어떤 분야에서 사용하나요? C언어 활용분야에 가려면 어떤 책을 읽고 어떤 공부를 해야하나요? 자바를 배우면 프로그래머로 취직하는데 도움이 될까요? 자바 프로그래머가 되면 어떤 개발을 하게 될까요? 웹 서버 개발자, 안드로이드 앱 개발자를 목표로 한다면 자바를 배운다…hongong.hanbit.co.kr
혼자공부하는시리즈를홍보하기위한위사이트에서용어집을PDF파일로다운로드할수있으며유튜브를통해저자의파이썬강좌링크도제공하고있습니다. 혼공 시리즈를 위해 별도의 홈페이지를 만들 정도니 한빛미디어가 크게 신경 쓰는 신규 시리즈인가 봐요. 현재 C, JAVA, 파이썬을 출판하고 있는 혼공 시리즈의 특이한 점은 책 편집에서 베타 테스터로 선정된 베타 리더 독자 수십 명의 실제 학습 결과를 바탕으로 독자의 의견을 적극적으로 반영했다는 점이라고 합니다. 그리고 책 구입에 대한 애프터서비스라고 할까요. 한빛미디어에서는 혼공학습단을 모집하고 있다고 하니 참고하세요.
책을볼때앞표지부터뒷표지까지자세히살펴보는편이라저자인윤인성씨의45번째출판서적이라는소개문을보고이책의내용에대해더신뢰를갖게되어저술경험이많은저자의책이라이해하기쉽게구성되어있겠구나하는기대를먼저하게되었습니다.
저자의 집필동기는 전작인 머신러닝 실전개발 입문을 번역해 출간한 후 1년간 인터넷 강의도 했는데 대부분의 질문이 Fison의 기본 문법과 관련된 내용이었기 때문이라고 합니다. 많은 책들이 비전공자를 위한다는 명목으로 간단한 내용만 다뤘다는 거에요. 그래서 이 책은 파이썬을 머신러닝과 딥러닝에 잘 활용할 수 있는 단계로 넘어가도록 돕기 위해 기획되었다고 합니다. 사실 이 두 가지가 많은 부분 파이썬을 학습하기 위한 목적이니까요.
혼자 공부하는 혼공파를 통해 파이썬을 공부한 후에 웹서비스 개발, 인공지능 개발, 데이터수집 프로그램 개발, 데이터 분석, 업무 자동화 등을 공부할 수 있다고 합니다. 즉, 혼공파도로 인해서 파이썬에 대한 기본이 확실해진다면 어떤 프로그래밍 언어로도 건너뛸 수 있다고 합니다. 다른 프로그래밍 언어를 경험해 본 저의 경험으로도 책을 읽으면서 그는 그만큼 프로그램 입문자 친화적인 언어라는 것을 느꼈습니다. 그래서 이 책은 초보자가 프로그래밍이라는 것 자체의 개념을 공부하기 위해서 봐도 좋을 것 같습니다. 비개발자로서 프로그래밍을 접하고 싶은 경우에도 추천합니다.

본서의 학습 단계는, 각 장에서 아래와 같이 설계되고 있습니다.

1. 해당 절에서 중점적으로 볼 내용인 ‘핵심 키워드’ 2. 주제 및 주요 개념을 파악하기 ‘시작하기 전에’ 3. 말풍선’으로 표시한 반드시 기억해야 할 내용 4. 직접 해볼 손 코딩 5. 더 알아보기 6. 핵심 키워드를 리마인드하는 ‘핵심 포인트’ 7. 확인 문제
사실핵심키워드나시작하기전에같은내용은보통잘보지않던부분이지만책을읽으면서여러번반복되는부분이기때문에후반부에들어서는좀더자세히보게되었어요. 그리고 책을 읽으면서 ‘마무리’라고 표시된 이 부분에 작은 북마크 스티커를 붙여두면 책을 한 번 다 읽은 후 챕터의 마지막이나 중간에 있는 ‘마무리’ 페이지만 읽어도 그동안 학습했던 것을 되돌릴 수 있습니다. 핵심을일단분명하게기억해두면언어에대한이해도가빨리늘어나기때문입니다.

4장까지는 어떤 프로그래밍 언어에서나 일반적으로 다루는 기본 개념이기 때문에 그렇게 어렵지 않았어요. 실습을 위한 예제의 난이도도 적당했습니다. 5장부터는 양도 늘고 내용도 조금 복잡해졌고 일상 업무 속에서 하루에 한 챕터씩 읽기가 힘들어졌는데 왜 파이썬이 입문자에게 좋은지를 좀 더 이해하게 되었습니다. 즉 기억할 것은 많은데 대충 이렇게 쓰는구나 라는 생각으로 이 책의 어디에 그런 내용이 있는지 기억했다가 나중에 필요할 때 찾으면 되는구나 라는 생각을 하게 되었습니다. 그만큼 이 책은 주제별로 일관성 있게 편집됐고 파이센 자체도 다른 언어에 익숙해질 때와 비교하면 볼륨이 가볍다고 생각됐습니다.

책 표지에 적혀 있는 이 책의 핵심 의도입니다. 이 의도에 맞게 프로그래밍의 문자적 의미를 설명하는 것부터 시작하여 프로그램을 전혀 접해보지 못한 사람들이 파이썬에서 프로그래밍이라는 것을 시작하도록 잘 유도하고 있습니다. 적절한 비유와 확인 문제를 준비하면서 컴퓨터 프로그래밍에 대한 전반적인 내용을 간단하고 잘 설명하는 것 같았습니다. 파이썬 문법을 하나 익히는 과정에서 사용하는 실습 예제도 같은 예제를 더 가독성 있게 변경하는 방식으로 예제가 재활용되어서 다행입니다. 예제에 대한 이해도가 더 높아지기 때문입니다.

예를 들면, 프로그래밍을 처음 접하는 사람들은 클래스 이름이나 함수 이름, 변수 이름 등을 타이핑할 때 스네이크 케이스와 캐멀 케이스의 구별이나 필요성 등도 알고 싶습니다. 이 책에서는 문자열을 다룰 때의 따옴표나 큰 따옴표를 사용하는 방법 같은 세세한 것까지도 자주 언급하고 있어 책을 읽다가 그러한 세세한 것을 알기 위해 삼천포로 빠져나가는 것을 방지하고 있습니다. 덕분에, Fison만이 가능한 독특한 자료형의 취급법도 차분히 몸에 익힐 수 있어 코딩 전용의 폰트가 있는 것도 새롭게 배웠습니다. 전체적으로책을읽고생기는궁금한일을인터넷을통해따로찾거나읽다보면이해되는번거로움을느끼지않고페이지순서로하나하나씩진행하는것만으로기억할수있는구성이되었다고느꼈습니다. 프로그래밍 서적인데, 줄거리를 가지고 있는 것 같은 느낌이랄까.

책에 나오는 프로그래밍 관련 용어도 한글 명칭을 기준으로 통일되어 있습니다. 예를 들어, 데이터 유형, 데이터 유형, 자료형 등을 뜻하는 것들은 하나로 같은 명칭이지만, 이 책이나 책들 중에서도 저자가 원하는 대로 자유롭게 선택하여 써놓은 책들을 자주 보게 됩니다. 이 책에서는 한글로 번역한 명칭을 사용하거나 번역이 어려운 경우 한글 발음으로 표기하는 통일된 기준으로 명기하고 있습니다. 저자의 저서 중에 번역본이 많아서인지 용어명칭 선택 하나하나에도 신경을 많이 쓴 것처럼 보입니다. 파이썬뿐만 아니라 본서에서 사용되는 명칭을 기준으로 한 번 기억하면 다른 프로그래밍 언어를 배울 때도 혼동 없이 적응할 수 있을 것입니다. 프로그래밍 언어를 학습할 때 접하는 많은 용어들을 체계적으로 잘 설명하고 있기 때문입니다.

이런 배려는 사실 입문자에게 매우 중요합니다. 함수, 구성원함수, 메소드 등 같은 개념으로 복잡한 용어체계가 진입장벽이 되는 경우가 많기 때문입니다. 본 시리즈명처럼 혼자서 공부할 수 있도록 신경을 많이 썼던 것 같아요. 문법을 익히다가 “지금 배울 내용이 왜 지금은 필요한지 잘 모르겠으나 파이썬 코딩을 할 때 많이 쓰는 기능이니까 잘 기억해 두세요.”라는 언급을 접하게 되었습니다. 수동적인 학습으로 인해서 당장 필요 없을 것 같은 기능이나 문법까지 공부해야 하는지 몰라서 의욕이 땅에 떨어지지 않도록 유도하고 있다고 생각됩니다.

언어를처음배울때는이함수를배워서실무의어디에쓰일수있을지궁금하네요. 예제에 따라서 실습은 하는데, 실습이 후의 실무에서 어떻게 도움이 되는지에 대해서는 제대로 설명되지 않고 이런 의문은 공부하려는 의욕을 떨어뜨리기도 합니다. 마치 미분과 적분을 계산하는 방법은 익혔지만 실제 생활의 어디에 쓰일 수 있는지, 어떻게 적용하는지는 모르는 것처럼 말이죠. 가능할지 어떨지는 모르겠지만 단순히 레퍼런스 형식으로 문법을 외운다기보다는 머신러닝과 딥러닝 관련 프로그래밍 시에 저런 용도로 사용할 수 있다고 간단한 설명이나 예제가 있었으면 좋겠습니다. 아마책의범위를넘는것이기때문에제외하긴했는데,해당분야에서저자가프로그래밍을할때이개념은이렇게쓴적이있다라고예시를해주면더생동감이있지않았을까생각합니다. 책의 집필 의도가 파이썬을 이용해 실무에서 사용할 때 머신러닝과 딥러닝에서 제대로 사용할 수 있는 단계로 넘어갈 수 있도록 한다는 것이죠.

P.S. 이러한 주변 지식에 대한 여러 가지 아쉬움은 저자의 유튜브 영상을 보면서 많이 해소되었습니다. 책을 보면서 꼭 저자의 강의 영상도 봐야할 것 같군요. 그리고 저자의 파이썬 관련 서적이 여러 권 있습니다. 파이썬 학습 생태계를 이루고 있습니다. 이 책을 끝내고 좀 더 전문적인 분야를 다룬 저자의 다른 책을 보시면 많은 도움이 될 것 같습니다.
www.youtube.com

이 책의 내용 중 고급편에 해당하는 7장 모듈, 특히 07-2 외부 모듈에서 파이썬 활용법이 나오는데 그 내용이 좀 부족한 것 같습니다. 이 책은 외부 모듈을 자세히 공부하는 책이 아닌데 제 생각에는 파이썬은 외부 모듈을 제어하는 스크립트 언어 같습니다. 그렇다면 7장의 내용이 1~6장까지 군데군데 언급되어 있었는데 혹시 길게 느껴지는 문법을 익히는 단순 노동의 시간도 조금은 즐겁게 느껴지지 않을까 싶습니다. 자바스크립트를 접하신 분들이라면 07-2 외부 모듈 부분을 먼저 읽어보신 후 책을 보시는 것도 의욕증진에 도움이 될 것입니다.

저는 비전공자예요. 웹사이트 기획과 쇼핑몰 운영이라는 현업에 종사하면서 아주 오랫동안 프로그래밍을 제대로 배우려고 노력했지만 쉽지가 않았어요. 요즘들어 취미로 게임을 만들어 보면서 유니티와 C#을 6개월정도 꾸준히 공부하고 있습니다. 그러면서 느끼는 것은 프로그래밍 언어를 배우는데 있어서는 내가 하고 싶은 분야(프로젝트)를 정하고 그 분야에서 가장 핫한 언어 하나를 기본 수준까지 마스터하는 것이 매우 중요하다고 느꼈습니다. 수많은 프로그래밍 언어들이 있지만, 사실 그 문법은 대동소이하기 때문입니다.
책을 다 읽고 난 느낌으로는 그런 면에서 파이썬은 매우 유용한 도구가 될 것 같습니다. Fison의 기본 문법을 익힌 후 고수들이 만들어 놓은 외부 모듈의 사용법을 익히면 원하는 프로그램을 만들 수 있기 때문입니다. 그 모듈은 웹프로그래밍이나 웹페이지 분석과 같은 분야뿐만 아니라 기계학습이나 인공지능, IOT, 심지어는 MIDI나 웹캠과 같이 아주 다양한 분야에서 개발되고 있어서 기본적인 Pison문법을 배우고 각각의 모듈의 사용법을 익히면 어떤 분야에서든 프로그래밍이 가능하다는 의미도 됩니다.
파이썬을 익히는 데 있어서 혼자 공부하는 파이썬 같은 책이 있다니 행운인 것 같네요. 예전에도 30일 완성 같은 책을 여러 번 시도해 봤지만 게으르고 배경지식이 부족해서 그랬겠지만 다 실패했어요. 하지만 이번에는 일상 업무를 하면서도 하루 1시간 정도의 투자로 20일 정도 만에 책 재료를 샀어요. 물론 완전히 익혔다는 건 아니지만 기본 개념을 익히고 레퍼런스를 찾아 가며 코드를 읽을 수 있게 된 것이죠. 그 다음 실력은 프로젝트 수행 여부가 좌우됩니다. 틈틈히 필요한 프로그램을 파이썬으로 만들어 보면서, 아이들과 아내 모두 이 책을 이용해서 꼭 파이썬 학습을 진행해 볼 생각입니다.
이 책의 내용은 한빛미디어 홈페이지에서 확인할 수 있어요.www.hanbit.co.kr/store/books 이 책은 독학으로 프로그래밍 언어를 처음 배우려는 입문자 또는 파이썬을 배우려는 입문자가 꼭 필요한 내용을 제대로 학습할 수 있도록 구성돼 있다. 무엇을 어떻게 학습해야 할지조차 모르는 입문자의 막연한 마음을 헤아려 주고 과외 선생님이 가르쳐 주듯 친절하게, 그러나 핵심적인 내용만을 알아낸다. 책 첫 장을 펴고 마지막 장을 닫을 때까지 혼자서도 충분히 파이슨을 배울 수 있다는 자신감과 확신이 계속될 거야!www.hanbit.co.kr
이 자리는 한빛미디어의 나는 리뷰어다 이벤트 서평단으로 작성했습니다.
*이 책의 내용을 저자가 강의하는 유튜브 영상을 시청하고 요약하고 있습니다. 따라해봐도 될 것 같아 https:/blog.naver.com 게임을 만들려다가 들여다보게 된 즐겨찾기, 들여다본 자료 for STUDYblog.naver.com