<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>jaehong21.com</title><description>정재홍의 개인 블로그</description><link>https://jaehong21.com/</link><item><title>&quot;왜 CPU가 throttling을 하나요?&quot;에 답해보세요</title><link>https://jaehong21.com/ko/posts/answer-why-cpu-throttling/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/answer-why-cpu-throttling/</guid><description>단순한 질문 하나가 만들어낸 여러가지 관점. &quot;왜 CPU가 throttling을 하나요&quot;라는 간단한 질문에 숨겨진 의도를 읽는 과정에 대한 짧은 글.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Istio 2편: Envoy config로 해부하는 Ambient mode</title><link>https://jaehong21.com/ko/posts/channel-io-istio-ambient-02/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/channel-io-istio-ambient-02/</guid><description>Istio Ambient mode의 HBONE 터널링과 traffic redirection이 Envoy config에서 어떻게 구현되어 있는지 살펴봅니다.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Istio 1편: 왜 Istio Ambient mode인가?</title><link>https://jaehong21.com/ko/posts/channel-io-istio-ambient-01/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/channel-io-istio-ambient-01/</guid><description>채널톡의 Istio Ambient mode의 도입 배경과 동작 원리를 소개합니다.</description><pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AuthorizationPolicy의 ext_authz를 Envoy config로 톺아보기</title><link>https://jaehong21.com/ko/posts/istio-ext-authz-envoy-config/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/istio-ext-authz-envoy-config/</guid><description>Istio AuthorizationPolicy의 action: CUSTOM이 Envoy config에서 어떻게 동작하는지를 실제 envoy config dump 기반으로 분석합니다.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>오랜만에 만난 Python async 함정: 동기 함수 하나가 Liveness Probe를 막았다</title><link>https://jaehong21.com/ko/posts/python-async-blocking-probe/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/python-async-blocking-probe/</guid><description>CPU-bound sync 함수를 async handler에서 직접 돌렸던 실수가 /v1/health를 막았던 이야기</description><pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate></item><item><title>HTTPRoute에서의 RegularExpression Path Matching</title><link>https://jaehong21.com/ko/posts/httproute-regex-path-matching/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/httproute-regex-path-matching/</guid><description>Istio의 HTTPRoute Path Matching 우선순위와 PathPrefix가 RegularExpression보다 항상 우선하는 이유</description><pubDate>Tue, 15 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Istio에서 Client IP 특정하기 (Proxy Protocol v2)</title><link>https://jaehong21.com/ko/posts/istio-client-ip-proxy-protocol/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/istio-client-ip-proxy-protocol/</guid><description>AWS NLB + Istio Gateway 환경에서 numTrustedProxies로도 해결되지 않는 Client IP 문제를 Proxy Protocol v2로 해결한 과정을 다룹니다.</description><pubDate>Wed, 02 Apr 2025 00:00:00 GMT</pubDate></item><item><title>채널톡 GitHub Actions 도입기 2부: ARC 실제 운영 및 트러블슈팅</title><link>https://jaehong21.com/ko/posts/channel-io-gha-arc-02/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/channel-io-gha-arc-02/</guid><description>Channel.io에서의 쿠버네티스 Actions Runner Controller(ARC) 실제 운영 및 트러블슈팅에 대한 사례들과 배운점을 소개합니다.</description><pubDate>Wed, 19 Mar 2025 00:00:00 GMT</pubDate></item><item><title>채널톡 GitHub Actions 도입기 1부: ARC 구축 및 Container Jobs 지원</title><link>https://jaehong21.com/ko/posts/channel-io-gha-arc-01/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/channel-io-gha-arc-01/</guid><description>채널톡에서 CircleCI에서 Github Actions self-hosted runner로 전환한 이야기를 소개합니다.</description><pubDate>Tue, 18 Mar 2025 00:00:00 GMT</pubDate></item><item><title>무언가 많이 했구나; 2024년 3분기 회고</title><link>https://jaehong21.com/ko/posts/retrospect-2024-09/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/retrospect-2024-09/</guid><description>DevOps 엔지니어로서의 첫 3개월에 비해서, 지난 3개월은 그저 지나가는 시간이라고 생각했지만, 막상 돌아보니 또 많은 일과 배움들이 있었다.</description><pubDate>Mon, 30 Sep 2024 00:00:00 GMT</pubDate></item><item><title>Uptimeninja.io를 구상하면서 생긴 고민들; Redis stream과 Producer, Consumer scale-out에 대하여</title><link>https://jaehong21.com/ko/posts/uptimeninja-redis-stream/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/uptimeninja-redis-stream/</guid><description>Event-driven architecture를 Redis Stream을 활용하여 Uptimeninja.io 서비스를 구상하고 있습니다. 그 과정에서 Producer와 Consumer들을 scale-out 함에 있어서 생긴 고민들을 공유합니다.</description><pubDate>Sun, 28 Jul 2024 00:00:00 GMT</pubDate></item><item><title>DevOps 엔지니어로서의 첫 3개월; 2024년 2분기 회고</title><link>https://jaehong21.com/ko/posts/retrospect-2024-06/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/retrospect-2024-06/</guid><description>지난 3개월동안 정말 먹고 자는 시간을 제외하면, 컴퓨터 앞에만 앉아있었다고 자신할 수 있다. 하지만, 그 시간들 모두가 즐거웠다. 1) 회사에서 있으면서, 2) 그리고 주말에도 나는 개발에 미쳐있었다.</description><pubDate>Sun, 30 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Ubuntu; kubeadm으로 on-premise Kubernetes 설치하기</title><link>https://jaehong21.com/ko/posts/ubuntu-install/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/ubuntu-install/</guid><description>Ubuntu 머신에 kubeadm을 이용해 vanilla Kubernetes 클러스터를 설치하는 전체 과정 및 겪었던 이슈에 대해 기록해두었습니다. 더 나아가 Nvidia GPU 리소스를 쿠버네티스에서 사용할 수 있는 방법 또한 적어두었습니다.</description><pubDate>Sat, 11 May 2024 00:00:00 GMT</pubDate></item><item><title>custom JRE를 이용한 Java 컨테이너 경량화</title><link>https://jaehong21.com/ko/posts/java-jdeps-jlink/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/java-jdeps-jlink/</guid><description>jdeps 및 jlink를 사용하여 애플리케이션에 필요한 의존성만 추출하여 만든 custom JRE를 이용해서, 자바 도커 이미지 크기를 혁신적으로 줄이는 방법을 소개하고자 합니다.</description><pubDate>Mon, 08 Apr 2024 00:00:00 GMT</pubDate></item><item><title>Arch Linux 설치, 처음부터 끝까지</title><link>https://jaehong21.com/ko/posts/arch-linux-01-install/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/arch-linux-01-install/</guid><description>이 글에서는 디스크 파티셔닝, 암호화, LVM 및 GRUB 부팅 설정을 포함하여 Arch Linux를 bare-metal에 세팅하는 전반적인 과정을 다룹니다.</description><pubDate>Sat, 16 Mar 2024 00:00:00 GMT</pubDate></item><item><title>Arch Linux; kubeadm으로 on-premise Kubernetes 설치하기</title><link>https://jaehong21.com/ko/posts/arch-linux-install/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/arch-linux-install/</guid><description>Arch Linux 머신에 kubeadm을 이용해 vanilla Kubernetes 클러스터를 설치하는 전체 과정 및 겪었던 이슈에 대해 기록해두었습니다.</description><pubDate>Thu, 14 Mar 2024 00:00:00 GMT</pubDate></item><item><title>[K3s-06] GitOps에서 안전하게 Git에 secret을 등록하는 방법</title><link>https://jaehong21.com/ko/posts/k3s-06-sealed-secrets/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/k3s-06-sealed-secrets/</guid><description>쿠버네티스 secrets들은 단순히 base64 인코딩을 거치기 때문에, git에 바로 업로드하기에는 적합하지 않다. Sealed secrets은 비대칭키를 이용한 암호화를 지원합니다.</description><pubDate>Thu, 21 Dec 2023 00:00:00 GMT</pubDate></item><item><title>[K3s-05] K3s ingress에 TLS 인증서 발급 자동화</title><link>https://jaehong21.com/ko/posts/k3s-05-https-certificate/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/k3s-05-https-certificate/</guid><description>Let&apos;s Encrypt와 dns-01 challenges를 사용하여 K3s ingress에 TLS 인증서를 첨부하는 방법 및 Cloudflare Origin CA를 사용하여 Cloudflare Network에 프록시된 TLS 인증서를 첨부하는 방법에 대해 설명합니다.</description><pubDate>Tue, 19 Dec 2023 00:00:00 GMT</pubDate></item><item><title>[K3s-04] K3s 로드밸런서 구성 (Klipper와 MetalLB)</title><link>https://jaehong21.com/ko/posts/k3s-04-service-lb/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/k3s-04-service-lb/</guid><description>K3s 컨테이너 서비스를 외부에 노출하는 방법에 대해 설명합니다. Klipper(K3s built-in 로드밸런서)와 MetalLB(온프레미스 환경에서 잘 알려진 로드밸런서) 두 가지 옵션이 있습니다.</description><pubDate>Thu, 14 Dec 2023 00:00:00 GMT</pubDate></item><item><title>[K3s-03] K3s에서 Docker credentials를 주입하는 방법</title><link>https://jaehong21.com/ko/posts/k3s-03-docker-credentials/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/k3s-03-docker-credentials/</guid><description>AWS ECR에 Docker credentials를  요청하여 K3s 클러스터에 주기적으로 주입하는 방법과 K3s registries.yaml을 소개합니다.</description><pubDate>Sat, 09 Dec 2023 00:00:00 GMT</pubDate></item><item><title>[K3s-02] Kubectl을 사용하여 외부에서 K3s API server에 접근하는 방법</title><link>https://jaehong21.com/ko/posts/k3s-02-access-outside/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/k3s-02-access-outside/</guid><description>외부에서 kubectl을 사용하여 K3s 클러스터에 접근하고 K3s API 서버에 접근하기 위한 kubeconfig 자격 증명을 발급하는 방법입니다.</description><pubDate>Thu, 07 Dec 2023 00:00:00 GMT</pubDate></item><item><title>[K3s-01] K3s 설치 및 Terraform 설정 방법</title><link>https://jaehong21.com/ko/posts/k3s-01-install/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/k3s-01-install/</guid><description>K3s 클러스터 초기 설정 및 K3s master, agent 노드를 Terraform으로 설정하는 방법입니다.</description><pubDate>Wed, 06 Dec 2023 00:00:00 GMT</pubDate></item><item><title>KAIST SPARCS X GIST WING 연합 세션 2023</title><link>https://jaehong21.com/ko/posts/sparcs-wing-session/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/sparcs-wing-session/</guid><description>SPARCS(KAIST 개발자 연합) X WING(GIST 전산동아리)이 각 소속원들의 개발자 경험을 공유하는 시간을 가졌습니다.</description><pubDate>Sat, 16 Sep 2023 00:00:00 GMT</pubDate></item><item><title>GIST 개발자의 밤 2023</title><link>https://jaehong21.com/ko/posts/gist-dev-night-2023/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/gist-dev-night-2023/</guid><description>2023년 GIST 개발자의 밤 연사로 참여했으며, Polyglot Developer가 무엇이며, 왜 그 중 하나가 되어야 하는지 발표했습니다.</description><pubDate>Wed, 13 Sep 2023 00:00:00 GMT</pubDate></item><item><title>Bitcoin 노드의 boostrap 프로세스와 Bitcoin 프로토콜 소개</title><link>https://jaehong21.com/ko/posts/bitcoin-protocol/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/bitcoin-protocol/</guid><description>서로 다른 비트코인 노드가 최초 단계에서 통신하는 기본 단계 및 비트코인 프로토콜 스펙을 소개합니다.</description><pubDate>Thu, 10 Aug 2023 00:00:00 GMT</pubDate></item><item><title>수다뒤</title><link>https://jaehong21.com/ko/posts/sudadu/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/sudadu/</guid><description>수능특강 문제집을 촬영하면, 해당 문제와 비슷한 유형의 문제를 추천해주는 Flutter 앱을 개발했습니다. BentoML과 AWS Lambda를 활용해서 ML을 배포했습니다.</description><pubDate>Tue, 13 Jun 2023 00:00:00 GMT</pubDate></item><item><title>제 1회 GIST X GDSC 해커톤; GIST Attendance</title><link>https://jaehong21.com/ko/posts/gist-attendance/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/gist-attendance/</guid><description>GIST 교내의 문제점을 해결하기 위해, 강의 출석체크 앱을 제작했습니다. 부정행위를 방지하기 위해 GPS, Wifi network address 검증, request payload 난독화 등을 추가했습니다.</description><pubDate>Sat, 27 May 2023 00:00:00 GMT</pubDate></item><item><title>Golang context를 활용한 Custom Wrapper Function</title><link>https://jaehong21.com/ko/posts/wrapper-golang/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/wrapper-golang/</guid><description>custom wrapper function과 golang context을 활용해서, API handler에 Databse 객체와 JWT의 sub를 주입하는 방법을 소개합니다.</description><pubDate>Thu, 20 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Docker 없이 컨테이너 만들어보기</title><link>https://jaehong21.com/ko/posts/container-without-docker/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/container-without-docker/</guid><description>Linux의 chroot와 7개의 namespace의 탄생 배경 및 역사를 둘러보고, Linux의 기본 기능을 활용하여 컨테이너를 scratch부터 구현하는 실습 내용을 공유합니다.</description><pubDate>Fri, 24 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Rust에서의 Concurrent Database Connection과 쿼리 실행</title><link>https://jaehong21.com/ko/posts/concurrent-postgres-query/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/concurrent-postgres-query/</guid><description>Rust API 서버를 개발하면서, 데이터베이스의 초기 connection pool 생성과 concurrent한 쿼리 실행에 대한 고민을 공유합니다.</description><pubDate>Sun, 05 Mar 2023 00:00:00 GMT</pubDate></item><item><title>댓글이</title><link>https://jaehong21.com/ko/posts/datguri/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/datguri/</guid><description>댓글이는 같은 웹사이트에 있는 사람과 손쉽게 채팅할 수 있게 하는 크롬 익스텐션입니다.</description><pubDate>Sun, 05 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Python GIL (Global Interpreter Lock)</title><link>https://jaehong21.com/ko/posts/python-gil/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/python-gil/</guid><description>다른 프로그래밍 언어에 비해 뒤쳐지는 Python의 속도는 항상 문제가 되어 왔으며, 이는 GIL(Global Interpreter Lock)과 떼려야 뗄 수 없는 관계입니다.</description><pubDate>Sat, 14 Jan 2023 00:00:00 GMT</pubDate></item><item><title>NAT instance란?</title><link>https://jaehong21.com/ko/posts/nat-instance/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/nat-instance/</guid><description>private subnet에서 외부망에 접근하기 위해서 terraform으로 NAT instance를 생성하는 방법을 공유합니다.</description><pubDate>Wed, 28 Sep 2022 00:00:00 GMT</pubDate></item><item><title>Bastion Host란?</title><link>https://jaehong21.com/ko/posts/bastion-host/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/bastion-host/</guid><description>public subnet과 private subnet을 terraform을 이용해서 분리하고, bastion host를 통해서 private subnet에 접속할 수 있도록 합니다.</description><pubDate>Tue, 27 Sep 2022 00:00:00 GMT</pubDate></item><item><title>Rust 언어로 작성한 간단한 웹서버</title><link>https://jaehong21.com/ko/posts/rust-web-server/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/rust-web-server/</guid><description>Rust의 built-in TcpListener 모듈을 이용한 간단한 멀티쓰레딩 웹서버를 구현합니다.</description><pubDate>Wed, 14 Sep 2022 00:00:00 GMT</pubDate></item><item><title>C 언어로 작성한 간단한 웹서버</title><link>https://jaehong21.com/ko/posts/c-web-server/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/c-web-server/</guid><description>C언어와 소켓 프로그래밍을 활용하여 간단한 웹서버를 구현합니다.</description><pubDate>Tue, 13 Sep 2022 00:00:00 GMT</pubDate></item><item><title>소켓 프로그래밍</title><link>https://jaehong21.com/ko/posts/socket-programming/</link><guid isPermaLink="true">https://jaehong21.com/ko/posts/socket-programming/</guid><description>OSI 7 계층의 기본 개념과 소켓 프로그래밍의 자세한 인터페이스 및 기능을 소개합니다.</description><pubDate>Mon, 12 Sep 2022 00:00:00 GMT</pubDate></item><item><title>생성적 적대 신경망 (GAN)</title><link>https://ml.jaehong21.com/gan/basic-information</link><guid isPermaLink="true">https://ml.jaehong21.com/gan/basic-information</guid><description>생성적 적대 신경망의 기초 개념과 MNIST 생성 예제를 다룹니다.</description><pubDate>Thu, 14 Oct 2021 00:00:00 GMT</pubDate></item><item><title>Sequence-to-Sequence: Seq2Seq</title><link>https://ml.jaehong21.com/sequence-to-sequence/seq2seq</link><guid isPermaLink="true">https://ml.jaehong21.com/sequence-to-sequence/seq2seq</guid><description>Seq2Seq 모델의 기초, Attention Decoder, 영불/한영 번역기를 다룹니다.</description><pubDate>Thu, 05 Aug 2021 00:00:00 GMT</pubDate></item><item><title>순환 신경망 (RNN)</title><link>https://ml.jaehong21.com/rnn/basic-information</link><guid isPermaLink="true">https://ml.jaehong21.com/rnn/basic-information</guid><description>순환 신경망의 기초, 간단한 RNN 구현, 감성 분류를 다룹니다.</description><pubDate>Thu, 08 Jul 2021 00:00:00 GMT</pubDate></item><item><title>오토인코더 (Autoencoder)</title><link>https://ml.jaehong21.com/autoencoder-1/basic-information</link><guid isPermaLink="true">https://ml.jaehong21.com/autoencoder-1/basic-information</guid><description>오토인코더의 기초 개념과 Fashion MNIST 예제를 다룹니다.</description><pubDate>Fri, 02 Jul 2021 00:00:00 GMT</pubDate></item><item><title>합성곱 신경망 (CNN)</title><link>https://ml.jaehong21.com/cnn/basic-information</link><guid isPermaLink="true">https://ml.jaehong21.com/cnn/basic-information</guid><description>합성곱 신경망의 기초, 신경망 구현, CNN 레이어 생성, MNIST 분류를 다룹니다.</description><pubDate>Thu, 20 May 2021 00:00:00 GMT</pubDate></item><item><title>선형 회귀: 설명과 예제</title><link>https://ml.jaehong21.com/linear-regression/explanation-and-example</link><guid isPermaLink="true">https://ml.jaehong21.com/linear-regression/explanation-and-example</guid><description>선형 회귀의 기본 개념과 Python 예제, Boston 주택 가격 데이터셋 실습을 다룹니다.</description><pubDate>Tue, 04 May 2021 00:00:00 GMT</pubDate></item></channel></rss>