Full Stack Python의 'Best Python Resources'를 공부하면서 나름대로 정리한 자료

주의 : 이 문서는 최고의 파이썬 자료(Best Python Resources)의 요약(오역난무)본 입니다. 해당 주석은 제 개인적인 견해입니다.

수정 내용 정리 2015.11.13 - 금요일에 만나고 싶었지만 비오는 밤이라서 오타 수정.


파이썬 커뮤니티는 초보자가 파이썬을 쉽게 배울 수 있는 양질의 많은 자료를 공유하고 있습니다. 많은 자료 중에서 필요한 자료를 찾는것이 쉽지 않습니다. 이 요약본은 독자에게 학습에 좋은 가장 일반적인 파이썬 자료를 소개하고 설명합니다.

New to programming

파이썬을 배우고 싶을 땐 CS for AllLearn Python the Hard Way를 추천한다. 프로그램을 처음 접하는 분들의 경우 How to Learn to CodeGetting Started 문서를 꼭 읽어보길 권한다. 마지막으로 파이썬 초보자를 위한 5개의 프로그래밍 프로젝트 목록(this list of 5 programming project for Python beginners)정도면 '파이썬 문법'은 충분하리라 생각한다.

다른 컴퓨터 프로그램 언어(ex, Java, C, C++, Etc...)를 사용 할 수 있고, 필요에 의해서 파이썬을 배우는 경우 "Experienced developers new to Python" 섹션으로 이동 하세요.

  • 장고와 플라스크를 염두해 두고 학습하고 있다면 'Fletcher, Michael and Jeremy'의 학습 코스를 구입하는 것이 좋습니다.

    코딩을 처음하는 사람이라면 파이썬의 기본적인 문법을 배우고 Full Stack Python의 Flask/Django 섹션을 먼저 둘러보시고 '결제'를 고민해 보는게 좋습니다.

  • How to Learn to Code는 여려분에게 "우리가 해결하기 원하는 문제를 프로젝트로 만들는 것"이 더 효율적이라는 점을 설명합니다. 언어의 세부적인 내용보다 자신의 문제를 해결하기 위한 프로젝트를 시작해 봅시다.

    "왜 파이썬을 배우는가?"보다는 "왜 프로그래밍을 배우는가?"에 대한 생각을 해 볼 수 있는 기회가 됩니다.

  • CS for All은 컴퓨터 과학의 기초를 가르치는 'Harvey Mudd College'에서 공개한 책입니다. 이 책은 초보자가 이해하기 쉽습니다.

    처음 배우는 사용자라면 정말 좋습니다. 꼭 읽어보길 권합니다.

  • 이전에 프로그램을 경험하지 못했다면 Laurence BradfordLearn To Code with MeGetting Started를 확인해보세요. 이 문서는 초보자가 수행 해야하는 일을 차근 차근 설명하고 있습니다.

    시간 될 때 천천히 읽어보길 권합니다. 읽는데 많은 시간이 들지만, 프로그램의 A~Z에 대해서 알 수 있기 때문에 천천히 꼭, 꼭 씹어서 읽어보길 권합니다.

  • Zed Shaw의 Learn Python the Hard Way는 Web에 공개되어 있다.

    한국어로 번역된 책이 있습니다. 영어도 어렵지 않으니 도전해봐도 좋습니다. 그렇지만 실제로 예제와 연습문제를 코딩하지 않는다면 무용지물 입니다. 모든 챕터 예제를 따라치고, 연습문제를 풀어야 효과가 있습니다. 'CS for All'로 파이썬과 프로그래밍에 대해서 어느정도 이해했다면 이 문서로 싲런 연습을 하시면 많은 도움이 될 것 입니다.

  • Creative Commons license로 배포되는 공개된 책인 Dive into Python 3는 HTML과 PDF로 제공된다.

    한국어로 번역된 페이지가 있습니다. 실무 개발자가 아니고, Google App Engine을 사용자가 아니라면 Python 3로 시작하는 걸 권장합니다.

  • 파이썬에 특화된 자료는 아니지만, 모질라는 웹 사이트를 구축하려는 초보자와 사용자를 위한 웹 자습서(Learning the Web)를 제공합니다. 이 문서는 일반적인 웹 개발자의 관점에서 보면 매우 훌륭한 가치가 있습니다.

    웹 개발자에게 도움이 많은 도움이 되는 문서라 생각됩니다. 전 읽다가 포기했지만, 웹 개발자를 꿈꾸는 파이썬 학습자는 도전해 보세요!

  • A Byte of Python는 파이썬 언어의 초보자 튜토리얼 입니다.

    초보자 튜토리얼이라 쉽다고 생각하면 경기도 오산 입니다. 내용이 짧고 매우 깐깐하게 설명하고 있습니다. 초보자 보다는 다른 프로그래밍 언어를 사용하는 사용자라면 이 문서를 권합니다.

  • 코드 아카데미(Code Academy)는 프로그래밍을 처음 접하는 사람들을 위한 파이썬 과정이 있습니다.

    정말 쉽게 배울 수 있습니다. 심지어 웹에서 코드로 연습도 가능합니다. 이정도 플랫폼이면 뭐든 배울 수 있을 것 같은 기분 입니다.

  • Introduction to Programming with Python는 파이썬의 기본 문법과 제어 구조를 설명합니다. 이 책은 각각의 주제와 다양한 예제를 제공하고 있습니다.

    turtle로 진행됩니다. 라즈베리 파이를 가지고 있다면 집에 굴러다니는 동생과 같이 도전 해 봅시다(아마 너무 재미있어서 싸울껍니다.).

  • 여러분이 전문 프로그래머가 되길 원한다면 다양한 주제와 주제를 편집한 문서인 구글의 가이드(professional programmer)에서 많은 도움을 받을 수 있습니다. 이것은 파이썬 초보자 뿐만 아니라 소프트웨어에 전문 경력을 가지고 싶어하는 개발자도 유용한 자료 입니다.

    내용이 너무 방대해서 접근이 쉽지 않습니다.

  • 오렐리(O'Reilly)의 책인 Think Python: How to Think Like a Computer Scientist도 HTML 형태로 웹에서 볼 수 있습니다.

    Goto "Dive into Python 3"

  • Python Practice Book은 파이썬의 기본적인 문법을 배울 수 있도록 도와줍니다.

    이건 정말 초보자를 위한 자료입니다.

  • 코드를 배운뒤에 적용해 볼 프로젝트의 아이디어를 찾고 계신가요? 파이썬 초보자를 위한 5개의 프로그래밍 프로젝트 목록(this list of 5 programming project for Python beginners)을 참조해보세요!

    초보자(혹은 처음 파이썬을 배우는 학습자)라면 5가지 프로젝트를 스스로 해보는 것이 좋습니다. 다이스(Dice) 프로그램 만들다 보니 '확률 계산기'를 만들기 시작했다면 저에게 연락주세요!

  • 파이썬을 사용하여 블로그를 구축하는 방법(use Python to build a blog)을 설명합니다. 레딧(Reddit)의 제작자 중 한명이 진행하는 강좌를 Udacity를 통해서 학습 할 수 있습니다. 웹 개발에 필요한 개념을 파이썬 코드로 소개 합니다.

    Udacity는 앱이 있어서 출퇴근 시간을 이용해서 공부하기 좋습니다.

  • 프로그램을 배우려고 노력하는 일반적인 사람들이(non-technical) 유용하게 사용할 수 있는 파이썬 학습(learning Python)에 관한 블로그 포스트 입니다.

    초보자를 위한 '가이드라인'이라 할 수 있다. 국내에는 생활코딩이라는 아주 훌륭한 사이트가 있으니 참고해 보세요!

Experienced developers new to Python

  • Learn Python in y minutes는 파이썬 언어의 험난한 투어를 제공합니다. 개발 경험이 있는 학습자의 경우 이 튜토리얼을 통해서 파이썬이 어떻게 구성되어 있는지 빠르게 파악하고자 할 경우 유용합니다.

    "코드"가 곧 "문서"다 라는 의미를 아주 명확하게 이해 할 수 있습니다. 정말 빠른 속도로 파악이 가능합니다. 초보자에게 적합한 튜토리얼은 아닙니다.

  • Python for you and me 파이썬 문법과 구조에 대한 부분을 설명한 책입니다. 플라스크를 사용해서 웹 프로그램을 작성하는 프로그래머를 위해서 짧은 가이드가 먀지막에 포함되어 있습니다.

    플라스크, 개발 환경 및 세부적인 사항을 좀 더 다루고 있다는 점이 특징입니다.

  • Kenneth Reitz's The Hitchhiker’s Guide to Python는 파이썬 프로그래밍 언어와 커뮤니티에 대한 정보를 풍부하게 포함하고 있습니다.

    해결하고자 하는 문제에 좀 더 쉽게 접근 가능하도록 안내하는 가이드 문서입니다.

  • How to Develop Quality Python Code 개발 환경, 응용 프로그램 종속성과 프로젝트 구조에 대한 학습을 시작하기에 좋은 문서입니다.

    중급자 자료 중에서 가장 먼저 읽어야 할 문서입니다.

Beyond the basics

  • The Python Ecosystem: An Introduction 기본 파이썬 구문을 학습 한 후 Python packaging, pip, virutalenv 및 다른 많은 주제에 대한 자료를 제공합니다.

    packages, PYTHONPATH 부분은 꼭 읽어 볼 필요가 있습니다.

  • The Python Subreddit는 다양한 파이썬 관련 링크를 소개하고, 초보자와 고급 파이썬 개발자의 질문과 답변을 볼 수 있는 활발한 커뮤니티 입니다ㅏ.

    '과도하게' 활발한 커뮤니티 입니다. 페이스북에 'Python Korea' 그룹도 추천합니다.

  • Good to Great Python Reads 파이썬 언어 자체의 미묘한 세부 사항에 초점을 맞춘 중급, 고급자를 위한 파이썬 관련 기사 모음을 제공하는 웹 사이트입니다.

    좋은 기사가 엄청 많습니다.

  • Free Python Tips는 파이썬 생태계, 파이썬에 대한 게시물, 관련 뉴스를 제공합니다.

    특히 "Intermediate Python"은 킨들이나 핸드폰에 넣어다니면서 읽기에 적당한 분량입니다.

  • Python Books 자유롭게 사용할 수 파이썬 관련 책 모음입니다.

    좋은 책이 많습니다. 그리고 국내 번역된 책도 많습니다. 정신건강을 위해서 번역본을 권장합니다.

  • Python IAQ: Infrequently Asked Questions 희귀 한 파이썬 기능, 파이썬에 내장되지 않은 기발한 방법을 소개합니다.

    기가 막힌 방법이 많습니다. 그렇다고 좋다는 뜻은 아닙니다.

Videos, screencasts and presentations

  • Videos 컨퍼런스 및 스크린 캐스트 등, 최고의 파이썬 동영상을 소개합니다.
    코딩 할 떄 백색 소음으로 틀어놓으면 외국에서 코딩하는 기분이 들긴 할까요?

Curated Python packages lists

  • awesome-python은 파이썬 프레임워크, 라이브러리 및 소프트웨어를 모아놓은 놀라운 목록입니다.

    문제 해결 방법을 고민하거나 프로그램 설계 단계에서 굉장히 많은 도움이 됩니다.

  • easy-python은 'awesome-python'과 비슷한다. 대신에 웹을 통해서 Docs 형태로 제공한다.

    Awesome-python과 비슷하지만 'Resources'부분에서 좀 더 다양한 학습 자료를 제공합니다. 특히 'py-must-watch'에서 많은 도움을 받았습니다.

Podcasts

  • Talk Python to Me 파이썬 코딩에 관련된 사람과 조직에 초점을 맞추고 있습니다. 각 에피소드는 게스트 인터뷰 형식을 갖추고 있으며, 자신의 일에 대해 이야기 합니다.

    어떻게든 이해만 가능하다면... 굉자히 좋은 자료입니다. 이곳에 가시면 유투브로 청취 가능하다. 유투브의 경우 '자막' 기능이 있어서 적당히 이해가 가능하다.

  • Podcast.init은 "about Python and the people who make it great"의 다른 팟 캐스트입니다

    인터뷰를 듣고 있으면 이런 생각이 든다. "아~ 나도 같이 웃고 싶다."

Newsletters

  • Python Weekly 최신 파이썬 기사, 비디오, 프로젝트 및 향후 행사를 알려줍니다.

    등록하자! #1

  • PyCoder's Weekly Python Weekly와 유사한 무료로 발송 되는 주간 이메일 뉴스 레터입니다. 대부분의 기사는 Python Weekly에 소개되지만, PyCoder's Weekly는 종종 다른 기사 및 프로젝트를 다룹니다.

    등록하자! #2

  • Import Python는 Python Weekly 및 PyCoder's Weekly의 주간보다 새로운 뉴스입니다. 이 뉴스 레터는 종종 다른 두 개의 소스에서 정보를 가져오기도 합니다. 위의 두개를 포함해서 세개의 뉴스레터에 가입하면 어떤 소식도 놓치지 않습니다.

    등록하자! #3