<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://kyungyeon.dev/</id>
    <title>Eric's DevLog (데브로그)</title>
    <updated>2026-06-11T17:11:03.197Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <author>
        <name>변경연</name>
    </author>
    <link rel="alternate" href="https://kyungyeon.dev/"/>
    <link rel="self" href="https://kyungyeon.dev/atom.xml"/>
    <subtitle>함께 성장하는 기쁨을 공유하고 싶은, Node.js를 개발하고 공부하는 개발자의 데브로그입니다.</subtitle>
    <rights>© 2026 변경연</rights>
    <entry>
        <title type="html"><![CDATA[Gatsby에서 Notion CMS로 갈아탄 이유와 방법]]></title>
        <id>https://kyungyeon.dev/posts/140/</id>
        <link href="https://kyungyeon.dev/posts/140/"/>
        <updated>2026-06-11T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Gatsby Markdown 블로그를 Notion CMS 기반으로 옮긴 이유, 전환 과정, Notion DB에서 글을 가져와 렌더링하는 구조를 정리합니다.]]></summary>
        <category label="Development"/>
        <category label="Migration"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[TypeORM Replication 설정과 MySQL PoolCluster]]></title>
        <id>https://kyungyeon.dev/posts/139/</id>
        <link href="https://kyungyeon.dev/posts/139/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[TypeORM replication 설정 유무에 따라 MySQL 연결이 createPool과 PoolCluster로 갈리는 이유와 장애 복구 차이를 정리합니다]]></summary>
        <category label="database"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[MySQL 8.0 DDL Lock 정리]]></title>
        <id>https://kyungyeon.dev/posts/138/</id>
        <link href="https://kyungyeon.dev/posts/138/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[MySQL 8.0의 INSTANT, INPLACE, COPY DDL 차이와 Metadata Lock 운영 리스크를 정리합니다]]></summary>
        <category label="database"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[NestJS -> Spring Boot 전환과 테스트 과정]]></title>
        <id>https://kyungyeon.dev/posts/137/</id>
        <link href="https://kyungyeon.dev/posts/137/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Node.js + NestJS 기반 API를 Kotlin + Spring Boot로 전환하면서 HTTP 응답과 데이터베이스 동작을 함께 맞춘 방법을 정리합니다]]></summary>
        <category label="Migration"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[A/B Test 를 시작할 때 꼭 알아야 할 것들]]></title>
        <id>https://kyungyeon.dev/posts/136/</id>
        <link href="https://kyungyeon.dev/posts/136/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[왜 필요한지, 신규 사용자를 50:50으로 안정적으로 분배하는 방법, Frequentist/Bayesian 분석과 여러 대안을 함께 정리합니다]]></summary>
        <category label="Experiment"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[레이어드 아키텍쳐 vs 헥사고날 아키텍쳐]]></title>
        <id>https://kyungyeon.dev/posts/135/</id>
        <link href="https://kyungyeon.dev/posts/135/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[구성 방식, 의존성 방향, 순환참조 해결 전략까지 실무 관점에서 비교해봅니다]]></summary>
        <category label="아키텍쳐"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Humans and Agents in Software Engineering Loops 읽고 정리하기]]></title>
        <id>https://kyungyeon.dev/posts/134/</id>
        <link href="https://kyungyeon.dev/posts/134/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[왜 개발자는 코드 안이 아니라 루프 위에 있어야 하는지, Kief Morris의 글을 바탕으로 풀어봅니다]]></summary>
        <category label="ai"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[HTTP Keep-Alive 함정: 타임아웃 불일치로 터지는 502 Bad Gateway]]></title>
        <id>https://kyungyeon.dev/posts/133/</id>
        <link href="https://kyungyeon.dev/posts/133/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[HTTP Keep-Alive와 502: Node.js 기본값 vs ALB 타임아웃 미스매치]]></summary>
        <category label="HTTP"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[재고처리는 트랜잭션으로 충분할까?]]></title>
        <id>https://kyungyeon.dev/posts/132/</id>
        <link href="https://kyungyeon.dev/posts/132/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[재고차감을 MySQL 트랜잭션만으로 처리하는 당신을 위해]]></summary>
        <category label="NodeJS"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[누구나 만드는 테스트 자동화]]></title>
        <id>https://kyungyeon.dev/posts/131/</id>
        <link href="https://kyungyeon.dev/posts/131/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[누구나 만드는 테스트 자동화 툴 개발기]]></summary>
        <category label="IT"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[분산 트랜잭션 처리하기]]></title>
        <id>https://kyungyeon.dev/posts/130/</id>
        <link href="https://kyungyeon.dev/posts/130/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[MSA 환경에서 서버간의 분산 트랜잭션 처리]]></summary>
        <category label="MSA"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[OpenAI Sora 2 모델을 사용한 영상 제작]]></title>
        <id>https://kyungyeon.dev/posts/129/</id>
        <link href="https://kyungyeon.dev/posts/129/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[주말간 사용해본 후기]]></summary>
        <category label="ai"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[JWT(Json Web Token) 정리]]></title>
        <id>https://kyungyeon.dev/posts/128/</id>
        <link href="https://kyungyeon.dev/posts/128/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[JWT 구조, 동작 방식, 장단점, 운영 전략까지 한 번에 살펴보기]]></summary>
        <category label="auth"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[ubuntu 서버에 쿠버네티스 환경 구성하기]]></title>
        <id>https://kyungyeon.dev/posts/127/</id>
        <link href="https://kyungyeon.dev/posts/127/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[쿠버네티스 설정하고 배포자동화 구현]]></summary>
        <category label="server"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[AI와 함께 바뀌어가는 개발 환경]]></title>
        <id>https://kyungyeon.dev/posts/126/</id>
        <link href="https://kyungyeon.dev/posts/126/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[개발자의 시대는 끝났는가?]]></summary>
        <category label="etc"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[AI 로 코드리뷰 받기]]></title>
        <id>https://kyungyeon.dev/posts/125/</id>
        <link href="https://kyungyeon.dev/posts/125/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[AI 의 코드리뷰를 통한 생산성 증가 그리고 보안까지!]]></summary>
        <category label="Github"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[TCP 와 HTTP 의 통신 구조 파헤치기]]></title>
        <id>https://kyungyeon.dev/posts/124/</id>
        <link href="https://kyungyeon.dev/posts/124/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[HTTP 와 TCP 는 통신구조가 어떻게 다를까? 어떤 차이가 있을까?]]></summary>
        <category label="network"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[서버에서 클라이언트 UI를 제어하기]]></title>
        <id>https://kyungyeon.dev/posts/123/</id>
        <link href="https://kyungyeon.dev/posts/123/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[서버 드리븐 UI 아키텍처의 개념과 장점. 그리고 구현방법을 알아보자]]></summary>
        <category label="아키텍쳐"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[조직 성장과 협업의 새로운 시각]]></title>
        <id>https://kyungyeon.dev/posts/122/</id>
        <link href="https://kyungyeon.dev/posts/122/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[조직의 성장과 업무 조직의 효율적인 업무 분배]]></summary>
        <category label="etc"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[NestJS BullMQ에서 Kafka로 전환하기]]></title>
        <id>https://kyungyeon.dev/posts/121/</id>
        <link href="https://kyungyeon.dev/posts/121/"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[NestJS 애플리케이션에서 메시지 큐를 BullMQ에서 Kafka로 전환한 경험을 공유합니다]]></summary>
        <category label="Development"/>
    </entry>
</feed>