파이썬은 1991년 네덜란드계 프로그래머인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, "플랫폼에 독립적" 이며 "인터프리터식, 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어" 이다.
python은 "인터프리터" 언어다. 당신이 어떤 파일로든 `.py` 파일만 만들고, python의 인터프리터가 설치되어 있다면 [ compiler -> byte code -> pvm -> running ] 까지 다 해준다.
"interpreting" 의 전체 과정과 cpython이 C로 python 메모리 할당과 관리를 어떻게 하는지 큰 그림을 살펴봤다. 할당을 했으면 해제는 어떻게 할까? python이 메모리를 해제하는 방법과 그 때문에 발생하는 GIL에 대해 알아보자.
앞 글에 이어 stack, heap memory에 어떤 값이 할당 되는지, 메모리 최적화를 위한 코드는 무엇인지 살펴보자
PEP 8 기준 python code style tool - Linter로 사용할 수 있는 flake8 그리고 조합이 좋은 black을 살펴보고 pre-commit 까지 설정해보자.
흔히 아주 쉽게 "사용법" 만 익히고, `@함수` 로 무지성 사용만 하던 데코레이터와 그 근간을 이루는 클로저에 대해 조금 더 깊은 개념부터 정확하게 살펴보자. 그러기 위해 일급 객체와 내부 함수 그리고 변수의 scope에 대해 깊게 알아보자.
우리가 흔히 사용하는 자료구조 `float`은 실수이며 소수점은 "부동소수점"으로 표현한다. 여기서 "부동" 이라는 이름 때문에 "움직이지 않는가?.." 라고 생각을 할 수 있다. 하지만 놀랍게 뜰 부(浮)를 사용하며, 소수점의 위치를 고정하지 않는 것이다.
[pydantic] 개인적으로 python을 사용하면서 활용도 높게 pythonic하게 코딩이 가능한 문법이나 tip을 정리했다. if-else/for one line 이나 dunder나 함수형 method (filter, map...)은 제외 했다.
python log는 어떻게 이뤄질까? python 기본 라이브러리 logging은 어떻게 설계되었고 python logging을 어떻게 사용해야 하는지 알아보자! logger, handler, filter, formatter 모두 하나하나 살펴보자!
프로젝트에서 "일관된 시간대"를 보장하는 것은 굉장히 중요하다. code level에서 time을 얻기까지 과정을 deep dive한 뒤, python datetime 모듈의 구조와 핵심 class를 제대로 파헤쳐보고 정복해서 사용해보자!
python에서 코루틴은 "메인"과 "서브"루틴이 서로 협력하는 루틴, cooperative routine 을 의미하며, "협력"이 핵심이다. 코루틴을 이해하기 위한 전반적인 내용을 살펴보자!
기본적인 코루틴의 개념, 메인 루틴과 서브 루틴의 컨셉은 보았다. 실제로 잘 활용하기 위해 코루틴 저변에 깔려있는 이터레이터(Iterator)와 제네레이터(Generator)에 대해 더 살펴보고 python의 코루틴이 발전한 방향과 코루틴 예제를 살펴보자!
python 진영에서는 "가상환경" 그리고 "의존성" 그리고 "빌드" 그리고 ... 등 과 같이 특수 목적에 따라 다른 라이브러리, 써드파티를 사용해왔다. 게다가 make file도 말이다. (물론 개인의 선택 및 취향이다.) 이제 poetry 를 활용해보자!
curl_cffi 는 curl-impersonate 를 "CFFI(C Foreign Function Interface for Python)" 를 통해 바인딩한 라이브러리다!
저를 포함한 이직러들을 생각하며 만든 cheat sheet 입니다. 정리 및 리마인드겸 작성했습니다. 빠른 찾기와 리마인드를 위한, python 코딩테스트 전용 세부 설명을 위한 글이 아닌점 유의 부탁드립니다.