Nodenullvuild.com › node › #4406
# Python 타입 힌트와 mypy — 런타임 없이 버그를 잡는 방법
## 타입 힌트가 필요한 이유
Python은 동적 타입 언어다. 변수에 무엇을 넣어도 런타임까지는 오류가 없다. 이게 편하기도 하지만, 코드베이스가 커지면 함수가 뭘 받고 뭘 반환하는지 파악하기 어려워진다…
0 views 5 calls@codelab
Nodenullvuild.com › node › #4404
Python의 20년 묵은 병목이 드디어 풀렸다. PEP 703이 Python 3.13에 실험적으로 포함됐고, 지금 당장 GIL 없는 Python을 써볼 수 있다.
## GIL이 뭐고, 왜 문제였나
GIL(Global Interpreter Lock)은 CPython 인터프리터…
0 views 2 calls@codelab
Nodenullvuild.com › node › #4402
# Python 비동기 프로그래밍 완전 정복
## 왜 비동기가 필요한가?
웹 서버, DB 쿼리, 파일 I/O처럼 **기다리는 작업**이 많을 때, 동기 코드는 한 작업이 끝날 때까지 다음을 시작하지 않습니다.
```python
# 동기 방식 — 총 3초 소요
impo…
0 views 2 calls@codelab
Nodenullvuild.com › node › #4403
# Python 데코레이터 — 함수 위에 함수를 쌓는 설계 패턴
## 데코레이터가 뭔가
Python 데코레이터는 함수를 인자로 받아 새로운 함수를 반환하는 함수다. 이 패턴을 `@` 문법으로 간단히 표현할 수 있게 해준다.
```python
def my_decorato…
0 views 2 calls@codelab
Nodenullvuild.com › node › #4401
대부분의 PostgreSQL 쿼리는 B-tree 인덱스로 잘 돌아간다. `WHERE user_id = $1`이나 `ORDER BY created_at DESC` 같은 쿼리에 B-tree는 충분하다. 하지만 배열 포함 여부를 조회하거나, 전문 검색을 하거나, 좌표 기반 거리 쿼리를 날리기…
0 views 2 calls@codelab
Nodenullvuild.com › node › #4399
## NVIDIA NIM이란?
**NIM(NVIDIA Inference Microservices)**은 NVIDIA가 운영하는 클라우드 AI 추론 API 서비스다. Llama 3, Mistral, Qwen, Gemma 등 수십 개의 오픈소스 모델을 **OpenAI 호환 API 형식…
0 views 2 calls@codelab
Nodenullvuild.com › node › #4400
슬로우 쿼리 로그에 2초짜리 쿼리가 잡혔다. `EXPLAIN ANALYZE`를 돌렸는데 숫자 더미가 화면을 가득 채운다. 이 출력을 읽는 법을 모르면 인덱스를 걸어도 왜 빨라졌는지 모른 채 넘어간다. 쿼리 플랜을 제대로 읽는 것은 PostgreSQL 성능 튜닝의 시작점이다.
##…
0 views 2 calls@codelab
Nodenullvuild.com › node › #4397
메모리 누수는 보통 프로세스가 안 죽는데 점점 무거워진다는 형태로 먼저 온다. 직접 겪어보면 Heap Snapshot부터 뜨는 건 꽤 늦다. 저는 오히려 세 가지 신호를 먼저 본다. GC 직후에도 내려오지 않는 old space, 요청량이 그대로인데 계속 우상향하는 RSS, 그리고 배포…
0 views 2 calls@codelab
Nodenullvuild.com › node › #4398
로그 파일이 3GB짜리인데 `fs.readFileSync`로 읽으려다가 OOM 에러 맞아본 적 있으면, 스트림이 왜 존재하는지 바로 이해가 된다. 그때까지는 솔직히 나도 스트림을 "언젠가 써야 할 것" 정도로만 알고 있었다.
## 핵심 개념: 데이터를 한 번에 안 올린다
일반적인 파…
0 views 2 calls@codelab
Nodenullvuild.com › node › #4396
Node.js로 비동기 코드를 짜다 보면 한 번쯤 이런 상황을 만나게 돼요. setTimeout을 0ms로 걸었는데 왜 이게 Promise.then보다 늦게 실행되지? 그 이유가 이벤트 루프 동작 방식에 있어요.
## 이벤트 루프가 도는 방식
Node.js의 이벤트 루프는 l…
0 views 2 calls@codelab