<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>chan99k&apos;s blog</title><description>chan99k의 개인 블로그 및 포트폴리오입니다.</description><link>https://blog.chan99k.dev/</link><item><title>RPC는 아는데 IPC는 뭐지?</title><link>https://blog.chan99k.dev/blog/2026-03-30-ipc-mechanisms/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/2026-03-30-ipc-mechanisms/</guid><description>파이프, 소켓, 공유 메모리, 메시지 큐, 시그널 -- 다섯 가지 IPC 메커니즘을 데이터 전달 방식, 메모리 복사 비용, 동기화 모델 관점에서 비교합니다.</description><pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Autowiring Collaborators</title><link>https://blog.chan99k.dev/blog/autowiring-collaborators/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/autowiring-collaborators/</guid><description>Spring 컨테이너는 협력하는 빈(Bean) 간의 관계를 자동으로 와이어링(Autowiring)할 수 있다. 자동 와이어링은 ApplicationContext의 내용을 검사하여 협력자(다른 빈)를 자동으로 해결하므로, 프로퍼티나 생성자 인자를 명시할 필요를 크게 줄이고 객체가 진화함에 따라 설정을 자동으로 업데이트할 수 있다. 자동 와이어링에는 `no`, `byName`, `byType`, `constructor` 네 가지 모드가 있으며, 각각 다른 전략으로 의존성을 해결한다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Annotation-based Container Configuration</title><link>https://blog.chan99k.dev/blog/annotation-based-container-configuration/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/annotation-based-container-configuration/</guid><description>Spring Framework는 애너테이션 기반 구성(annotation-based configuration)에 대한 포괄적인 지원을 제공하며, 이를 통해 XML 구성 대신 클래스, 메서드, 필드에 직접 애너테이션을 사용하여 메타데이터를 정의할 수 있습니다. `BeanPostProcessor`와 애너테이션을 결합하여 Spring IoC 컨테이너가 특정 애너테이션을 인식하도록 합니다. 이 문서는 `@Autowired`, `@PostConstruct`, `@PreDestroy`와 같은 JSR-250 애너테이션, 그리고 `@Inject`, `@Named`와 같은 JSR-330 애너테이션에 대한 개요를 제공합니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Basic Concepts: @Bean and @Configuration</title><link>https://blog.chan99k.dev/blog/basic-concepts-bean-and-configuration/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/basic-concepts-bean-and-configuration/</guid><description>Spring의 Java 기반 설정에서 가장 핵심적인 두 가지 애너테이션은 `@Bean`과 `@Configuration`이다. `@Bean` 애너테이션은 메서드가 Spring IoC 컨테이너가 관리할 새로운 객체를 인스턴스화하고, 구성하며, 초기화한다는 것을 나타낸다. 이는 XML 설정의 `&lt;bean/&gt;` 요소와 동일한 역할을 수행한다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Bean Definition Inheritance</title><link>https://blog.chan99k.dev/blog/bean-definition-inheritance/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/bean-definition-inheritance/</guid><description>Spring의 빈 정의 상속(Bean Definition Inheritance)은 부모 빈 정의로부터 설정 정보를 상속받아 재사용할 수 있는 기능입니다. 자식 빈 정의는 부모로부터 생성자 인자(constructor arguments), 속성 값(property values), 초기화 메서드(initialization method) 등의 설정 데이터를 상속받으며, 필요에 따라 이를 재정의(override)하거나 새로운 값을 추가할 수 있습니다. 이 기능은 템플릿(templating)의 한 형태로, 반복적인 설정을 줄이고 유지보수를 용이하게 합니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Bean Overview</title><link>https://blog.chan99k.dev/blog/bean-overview/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/bean-overview/</guid><description>이 문서는 Spring Framework의 IoC 컨테이너에서 관리하는 빈(bean)의 정의, 명명, 인스턴스화에 대한 포괄적인 설명을 제공합니다. 빈 정의는 `BeanDefinition` 객체로 표현되며, 클래스 이름, 스코프, 생성자 인자, 프로퍼티, 초기화/소멸 메서드 등의 메타데이터를 포함합니다. 빈의 인스턴스화는 생성자, 정적 팩토리 메서드, 인스턴스 팩토리 메서드를 통해 이루어질 수 있으며, 빈 재정의(bean overriding) 기능은 향후 버전에서 deprecated될 예정입니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Core Technologies</title><link>https://blog.chan99k.dev/blog/core-technologies/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/core-technologies/</guid><description>이 문서는 Spring Framework에 절대적으로 필수적인 모든 핵심 기술들을 다룹니다. 가장 중요한 것은 Spring Framework의 제어 역전(Inversion of Control, IoC) 컨테이너이며, 이어서 Spring의 관점 지향 프로그래밍(Aspect-Oriented Programming, AOP) 기술에 대한 포괄적인 설명이 제공됩니다. Spring Framework는 개념적으로 이해하기 쉬우면서도 Java 엔터프라이즈 프로그래밍의 AOP 요구사항 중 80%의 스위트 스팟을 성공적으로 처리하는 자체 AOP 프레임워크를 가지고 있습니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Container Extension Points</title><link>https://blog.chan99k.dev/blog/container-extension-points/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/container-extension-points/</guid><description>Spring IoC 컨테이너는 특별한 통합 인터페이스를 구현하여 확장할 수 있습니다. 주요 확장 포인트는 세 가지입니다: (1) BeanPostProcessor는 빈 인스턴스를 커스터마이징하여 초기화 전후에 로직을 삽입할 수 있고, (2) BeanFactoryPostProcessor는 빈 정의 메타데이터를 수정하여 컨테이너가 빈을 인스턴스화하기 전에 설정을 변경할 수 있으며, (3) FactoryBean은 복잡한 초기화 로직을 Java 코드로 작성하여 빈 생성 로직 자체를 커스터마이징할 수 있습니다. BeanPostProcessor는 AOP 프록시 래핑과 같은 인프라 기능을 구현하는 데 사용되며, BeanFactoryPostProcessor는 PropertySourcesPlaceholderConfigu...</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Additional Capabilities of the ApplicationContext</title><link>https://blog.chan99k.dev/blog/additional-capabilities-of-the-applicationcontext/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/additional-capabilities-of-the-applicationcontext/</guid><description>Spring의 `ApplicationContext`는 기본적인 `BeanFactory`의 기능을 넘어서 엔터프라이즈 애플리케이션 프레임워크에 적합한 다양한 추가 기능을 제공합니다. 주요 기능으로는 국제화를 위한 `MessageSource`, URL 및 파일 접근을 위한 `ResourceLoader`, 이벤트 발행을 위한 `ApplicationEventPublisher`, 그리고 계층적 컨텍스트를 지원하는 `HierarchicalBeanFactory` 인터페이스가 있습니다. 특히 이벤트 처리 메커니즘은 Spring 4.2부터 어노테이션 기반 모델(`@EventListener`)을 지원하며, 비동기 이벤트 처리, 이벤트 순서 제어, 제네릭 이벤트 등 다양한 고급 기능을 제공합니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Container Overview</title><link>https://blog.chan99k.dev/blog/container-overview/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/container-overview/</guid><description>Spring IoC 컨테이너의 핵심은 `ApplicationContext` 인터페이스로, 빈(bean)의 인스턴스화, 구성, 조립을 담당한다. 컨테이너는 설정 메타데이터(configuration metadata)를 읽어 어떤 객체를 생성하고 어떻게 연결할지 결정한다. 설정 메타데이터는 애노테이션 기반 자바 클래스, `@Configuration`과 `@Bean`을 사용한 자바 설정, 또는 전통적인 XML 파일로 표현할 수 있다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Bean Scopes</title><link>https://blog.chan99k.dev/blog/bean-scopes/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/bean-scopes/</guid><description>Spring Framework는 빈(Bean)의 생명주기와 인스턴스 생성 방식을 제어하는 6가지 스코프(Scope)를 제공합니다. singleton(기본값)과 prototype은 모든 컨테이너에서 사용 가능하며, request, session, application, websocket은 웹 기반 ApplicationContext에서만 사용할 수 있습니다. singleton은 컨테이너당 하나의 인스턴스를 유지하고, prototype은 요청할 때마다 새 인스턴스를 생성합니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Classpath Scanning and Managed Components</title><link>https://blog.chan99k.dev/blog/classpath-scanning-and-managed-components/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/classpath-scanning-and-managed-components/</guid><description>이 문서는 Spring Framework의 클래스패스 스캐닝 기능을 통해 컴포넌트를 자동으로 탐지하고 빈으로 등록하는 방법을 설명합니다. XML 기반의 명시적 빈 정의 대신, `@Component` 및 스테레오타입 애너테이션(`@Repository`, `@Service`, `@Controller`)을 사용하여 빈을 선언할 수 있습니다. `@ComponentScan` 애너테이션을 통해 특정 패키지를 스캔하며, 필터를 사용하여 스캔 대상을 세밀하게 제어할 수 있습니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Lazy-initialized Beans</title><link>https://blog.chan99k.dev/blog/lazy-initialized-beans/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/lazy-initialized-beans/</guid><description>Spring의 ApplicationContext는 기본적으로 모든 싱글톤 빈을 초기화 과정에서 즉시 생성하고 구성한다. 이는 설정 오류를 즉시 발견할 수 있다는 장점이 있지만, 특정 상황에서는 빈의 지연 초기화(lazy initialization)가 필요할 수 있다. 지연 초기화 빈은 시작 시점이 아닌 처음 요청될 때 생성되며, `@Lazy` 애노테이션 또는 XML의 `lazy-init` 속성을 통해 설정할 수 있다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Instantiating the Spring Container by Using AnnotationConfigApplicationContext</title><link>https://blog.chan99k.dev/blog/instantiating-the-spring-container-by-using-annotationconfigapplicationcontext/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/instantiating-the-spring-container-by-using-annotationconfigapplicationcontext/</guid><description>이 문서는 Spring 3.0에서 도입된 `AnnotationConfigApplicationContext`를 사용하여 Spring 컨테이너를 인스턴스화하는 다양한 방법을 설명합니다. `AnnotationConfigApplicationContext`는 `@Configuration` 클래스뿐만 아니라 일반 `@Component` 클래스 및 JSR-330 메타데이터로 어노테이션된 클래스도 입력으로 받을 수 있는 유연한 `ApplicationContext` 구현체입니다. 문서는 네 가지 주요 사용 패턴을 다룹니다: (1) 생성자를 통한 단순 구성, (2) `register(Class&lt;?&gt;...)` 메서드를 사용한 프로그래밍 방식 빌드, (3) `scan(String...)` 메서드를 통한 컴포넌트 스캐닝 활성...</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Customizing the Nature of a Bean</title><link>https://blog.chan99k.dev/blog/customizing-the-nature-of-a-bean/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/customizing-the-nature-of-a-bean/</guid><description>Spring Framework는 빈(bean)의 동작을 커스터마이징하기 위한 여러 인터페이스를 제공합니다. 크게 세 가지 범주로 구분됩니다: (1) 라이프사이클 콜백(Lifecycle Callbacks) - 초기화 및 소멸 단계에서 커스텀 로직 실행, (2) ApplicationContextAware 및 BeanNameAware - 컨테이너나 빈 이름에 대한 참조 획득, (3) 기타 Aware 인터페이스 - 다양한 인프라 의존성 주입.
라이프사이클 관리는 `@PostConstruct`/`@PreDestroy` 어노테이션, `init-method`/`destroy-method` XML 설정, 또는 `InitializingBean`/`DisposableBean` 인터페이스 구현을 통해 가능하며, Spri...</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Environment Abstraction</title><link>https://blog.chan99k.dev/blog/environment-abstraction/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/environment-abstraction/</guid><description>Spring Framework의 `Environment` 인터페이스는 애플리케이션 환경의 두 가지 핵심 측면인 **프로파일(profiles)** 과 **프로퍼티(properties)** 를 모델링하는 컨테이너 통합 추상화입니다. 프로파일은 특정 조건에서만 활성화되는 빈 정의의 논리적 그룹을 제공하여 개발/QA/운영 환경에 따라 다른 빈을 등록할 수 있게 하며, 프로퍼티는 다양한 소스(프로퍼티 파일, JVM 시스템 프로퍼티, 환경 변수, JNDI 등)에서 설정 값을 통합 관리할 수 있게 합니다. 이 문서는 `@Profile` 애노테이션을 사용한 환경별 빈 설정, 프로파일 표현식과 활성화 방법, `PropertySource` 계층 구조와 우선순위, `@PropertySource` 애노테이션을 통한 커스텀 ...</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dependencies and Configuration in Detail</title><link>https://blog.chan99k.dev/blog/dependencies-and-configuration-in-detail/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/dependencies-and-configuration-in-detail/</guid><description>이 문서는 Spring Framework의 IoC 컨테이너에서 빈(bean)의 속성과 생성자 인자를 구성하는 다양한 XML 설정 방법을 다룹니다. 기본 값(primitive, String 등)부터 복잡한 객체 참조, 컬렉션, 중첩된 빈까지 상세히 설명합니다. XML 기반 설정의 각 요소(`&lt;property/&gt;`, `&lt;constructor-arg/&gt;`, `&lt;ref/&gt;`, `&lt;idref/&gt;` 등)의 역할과 활용법을 예제와 함께 제시하며, p-namespace와 c-namespace를 활용한 간결한 설정 방법도 소개합니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Method Injection</title><link>https://blog.chan99k.dev/blog/method-injection/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/method-injection/</guid><description>메서드 인젝션(Method Injection)은 Spring IoC 컨테이너의 고급 기능으로, 서로 다른 라이프사이클을 가진 빈들 간의 의존성 문제를 해결합니다. 특히 싱글톤 빈이 프로토타입 빈을 사용해야 할 때, 매번 새로운 인스턴스를 받을 수 있도록 해줍니다. Spring은 CGLIB 라이브러리를 사용하여 바이트코드를 동적으로 생성하고 서브클래스를 만들어 메서드를 오버라이드하는 방식으로 이를 구현합니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Registering a LoadTimeWeaver</title><link>https://blog.chan99k.dev/blog/registering-a-loadtimeweaver/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/registering-a-loadtimeweaver/</guid><description>Spring의 `LoadTimeWeaver`는 클래스가 JVM(Java Virtual Machine)에 로드될 때 동적으로 변환(transformation)하는 기능을 제공한다. 이 문서는 `@EnableLoadTimeWeaving` 어노테이션을 사용한 Java 기반 설정과 `&lt;context:load-time-weaver/&gt;` 요소를 사용한 XML 기반 설정 두 가지 방법을 소개한다. 로드타임 위빙은 특히 Spring의 JPA 지원과 함께 사용될 때 유용하며, JPA 클래스 변환에 필요할 수 있다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Spring Framework Overview</title><link>https://blog.chan99k.dev/blog/spring-framework-overview/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/spring-framework-overview/</guid><description>Spring Framework는 Java 엔터프라이즈 애플리케이션 개발을 쉽게 만드는 오픈소스 프레임워크입니다. 2003년 초기 J2EE의 복잡성에 대한 응답으로 탄생했으며, 현재는 Java 17+ 기반으로 Groovy와 Kotlin도 지원합니다. 핵심은 설정 모델과 의존성 주입(Dependency Injection) 메커니즘을 포함하는 코어 컨테이너이며, 메시징, 트랜잭션 데이터, 웹(Servlet 기반 Spring MVC 및 리액티브 Spring WebFlux) 등 다양한 애플리케이션 아키텍처에 대한 지원을 제공합니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>The BeanFactory API</title><link>https://blog.chan99k.dev/blog/the-beanfactory-api/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/the-beanfactory-api/</guid><description>`BeanFactory`는 Spring IoC 기능의 기반이 되는 핵심 API로, Spring의 다른 부분 및 서드파티 프레임워크와의 통합에 주로 사용됩니다. `DefaultListableBeanFactory` 구현체는 상위 레벨 `GenericApplicationContext` 컨테이너 내에서 핵심 델리게이트 역할을 합니다. `BeanFactory`와 관련 인터페이스들(`BeanFactoryAware`, `InitializingBean`, `DisposableBean`)은 어노테이션이나 리플렉션 없이도 매우 효율적인 상호작용을 가능하게 합니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Using depends-on</title><link>https://blog.chan99k.dev/blog/using-depends-on/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/using-depends-on/</guid><description>Spring IoC 컨테이너에서 빈(Bean) 간의 초기화 순서를 명시적으로 제어하는 `depends-on` 속성에 대한 문서입니다. 일반적으로 빈 간의 의존성은 `&lt;ref/&gt;` 요소나 autowiring을 통해 관리되지만, 데이터베이스 드라이버 등록과 같이 정적 초기화가 필요한 경우에는 간접적인 의존성 관계가 존재할 수 있습니다. `depends-on` 속성 또는 `@DependsOn` 어노테이션을 사용하면 특정 빈이 초기화되기 전에 다른 빈들이 먼저 초기화되도록 강제할 수 있으며, 싱글톤 빈의 경우 소멸 순서도 제어할 수 있습니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Using JSR-330 Standard Annotations</title><link>https://blog.chan99k.dev/blog/using-jsr-330-standard-annotations/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/using-jsr-330-standard-annotations/</guid><description>이 문서는 Spring Framework에서 JSR-330 표준 의존성 주입 애노테이션을 사용하는 방법을 설명합니다. Spring은 `jakarta.inject` 패키지의 표준 애노테이션을 지원하며, 이를 Spring의 기본 애노테이션 대안으로 사용할 수 있습니다. 주요 내용으로 `@Inject`와 `@Named` 애노테이션의 사용법, `@Component`의 표준 대안으로서 `@Named`의 활용, 그리고 JSR-330 표준 애노테이션의 제한사항을 다룹니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Using the @Bean Annotation</title><link>https://blog.chan99k.dev/blog/using-the-bean-annotation/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/using-the-bean-annotation/</guid><description>이 문서는 Spring Framework의 `@Bean` 애노테이션에 대한 공식 레퍼런스로, Java 기반 설정을 사용하여 빈(bean)을 정의하고 관리하는 방법을 다룹니다. `@Bean`은 메서드 레벨 애노테이션으로 XML의 `&lt;bean/&gt;` 요소와 동등한 기능을 제공하며, `@Configuration` 또는 `@Component` 클래스에서 사용할 수 있습니다. 주요 내용으로는 빈 선언 방법, 의존성 주입, 라이프사이클 콜백 처리, 빈 스코프 지정, 이름 커스터마이징 등을 포함합니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Using the @Configuration annotation</title><link>https://blog.chan99k.dev/blog/using-the-configuration-annotation/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/using-the-configuration-annotation/</guid><description>이 문서는 Spring Framework의 `@Configuration` 어노테이션을 사용하여 Java 기반 컨테이너 설정을 구성하는 방법을 설명합니다. `@Configuration`은 클래스가 Bean 정의의 소스임을 나타내는 클래스 레벨 어노테이션으로, `@Bean` 메서드를 통해 Bean을 선언하고 Bean 간 의존성을 정의할 수 있습니다. 문서는 세 가지 핵심 주제를 다룹니다: (1) `@Bean` 메서드 호출을 통한 Bean 간 의존성 주입, (2) 싱글톤과 프로토타입 스코프 Bean 간 의존성을 처리하는 Lookup Method Injection 패턴, (3) CGLIB 서브클래싱을 통해 `@Configuration` 클래스가 내부적으로 작동하는 방식. 특히 Spring은 `@Configur...</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Circuit Breaker Pattern</title><link>https://blog.chan99k.dev/blog/circuit-breaker-pattern/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/circuit-breaker-pattern/</guid><description>서킷 브레이커 패턴은 원격 서비스나 리소스에 연결할 때 복구에 다양한 시간이 걸리는 장애를 처리하는 안정성 패턴이다. 장애를 감지한 후 결함이 있는 서비스에 대한 접근을 일시적으로 차단함으로써, 반복적인 실패 시도를 방지하고 시스템이 효과적으로 복구될 수 있도록 한다.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Event Sourcing Pattern</title><link>https://blog.chan99k.dev/blog/event-sourcing-pattern/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/event-sourcing-pattern/</guid><description>이벤트 소싱 패턴은 객체의 현재 상태만 저장하는 대신, 객체에 수행된 전체 행위 시퀀스를 추가 전용 저장소에 기록하는 접근 방식이다. 복잡한 시스템에서 성능, 확장성, 감사 가능성을 향상시킬 수 있다.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>CQRS Pattern</title><link>https://blog.chan99k.dev/blog/cqrs-pattern/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/cqrs-pattern/</guid><description>CQRS(Command Query Responsibility Segregation)는 데이터 저장소에 대한 읽기와 쓰기 작업을 별도의 데이터 모델로 분리하는 디자인 패턴이다. 각 모델을 독립적으로 최적화할 수 있어 애플리케이션의 성능, 확장성, 보안을 향상시킬 수 있다.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>제1원리 사고란 무엇인가? (What is First Principles Thinking?)</title><link>https://blog.chan99k.dev/blog/what-is-first-principles-thinking/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/what-is-first-principles-thinking/</guid><description>제1원리 사고(First Principles Thinking)는 복잡한 문제를 가장 근본적인 진실로 분해하여 새로운 해결책을 발견하는 사고 방법이다. 유추에 의한 추론 대신 제1원리로부터의 추론을 사용함으로써, 우리가 절대적으로 참이라고 알고 있는 것과 가정을 분리해낸다.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Saga 분산 트랜잭션 패턴</title><link>https://blog.chan99k.dev/blog/saga-distributed-transactions-pattern/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/saga-distributed-transactions-pattern/</guid><description>Saga 디자인 패턴은 분산 시스템에서 여러 서비스에 걸친 트랜잭션을 조율하여 데이터 일관성을 유지하는 패턴이다. 트랜잭션을 일련의 로컬 트랜잭션으로 분해하고, 실패 시 보상 트랜잭션을 통해 롤백하는 방식을 제공한다. 구현 방식으로는 코레오그래피와 오케스트레이션 두 가지 접근법이 있다.</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Astro로 기술 블로그 만들기: 실제 구축 과정</title><link>https://blog.chan99k.dev/blog/building-astro-blog-01/</link><guid isPermaLink="true">https://blog.chan99k.dev/blog/building-astro-blog-01/</guid><description>Netlify Astro 템플릿에서 시작해 계층형 태그, Cmd+K 검색, 다크모드, Git 기반 CMS까지 갖춘 기술 블로그를 만드는 과정을 실제 코드와 함께 공유합니다.</description><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item></channel></rss>