파이썬 코딩의 기술 51 : 똑똑하게 코딩하는 법

파이썬 코딩의 기술 51 : 똑똑하게 코딩하는 법

$33.00
Description
파이썬 설계 철학까지 이해하는 파이썬 코딩의 기술 실전편 51!
지금보다 더 나은 프로그래머가 되고 싶은, 모든 파이썬 개발자를 위한, 파이썬 전문가 가이드!
파이썬 코딩에는 파이썬 다운 기술이 필요하다! 저자는 25년간 열정적으로 파이썬을 사랑하고 사용해오면서 자신의 코드 및 실제 현업 코드에서 파이썬 개발자들이 쉽게 빠지는 잘못, 함정, 오류들을 발견해 왔다. 이 책은 그 중 51가지를 선별해 관련된 개념끼리 묶어서 총 9개 장으로 소개한다. 각 장과 절의 내용은 서로 독립적으로 구성하여 그때그때 필요한 부분만 참고할 수 있게 했다. 또한, 실제 프로젝트 상황 및 간결하고 명확한 예제를 제시해 문제와 솔루션을 깊이 이해하고, 문제에 대해 올바르게 사고하는 방법을 설명하려고 노력했다. 문제와 솔루션을 이해하는 과정에서 파이썬의 설계 철학과 파이썬이 추구하는 가치를 다시 한번 상기하고, 파이썬의 잠재력을 끌어올리는 프로그래밍 기법을 배우고, 궁극적으로 파이썬 코드의 질을 한 단계 향상시킬 수 있을 것이다.

저자

데이비드메르츠

저자:데이비드메르츠
25년이라는오랜시간동안파이썬커뮤니티의일원으로활동하고있으며,파이썬언어의발전을밀접하게따라오면서버전별변경사항에대해기조강연을하고,프로그래밍초보자,다른언어기반의개발자,데이터과학자에게파이썬을가르쳤습니다.
개발자와데이터과학자에게기계학습과과학컴퓨팅을교육하는KDMTraining의설립자로,AnacondaInc.를위한데이터과학교육프로그램을만들었으며수석교육자로활동하였습니다.깊은신경망(deepneuralnetwork)의등장과함께로봇지배자를교육하는데도눈을돌려D.E.ShawResearch에서8년동안근무했습니다.6년동안PSF의이사로활동했으며,지금도PSF의상표위원회와과학파이썬작업그룹의공동의장을맡고있습니다.2000년대에쓴‘매력적인파이썬(CharmingPython)’과‘XML문제(XMLmatters)’칼럼은파이썬세계에서가장널리읽힌글입니다.팩트(Packt),오라일리(O'Reilly),애디슨웨슬리(Addison-Wesley)를통해집필서를출간했으며,여러국제프로그래밍회의에서기조연설을했습니다.

역자:김진호
25년차소프트웨어개발자로SK텔레콤에서싸이월드,티맵등의모바일솔루션을개발했으며,사우디아라비아등중동의여러국가,인도네시아,멕시코의서버부터단말기에이르는은행결제시스템을개발해왔다.이후K-POP,블록체인,애자일솔루션등다양한분야의업체에서CTO와개발이사를역임했다.
저서로는『실전안드로이드프로그래밍』(케이엔피IT,2011),『갤럭시S&안드로이드폰완전정복』(이비락,2010),『갤럭시S안드로이드폰어플활용백서』(글로벌,2010),『입문자를위한WindowsCEProgramming』(가남사,2002)등이있으며,번역서로는『디자인패턴의아름다움』(제이펍,2023),『컴퓨터밑바닥의비밀』(길벗,2024),『파이썬코딩의기술51』(길벗,2024)이있다.

목차

1장잘못된방식으로순환하기
__1.1(드물지만)순환을위해목록생성하기
__1.2색인을순환하는대신enumerate()사용하기
__1.3dict.items()가필요할경우dict.keys()로순환하지않기
__1.4순환중객체변형
__1.5while순환보다for순환사용하기
__1.6‘순환과절반’을위한바다코끼리연산자
__1.7zip()으로다중반복가능객체간소화하기
__1.8zip(strict=True)과itertools.zip_longest()
__1.9정리

2장동등성과동일성의혼동
__2.1클로저의늦은연결
__2.2불리언논리값에대한지나친검증
__2.3x==None비교하기
__2.4가변기본매개변수에대한오해
____2.4.1첫번째방법,클래스사용하기
____2.4.2두번째방법,None보초값사용하기
____2.4.3세번째방법,상태생성기의이점이용하기
__2.5가변객체에대한복사대참조
__2.6(재사용이있는상황에서)is와==혼동하기
__2.7정리

3장파이썬의여러가지함정
__3.1이름지정
____3.1.1표준라이브러리모듈과동일한파일이름사용하기
____3.1.2import*사용피하기
____3.1.3비어있거나지나치게일반적인except문
__3.2단순문자열연결의2차시간복잡도
__3.3파일을열때상황정보관리자사용하기
____3.3.1첫번째위험
____3.3.2두번째위험
____3.3.3취약성수정하기
__3.4.sort()와sorted()의선택적매개변수key
__3.5불확실한키에는dict.get()사용하기
__3.6정리

4장파이썬고급활용
__4.1type(x)==type(y)비교하기
__4.2(다시한번)이름지정
____4.2.1내장이름의재정의
____4.2.2보호된속성에직접접근하기
__4.3사용빈도가낮은기능에주목하기
____4.3.1f문자열디버깅
____4.3.2가공자의우아한마법
____4.3.3itertools(충분히)사용하기
____4.3.4more-itertools제3자라이브러리
__4.4자료형주석은실행시간자료형이아니다
____4.4.1자료형주석은실행시간제약이아니다
____4.4.2typing.NewType()을실행시간자료형으로오해하기
__4.5정리

5장할수있다고해서해야한다는뜻은아니다
__5.1메타클래스
__5.2원숭이패치
__5.3읽기메서드와설정메서드
__5.4허락보다용서받는것이더쉽다
__5.5구조적패턴대조
__5.6정규표현식과재앙적역추적
__5.7정리

6장적절한데이터구조선택하기
__6.1collections.defaultdict
__6.2collections.Counter
____6.2.1해결책
____6.2.2잘못
__6.3collections.deque
____6.3.1해결책
____6.3.2잘못
__6.4collections.ChainMap
____6.4.1해결책
____6.4.2잘못
__6.5데이터클래스와명명된튜플
____6.5.1명명된튜플사용하기
____6.5.2정적과동적
____6.5.3데이터클래스
__6.6효과적인구상연속순서열
__6.7정리

7장데이터구조의잘못된사용
__7.1반복된목록탐색의2차시간복잡도
__7.2목록중간에서요소를제거하거나추가하기
____7.2.1좀더효율적인데이터구조
__7.3문자열은문자열의반복가능한객체집합
__7.4상수를사용하는대신enum을(자주)사용하기
__7.5많이알려지지않은사전메서드익히기
____7.5.1객체를정의하는사전
____7.5.2정기적으로발생하는잘못으로돌아가기
__7.6JSON과파이썬은서로깔끔하게변환되지않는다
____7.6.1JSON에대한몇가지배경
____7.6.2왕복에실패하는데이터
__7.7자신만의데이터구조만들기
____7.7.1자신만의것을만드는것이나쁜생각일때
____7.7.2자신만의것을만드는것이좋은생각일때
____7.7.3핵심요약
__7.8정리

8장보안
__8.1무작위성의종류
____8.1.1암호학적무작위성을위해secrets사용하기
____8.1.2재현가능한무작위분포
__8.2‘안전한’소스코드에비밀번호나기타비밀정보넣기
__8.3‘자신만의’보안기제만들기
__8.4마이크로서비스에SSL/TLS사용하기
__8.5제3자라이브러리requests사용하기
__8.6데이터베이스API를사용하지않을경우의SQL주입공격
__8.7안전하다는가정을확인하기위해assert사용하지않기
__8.8정리

9장파이썬에서의수치계산
__9.1IEEE-754부동소수점숫자이해하기
____9.1.1NaN(그리고다른부동소수점숫자)을비교하기
____9.1.2NaN과statistics.median()
____9.1.3부동소수점숫자의순진한사용:결합법칙과분배법칙
____9.1.4부동소수점숫자의순진한사용:입자성
__9.2숫자자료형
____9.2.1금융계산에부동소수점숫자를사용하지않기
____9.2.2수치데이터자료형의비직관적인동작
__9.3정리

부록다른책에서읽을만한주제
__A.1테스트주도개발
__A.2동시성
__A.3패키징
__A.4자료형검사
__A.5수치및데이터프레임라이브러리

찾아보기
파이썬코딩의기술51가지찾아보기

출판사 서평

파이썬설계철학까지이해하는파이썬코딩의기술실전편51!
지금보다더나은프로그래머가되고싶은,모든파이썬개발자를위한,파이썬전문가가이드!

파이썬코딩에는파이썬다운기술이필요하다!저자는25년간열정적으로파이썬을사랑하고사용해오면서자신의코드및실제현업코드에서파이썬개발자들이쉽게빠지는잘못,함정,오류들을발견해왔다.이책은그중51가지를선별해관련된개념끼리묶어서총9개장으로소개한다.각장과절의내용은서로독립적으로구성하여그때그때필요한부분만참고할수있게했다.또한,실제프로젝트상황및간결하고명확한예제를제시해문제와솔루션을깊이이해하고,문제에대해올바르게사고하는방법을설명하려고노력했다.문제와솔루션을이해하는과정에서파이썬의설계철학과파이썬이추구하는가치를다시한번상기하고,파이썬의잠재력을끌어올리는프로그래밍기법을배우고,궁극적으로파이썬코드의질을한단계향상시킬수있을것이다.

간단하고깔끔하게,명확하고효율적으로,파이썬을사용하라.

파이썬을파이썬답게사용하자
widgets.set_count(widgets.get_count()+1)파이썬전문가가이코드를보았다면훨씬직관적이고알기쉬운widgets.count+=1을사용했을것이다.많은파이썬코드가잘못되었거나우아하지않거나다른언어를사용하는방식을사용한탓에파이썬답지않다.

파이썬전문가가되자
일반코더와파이썬전문가를구분하는기준은무엇일까?단순히관행을아는것에그치지않고,파이썬이가진다양한측면의장점과함정을이해하여왜반드시이방법을사용해야하는지아는것이다.파이썬의강력함,개성,철학을잘이해하고코드를작성해보자.

함정,문제,시행착오를피하자
각장마다파이썬개발자들이쉽게빠질수있는잘못,함정,오류를제시하고,이를피하는방법과솔루션을간결하고명확한코드예제로설명했다.모든문제는저자가실제코드에서,때로는필드에서,때로는코드리뷰중에발견한문제다.버그를피하고효율적인코드를작성하는방법을배우자.