블로그
최신 글
Deep EVM #29: Async Rust에서의 세마포어 — 데드락 추적과 Fire-and-Forget 패턴
tokio::sync::Semaphore를 활용한 백프레셔 제어, fire-and-forget 쓰기 패턴, tracing과 tokio-console을 통한 데드락 진단, RAII 퍼밋과 acquire 타임아웃을 활용한 프로덕션 강화 솔루션에 대한 심층 분석.
더 읽기 DevOpsDeep EVM #28: 고처리량 데이터 파이프라인 — 배치 삽입, COPY, 충돌 해결
COPY 프로토콜, 벌크 업서트, WAL 튜닝, PgBouncer 커넥션 풀링, pg_stat_statements 모니터링으로 고처리량 PostgreSQL 데이터 파이프라인을 구축합니다.
더 읽기 DevOpsDeep EVM #27: PostgreSQL 대규모 성능 — 인덱스, VACUUM, 쿼리 최적화
부분 인덱스, 시계열 BRIN, autovacuum 튜닝, EXPLAIN ANALYZE 해석, 일반적인 안티 패턴으로 PostgreSQL 성능을 마스터합니다.
더 읽기 DevOpsDeep EVM #26: 샤딩 vs 파티셔닝 — 대규모 테이블을 위한 아키텍처
수평 확장을 위한 데이터베이스 샤딩과 파티셔닝 비교. 일관된 해싱, 크로스 샤드 쿼리, 리샤딩, PostgreSQL 네이티브 파티셔닝을 다룹니다.
더 읽기 DevOpsDeep EVM #25: PostgreSQL 테이블 파티셔닝 — 테이블이 1천만 행을 넘을 때
PostgreSQL 테이블 파티셔닝 실용 가이드. 범위, 리스트, 해시 파티셔닝과 실제 예제, 마이그레이션 전략, 쿼리 계획을 다룹니다.
더 읽기 엔지니어링Deep EVM #24: 비동기 Rust에서의 컨텍스트 전파 — 데드라인, 취소, 트레이싱
Go 스타일 컨텍스트 전파를 비동기 Rust에서 구현합니다. 데드라인, CancellationToken, tokio::select! 취소, 트레이싱 스팬 전파를 다룹니다.
더 읽기 엔지니어링Deep EVM #23: 성능 디버깅 — 데이터베이스 읽기가 지연 시간을 죽일 때
Rust 시스템의 데이터베이스 읽기 증폭 디버깅. MDBX/RocksDB를 사용한 O(N) vs O(affected) 최적화와 CacheDB 패턴의 실제 사례 연구.
더 읽기 엔지니어링Deep EVM #22: Rust에서의 의존성 주입 — ServiceLocator, Arc, 트레잇 객체
프레임워크 없이 Rust에서 의존성 주입 구현. 컴포지션 루트 패턴, Arc<dyn Trait> vs 제네릭, 테스트를 위한 모의 구현, ServiceLocator 패턴을 다룹니다.
더 읽기 엔지니어링Deep EVM #21: Rust에서의 이벤트 기반 아키텍처 — 실시간 시스템을 위한 버스 패턴
tokio 채널을 사용한 Rust 이벤트 기반 시스템 설계. mpsc, broadcast, watch 채널과 백프레셔 및 팬아웃 전략을 다룹니다.
더 읽기 블록체인Deep EVM #20: 스마트 컨트랙트를 위한 CI/CD — 테스트, 가스 회귀, 안전성
가스 회귀 추적, 정적 분석, 자동 검증, 배포 안전성 검사를 포함한 프로덕션급 스마트 컨트랙트 CI/CD 파이프라인 구축.
더 읽기 블록체인Deep EVM #19: 스마트 컨트랙트를 위한 속성 기반 테스트 — Foundry 퍼징
Foundry를 사용한 스마트 컨트랙트의 속성 기반 테스트와 퍼징 탐구. 퍼즈 입력, 불변성 테스트, Huff/Yul/Solidity 차등 테스트를 다룹니다.
더 읽기 블록체인Deep EVM #18: EVM 바이트코드 디버깅 — 트레이스, 스택 덤프, cast run
cast run을 사용한 트랜잭션 리플레이, forge debug를 통한 단계별 분석, 원시 옵코드 트레이스 읽기 기법으로 EVM 바이트코드 디버깅을 마스터합니다.
더 읽기