python log는 어떻게 이뤄질까? python 기본 라이브러리 logging은 어떻게 설계되었고 python logging을 어떻게 사용해야 하는지 알아보자! logger, handler, filter, formatter 모두 하나하나 살펴보자!
[pydantic] 개인적으로 python을 사용하면서 활용도 높게 pythonic하게 코딩이 가능한 문법이나 tip을 정리했다. if-else/for one line 이나 dunder나 함수형 method (filter, map...)은 제외 했다.
[PyCon korea 발표 "셀러리 핵심과 커스터마이제이션" 정리] celery를 다루면서 1.안정적 완료, 2.효율적 처리, 3.고도화 및 커스터마이제이션에 대한 얘기를 정리하며 부족한 정보는 채우고 핵심에 대한 내용을 업데이트 했다.
우리가 흔히 사용하는 자료구조 `float`은 실수이며 소수점은 "부동소수점"으로 표현한다. 여기서 "부동" 이라는 이름 때문에 "움직이지 않는가?.." 라고 생각을 할 수 있다. 하지만 놀랍게 뜰 부(浮)를 사용하며, 소수점의 위치를 고정하지 않는 것이다.
django model을 사용하면서 공통된 queryset 호출, 특정 filter 조건에 model 대상 특정 비즈니스 로직의 반복을 경험하게 된다. 코드 재사용성과 유지보수 향상에 많은 도움이 되는 manager & mixin 활용에 대해 알아보자.
Kafka cluster infra를 docker compose file로 구성하고, 다루고, 주요 설정값을 살펴보자. 그리고 python code 기반으로 consumer & producer 를 만들고 직접 고가용성을 테스트하고 GUI tool를 살펴보자.
흔히 아주 쉽게 "사용법" 만 익히고, `@함수` 로 무지성 사용만 하던 데코레이터와 그 근간을 이루는 클로저에 대해 조금 더 깊은 개념부터 정확하게 살펴보자. 그러기 위해 일급 객체와 내부 함수 그리고 변수의 scope에 대해 깊게 알아보자.
task 자체와 실행에 초점을 살펴본 앞 글에 이어, task의 선&후행 실행(chaining)과 grouping하여 chord와 같이 task를 묶고 `for-loop` 없이 한 꺼번에 비동기 작업을 수행하는 것에 대해 알아보자.
우리는 이제, 단순 결과물에만 집중해서 기능주의적 관점으로 시장에 갑자기 등장하는 것이 아니라, 내가 왜 그 결과물에 집착을 하며, 그 결과물에 이르는 과정을 공유를 해야한다.
이 책은 자기계발서적 보다는 존 로버트 우든 감독의 전기에 더 가깝다. 그래서 더 재미있고 한 사람이 어떤 인생을 살면서 왜 이렇게 행동하고 생각하게 되었는지 피부로 와닿아서 더 흥미로웠다.
drf에서 DTO 그 이상의 역할을 하는 serializer, Serializers 를 왜써야 할까? 사용 목적과 이유를 확인하고 drf core와 serializer의 핵심 core를 한 번 파헤쳐 보자.
script를 실행하는 shell의 선언된 환경 변수, 해당 command를 실행하기 위한 path의 설정 값, 그리고 user 의 권한, 심지어 os버전에 따른 shell 버전 등 에 영향을 받는다.
celery는 퍼포먼스 체크나 디버깅이 쉽지않다. celery를 전체적으로 최적화 및 depth있는 분석을 위해 기본적인 모니터링 환경을 구성하고, 더 나아가 전체 web stack [Prometheus + Grafana + Loki + Promtail] 구성 해보자.
linux cli에 익숙해지기 위해서는 기본 shell 자체에 익숙해질 필요가 있다. 커널과 사용자(application)간의 다리역할을 하는 shell의 기본적인 문법을 살펴보자.
Celery: Distributed processing worker의 task & subtask(signature) 활용과 실습, 그에 따른 celery의 단점과 해결법.
Linux OS의 log는 커널, 서비스, 애플리케이션 등 시스템에 발생한 이벤트를 분류하여 기록한 파일이다. 크게 syslog, journal 2가지로 나뉘며 시스템 이슈 트레킹, 모니터링 등에 중요한 지표가 된다.
Sentry란 Application 에러 트래킹, 성능 모니터링을 제공해주는 서비스다. django stack에 sentry를 적용하고 어떻게 sentry가 분석하는지 기본 원리와 사용법에 대해서 파악해보자!
PEP 8 기준 python code style tool - Linter로 사용할 수 있는 flake8 그리고 조합이 좋은 black을 살펴보고 pre-commit 까지 설정해보자.
Redis와 Django는 middle-ware를 포함한 third party를 활용해 서로 활용도가 좋다. 캐싱과 비동기 작업 스케쥴링, 그리고 M.Q 로도 사용할 수 있는 redis의 django에서 사용법을 훑어보자! 우선 "실습 기반으로" 진행할 것이다.
slack bot을 만들어서 개인 workspace 에 귀속시켜서 사용하는 것은 간단하나 public하게 distribution 하기 위해서는 OAuth를 무조건 해야한다. 그러기 위한 re-direct url (call back url) 설정과 token관련 설정