<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>wid's blog</title><link>https://wid-blog.github.io/</link><description>Recent content on wid's blog</description><generator>Hugo</generator><language>ko</language><lastBuildDate>Thu, 04 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://wid-blog.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>아버지의 '참회' 시를 읽으며</title><link>https://wid-blog.github.io/posts/daily/notes/fathers-repentance/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/daily/notes/fathers-repentance/</guid><description>아버지께서 쓰신 시 &amp;lsquo;참회(懺悔)&amp;rsquo; 의 전문과 내가 적은 짧은 감상문.</description></item><item><title>quant-investment-platform — 중간 회고</title><link>https://wid-blog.github.io/posts/career/personal/quant-investment-platform-mid-retrospective/</link><pubDate>Sun, 31 May 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/personal/quant-investment-platform-mid-retrospective/</guid><description>Rust + Python + React 로 개발하고 있는 개인 자동매매 플랫폼의 중간 회고. ETF 리밸런싱과 개별 종목 시그널 매매까지 기능은 갖췄지만, 운영 진입 전에 안전 잠금장치(중지/차단/감지/시뮬레이션)부터 만들게 된 경위 기록.</description></item><item><title>Walk-forward 분석과 과적합 검증</title><link>https://wid-blog.github.io/posts/daily/investment/walk-forward-validation/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/daily/investment/walk-forward-validation/</guid><description>백테스트 결과가 운인지 전략 때문인지 정량적으로 가르는 Walk-forward 분석의 구조, IS-OOS 성과 차이와 파라미터 안정성 측정, 모멘텀 lookback 튜닝 케이스, 그리고 분석의 한계.</description></item><item><title>한국 계좌 유형별 투자 제약</title><link>https://wid-blog.github.io/posts/daily/investment/korean-account-types/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/daily/investment/korean-account-types/</guid><description>종합·ISA·연금저축·IRP 네 계좌의 핵심 제약(비과세, 세액공제, 위험자산 70% 룰, 해외 직투 가능 여부), 전략-계좌 매핑, 그리고 세후 수익에 미치는 영향.</description></item><item><title>백테스트 함정 케이스 스터디</title><link>https://wid-blog.github.io/posts/daily/investment/backtest-pitfalls-case-study/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/daily/investment/backtest-pitfalls-case-study/</guid><description>Look-ahead Bias와 Survivorship Bias 두 함정의 구체 케이스 — 모멘텀 전 구간 정규화, 재무 공시 지연, 종가 체결, S&amp;amp;P 500 시점 구성, 무료 API의 한계 — 그리고 회피 체크리스트.</description></item><item><title>효율적 프론티어와 포트폴리오 최적화</title><link>https://wid-blog.github.io/posts/daily/investment/efficient-frontier-optimization/</link><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/daily/investment/efficient-frontier-optimization/</guid><description>여러 자산의 비중을 어떻게 결정할지의 수학적 토대인 마코위츠 평균-분산 모델, 효율적 프론티어 위의 두 가지 최적해(Min-Variance, Tangency), 그리고 실무에서 모델이 무너지는 지점과 보정 방법을 정리한다.</description></item><item><title>Microservices Architecture</title><link>https://wid-blog.github.io/posts/tech/architecture/microservices-architecture/</link><pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/architecture/microservices-architecture/</guid><description>MSA 는 서비스를 어느 기준으로 가를 것인가의 결정이다. 도메인 경계, 데이터 소유권, 스케일 패턴, 장애 격리 — 어느 것을 우선하느냐가 경계를 만들고 통신과 데이터를 차례로 결정한다.</description></item><item><title>Event Sourcing and CQRS</title><link>https://wid-blog.github.io/posts/tech/architecture/event-sourcing-and-cqrs/</link><pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/architecture/event-sourcing-and-cqrs/</guid><description>ES 와 CQRS 는 시스템의 원본 데이터와 그 표현의 분리를 다룬다. 도입 비용이 시스템 전반에 분산되므로 채택 가치를 명시할 수 있을 때 채택할 만하다고 본다.</description></item><item><title>Distributed Transactions</title><link>https://wid-blog.github.io/posts/tech/architecture/distributed-transactions/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/architecture/distributed-transactions/</guid><description>분산 트랜잭션은 모놀리스의 단일 ACID 트랜잭션이 분산 환경에서 어떻게 분해되고, 그 조각을 어떻게 재조립하는가의 문제다. 2PC, Saga (Choreography vs Orchestration), Outbox 의 역할과 트레이드오프.</description></item><item><title>Claude Code 설정을 레이어로 나누기</title><link>https://wid-blog.github.io/posts/tech/devenv/claude-code-config-layers/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/devenv/claude-code-config-layers/</guid><description>settings.json, CLAUDE.md, slash commands, subagents, hooks. Claude Code 커스터마이징 표면은 &amp;lsquo;언제 개입하는가&amp;rsquo;라는 축 하나로 네 레이어로 정돈된다.</description></item><item><title>macOS 개발 환경: dotfiles</title><link>https://wid-blog.github.io/posts/tech/devenv/macos-dev-environment/</link><pubDate>Thu, 30 Apr 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/devenv/macos-dev-environment/</guid><description>alacritty + tmux + nvim + zsh + Claude Code 다섯 도구로 구성한 터미널 중심 개발 환경. 각 도구의 선택 이유와 조합 방식을 정리한다.</description></item><item><title>에어팟을 버렸다</title><link>https://wid-blog.github.io/posts/career/dable/starting-sabbatical/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/dable/starting-sabbatical/</guid><description>좋은 엔지니어는 기술을 잘 아는 사람이 아니라, 그 기술을 팀과 나눌 수 있는 사람이라는 것을 알게 되었다.</description></item><item><title>민감 정보 암호화 — 모듈 설계와 마이그레이션 회고</title><link>https://wid-blog.github.io/posts/career/dable/sensitive-data-encryption-retrospective/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/dable/sensitive-data-encryption-retrospective/</guid><description>운영 중인 DB의 민감 정보를 컬럼 레벨로 암호화한 작업 회고. 봉투 암호화 도입, DEK 관리 단위 결정, WHERE 절 제약과 HMAC 우회, 마이그레이션 자동화 Skill까지.</description></item><item><title>사내 해커톤 1등 회고</title><link>https://wid-blog.github.io/posts/career/dable/worthy-hackathon-retrospective/</link><pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/dable/worthy-hackathon-retrospective/</guid><description>사내 해커톤 회고. 본인이 제안한 아이디어가 팀과 함께 발전해 1등 + 사내 런칭으로 이어진 과정과, AI 도구를 본격 활용하기 시작한 출발점이 된 경험.</description></item><item><title>JIRA Sprint 워크플로우와 Git/GitHub 연동</title><link>https://wid-blog.github.io/posts/tech/devenv/jira-sprint-workflow/</link><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/devenv/jira-sprint-workflow/</guid><description>JIRA의 이슈와 워크플로우를 작업 단위의 그래프로 보고, Sprint 라이프사이클·이슈 계층·Git/GitHub 연동 패턴·자동화 흐름을 정리한다.</description></item><item><title>GitHub Actions 기본기 — workflow, job, step</title><link>https://wid-blog.github.io/posts/tech/devenv/github-actions-fundamentals/</link><pubDate>Mon, 15 Dec 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/devenv/github-actions-fundamentals/</guid><description>GitHub Actions를 저장소 이벤트 기반 자동화 엔진으로 보고, workflow / job / step 3단 추상과 trigger·runner·secret 운영을 정리한다.</description></item><item><title>GitHub PR과 Code Review 사이클</title><link>https://wid-blog.github.io/posts/tech/devenv/github-pr-and-code-review/</link><pubDate>Sun, 30 Nov 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/devenv/github-pr-and-code-review/</guid><description>GitHub PR을 Git 변경 그래프 위에 협업 레이어를 더한 추상으로 보고, Code Review 사이클·PR 단위 설계·머지 전략을 정리한다.</description></item><item><title>Git 워크플로우 기본기 — commit, branch, merge/rebase</title><link>https://wid-blog.github.io/posts/tech/devenv/git-workflow-basics/</link><pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/devenv/git-workflow-basics/</guid><description>Git을 명령어 모음이 아닌 변경의 그래프로 보고, commit hygiene·branch strategy·merge vs rebase 결정이 그래프 모양에 대한 선택임을 정리한다.</description></item><item><title>Security Group 과 NACL</title><link>https://wid-blog.github.io/posts/tech/infra/vpc-security-fundamentals/</link><pubDate>Sat, 01 Nov 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/infra/vpc-security-fundamentals/</guid><description>Security Group(stateful, 인스턴스 단위)과 NACL(stateless, Subnet 단위)이 어떻게 서로 다른 계층의 방어선을 만드는지, 그리고 흔한 함정 시나리오를 정리한다.</description></item><item><title>VPC 간/외부 연결 — Peering, VPN, Transit, PrivateLink</title><link>https://wid-blog.github.io/posts/tech/infra/vpc-connectivity-fundamentals/</link><pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/infra/vpc-connectivity-fundamentals/</guid><description>VPC 간/온프레미스/서비스 연결을 책임지는 4가지 메커니즘 — Peering, Transit Gateway, Site-to-Site VPN, PrivateLink — 의 토폴로지와 비용 트레이드오프를 정리한다.</description></item><item><title>수익성 기반 트래픽 제한 시스템 회고</title><link>https://wid-blog.github.io/posts/career/dable/profitability-based-traffic-throttling/</link><pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/dable/profitability-based-traffic-throttling/</guid><description>외부 SSP 연동 광고 서비스에서 성과가 낮은 인벤토리를 자동으로 식별하고 트래픽을 제한하여 공헌이익을 개선한 프로젝트 회고. Imp Cost Ratio 에서 예측 공헌이익률 기반으로 접근법이 진화한 과정.</description></item><item><title>VPC 트래픽 흐름과 Route Table</title><link>https://wid-blog.github.io/posts/tech/infra/vpc-routing-fundamentals/</link><pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/infra/vpc-routing-fundamentals/</guid><description>VPC 안의 트래픽 경로를 결정하는 Route Table, 외부 출입구 역할의 Internet Gateway와 NAT Gateway, Public/Private Subnet 구분의 실체를 정리한다.</description></item><item><title>VPC와 격리 모델</title><link>https://wid-blog.github.io/posts/tech/infra/vpc-isolation-fundamentals/</link><pubDate>Mon, 15 Sep 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/infra/vpc-isolation-fundamentals/</guid><description>VPC가 IP CIDR, Subnet, Tenancy 세 요소를 조합해 사설 네트워크 경계를 시뮬레이션하는 원리를 정리한다. AWS/GCP/Azure/Alibaba 벤더 명칭 매핑 포함.</description></item><item><title>기술적 지표와 매매 시그널</title><link>https://wid-blog.github.io/posts/daily/investment/signal-technical-indicators/</link><pubDate>Mon, 01 Sep 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/daily/investment/signal-technical-indicators/</guid><description>가격 움직임을 읽는 기술적 지표(RSI, SMA Cross, MACD, Bollinger Bands)의 공식과 해석, 복합 시그널 설계, 그리고 세 가지 전략 유형의 시간축 비교를 정리한다.</description></item><item><title>포트폴리오 운용과 팩터 스코어링</title><link>https://wid-blog.github.io/posts/daily/investment/portfolio-factor-scoring/</link><pubDate>Fri, 15 Aug 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/daily/investment/portfolio-factor-scoring/</guid><description>개별 지표를 종합 점수로 만드는 팩터 스코어링(Z-Score, Rank)과, 포트폴리오를 구성하고 운용하는 리밸런싱·자산 배분의 기초를 정리한다.</description></item><item><title>백테스트 성과 지표</title><link>https://wid-blog.github.io/posts/daily/investment/backtest-metrics/</link><pubDate>Fri, 01 Aug 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/daily/investment/backtest-metrics/</guid><description>전략의 성과를 측정하는 CAGR, MDD, Sharpe Ratio 등의 공식과 해석, 그리고 백테스트 결과를 의심해야 하는 다섯 가지 함정을 정리한다.</description></item><item><title>모멘텀과 배당</title><link>https://wid-blog.github.io/posts/daily/investment/momentum-dividend/</link><pubDate>Tue, 15 Jul 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/daily/investment/momentum-dividend/</guid><description>과거 수익률 추세(모멘텀)와 배당수익률이 팩터 투자에서 어떤 역할을 하는지 정리한다.</description></item><item><title>밸류에이션과 퀄리티 지표</title><link>https://wid-blog.github.io/posts/daily/investment/valuation-quality-indicators/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/daily/investment/valuation-quality-indicators/</guid><description>기업이 싼지(밸류에이션)와 잘 버는지(퀄리티)를 판단하는 지표 — PER, PBR, PSR, ROE, ROA, 부채비율의 공식과 해석을 정리한다.</description></item><item><title>주식 데이터 기초</title><link>https://wid-blog.github.io/posts/daily/investment/stock-data-basics/</link><pubDate>Sun, 15 Jun 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/daily/investment/stock-data-basics/</guid><description>퀀트 투자의 출발점인 OHLCV 데이터, 단순 수익률과 로그 수익률의 차이, 시가총액의 의미를 정리한다.</description></item><item><title>무중단 데이터 전환 패턴</title><link>https://wid-blog.github.io/posts/tech/architecture/zero-downtime-data-transition/</link><pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/architecture/zero-downtime-data-transition/</guid><description>이중 쓰기와 fallback 읽기를 조합하여 운영 중인 서비스의 데이터 형식을 무중단으로 전환하는 3단계 패턴을 정리한다.</description></item><item><title>봉투 암호화</title><link>https://wid-blog.github.io/posts/tech/security/envelope-encryption/</link><pubDate>Tue, 01 Apr 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/security/envelope-encryption/</guid><description>봉투 암호화의 CMK/DEK 2중 키 구조가 키 유출 영향을 제한하고 키 회전을 단순화하는 원리를 정리한다.</description></item><item><title>LR 기반 ML Lifecycle 회고</title><link>https://wid-blog.github.io/posts/career/dable/dsp-fallback-ctr-ml-lifecycle/</link><pubDate>Mon, 10 Mar 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/dable/dsp-fallback-ctr-ml-lifecycle/</guid><description>AI 배경이 없는 백엔드 엔지니어로서 광고 Fallback CTR을 위한 첫 ML Lifecycle 3단 구조를 만들며 내린 기술 결정들과, 운영 끝에 배운 것들.</description></item><item><title>MLflow 와 ML Lifecycle</title><link>https://wid-blog.github.io/posts/tech/ml/mlflow/</link><pubDate>Thu, 20 Feb 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/ml/mlflow/</guid><description>MLflow의 네 조각이 ML Lifecycle의 어느 칸을 메우는지, 그리고 경량 팀이 그 중 어떤 조각을 고를 수 있는지.</description></item><item><title>Circuit Breaker</title><link>https://wid-blog.github.io/posts/tech/design-pattern/circuit-breaker/</link><pubDate>Sat, 15 Feb 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/design-pattern/circuit-breaker/</guid><description>Circuit Breaker 의 차단 트리거와 회복 전략은 함께 설계되어야 한다. 회복 없는 차단은 의존성을 영구히 끊고, 차단 기준 없는 회복은 무의미한 cycling 이다.</description></item><item><title>Rate Limiting</title><link>https://wid-blog.github.io/posts/tech/design-pattern/rate-limiting/</link><pubDate>Fri, 14 Feb 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/design-pattern/rate-limiting/</guid><description>Rate Limit 알고리즘을 고르기 전에, 어느 계층에서 보호할지가 먼저 알고리즘의 선택지를 좌우한다. L4/L7/Application 계층과 Token/Leaky/Sliding/Fixed 알고리즘의 교차 관계를 정리한다.</description></item><item><title>광고 시스템 장애 회고 — 공유 의존성과 단일 장애점</title><link>https://wid-blog.github.io/posts/career/dable/cascading-failure-retrospective/</link><pubDate>Thu, 13 Feb 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/dable/cascading-failure-retrospective/</guid><description>외부 이벤트로 광고 트래픽이 급증하면서 cascading failure 가 발생했다. 진짜 문제는 필터링 컴포넌트가 단일 장애점이었고 fallback 까지 그 위에 묶여 있어서 한 곳의 무너짐이 양쪽의 동시 붕괴로 이어졌다는 것이었다. 개선은 세 갈래 — fallback 의 의존 제거(독립화), 필터링 컴포넌트에 Rate Limit(보호), 그리고 런타임 재검토(처리량 증대).</description></item><item><title>모델 학습 프레임워크 고르기: sklearn vs ONNX</title><link>https://wid-blog.github.io/posts/tech/ml/model-training-frameworks/</link><pubDate>Sat, 01 Feb 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/ml/model-training-frameworks/</guid><description>sklearn과 ONNX는 같은 레이어의 경쟁자가 아니다. 두 도구의 자리를 분리해서 보면 &amp;lsquo;ONNX 레이어가 필요한가&amp;rsquo;라는 질문이 자연스럽게 남는다.</description></item><item><title>Logistic Regression 다시 보기</title><link>https://wid-blog.github.io/posts/tech/ml/logistic-regression/</link><pubDate>Wed, 15 Jan 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/ml/logistic-regression/</guid><description>CTR 예측의 baseline으로서 Logistic Regression의 구조와 특성을 정리한다. 오래된 모델이 여전히 baseline 으로 쓰이는 이유.</description></item><item><title>배포 변경점 검증의 사각지대 — 캐시 캠페인 장애 회고</title><link>https://wid-blog.github.io/posts/career/dable/campaign-cache-miss-retrospective/</link><pubDate>Wed, 27 Nov 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/dable/campaign-cache-miss-retrospective/</guid><description>배포는 이틀 전에 끝났지만 변경점은 적용되지 않은 채 잠재해 있었다. 캐시 갱신 배치를 끄는 순간 광고 서빙이 멈췄다. 배포 변경점 검증의 부재를 회고한다.</description></item><item><title>Kubernetes 기초</title><link>https://wid-blog.github.io/posts/tech/infra/kubernetes-fundamentals/</link><pubDate>Wed, 10 Apr 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/infra/kubernetes-fundamentals/</guid><description>Container 오케스트레이션의 기본 구조와 백엔드 개발자가 알아야 할 핵심 오브젝트, 네트워크, 스케일링, 운영 방법을 정리한다.</description></item><item><title>Go Concurrency 모델</title><link>https://wid-blog.github.io/posts/tech/language/go-concurrency-model/</link><pubDate>Fri, 05 Apr 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/language/go-concurrency-model/</guid><description>Go의 동시성 모델은 CSP를 기반으로 Goroutine과 Channel을 핵심 도구로 제공한다. 각 도구의 동작 원리와 선택 기준을 정리한다.</description></item><item><title>concurrency-go</title><link>https://wid-blog.github.io/posts/career/personal/concurrency-go-retrospective/</link><pubDate>Wed, 03 Apr 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/personal/concurrency-go-retrospective/</guid><description>Go의 동시성 패턴 세 가지(mutex, channel, lock-free)를 직접 구현하고 벤치마크하며 체화한 과정의 기록.</description></item><item><title>MongoDB와 Redis — 같은 NoSQL, 다른 역할</title><link>https://wid-blog.github.io/posts/tech/database/mongodb-vs-redis/</link><pubDate>Tue, 02 Apr 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/database/mongodb-vs-redis/</guid><description>같은 NoSQL 우산 아래에서 MongoDB 와 Redis 가 서로 다른 역할로 자리잡은 이유. 데이터 모델·스토리지·스키마·확장·사용 사례를 기준으로 비교 정리.</description></item><item><title>chat-services</title><link>https://wid-blog.github.io/posts/career/personal/chat-services-retrospective/</link><pubDate>Sun, 31 Mar 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/personal/chat-services-retrospective/</guid><description>실무에서 깊이 다루기 어려웠던 Kafka와 Hexagonal Architecture를 채팅 시스템 개인 프로젝트로 직접 설계하고 구현한 과정의 기록.</description></item><item><title>Spring WebFlux 기본 — 논블로킹 I/O와 리액티브 스택</title><link>https://wid-blog.github.io/posts/tech/language/spring-webflux-reactive-stack/</link><pubDate>Mon, 25 Mar 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/language/spring-webflux-reactive-stack/</guid><description>Spring MVC는 요청당 스레드를 할당한다. I/O 대기가 길어지면 스레드가 묶인다. WebFlux는 이벤트 루프 기반 논블로킹 모델로 이 문제를 해결한다. MVC와의 구조적 차이, Reactor 패턴, 선택 기준을 정리한다.</description></item><item><title>HTTP/1.1과 HTTP/2</title><link>https://wid-blog.github.io/posts/tech/network/http1-vs-http2/</link><pubDate>Wed, 20 Mar 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/network/http1-vs-http2/</guid><description>HTTP/1.1은 요청과 응답이 순차적이다. HTTP/2는 멀티플렉싱, 바이너리 프레이밍, 헤더 압축으로 이 구조를 바꿨다. 두 프로토콜의 차이와 HTTP/2 위에서 동작하는 gRPC의 특성을 정리한다.</description></item><item><title>Docker Container 기초</title><link>https://wid-blog.github.io/posts/tech/infra/docker-container-fundamentals/</link><pubDate>Fri, 15 Mar 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/infra/docker-container-fundamentals/</guid><description>Container의 개념과 VM과의 차이를 정리하고, Docker의 아키텍처, Dockerfile, Docker Compose의 기본 사용법을 설명한다.</description></item><item><title>Horizontal vs Vertical Slicing</title><link>https://wid-blog.github.io/posts/tech/architecture/horizontal-vertical-slicing/</link><pubDate>Sun, 10 Mar 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/architecture/horizontal-vertical-slicing/</guid><description>코드를 기술 계층별로 나누는 수평 분할과, 기능/도메인별로 나누는 수직 분할의 차이를 정리한다. 각각의 장단점과 선택 기준.</description></item><item><title>광고 fallback 서버 설계 회고</title><link>https://wid-blog.github.io/posts/career/dable/ad-fallback-server-retrospective/</link><pubDate>Wed, 28 Feb 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/dable/ad-fallback-server-retrospective/</guid><description>레거시 광고 서버를 제거하면서 Nest.js 기반 fallback 서버를 새로 설계한 과정. 단일 API에 복잡한 비즈니스 로직이 집중된 구조에서 수평 계층 아키텍처를 선택한 배경과 결과.</description></item><item><title>Nest.js 기본 — DI와 Module 시스템</title><link>https://wid-blog.github.io/posts/tech/language/nestjs-di-module-system/</link><pubDate>Mon, 26 Feb 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/language/nestjs-di-module-system/</guid><description>Nest.js는 Node.js 생태계에서 DI 컨테이너와 Module 시스템을 프레임워크 수준에서 제공한다. IoC, DI, Module, Provider 등 핵심 설계 원칙을 정리한다.</description></item><item><title>Layered Architecture와 의존성 역전</title><link>https://wid-blog.github.io/posts/tech/architecture/layered-architecture/</link><pubDate>Fri, 23 Feb 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/architecture/layered-architecture/</guid><description>레이어드 아키텍처는 기술적 책임 기준으로 코드를 수평 계층으로 나눈다. 4계층 구조의 각 역할, 의존성 방향 규칙, DIP로 계층 간 결합을 끊는 방법을 정리한다.</description></item><item><title>Kafka 기초와 KRaft 모드</title><link>https://wid-blog.github.io/posts/tech/infra/kafka-fundamentals-kraft/</link><pubDate>Thu, 22 Feb 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/infra/kafka-fundamentals-kraft/</guid><description>Kafka의 핵심 개념(토픽, 파티션, 컨슈머 그룹, 복제)을 정리하고, ZooKeeper 의존성을 제거한 KRaft 모드의 등장 배경을 설명한다.</description></item><item><title>Go에서 Hexagonal Architecture 구현</title><link>https://wid-blog.github.io/posts/tech/architecture/go-hexagonal-architecture/</link><pubDate>Wed, 21 Feb 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/architecture/go-hexagonal-architecture/</guid><description>Hexagonal Architecture의 핵심 개념과 Go에서의 관용적 구현. 암묵적 인터페이스와 패키지 구조를 활용한 의존성 방향 제어.</description></item><item><title>Builder</title><link>https://wid-blog.github.io/posts/tech/design-pattern/builder/</link><pubDate>Sun, 11 Feb 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/design-pattern/builder/</guid><description>Builder 는 생성자의 세 가지 한계가 동시에 모일 때의 해결책이다. 매개변수 수가 많고, 일부가 선택적이고, 단계적 검증이 필요한 경우. 셋이 같이 모이지 않으면 다른 도구로 충분하다. 언어가 named/default 매개변수를 제공하면 Builder 의 필요도 자연스럽게 줄어든다.</description></item><item><title>Factory</title><link>https://wid-blog.github.io/posts/tech/design-pattern/factory/</link><pubDate>Sun, 04 Feb 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/design-pattern/factory/</guid><description>Factory 의 공통 의도는 객체 생성과 사용의 분리다. 세 변형 (Factory Method / Abstract Factory / Static Factory Method) 은 분리 방식이 다르고 적합한 상황도 다르다. 실무에서는 Static Factory Method 가 가장 자주 쓰이고, DI 컨테이너가 등장하면 명시적 Factory 의 일부 역할이 컨테이너로 흡수된다.</description></item><item><title>Singleton</title><link>https://wid-blog.github.io/posts/tech/design-pattern/singleton/</link><pubDate>Sun, 28 Jan 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/design-pattern/singleton/</guid><description>Singleton 은 가장 단순한 패턴이지만 안티패턴 논란의 대표 사례다. 단일 인스턴스 보장과 전역 접근을 한 패턴에 묶은 결정이 강한 결합과 테스트 어려움의 원인. DI 가 두 의도를 분리한 일반 대안이다.</description></item><item><title>Dependency Injection — DIP, IoC, DI의 위계</title><link>https://wid-blog.github.io/posts/tech/design-pattern/dependency-injection/</link><pubDate>Thu, 25 Jan 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/design-pattern/dependency-injection/</guid><description>DIP(원칙), IoC(패턴), DI(기법)는 서로 다른 추상 수준에 있는 개념이다. 위계를 분명히 봐야 프레임워크 기능과 설계 원리가 섞이지 않는다.</description></item><item><title>변경분 갱신 캐시 패턴</title><link>https://wid-blog.github.io/posts/tech/architecture/incremental-cache-refresh/</link><pubDate>Sat, 20 Jan 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/architecture/incremental-cache-refresh/</guid><description>전량 갱신 방식의 캐시를 변경분만 갱신하도록 전환하는 패턴. 데이터를 성격별로 분리하고 변경 감지 전략을 적용하여 네트워크 비용을 줄이는 구조를 정리한다.</description></item><item><title>캐시 갱신 최적화 회고</title><link>https://wid-blog.github.io/posts/career/dable/ad-campaign-cache-optimization/</link><pubDate>Mon, 15 Jan 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/dable/ad-campaign-cache-optimization/</guid><description>변경이 드문 캠페인 설정 데이터를 전량 갱신하던 캐시 구조를 개선하여 네트워크 비용을 줄이고 인스턴스를 스케일 다운한 과정을 기록한다.</description></item><item><title>RDB Transaction 의 ACID 가 실제로 보장하는 것</title><link>https://wid-blog.github.io/posts/tech/database/rdb-transaction-acid/</link><pubDate>Fri, 01 Sep 2023 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/database/rdb-transaction-acid/</guid><description>RDB 트랜잭션의 ACID 4개 속성이 실제로 무엇을 보장하는가. A/C/D 는 비교적 명확한 보장이지만 I 만 &amp;lsquo;단계&amp;rsquo; 가 존재하는 이유 — 정확성과 동시성의 트레이드오프 도입.</description></item><item><title>광고 예산 페이싱의 2계층 제어 구조 회고</title><link>https://wid-blog.github.io/posts/career/dable/balanced-pacing-control/</link><pubDate>Mon, 21 Aug 2023 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/dable/balanced-pacing-control/</guid><description>고정 규칙으로 동작하던 광고 예산 페이싱을, 캠페인별 학습과 실시간 보정의 2계층 제어 구조로 옮긴 회고. 캠페인 특성의 다양성을 어떻게 자동 흡수하게 만들었는가.</description></item><item><title>rust-server</title><link>https://wid-blog.github.io/posts/career/personal/rust-server-retrospective/</link><pubDate>Sun, 13 Mar 2022 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/personal/rust-server-retrospective/</guid><description>Rust Book Chapter 20의 멀티스레드 HTTP 서버를 따라 구현하며 소유권과 동시성이 타입 레벨에서 강제되는 것을 체감한 기록.</description></item><item><title>TCP와 UDP</title><link>https://wid-blog.github.io/posts/tech/network/tcp-udp/</link><pubDate>Tue, 01 Mar 2022 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/network/tcp-udp/</guid><description>백엔드 개발에서 자주 마주치는 두 전송 프로토콜, TCP와 UDP의 동작 원리를 정리한다. 연결 수립, 신뢰성 보장, 흐름/혼잡 제어 메커니즘과 선택 기준.</description></item><item><title>SwapDo 창업기</title><link>https://wid-blog.github.io/posts/career/startup/swapdo-startup-retrospective/</link><pubDate>Thu, 01 Jul 2021 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/startup/swapdo-startup-retrospective/</guid><description>딥페이크 기반 얼굴 합성 밈 서비스 SwapDo. 창업 팀에 합류해 백엔드와 Android 앱 개발을 맡았던 5개월의 기록.</description></item><item><title>세션 인증과 JWT</title><link>https://wid-blog.github.io/posts/tech/security/session-and-jwt/</link><pubDate>Sat, 20 Mar 2021 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/tech/security/session-and-jwt/</guid><description>HTTP는 stateless다. 사용자 인증을 유지하려면 상태를 어딘가에 저장해야 한다. 서버에 저장하는 세션 방식과 토큰에 담아 클라이언트에 위임하는 JWT 방식의 구조, 트레이드오프, 저장 전략을 정리한다.</description></item><item><title>55L(GGS) 창업기</title><link>https://wid-blog.github.io/posts/career/startup/55l-ggs-startup-retrospective/</link><pubDate>Sat, 13 Mar 2021 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/startup/55l-ggs-startup-retrospective/</guid><description>예전부터 가끔 하던 롤에서 시작된 창업. 아키텍처 설계부터 데스크톱 앱까지, 2명이 시작해 10,000 유저의 서비스를 만들어간 5개월의 기록.</description></item><item><title>GDG Korea Android 11 끝장개발대회 — YouTube Together</title><link>https://wid-blog.github.io/posts/career/hackathon/gdg-korea-android-11-hackathon/</link><pubDate>Sat, 29 Aug 2020 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/hackathon/gdg-korea-android-11-hackathon/</guid><description>GDG Korea Android 11 끝장개발대회에 단독으로 참가해 서버와 앱을 3주 만에 완성한 기록.</description></item><item><title>역 편의정보 공공데이터 활용 대회 — 숨겨진 휴식공간</title><link>https://wid-blog.github.io/posts/career/hackathon/kric-station-public-data-hackathon/</link><pubDate>Fri, 31 Jul 2020 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/posts/career/hackathon/kric-station-public-data-hackathon/</guid><description>철도산업정보센터 주최 공공데이터 활용 대회. 지하철 역의 숨은 휴식 공간을 알려주는 Android 앱을 3주간 3명이 만든 기록.</description></item><item><title>소개</title><link>https://wid-blog.github.io/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/about/</guid><description>&lt;p&gt;백엔드 엔지니어. 기술과 일하며 느낀 것들을 글로 씁니다.&lt;/p&gt;</description></item></channel></rss>