Zettelkasten
Search
⌘K
Graph
Tags
Timeline
355개 노트
2026년 6월
6월 11일 (목요일)
Django 느린 API의 CPU 병목은 DB가 아니라 직렬화 계층인 경우가 많다
1,704자
django
drf
serialization
performance
cpu
Python 3.11 gevent 성능은 greenlet 패치 버전에 좌우된다 - 3.2.4는 느리고 3.4.0+는 회복한다
2,089자
python
gevent
greenlet
performance
benchmark
ffmpeg 5.x는 aselect 표현식의 항이 약 100개를 넘으면 파싱에 실패한다
1,270자
ffmpeg
audio-processing
version-upgrade
docker
변수 하나만 바꾼 카나리를 같은 타깃그룹에 동시 투입하면 부하 교란 없이 회귀 원인을 격리한다
2,314자
canary
ab-testing
performance
ecs
newrelic
observability
6월 9일 (화요일)
DB 커넥션은 풀 크기를 늘리기 전에 트랜잭션 점유시간을 줄여 회전율을 높인다
1,156자
database
connection-pool
transaction
performance
InnoDB free list는 페이지가 통째로 비거나 채움률 50% 미만일 때 생긴다
1,683자
mysql
innodb
storage
clustered-index
RxJS Subject는 발행과 구독을 겸하는 멀티캐스트 Observable이고 4형제는 과거값 재생 정책으로 갈린다
1,461자
rxjs
reactive-programming
stream
enhanced Container Insights는 TaskId로 series를 폭증시키지만 CloudWatch proration이 비용을 수렴시킨다
2,648자
aws
ecs
cloudwatch
observability
cost
cardinality
6월 8일 (월요일)
AI 에이전트 메모리는 저장에서 생애주기·자기진화로 발전했고 인격 성장은 episodic→semantic consolidation이 만든다
3,751자
llm
agent-memory
rag
persona
taxonomy
MongoDB 드라이버의 SDAM 하트비트는 백그라운드에서 주기적으로 replica set 토폴로지를 추적한다
2,035자
mongodb
database-replication
service-discovery
troubleshooting
OPTIMIZE TABLE은 테이블을 통째로 리빌드해 DELETE로 남은 미반환 공간을 OS로 회수한다
1,508자
mysql
innodb
rds
disk
간헐 getaddrinfo ENOTFOUND는 DNS 부하가 아니라 libuv 스레드풀 starvation을 먼저 의심한다
1,749자
dns
nodejs
libuv
mongodb
troubleshooting
integration-test
힙은 완전 이진 트리를 배열로 표현해 최댓값 최솟값을 O(1)에 조회한다
1,689자
data-structure
heap
priority-queue
binary-tree
6월 7일 (일요일)
Agentic RAG의 핵심은 검색 기술이 아니라 충분성 검증 루프다
2,128자
rag
agentic-rag
retrieval
claude-code
sufficient-context
Generative Agents의 기억 검색은 recency·importance·relevance 가중합이며 relevance만 쿼리 임베딩으로 매번 재계산된다
1,169자
llm-agent
embedding
retrieval
generative-agents
6월 6일 (토요일)
TLS 핸드쉐이크가 무거운 건 비대칭 암호 연산과 왕복(RTT)이 둘 다 비싸기 때문이다
1,149자
tls
handshake
asymmetric-crypto
diffie-hellman
certificate
network-latency
stream은 앞으로만 쌓이고 소비되면 사라지는, 버퍼에서 순서대로 꺼내는 추상화다
861자
stream
buffer
abstraction
io
sequential-access
팬아웃은 push로 미리 꽂고 pull로 즉석에서 합치는데, 유명인만 pull로 빼는 하이브리드가 답이다
923자
fan-out
feed-timeline
system-design
push-pull
scalability
6월 5일 (금요일)
버퍼풀 메모리 축소로 인한 read latency 하락은 착시이다
1,521자
mysql
innodb
rds
buffer-pool
metrics
6월 4일 (목요일)
minimumIdle을 maximumPoolSize와 같게 둔 고정 풀은 버스트 때 커넥션 생성 지연을 없앤다
2,201자
connection-pool
performance
database
버퍼풀을 더 줄여도 되는지는 IOPS 천장 여유가 아니라 피크 ReadLatency로 판단한다
2,057자
rds
mysql
innodb
gp3
capacity-planning
cloudwatch
커서 페이지네이션은 offset의 중복·누락과 deep skip 비용을 정렬 키 seek로 해결한다
1,694자
pagination
cursor
database
mongodb
api-design
6월 2일 (화요일)
커넥션 풀 대기는 프로세스당 실사용량으로 풀 고갈과 재연결 churn을 가른다
1,712자
connection-pool
performance
diagnosis
gunicorn
rds
6월 1일 (월요일)
Meridian 경유 Hermes의 out of extra usage 400은 system prompt 특정 텍스트가 트리거다
4,042자
anthropic
claude-code
meridian
agent-harness
extra-usage
prompt-fingerprinting
transaction.on_commit으로 큐 enqueue를 감싸면 롤백 시 고아 잡을 막는다
1,601자
django
transaction
message-queue
consistency
2026년 5월
5월 29일 (금요일)
Claude 구독을 서드파티 도구에 붙이려면 토큰 추출이 아니라 claude CLI subprocess 프록시를 거친다
1,893자
claude-code
proxy
sse
macos-keychain
IN 리스트가 eq_range_index_dive_limit를 넘으면 옵티마이저가 index dive를 포기해 잘못된 plan을 고른다
1,440자
mysql
index
query-optimization
database
performance
RDS 다운사이징 전에 buffer pool을 점진적으로 낮춰 핫셋이 작은 pool에 맞는지 실측한다
2,227자
rds
mysql
innodb
capacity-planning
cost-optimization
RDS 메모리 다운사이징 가능 여부는 데이터가 커도 ReadIOPS가 낮은지로 판별한다
1,903자
rds
mysql
innodb
capacity-planning
cost-optimization
ReadIOPS는 논리 읽기 요청이 아니라 디스크 물리 읽기를 센다
2,143자
rds
mysql
innodb
ebs
monitoring
ReadIOPS는 절대값이 아니라 프로비저닝 IOPS 대비 사용률과 read-write 비율로 판단한다
1,560자
rds
mysql
ebs
capacity-planning
monitoring
5월 28일 (목요일)
AWS Secrets Manager 변경자는 CloudTrail PutSecretValue로 추적한다
1,089자
aws
secrets-manager
cloudtrail
audit-log
incident-response
5월 27일 (수요일)
UPDATE WHERE 조건부 갱신은 SELECT FOR UPDATE보다 lock 대기 없이 동시성 경합을 해결한다
1,471자
concurrency
database
django
mysql
race-condition
deadlock
5월 26일 (화요일)
HTTP fan-out 동시성 캡은 TCP 연결 풀로 걸어야 ephemeral port가 안 터진다
1,226자
concurrency
connection-pool
tcp
ephemeral-port
time-wait
http
Python datetime 의 localize 는 라벨링이고 astimezone 이 진짜 변환이다
1,217자
python
datetime
timezone
pytz
naive-aware-datetime
origin별 connection pool은 HTTP 클라이언트의 Bulkhead 패턴 구현이다
2,538자
connection-pool
bulkhead-pattern
undici
http-client
head-of-line-blocking
isolation
5월 25일 (월요일)
Data 분해는 source 간 상호작용이 없거나 격리가 절대적일 때 선택한다
1,623자
concurrency
batch-system
decomposition
scalability
parallelism
INSERT ON DUPLICATE KEY UPDATE는 UNIQUE 인덱스 충돌을 에러가 아닌 UPDATE 트리거로 바꾸는 절이다
1,772자
mysql
innodb
upsert
unique-index
concurrency
race-condition
배치 작업의 Promise 병렬화는 Pipeline보다 Stage-by-stage가 안전하다
1,408자
javascript
promise
concurrency
batch-system
pipeline
5월 24일 (일요일)
Redis KEYS와 SCAN은 둘 다 keyspace bucket을 순회하며 차이는 한 호흡에 보느냐 커서로 잘라서 보느냐다
1,347자
redis
scan
keys
single-threaded
cursor-iteration
5월 23일 (토요일)
동시성 카운터 업데이트는 Fanout 패턴으로 row lock 경합을 분산한다
1,433자
sql
concurrency
database-lock
fanout-pattern
postgresql
5월 22일 (금요일)
CodePush OTA는 네이티브 바이너리는 그대로 두고 JS 번들만 서버에서 교체한다
2,412자
code-push
ota
react-native
deployment
인터프리트되는 코드는 데이터이므로 OTA로 교체 가능하다
1,746자
ota
interpreter
runtime
architecture
5월 21일 (목요일)
Promise executor의 비동기 콜백에서 throw하면 Promise는 영원히 pending에 빠진다
1,661자
javascript
promise
async
error-handling
node
pitfall
postmortem
단식부기는 잔액 변화만 기록해 시스템 전체 자금 흐름을 추적하지 못한다
1,624자
accounting
ledger
bookkeeping
data-modeling
복식부기는 모든 거래에서 debit 합 = credit 합 불변식을 강제해 자금 흐름 정합성을 보장한다
2,651자
accounting
ledger
bookkeeping
data-modeling
invariant
5월 20일 (수요일)
Personalized PageRank의 시드에 결제력을 주입해 비결제 유저의 매출 기여도를 점수화한다
1,394자
pagerank
graph-algorithm
attribution
revenue-attribution
반사실 시뮬레이션은 모델로 그것이 없었을 때를 재현해 인과 기여도를 추정한다
1,489자
counterfactual
causal-inference
simulation
attribution
5월 18일 (월요일)
BM25는 TF 포화 함수와 길이 정규화로 TF-IDF의 한계를 해결한다
2,303자
retrieval
search
ranking
algorithm
nlp
검색에서 쿼리 표현이 결정적이지만 query rewriting보다 하이브리드 retrieval이 ROI가 크다
2,178자
retrieval
search
rag
query-rewriting
hybrid-search
mcp
사내 wiki MCP 서버는 search-fetch 분리와 ACL 인덱싱으로 컨텍스트 폭발과 권한 누수를 동시에 막는다
3,109자
mcp
wiki
retrieval
context-engineering
rag
acl
5월 16일 (토요일)
LLM의 화자 구분은 attribution 부재가 아니라 활용 단계의 실패다
2,335자
llm
speaker-attribution
prompt-engineering
5월 14일 (목요일)
Firebase 자동 생성 API 키의 2024년 5월 restriction은 enabled API를 허용해 새 API enable 시 자동으로 접근권이 확장된다
2,340자
gcp
firebase
security
api-key
gemini
Google Play 개발자 API 권한 모델은 GCP IAM과 Play Console 두 레이어로 분리된다
2,342자
google-play
androidpublisher
service-account
gcp
iam
architecture
Play Console SA는 앱 권한만으로는 purchases.subscriptions.get이 401을 반환한다
1,974자
google-play
androidpublisher
service-account
permission
debugging
5월 13일 (수요일)
Cloud Monitoring consumed_api 메트릭으로 GCP API 키 사용 패턴을 추적한다
1,992자
gcp
cloud-monitoring
api-key
mql
observability
security
GCP SA key의 사용 흔적은 private_key_id로 필터링한다
1,425자
gcp
security
audit-log
service-account
incident-response
5월 12일 (화요일)
BullMQ worker handler에는 timeout을 직접 걸어야 한다
1,283자
backend
bullmq
queue
redis
timeout
troubleshooting
postmortem
GCP API 키 호출자 IP는 Cloud Audit Data Access Log를 켜야 추적할 수 있다
1,474자
gcp
security
audit-log
cloud-monitoring
api-key
GCP API 키의 androidKeyRestrictions 빈 객체는 제한이 없는 것과 같다
1,468자
gcp
security
api-key
android
firebase
5월 11일 (월요일)
agent-platform 세션 영속화는 ~.claude volume symlink + DB messages fallback 2-층 방어로 한다
2,259자
agent-platform
claude-sdk
session-management
deployment
fly-io
qmd MCP는 한국어 작은 vault에서 Claude grep 베이스라인을 능가하지 못한다
2,977자
retrieval
rag
mcp
benchmark
korean
claude-code
5월 7일 (목요일)
Agent Platform은 manifest-first lazy-load와 skill 프롬프트로 source 검색 시스템을 구현한다
5,468자
agent-platform
claude-agent-sdk
llm
prompt-engineering
rag
mcp
lazy-loading
HTTP HEAD 요청은 본문 없이 헤더만 받는다
459자
http
web
networking
5월 6일 (수요일)
Python에서 SSE는 ASGI 환경에서만 운영 가능하다
2,959자
sse
asgi
wsgi
python
fastapi
django
streaming
http
QMD는 BM25, 벡터, LLM 리랭킹을 로컬 SQLite에서 결합한다
1,994자
retrieval
rag
sqlite
mcp
markdown
local-llm
gunicorn sync worker는 keep-alive를 무의미하게 만든다
1,027자
gunicorn
http-keepalive
python
nginx
performance
5월 5일 (화요일)
Gunicorn 워커 수가 많아지면 thundering herd로 인해 일부 워커만 요청을 받는다
1,267자
gunicorn
thundering-herd
haproxy
python
performance
django
텍스트 임베딩으로 광역 후보를 좁히고 CLIP 이미지 유사도로 시각 정밀 탐색하는 2단계 검색 구조
819자
multimodal-search
clip
vlm-caption
hybrid-search
embedding
5월 4일 (월요일)
ASGI는 WSGI에 async를 얹은 것이 아니라 양방향 메시지 스트림 모델로 재설계된 것이다
1,045자
python
wsgi
asgi
web-server
protocol
Docker Buildx provenance는 이미지를 OCI Index로 만들어 SageMaker와 Lambda에서 깨진다
1,272자
docker
buildx
provenance
sagemaker
lambda
oci
supply-chain-security
slsa
Gunicorn은 WSGI 프로세스 매니저, Uvicorn은 ASGI 이벤트 루프 서버다
1,541자
python
wsgi
asgi
gunicorn
uvicorn
web-server
SageMaker Async Inference는 ApproximateBacklogSizePerInstance로 Scale-to-Zero가 가능하다
1,096자
aws
sagemaker
autoscaling
cloudwatch
scale-to-zero
WhisperX는 VAD로 청크 의존성을 제거해 배치 추론을 가능하게 한다
682자
whisperx
stt
vad
batch-inference
5월 3일 (일요일)
GMM은 정규분포 PDF들의 볼록결합으로 임의의 분포를 근사한다
2,247자
gmm
mixture-model
statistic
probability
ML
universal-approximator
5월 2일 (토요일)
Image Shuffle Test는 VLM이 이미지를 보는지 검증하는 필수 sanity check다
759자
vlm-fine-tuning
sanity-check
image-shuffle-test
vision-grounding
OMR용 compact notation은 MusicXML 대비 토큰 효율성을 위해 설계했다
748자
omr
compact-notation
music-representation
vlm-fine-tuning
VLM에서 극단적 aspect ratio는 리사이즈해도, 원본을 넣어도 학습을 실패시킨다
1,137자
vlm-fine-tuning
aspect-ratio
patch-merger
qwen2-5-vl
image-preprocessing
faster-whisper BatchedInferencePipeline은 production blocker급 미해결 이슈가 다수 있다
3,162자
faster-whisper
ctranslate2
batched-inference
production-readiness
library-evaluation
5월 1일 (금요일)
GIL은 race condition을 가릴 수 있어 안 보인다가 안전하다를 의미하지 않는다
723자
python
threading
concurrency
gil
race-condition
LLM 에이전트가 읽을 데이터는 JSONL이 indented JSON보다 유리하다
1,028자
llm
agent
data-format
jsonl
Lock의 critical section은 최소한으로 작게 유지해야 한다
890자
python
threading
concurrency
lock
critical-section
Pub:Sub 기반 캐시 무효화는 TTL을 fallback으로 함께 둬야 한다
1,205자
cache
pubsub
distributed-system
feature-flag
ctranslate2 num_workers는 가중치를 공유하고 worker별 메모리는 호출 중에만 늘어난다
2,326자
ctranslate2
faster-whisper
memory-management
inference-parallelism
benchmarking
ctranslate2의 GIL 해제와 num_workers는 독립적인 두 메커니즘이다
2,392자
ctranslate2
faster-whisper
gil
python-concurrency
inference-parallelism
threading
threading.Timer는 one-shot non-daemon 스레드라 반복과 종료를 직접 다뤄야 한다
1,180자
python
threading
timer
daemon
2026년 4월
4월 27일 (월요일)
Agora Server Gateway SDK의 encoded frame observer는 원본이 아닌 재인코딩된 Opus를 전달한다
918자
agora
opus
encoded-frame
passthrough
re-encoding
Python ctypes로 C 네이티브 라이브러리의 미구현 함수를 바인딩할 수 있다
954자
python
ctypes
ffi
native-binding
agora
nm과 strings로 바이너리의 심볼과 내부 문자열을 확인할 수 있다
772자
reverse-engineering
nm
strings
binary-analysis
macos
tcpdump 패킷 크기 분포로 오디오 코덱을 추정할 수 있다
567자
tcpdump
network-analysis
opus
pcm
audio-codec
4월 26일 (일요일)
Claude Code 도메인 스킬로 코드 탐색 효율을 올릴 수 있다
1,304자
claude-code
ai-agent
developer-experience
skill-system
experiment
4월 25일 (토요일)
Agora SDK는 Opus 패킷을 수신하여 내부에서 PCM으로 디코딩한다
1,147자
agora
opus
pcm
tcpdump
audio-pipeline
network-analysis
ECS Exec SSM Agent는 readonlyRootFilesystem에서 동작하지 않는다
731자
aws
ecs
fargate
ssm
terraform
Opus VBR은 오디오 복잡도에 따라 bitrate를 실시간으로 조절한다
566자
opus
audio
codec
webrtc
4월 23일 (목요일)
Bucket 정렬은 데이터를 버킷으로 분배 후 개별 정렬한다
446자
algorithm
sorting
Fenwick Tree(Binary Indexed Tree)는 구간 합을 효율적으로 계산하는 자료구조다
595자
data-structure
tree
algorithm
HashRing은 분산 시스템에서 데이터를 균등 분배하는 자료구조다
863자
distributed-systems
hash
data-structure
LZMA2와 xz 데이터 압축 알고리즘
241자
compression
Manifold Learning은 고차원 데이터의 저차원 구조를 학습한다
263자
machine-learning
dimensionality-reduction
Segment Tree는 구간 질의를 효율적으로 처리하는 트리 자료구조다
678자
data-structure
tree
algorithm
Shapley value는 협력 게임에서 참여자의 기여도를 계산한다
593자
game-theory
algorithm
optimization
TF-IDF는 문서에서 단어의 중요도를 측정한다
188자
NLP
algorithm
text-analysis
Whisper 음성 처리와 최적화 방식
664자
speech-to-text
whisper
optimization
ts에서 aac로 copy로 변경하면 duration이 변경될 수 있다.
580자
audio-processing
스트림 복사는 디코딩·재인코딩을 수행하지 않고 입력 컨테이너에서 읽은 압축된 패킷을 출력 컨테이너에 그대로 기록하는 동작
1,090자
audio-processing
오디오 파일은 컨테이너, 스트림, 패킷으로 구성된다.
398자
audio-processing
카테고리 이론은 프로그램의 합성 가능한 구조를 다룬다
683자
functional-programming
category-theory
type-system
컴퓨터는 정보를 처리하는 기계다
1,558자
computer-science
information-theory
computer-architecture
파이썬 메타클래스는 클래스의 생성과 동작을 제어한다
184자
python
metaclass
OOP
4월 22일 (수요일)
VPC Route Table은 VPC안에서 IP 범위에 따른 다음 홉을 지정한다.
352자
network
aws
VPC의 IGW는 VPC와 인터넷 사이의 통신을 가능하게 한다.
306자
network
aws
4월 20일 (월요일)
python 3.12부턴 cpython stack이 PyInterpreterFrame으로 관리된다.
468자
python
4월 19일 (일요일)
Python 동시성 프로그래밍
660자
concurrency
python
4월 15일 (수요일)
Encapsulation와 PDU(Protocol Data Unit)를 이용해서 OSI의 추상화를 구현한다.
347자
network
abstraction
Packet구조는 IP header와 payload로 구성된다.
462자
network
TCP Byte Stream -- Transport Layer의 추상화다.
667자
network
4월 14일 (화요일)
I∕O 멀티 플렉싱은 여러 I∕O 채널을 감시하는 문제를 해결한다
481자
concurrency
Redis는 싱글 스레드여도 빠르다.
178자
redis
concurrency
4월 10일 (금요일)
성능 엔지니어링
187자
performance-optimize
4월 9일 (목요일)
BPR Baysian Personalized Ranking 유도 과정
127자
ML
algorithm
Parquet은 column based format으로
501자
database
data-structure
Red black Tree RBT
812자
data-structure
algorithm
SRM Social Relation Model
320자
modeling
Saga 패턴
121자
distributed-systems
pattern
gRPC
39자
network
api
replication handle write conflicts
369자
database
distributed-systems
멱등성은 같은 요청을 여러 번 해도 결과가 같음을 보장한다
17자
distributed-systems
pattern
베이즈 정리
258자
statistic
4월 8일 (수요일)
Redis cluster는 단일 노드의 메모리 용량, 쓰기 처리량 한계를 수평 확장으로 해결한다.
501자
redis
distributed-systems
sharding
read-after-write consistency 패턴
73자
distributed-systems
consistency
카프카에서 파티션과 컨슈머 사이의 관계
554자
kafka
message-queue
4월 7일 (화요일)
2PC(Two phase Commit)은 분산 트랜잭션에서 원자성을 보장하는 프로토콜이다.
568자
microservice
distributed-systems
atomicity
API 게이트 웨이는 클라이언트와 마이크로 서비스들 사이의 단일 진입점 역할을 한다.
255자
microservice
서비스 디스커버리는 동적 환경에서 서비스 인스턴스의 네트워크 위치를 등록, 제거, 조회하는 메커니즘이다.
875자
microservice
distributed-systems
4월 5일 (일요일)
Cache Stampede 방어 전략 - Locking, PER, SingleFilght, SWR이 있다.
620자
cache
pattern
Kafka
305자
message-queue
Protobuf는 바이너리로 인코딩되기 때문에 데이터가 작고 파싱속도가 빠르다.
192자
serialization
network
데이터 시스템의 트레이드오프
120자
database
분산 환경에서 충돌 해결 전략
118자
distributed-systems
pattern
4월 2일 (목요일)
Consistent Hashing
977자
hash
distributed-systems
Timsort는 merge sort와 insertion sort를 결합한 구조의 정렬 알고리즘이다.
437자
algorithm
python
2026년 2월
2월 25일 (수요일)
Network Time Protocol은 다양한 방식으로 클럭 동기화를 한다
1,803자
distributed-systems
network
2월 3일 (화요일)
해시 충돌 방지 로직에는 Open addressing, Chaining이 있다.
403자
hash
2월 2일 (월요일)
Quick Sort는 평균 O(N log N)이지만 최악 O(N²)이 될 수 있다
677자
algorithm
Quick Sort은 재귀 call stack을 통해 구현하므로 공간 복잡도가 logN이다.
737자
algorithm
sorting
call-stack
2026년 1월
1월 31일 (토요일)
Call Stack은 서브루틴의 중첩 호출 문제를 해결하기 위해 등장했다
510자
computer-science
call-stack
스택은 함수의 실행 정보를 프레임 단위로 저장한다
673자
computer-science
data-structure
1월 30일 (금요일)
오토마타 이론은 계산 가능성의 경계를 정의한다
789자
computer-science
automata
유한 오토마타는 현재 상태만 기억한다
473자
automata
theory-of-computation
computer-science
정규 언어는 유한 오토마타로 인식 가능한 언어다
575자
formal-language
automata
computer-science
1월 28일 (수요일)
B+Tree는 디스크 접근을 최소화하기 위해 설계된 균형 트리 자료구조다
729자
database
index
data-structure
Coroutine은 실행을 중단했다가 재개할 수 있는 함수다
479자
concurrency
디스크는 블록 단위로 데이터를 읽고 쓴다
450자
database
1월 27일 (화요일)
Range 쿼리 종류
577자
database
mysql
1월 26일 (월요일)
의존적 서브쿼리는 JOIN으로 최적화할 수 있다
882자
sql
optimization
database
1월 24일 (토요일)
Index Intersection은 여러 단일 인덱스 결과를 조합한다
551자
database
index
optimization
OR 연산은 인덱스의 연속 스캔을 방해해 비효율을 유발한다.
1,327자
index
database
1월 16일 (금요일)
S3에 date prefix를 붙이면 스토리지 클래스 전환 및 삭제를 자동화 할 수 있다.
617자
aws
s3
1월 15일 (목요일)
Outbox Poller는 상태 변경을 먼저 하고 Queue에 넣는다
605자
pattern
transaction-outbox
Outbox Polling에서 retry 책임은 발행과 처리로 분리된다
572자
pattern
transaction-outbox
Outbox와 Job 이력은 분리하는 게 좋다
305자
pattern
1월 14일 (수요일)
Transactional Outbox 생성 후 즉시 발송하는 로직은 Polling을 최적화한 방법이다.
558자
pattern
distributed-systems
동시성 프로그래밍 모델
3,236자
concurrency
parallel-computing
1월 13일 (화요일)
Partial Index로 특정 조건에서만 유니크 제약을 적용할 수 있다
477자
database
postgresql
mysql
index
SELECT FOR UPDATE는 Read-Modify-Write 패턴에서만 필요하다
364자
database
concurrency
lock
Scheduler Job은 처리 시간을 고려해 중첩 실행을 방지해야 한다
763자
batch
scheduler
architecture
rq
배치 시스템 재시도는 프레임워크 기능을 활용하는 것이 좋다
398자
batch
retry
architecture
pattern
임베딩 크기를 어떻게 결정하고, 출력된 임베딩 사이즈는 차원수 X 데이터 타입 크기로 결정된다.
749자
ML
embedding
1월 12일 (월요일)
Attention Pooling은 학습 가능한 가중치로 시퀀스를 집계한다
790자
deep-learning
attention
pooling
Dimensional SER에서 CCC는 사실상 표준 평가 지표다
948자
SER
speech-emotion-recognition
evaluation-metric
CCC
L2 Norm은 벡터의 유클리드 길이를 측정한다
651자
linear-algebra
norm
vector
LOOCV는 모든 샘플을 한 번씩 테스트하는 교차 검증이다
497자
machine-learning
cross-validation
1월 9일 (금요일)
CCC Loss는 예측값과 실제값의 일치도를 측정한다
933자
ML
loss-function
regression
Downstream task는 사전학습 모델을 적용하는 최종 목표 태스크다
461자
ML
transfer-learning
pre-training
Full fine-tuning vs Parameter-efficient fine-tuning 비교
589자
fine-tuning
LoRA
PEFT
L2 정규화는 가중치 크기에 페널티를 부여해 과적합을 방지한다
833자
ML
regularization
overfitting
LoRA 하이퍼파라미터 튜닝 가이드
533자
fine-tuning
LoRA
hyperparameter
LoRA는 Transformer의 Attention 레이어에 주로 적용된다
517자
fine-tuning
LoRA
transformer
LoRA는 저랭크 행렬로 가중치 업데이트를 근사한다
1,768자
fine-tuning
LoRA
deep-learning
MSE와 Huber 같은 회귀 loss
775자
ML
loss-function
regression
QLoRA는 양자화와 LoRA를 결합한다
467자
fine-tuning
LoRA
QLoRA
quantization
임베딩 모델의 Frozen vs Fine-tuning 전략
659자
ML
embedding
fine-tuning
transfer-learning
1월 7일 (수요일)
Time-of-Check to Time-of-Use(TOCTOU)는 검사 시점과 사용 시점 사이의 경쟁 조건이다.
373자
concurrency
1월 6일 (화요일)
Content-Addressable Storage(CAS)는 데이터의 해시값을 주소로 사용한다.
864자
hash
1월 5일 (월요일)
DCT(Discrete Cosine Transform)는 신호를 주파수 성분으로 분해한다.
860자
signal-processing
Hamming Distance는 두 데이터 간의 차이를 비트 단위로 측정한다.
591자
hash
2025년 12월
12월 30일 (화요일)
램포트 시계 (Lamport Clock)는 분산시스템에서 이벤트 순서를 결정하기 위한 논리적 시계다.
553자
distributed-systems
벡터 시계 (Vector Clock)는 이벤트의 인과관계를 추적해서 램포트 시계의 동시성 구별 한계를 해결한다.
887자
distributed-systems
인과적 브로드캐스트 (Causal Broadcast)는 메시지의 인과관계를 유지하는 브로드 캐스트 프로토콜이다.
664자
distributed-systems
전체 순서 브로드캐스트 (Total Order Broadcast)
1,018자
distributed-systems
12월 29일 (월요일)
Claude Agent, Skill, Rule 차이점
654자
agent
vibe-coding
12월 26일 (금요일)
UnionFind는 원소들이 서로소 집합으로 나눠져 있을때 같은 집합으로 확인하고 합치는 작업을 효율적으로 처리한다.
270자
data-structure
algorithm
12월 25일 (목요일)
24 replication handle write conflicts
369자
database
distributed-systems
24 데이터 베이스 인덱스
390자
database
index
2PL Two Phase Locking
708자
database
concurrency-control
locking
32비트 아키텍쳐, 64비트 아키텍쳐
97자
computer-architecture
5가지 캐시 전략 - aside, read-through, write around, write through, writeback
777자
cache
architecture
BASE system
128자
distributed-systems
BASE
consistency
CAP 정리 Brewer's Theorem
341자
distributed-systems
CAP
CGI, FastCGI, WSGI
257자
python
web-server
WSGI
CQRS (Command and Query Responsibility Segregation)는 읽기 연산과 쓰기 연산을 분리해 부하를 최적화한다.
280자
architecture
microservice
CRDT Conflict-Free Replicated Data Types
678자
distributed-systems
CRDT
Cepstral Analysis은 배음 구조를 찾게 해준다.
839자
signal-processing
audio-processing
Chunk Hash는 모듈 번들러에서 사용되고 cache key로서 사용될 수 있다.
651자
algorithm
hash
webpack
Classless Inter-Domain Routing(CIDR)
190자
network
CIDR
addressing
Column Oriented Storage
376자
database
storage
columnar
DFT(Discrete Fourier Transform)
276자
signal-processing
DeadLock Detection
110자
database
deadlock
concurrency-control
Dirty Read
105자
database
transaction
isolation
Django ORM 고급 기능
1,425자
django
ORM
python
HTTP 2.0
982자
http
network
IDE(Integrated Drive Electronics) 하드 디스크
190자
storage
hardware
LSM Tree + SSTable
297자
database
data-structure
Message Broker
265자
messaging
architecture
Murmurhash는 암호학적 해시 기법보다 빠르고 균등한 해싱 기법이다
111자
algorithm
hash
NAT(Network Address Translation)는 IP 변환을 통해 private 네트워크를 외부망과 연결 시킨다.
404자
network
NAT
PCM은 아날로그 신호를 디지털(양자화)된 신호로 바꾼다.
337자
audio-processing
signal-processing
Partitioning(Sharding)
676자
database
distributed-systems
sharding
Perplexity, 언어 모델 비교 방법
134자
ML
NLP
evaluation-metric
Precision, recall, accuracy
724자
ML
evaluation-metric
Process와 Thread 차이
329자
os
process
thread
RAID Redundant Array of Independent Disks
603자
storage
RAID
Rabin–Karp string-matching algorithm
475자
algorithm
string-matching
hash
Radix 정렬은 자리수 별로 그룹화해서 정렬한다.
143자
sorting
algorithm
ReSTful API Patch 요청에 대한 응답은 변경된 리소스만 내려주는게 좋다.
32자
api
design-pattern
Realtime Backend System Design
199자
architecture
websocket
Redis Replication
1,121자
redis
distributed-systems
Rolling Hash는 덧셈, 뺄셈을 통해 다음 해시 값을 계산 할 수 있다.
207자
algorithm
hash
SOLID
292자
design-principles
OOP
Serial Execution
276자
database
transaction
concurrency-control
Serializable 직렬성
207자
database
transaction
serializable
Socket - 프로세스가 네트워크에 접근하는 인터페이스
679자
network
socket
TMA(Traditional Marriage Algorithm)
206자
matching-algorithm
Token Bucket
112자
rate-limiting
algorithm
UMAP(Unified Manifold Approximation and Projection)
1,755자
ML
dimensionality-reduction
V8 엔진
401자
javascript
V8
JIT
__pycache__
215자
python
bytecode
import
codec는 인코딩과 디코딩을 규정하는 spec이다.
333자
multimedia
codec
encoding
data structure
34자
data-structure
fluentd 로그 수집기
268자
logging
fluentd
observability
gunicorn worker
1,355자
python
gunicorn
inode
147자
os
filesystem
javascript this
236자
javascript
this
linearizable DB
226자
distributed-systems
linearizability
consistency
mysql 정렬
767자
mysql
sorting
query-optimization
mysql 풀 테이블 스캔
354자
mysql
query-optimization
nginx 동작 방식
388자
nginx
web-server
nvme0n1p1
193자
linux
storage
NVMe
pHash(perceptual hash)는 같은 사진을 찾는데 유용하다.
350자
image-processing
hash
pydantic
448자
python
pydantic
validation
python MetaClass 다중상속 문제
254자
python
metaclass
inheritance
python dictionary 구현체
329자
python
data-structure
hash
redis Better Rate Limiting With Redis SortedSet
1,908자
redis
rate-limiting
pattern
redis 분산 환경 - sentinel
147자
redis
distributed-systems
serialize, deserialize(직렬화, 역직렬화)
529자
computer-science
typescript type and interface
81자
typescript
type-system
webhook 정보 처리 queue, consumer 패턴
132자
pattern
message-queue
계층형 아키텍쳐, 헥사고날 아키텍쳐
354자
architecture
디스크 토폴로지
250자
os
storage
disk
메세지 브로커와 이벤트 브로커의 차이
224자
architecture
message-queue
백엔드 개발자 3년차 역량
33자
career
분산 시스템 일관성 모델
229자
distributed-systems
싱글톤 테스트가 어려운 이유
120자
design-pattern
testing
어떤 기술을 선택할지, 왜 그 기술을 써야하는지 생각해야함
19자
engineering-case
오토 인코더
479자
ML
deep-learning
저장장치 인터페이스
644자
storage
hardware
직렬성 스냅샷 격리 수준 (Serializable Snapshot Isolation)
1,029자
database
transaction
SSI
충돌 구체화(Materializing Conflicts)
237자
database
concurrency-control
컨볼루션 Convolution
814자
signal-processing
math
ML
클래스 기반의 주소
527자
network
IP
addressing
트랜스포머 어텐션
688자
transformer
ML
트랜잭션 격리 수준
3,578자
database
transaction
isolation
파이썬에서 인터페이스 없는 이유
244자
python
interface
duck-typing
패턴 인식과 머신러닝
520자
ML
probability
bayesian
프로그래밍
475자
compiler
linker
programming
프로세스의 이해
1,129자
os
process
프롬프트 엔지니어링
535자
AI
prompt-engineering
12월 24일 (수요일)
SSIM(Structural Similarity index Measure)는 두 이미지가 얼마나 구조적으로 같은지 평가한다.
562자
image-processing
12월 22일 (월요일)
ecr 버전 관리
163자
operation
aws
12월 21일 (일요일)
aws sqs
330자
aws
message-queue
영상 생성 AI가 결국 AGI를 만드는 핵심 열쇠
134자
api
채널톡 aws sqs
358자
engineering-case
12월 18일 (목요일)
CPU 스케줄링 방식의 naive한 구현 FIFO, SJF,
503자
scheduling-policy
os
computer-science
OS가 Process에 대해 fork, wait, exec(API)를 할 수있다.
826자
os
Process는 프로그램의 인스턴스(실행중)이다.
730자
os
스케줄링 - 멀티 레벨 피드백 큐
1,048자
os
scheduling-policy
computer-science
스케줄링 - 지연시간, 라운드로빈
583자
os
scheduling-policy
computer-science
정렬 알고리즘
108자
algorithm
sorting
제한적 직접 실행은 CPU 가상화 문제를 해결한다.
557자
virtualization
os
트리
133자
data-structure
12월 17일 (수요일)
Redis 모음집
305자
redis
database replication 종류
326자
database
distributed-systems
database replication
354자
database
distributed-systems
배치 시스템 설계
699자
implementation
12월 16일 (화요일)
Program, Process, Task 용어 구분
487자
os
process
두 장군 문제
290자
distributed-systems
비잔틴 장군 문제는 악의적인 노드가 포함됐을 때를 가정한 분산 합의 문제
145자
distributed-systems
12월 14일 (일요일)
평균 응답 속도보다 p99가 중요한 이유
1,190자
operation
distributed-systems
12월 12일 (금요일)
Huffman Coding은 높은 빈도로 존재하는 문자에 작은 비트를 주는 방식으로 압축한다.
165자
compression
audio-processing
RedLock은 과반수 투표를 통해 락을 잡는다.
489자
redis
distributed-systems
lock
connection pool 고갈 문제를 layered defence를 이용해 해결할 수 있다.
1,193자
optimization
connnection-pool
connection pool에서 connection 순환 속도을 고려하지 않으면 조용히 서비스 성능이 악화된다.
691자
database
optimization
느린 connection pool circulation으로 인한 3가지 실패 시나리오
388자
database
connnection-pool
데이터가 프로세스에서 네트워크로 전달되기 전까지
1,209자
network
비서 문제
171자
optimal-stopping-theory
12월 11일 (목요일)
python 3.11 이후부턴 gevent 성능이 악화될 수 있다.
1,617자
python
gevent
12월 3일 (수요일)
업무시간의 빈번한 autoscaling을 어떻게 해결할 것인가?
276자
operation
autoscaling
12월 2일 (화요일)
redis slowlog
46자
redis
2025년 11월
11월 28일 (금요일)
선택도와 카디날리티 차이
404자
database
index
mysql
11월 26일 (수요일)
db connection pool의 max age에 jitter 를 적용하면 connection 생성 p99가 개선된다.
338자
database
optimization
django
11월 19일 (수요일)
pt-query-digest로 슬로우 쿼리에 대한 정보를 자세히 볼 수 있다.
238자
profiling
database
percona-toolkit
11월 14일 (금요일)
z- 작성중 사용자 모드 어플리케이션에서 스케줄링 메커니즘과 프로그램 모델을 구현하는 방법
112자
os
concurrency
11월 13일 (목요일)
concurrent.futures.ThreadPooolExecutor 동작
489자
python
implementation
django orm은 thread-safe 하다
231자
django
python
database
django prefetch_related objects 구현
264자
python
django
implementation
python ThreadPoolExecutore sumbit과 map 동작 차이
209자
python
11월 12일 (수요일)
복합 인덱스 설계 원칙 - 동등 조건 컬럼은 왼쪽에, 범위(BETWEEN, <, > 등) 조건 컬럼은 오른쪽에
384자
database
mysql
11월 11일 (화요일)
AWS storage gp2, gp3 차이
146자
aws
storage
saas
모터사이클 동역학
140자
physics
11월 10일 (월요일)
sync to async 구현
301자
python
implementation
웹소켓 서버에서의 포트 고갈 문제(port exhaustion problem)와 해결 방식
306자
websocket
socket
웹소켓 수 늘리기 - 스푼라디오
1,023자
engineering-case
websocket
2025년 10월
10월 31일 (금요일)
django connection_created signal은 django.backends.mysql.DatabaseWrapper가 초기화 될 때 호출된다.
744자
django
implementation
django_mysql_gevent 이슈
477자
django
connnection-pool
bug
docker
10월 22일 (수요일)
HAProxy TCP 클라이언트를 이용해 웹소켓 백엔드 서버와 연결된다.
210자
network
websocket
10월 17일 (금요일)
django - Cacheops 데이터 관리 방식
1,006자
django
implementation
cache
10월 15일 (수요일)
Command 패턴은 생성과 실행시점을 분리한다.
146자
design-pattern
pattern
Run-to-Completion Model for Threads
141자
implementation
concurrency
10월 13일 (월요일)
REFRAG는 압축된 표현을 통해 RAG를 최적화한다.
440자
rag
SNR(Signal to Noise) 구하는 법
203자
signal-processing
10월 2일 (목요일)
나이퀴스트 정리는 샘플링 주파수를 정하는 좋은 기준이 된다
167자
signal-processing
10월 1일 (수요일)
Python array doubling 방식
645자
python
data-structure
fork per job 모델의 observability 확보의 어려움
310자
implementation
greenlet의 동작 방식
349자
python
gevent
green-thread
2025년 9월
9월 30일 (화요일)
동시성 구현 5가지 종류(자원관리, 서버 아키텍쳐 관점)
296자
concurrency
9월 26일 (금요일)
Cooperative Concurrency(협력적 동시성 모델)
206자
concurrency
Gevent에서 grpc가 문제가 되는 이유
566자
python
gevent
concurrency
Gevent에서 threading local이 문제가 되는 이유 - 거짓
299자
python
gevent
concurrency
Preemptive concorrency(선점형 동시성 모델)
330자
concurrency
9월 19일 (금요일)
매칭서버 구현 패턴
131자
pattern
9월 16일 (화요일)
이상한 고리를 바탕인 신경망 구조
76자
artificial-intelligence
9월 15일 (월요일)
외부 API에서 상수(정의) 값을 불러와 사용하는 패턴
223자
pattern
implementation
9월 14일 (일요일)
multipart upload는 안정적으로 큰 파일을 전송할 수 있게 도와준다
319자
s3
pattern
9월 9일 (화요일)
Encoder에서 self attention 계산시 Lower Triangular를 이용해 인과적 구조로 예측가능한 트랜스포머 구조를 만든다.
361자
transformer
whisper
speech-to-text
Transformer에서 encoder는 입력을 추상화한다.
192자
transformer
Transformer에서 self attention 계산 과정
718자
transformer
mongodb에서 ttl index 동작
146자
mongodb
index
9월 8일 (월요일)
Cloudflare worker는 v8 isolate 환경에서 돌아간다
304자
cloudflare
serverless
nodejs
saas
bigquery insertall에서 insertId 역할
222자
bigquery
whisperkit - streaming speech to text
5,166자
stt
on-device
웹훅 이벤트를 저장할때 고려해야하는 것
320자
webhook
logging
implementation
2025년 1월
1월 9일 (목요일)
InnoDB는 Next-Key Lock으로 팬텀 리드를 방지한다
815자
database
lock
innodb
phantom-read
concurrency
SELECT FOR UPDATE는 행 수준 잠금을 획득한다
772자
database
lock
concurrency
transaction
Transactional Outbox 패턴은 DB와 외부 시스템 간 일관성을 보장한다
692자
transaction-outbox
2024년 3월
3월 4일 (월요일)
UUID를 pk로 사용할 때 고려해야하는 점
301자
database
design