저자: 알 스웨이가트 👇 (아래 사이트에서 무료로 볼 수 있다. 영어로)
출판사: 책만
https://inventwithpython.com/
설명이 너무 친절해서 지루하다고 느끼는 건 나 뿐일까..?
알 스웨이가트의 파이썬 프로젝트는 재밌어~ 하면서 봤는데,
이 책은 지루했다..ㅠ ㅠ
그렇지만, 14장 이후는 한 번 더 보기!
🔎 2022.09.01 통독
2장 환경 설정과 명령행 사용 방법
✏️ 그래픽 사용자 인터페이스(graphic user interface, GUI)
✏️ 명령형 인터페이스(command line interface, CLI)
명령형 프로그램 = 셸 (프로그램)
- 유닉스 운영체제용 셸 프로그램
- 본 셸 bourne shell(실행파일 이름 sh)
- 어게인 셸 bourne-again shell(실행파일 이름 bash)
- 리눅스
- 맥 OS
- 윈도우
3장 코딩 스타일 정립과 코드 포매팅 자동화
[스타일 가이드와 PEP8]
for 코드의 일관성과 가독성
https://peps.python.org/pep-0008/
[코드 행 내의 공백 활용]
🤔 나는 붙여쓰는 편인데.. 지금이라도 습관 들여야겠다...
https://black.readthedocs.io/en/stable/the_black_code_style/index.html
4장 이해하기 쉬운 이름
[표기법]
- 스네이크 표기법 UPPER_SNAKE_CASE
- 카멜 표기법 camelCase
- 파스칼 표기법 PascalCase
[PEP 8 명명 규약 Naming Convetion]
https://peps.python.org/pep-0008/#naming-conventions
- 모든 문자는 아스키 문자여야 한다. 즉, 강세 표시 부호가 없는 영문 대소문자로 표기해야 한다.
- 모듈 이름은 짧아야 하며 모두 소문자 표기
- 클래스 이름은 파스칼 표기법
- 상수 변수는 대문자 스네이크 표기법으로
- 함수, 메소드, 변수 이름은 소문자 스네이크 표기법
- 메소드에 대한 첫번째 인수는 항상 소문자 self라고 이름 붙여야 한다.
- 클래스 메소드에 대한 첫 번째 인수는 항상 소문자로 cls라고 이름 붙여야 한다.
- 클래스의 Private 속성은 항상 밑줄(_)로 시작해야 한다.
- 클래스의 Public 속성은 절대로 밑줄(_)로 시작해서는 안 된다.
※ 주의) 해당 지침을 엄격하게 따를 필요는 없음
5장 코드 악취 감지와 대응
[중복된 코드]
➡️ 함수나 루프문로 개선
[그냥 함수나 모듈이어야 하는 클래스]
[중첩된 리스트 컴프리헨션 list comprehension]
6장 파이썬 다운 코드를 작성하는 법
[리스트의 얕은 사본 만들기]
[:] 말고 copy()
[파이썬 다운 딕셔너리 사용법]
https://www.youtube.com/watch?v=oMyy4Sm0uBs
https://www.youtube.com/watch?v=66P5FMkWoVU
7장 프로그래밍 용어
(이해가 안 되서 정리🤔 느낌으론 알겠지만, 설명하긴 어려운..?)
[라이브러리 vs 프레임워크 vs SDK vs 엔진 vs API]
- library: 제 3자가 만든 코드 모음의 통칭. 함수, 클래스 또는 기타 코드 조각 포함.
- SDK (software Development Kit) 특정 운영체제나 플랫폼에서 동작하는 애플리케이션 작성을 돕는 코드 라이브러리, 문서화, 소프트웨어 도구가 모두 포함.
- API (Application Programing Interface): 라이브러리, SDK, 프레임워크, 엔진 등을 위한 공용 인터페이스. 리소스에 접근하기 위해 함수를 호출하거나 라이브러리 요청을 수행하는 방법을 지정한다.
- Framework: invision of control으로 동작하는 코드의 모음
invision of control(제어의 역전): 어떠한 일을 하도록 만들어진 프레임워크에 권한을 넘김으로써 클라이언트 코드가 신경써야 할 것을 줄이는 전략. 일반적인 사고와 반대되어 실행의 흐름을 프레임워크 자체가 가지고 있다. 그렇기에 우리가 코드를 프레임워크 안에 넣어서 개발을 진행해야 한다. 프로그래머가 가지고 있어야 하는 제어의 권한을 프레임워크에 주었기 때문에 이를 제어의 역전이라고 한다.