Memory Management in Python Python에서 메모리 관리는 python interpreter에 의해서 수행된다. Default Python Implementation default python implementation은 CPython으로, C로 구현이 되어있으며 다음 역할을 수행한다. code를 byte code로 ...
Trouble Shooting(Docker)
COPY 커멘드시 wildcard 사용 COPY src/* dest/ : src내에 있는 subdirectory 구조를 고려하지 않고, 파일들을 dest 경로로 복사 COPY src/ dest/ : subdirectory 구조를 고려하여 복사 deadsnakes repository에서 Python 설치시 버전 못찾는 이슈 해결 python 3.7뒤...
Trouble shooting(Fast API)
307 temporary redirect 원인 : endpoint 마지막에 “/” 가 있으면 redirect 하게 되어있어서 발생 해결방법 endpoint 마지막에 붙어있는 “/” 제거 바꿔야할 endpoint가 많다면, app = FastAPI() app.router.redirect_sl...
Thanos
Thanos aim of project Global query view of metrics Unlimited retention of metrics High availability of components, including Prometheus
Module vs Package vs Library vs Framework
Module is a file which contains various Python functions and global variables. It is simply just .py extension file which has python executable code. Package is a collection of modules. It must co...
PyPy
Why does it improve speed JIT Compiler : read bytecode, convert into machine code and optimize it Garbage collection : doesn’t use reference counting, only use cyclic finder making the total t...
GIL
Global Interpreter Lock(GIL) The Python Global Interpreter Lock or GIL, in simple words, is a mutex (or a lock) that allows only one thread to hold the control of the Python interpreter. Prob...
Concurrency in Python
threading vs asyncio vs multiprocessing Concurrency Type Switching Decision Number of Processors Pre-emptive multitasking (threading) The ope...
Testing
Suppress warning pep8 : # noqa pylint : # pylint: disable = line-too-long PyTest 사용시 테스트 코드 전에 코드를 실행하고 싶을때 @app.on_event("startup") async def startup_event(): ...
Trouble shooting log for snowflake
2021.11.09 문제상황 : 기존에 RDS에 적재되고 있는 데이터를 Snowflake warehouse로 적재하는 batch job을 구현했었는데, 과거 데이터들 또한 snowflake에 적재하는 backfill 작업을 수행해야 할일이 있었다. s3에 데이터를 저장하는 backfill작업은 airflow상에서 진행했지만 문제는 지난 ...