<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Devy Archive</title>
    <link>https://dev.devy.dev</link>
    <description>Devy의 개발과 운영 기록을 문제 해결 중심으로 모아둔 아카이브입니다.</description>
    <language>ko</language>
    <atom:link href="https://dev.devy.dev/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Spring AI CS 상담 보조 시스템 운영기 - Function Calling에서 운영자 제안 워크플로까지</title>
      <link>https://dev.devy.dev/posts/spring-ai-cs-automation/</link>
      <guid>https://dev.devy.dev/posts/spring-ai-cs-automation/</guid>
      <description>Spring AI 기반 CS 답변 초안을 운영에 적용하며 Function Calling 중심 설계를 병렬 조회, QA, 오류 진단, 운영자 검수 워크플로로 바꾼 과정과 성과를 정리합니다.</description>
      <pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>서비스 국제화 적용기 (5) - 이미지로 박은 문서를 HTML로: 다국어 PDF 렌더링</title>
      <link>https://dev.devy.dev/posts/i18n-05-document-render/</link>
      <guid>https://dev.devy.dev/posts/i18n-05-document-render/</guid>
      <description>수강확인증·리포트는 오랫동안 언어가 이미지에 구워져 있었다. 이미지 기반 문서를 HTML 템플릿 + Cloud Run 렌더링으로 옮겨 '새 언어 = JSON 파일 하나'로 만든 아키텍처 전환기.</description>
      <pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>서비스 국제화 적용기 (4) - 백엔드가 할 몫: 사용자 언어·시간대와 문서 로케일</title>
      <link>https://dev.devy.dev/posts/i18n-04-backend-locale/</link>
      <guid>https://dev.devy.dev/posts/i18n-04-backend-locale/</guid>
      <description>프론트만 번역하면 서버가 한국어 응답·문서로 다시 한국어를 섞는다. 백엔드가 사용자 언어·시간대를 저장하고 인증 컨텍스트로 들고 다니며 응답과 문서까지 로케일을 흘려보낸 이야기.</description>
      <pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>AWS에서 GCP로 - 클라우드 이관에서 실제로 바뀐 것들</title>
      <link>https://dev.devy.dev/posts/aws-to-gcp-migration/</link>
      <guid>https://dev.devy.dev/posts/aws-to-gcp-migration/</guid>
      <description>AWS에서 GCP로 서비스를 옮기면서 런타임, 배포, 시크릿, 데이터 연결, 캐시, 관측성의 기준이 어떻게 바뀌었는지 정리합니다.</description>
      <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>서비스 국제화 적용기 (3) - GrowthBook 킬스위치로 무중단 점진 롤아웃</title>
      <link>https://dev.devy.dev/posts/i18n-03-rollout-killswitch/</link>
      <guid>https://dev.devy.dev/posts/i18n-03-rollout-killswitch/</guid>
      <description>번역을 다 만들었어도 전원에게 한 번에 켜면 위험하다. 로케일 결정을 단일 차단점으로 모으고 GrowthBook 킬스위치로 i18n을 무중단·점진 롤아웃한 이야기.</description>
      <pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>서비스 국제화 적용기 (2) - 언어팩 서빙: 번들, GCS 런타임 로드, 그리고 캐시</title>
      <link>https://dev.devy.dev/posts/i18n-02-language-pack-gcs/</link>
      <guid>https://dev.devy.dev/posts/i18n-02-language-pack-gcs/</guid>
      <description>번역을 앱과 함께 배포하면 문구 한 줄 고칠 때마다 배포가 필요하다. 언어팩을 GCS에서 런타임 로드하고 번들로 폴백한 구조, 그리고 배포해도 안 바뀌던 캐시 문제를 정리한다.</description>
      <pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>서비스 국제화 적용기 (1) - 하드코딩된 한국어를 걷어내며</title>
      <link>https://dev.devy.dev/posts/i18n-01-foundation/</link>
      <guid>https://dev.devy.dev/posts/i18n-01-foundation/</guid>
      <description>일본 진출을 앞두고 시작한 프론트엔드 국제화. 로케일 모델을 어떻게 정하고 메시지를 어떻게 관리하고 로케일을 온 시스템에 어떻게 흘려보냈는지 정리한다.</description>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>JWT 서명 전환 - HS256에서 RS256/JWKS/KMS로</title>
      <link>https://dev.devy.dev/posts/jwt-hs256-to-rs256-jwks-kms/</link>
      <guid>https://dev.devy.dev/posts/jwt-hs256-to-rs256-jwks-kms/</guid>
      <description>대칭키 JWT 서명을 RS256/JWKS/KMS 구조로 바꾸며 서명 책임, kid, key rotation, legacy 토큰 처리를 어떻게 나눴는지 정리합니다.</description>
      <pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>로그인 책임 분리 (3) - 기존 토큰과 새 백엔드 토큰을 함께 검증하기</title>
      <link>https://dev.devy.dev/posts/auth-token-verification-migration/</link>
      <guid>https://dev.devy.dev/posts/auth-token-verification-migration/</guid>
      <description>브라우저에는 토큰이 쿠키로 전달되지만 기존 토큰과 새 백엔드 토큰의 검증 기준이 다를 때 순서와 실패 처리를 어떻게 나눴는지 정리합니다.</description>
      <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>로그인 책임 분리 (2) - authorize/callback 흐름 연결하기</title>
      <link>https://dev.devy.dev/posts/auth-authorize-callback-flow/</link>
      <guid>https://dev.devy.dev/posts/auth-authorize-callback-flow/</guid>
      <description>보호 페이지 접근부터 백엔드 authorize, callback, 토큰 발급까지 이어지는 로그인 흐름을 프론트엔드에서 어떻게 연결했는지 정리합니다.</description>
      <pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>로그인 책임 분리 (1) - 프론트엔드에서 백엔드로 옮긴 이유</title>
      <link>https://dev.devy.dev/posts/backend-owned-login-flow/</link>
      <guid>https://dev.devy.dev/posts/backend-owned-login-flow/</guid>
      <description>프론트엔드가 로그인 상태를 직접 만들던 구조를 백엔드 중심의 인증 흐름으로 바꾸며 정리한 책임 분리 기준.</description>
      <pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Platform Thread vs Virtual Thread vs Coroutine - 10,000 태스크 벤치마크</title>
      <link>https://dev.devy.dev/posts/sync-virtual-coroutine-benchmark/</link>
      <guid>https://dev.devy.dev/posts/sync-virtual-coroutine-benchmark/</guid>
      <description>JDK 25 Platform Thread, Virtual Thread, Kotlin Coroutine의 I/O Bound, CPU Bound, High Concurrency 시나리오별 성능을 100회 반복 벤치마크로 비교한다.</description>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>JDK 마이그레이션 (1) - JDK 11에서 21로, Spring Boot 3.x 전환기</title>
      <link>https://dev.devy.dev/posts/jdk-migration-strategy-11-to-25/</link>
      <guid>https://dev.devy.dev/posts/jdk-migration-strategy-11-to-25/</guid>
      <description>프로덕션 Spring Boot 서비스를 JDK 11 → 21로 업그레이드하며 겪은 javax→jakarta 전환, AWS SDK v3 마이그레이션, QueryDSL 호환성 해결 등 실전 경험을 정리합니다.</description>
      <pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>JDK 마이그레이션 (2) - JDK 21에서 25로, Virtual Threads와 모던 Java</title>
      <link>https://dev.devy.dev/posts/jdk-migration-strategy-21-to-25/</link>
      <guid>https://dev.devy.dev/posts/jdk-migration-strategy-21-to-25/</guid>
      <description>JDK 21 → 25 업그레이드 실전기. Virtual Threads 활성화, pinning 이슈 해소, pattern matching switch 적용, Gradle Kotlin DSL 전환까지.</description>
      <pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Datadog 걷어내고 LGTM 스택 구축하기 - OTel Sidecar + Grafana/Loki/Tempo/Mimir</title>
      <link>https://dev.devy.dev/posts/lgtm-stack-observability/</link>
      <guid>https://dev.devy.dev/posts/lgtm-stack-observability/</guid>
      <description>Datadog 비용 압박으로 오픈소스 LGTM 스택(Grafana, Loki, Tempo, Mimir)으로 전환한 경험을 공유합니다. OTel Collector 사이드카 설계부터 노이즈 필터링, MDC 기반 요청 추적, IRSA 기반 S3 저장소 구성까지 실전 구축기입니다.</description>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>EKS에 LGTM 스택 구축하기 - Loki, Grafana, Tempo, Mimir 실전 셋업 가이드</title>
      <link>https://dev.devy.dev/posts/lgtm-stack-setup-guide/</link>
      <guid>https://dev.devy.dev/posts/lgtm-stack-setup-guide/</guid>
      <description>EKS 클러스터에 Grafana LGTM 스택을 Helm으로 배포하고 OTel Collector 사이드카로 Spring Boot 앱의 로그·트레이스·메트릭을 수집하는 전체 과정을 다룹니다.</description>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Spring AI 적용 가이드 (1) - 프로젝트 설정부터 첫 번째 AI 호출까지</title>
      <link>https://dev.devy.dev/posts/spring-ai-guide-01-setup/</link>
      <guid>https://dev.devy.dev/posts/spring-ai-guide-01-setup/</guid>
      <description>Spring AI의 핵심 개념과 프로젝트 설정, ChatClient를 이용한 첫 번째 AI 호출까지를 정리합니다.</description>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Spring AI 적용 가이드 (2) - 멀티 프로바이더 전략</title>
      <link>https://dev.devy.dev/posts/spring-ai-guide-02-multi-provider/</link>
      <guid>https://dev.devy.dev/posts/spring-ai-guide-02-multi-provider/</guid>
      <description>OpenAI, AWS Bedrock, Google Gemini를 하나의 ChatClient 인터페이스로 추상화하고 런타임에 동적으로 전환하는 방법을 다룹니다.</description>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Spring AI 적용 가이드 (3) - 프롬프트 관리 &amp; Structured Output</title>
      <link>https://dev.devy.dev/posts/spring-ai-guide-03-prompt-structured-output/</link>
      <guid>https://dev.devy.dev/posts/spring-ai-guide-03-prompt-structured-output/</guid>
      <description>Spring AI의 메시지 모델, 변수 템플릿링, DB 기반 프롬프트 관리, JSON Schema를 활용한 Structured Output을 다룹니다.</description>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>ECS에서 EKS로 - kustomize + Gateway API 기반 운영 환경 구축기</title>
      <link>https://dev.devy.dev/posts/ecs-to-eks-migration/</link>
      <guid>https://dev.devy.dev/posts/ecs-to-eks-migration/</guid>
      <description>AWS ECS에서 EKS로 마이그레이션하면서 kustomize base/overlay 패턴, K8s Gateway API, Karpenter 노드 오토스케일링, Blue/Green 배포 전략까지 구축한 경험을 공유합니다.</description>
      <pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>API 응답/에러 처리 구조 공통화 - HTTP 상태코드를 제대로 쓰기까지</title>
      <link>https://dev.devy.dev/posts/api-response-error-standardization/</link>
      <guid>https://dev.devy.dev/posts/api-response-error-standardization/</guid>
      <description>모든 API가 200을 반환하던 레거시 구조에서, HTTP 상태코드를 올바르게 활용하는 공통 응답/에러 체계로 전면 개선한 과정. 모니터링 정상화, 디버깅 효율화, 개발자 간 커뮤니케이션 비용 절감까지.</description>
      <pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Spring MVC에 Facade 패턴 도입기 - @Gateway 어노테이션으로 레이어드 아키텍처 개선</title>
      <link>https://dev.devy.dev/posts/spring-facade-pattern-layered-architecture/</link>
      <guid>https://dev.devy.dev/posts/spring-facade-pattern-layered-architecture/</guid>
      <description>전통적인 Controller-Service-Repository 구조에 커스텀 @Gateway 어노테이션과 Facade 레이어를 도입하여 도메인별 단일 책임 원칙을 확보하고 팀 생산성을 높인 과정을 공유합니다.</description>
      <pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>멀티채널 알림 서버 구축기 - php 레거시에서 Java/Spring으로</title>
      <link>https://dev.devy.dev/posts/multi-channel-notification-server/</link>
      <guid>https://dev.devy.dev/posts/multi-channel-notification-server/</guid>
      <description>PHP 파일에 흩어져 있던 알림 로직을 Spring Boot 기반 독립 알림 서버로 구축한 과정. 카카오 알림톡, SMS, 이메일, 푸시, Slack까지 6개 채널을 하나의 서버에서 처리하는 구조를 만들기까지.</description>
      <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>결제 시스템 재설계 (1) - PHP 레거시에서 Java/Spring으로</title>
      <link>https://dev.devy.dev/posts/payment-system-migration-php-to-spring/</link>
      <guid>https://dev.devy.dev/posts/payment-system-migration-php-to-spring/</guid>
      <description>PHP로 구현된 레거시 결제 시스템을 Java/Spring + SQS 기반 이벤트 드리븐 아키텍처로 전환한 과정을 공유합니다.</description>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>결제 시스템 재설계 (2) - SQS를 걷어내고 동기 API로</title>
      <link>https://dev.devy.dev/posts/payment-system-redesign-sync-api/</link>
      <guid>https://dev.devy.dev/posts/payment-system-redesign-sync-api/</guid>
      <description>이벤트 드리븐의 매력에 빠져 도입한 SQS였지만 결제 도메인에서는 오히려 복잡도만 높였다. SQS를 제거하고 동기 API + Portone 웹훅 기반으로 전환하면서 결제 프로세스를 안정화한 이야기.</description>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Spring AI 실전 적용기 - 7단계 AI 진단 파이프라인 구축</title>
      <link>https://dev.devy.dev/posts/spring-ai-pipeline-real-world/</link>
      <guid>https://dev.devy.dev/posts/spring-ai-pipeline-real-world/</guid>
      <description>HTTP 직접 호출 + 동기 단일 프롬프트 방식을 Spring AI 기반 7단계 파이프라인으로 재설계한 실전 경험을 공유합니다.</description>
      <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>블로그 만들기 #1 - 프로젝트 소개 &amp; 기술 스택</title>
      <link>https://dev.devy.dev/posts/blog-dev-01-intro/</link>
      <guid>https://dev.devy.dev/posts/blog-dev-01-intro/</guid>
      <description>React 19, Vite 7, shadcn/ui로 개인 블로그를 새로 만든 이유와 기술 스택을 소개합니다.</description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>블로그 만들기 #2 - Command Palette 검색 &amp; View Transitions</title>
      <link>https://dev.devy.dev/posts/blog-dev-02-search-transitions/</link>
      <guid>https://dev.devy.dev/posts/blog-dev-02-search-transitions/</guid>
      <description>cmdk로 Cmd+K 검색을 구현하고 View Transitions API로 페이지 전환 애니메이션을 적용한 과정입니다.</description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>블로그 만들기 #3 - 컬러 테마 프리셋 &amp; 포스트 시리즈</title>
      <link>https://dev.devy.dev/posts/blog-dev-03-theme-series/</link>
      <guid>https://dev.devy.dev/posts/blog-dev-03-theme-series/</guid>
      <description>shadcn/ui의 oklch 색상 시스템으로 6가지 컬러 프리셋을 만들고 포스트 시리즈 기능을 구현한 과정입니다.</description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>블로그 만들기 #4 - 고급 검색 &amp; SEO 최적화</title>
      <link>https://dev.devy.dev/posts/blog-dev-04-search-seo/</link>
      <guid>https://dev.devy.dev/posts/blog-dev-04-search-seo/</guid>
      <description>날짜/태그 필터가 포함된 검색 페이지를 만들고 메타 태그, sitemap, RSS 피드로 SEO를 최적화한 과정입니다.</description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>블로그 만들기 #5 - Google Analytics 연동 &amp; 방문자 수 표시</title>
      <link>https://dev.devy.dev/posts/blog-dev-05-analytics/</link>
      <guid>https://dev.devy.dev/posts/blog-dev-05-analytics/</guid>
      <description>정적 사이트에서 GA4 데이터를 활용해 방문자 수와 일별 조회수 차트를 표시하는 방법을 정리합니다.</description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>블로그 만들기 #6 - UX 개선 &amp; SEO 마무리</title>
      <link>https://dev.devy.dev/posts/blog-dev-06-ux-seo/</link>
      <guid>https://dev.devy.dev/posts/blog-dev-06-ux-seo/</guid>
      <description>글 목록 연도별 그룹핑, 모바일 사이드바 UX 개선, robots.txt, OG 이미지 등 블로그의 완성도를 높이는 작업들을 정리합니다.</description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>GitOps 자동화 배포 - ArgoCD + n8n + GitHub Actions로 Slack 승인 배포 파이프라인 구축하기</title>
      <link>https://dev.devy.dev/posts/gitops-argocd-n8n-deployment/</link>
      <guid>https://dev.devy.dev/posts/gitops-argocd-n8n-deployment/</guid>
      <description>ECS에서 EKS로 마이그레이션하면서 구축한 GitOps 기반 배포 자동화 시스템을 소개합니다. ArgoCD, n8n, GitHub Actions를 조합하여 환경별로 차등화된 배포 전략을 설계한 경험을 공유합니다.</description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>React Hooks 딥다이브</title>
      <link>https://dev.devy.dev/posts/react-hooks-deep-dive/</link>
      <guid>https://dev.devy.dev/posts/react-hooks-deep-dive/</guid>
      <description>React Hooks의 동작 원리와 실전 패턴을 깊이 있게 살펴봅니다.</description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>