목차 Default node image Docker Hub options Slimer images Alpine images Distroless images Conclusion Reference 이미지 크기와 취약성은 CI/CD 파이프라인 및 보안 태세에 큰 영향을 미칠 수 있기에 Base 이미지를 선택하는 것은 최적화...
[Docker] Docker Multi-stage builds - (2/3)
목차 Before multi-stage Builder pattern Multi-stage builds Multi-stage build example Multi-statge 유용한 기능들 빌드 단계 이름 지정 특정 빌드 단계에서 ...
[Docker] Best practices for Dockerfile - (3/3)
목차 Layer 최적화 Docker 이미지 저장 방식 레이어 수 줄이기 명령문(Instructions) 정렬 패키지 최소화 애플리케이션 패키지 최소화 OS 패키지 최소화 Reference 1. Layer 수 최소화 1.1 Docker 이...
[Python] Python 비동기 asyncio 사용하기
목차 Python WAS CGI, FastCGI WSGI ASGI Python 비동기란? 코루틴 네이티브 코루틴 GIL 이란? 왜 asyncio를 사용해야 하는가? asyncio 사용하기 async/await ...
[Python] __hash__ 및 __eq__를 사용한 Python 해싱 및 동등성 이해
목차 eq 연산자 hash 연산자 Reference 1. __eq__ 연산자와 is python에서 __eq__ 연산자는 == 연산자를 오버로딩(Overloading)하는 방법이다. class SomeClass: ... def __eq__(self, other): #매개변수 재정의에 따른 오버로딩 # r...
[파이썬으로 살펴보는 아키텍처 패턴] Domain model
파이썬으로 살펴보는 아키텍처 패턴을 읽고 배운점을 기록하도록 하겠다. 이 책의 목적은 여러 가지 고전적인 아키텍처 패턴을 소개하고 이런 패턴들이 어떻게 DDD, TDD, 이벤트 기반 서비스를 지원하는지 파이썬을 통해 보여주는 것이다. 목차 도메인 모델링 도메인 모델이란 값 객체와 엔티티 도메인 서비스 ...
[Python] Iterator and Generator
이 번 포스팅에서는 iterator와 generator에 대해서 알아보도록 하겠다. 목차 Iterator? Iterator 만들기 iter next Generator? Generator 만들기 yield from 1. Iterator? ...
[FastAPI] Session deadlock issue
production 배포 전 동시성 테스트 단계에서 백엔드 서버가 request를 처리하지 못하고, 교착 상태(deadlock)로 멈추고 아래와 같은 에러를 뱉는 이슈가 지속적으로 발생했다. 교착 상태(deadlock)란? 두 개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다려, 결과적으로 아무것도 완료되지 못하는 상태를 가리킴 sql...
[OS] 멀티 프로그래밍, 멀티 태스킹, 멀티 프로세싱, 멀티 스레딩
저번 포스팅에 이어, 이번 포스팅 에서는 Multi-programming, Multi-Taskng, Multi-processing, Multi-Threding을 다뤄보도록 하겠다. 목차 Multi-programming Multi-Tasking Multi-processsing Multi-Threading 1. Multi-Prog...
[OS] Process, Thread
Front Team과 협업을 하면서 가장 번거로웠던 작업은 OpenAPI를 만드는 작업이었다. 그러던 와중 API 개발만 해도 OpenAPI를 자동으로 만들어 준다는 FastAPI라는 Python 프레임 워크를 알게되었고, 현재 다니고 있는 회사의 백엔드 프레임 워크로 사용중이다. 부끄러운 이야기이지만(..😰) 개발을 하면서 소스 코드 수준에서의 리...