<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>eta_kyung.blog</title><description>eta_kyung의 개발 블로그입니다.</description><link>https://etakyung.com/</link><language>ko-KR</language><item><title>낙관적 락과 비관적 락</title><link>https://etakyung.com/posts/Backend-1-%EB%82%99%EA%B4%80%EC%A0%81-%EB%9D%BD%EA%B3%BC-%EB%B9%84%EA%B4%80%EC%A0%81-%EB%9D%BD/</link><guid isPermaLink="true">https://etakyung.com/posts/Backend-1-%EB%82%99%EA%B4%80%EC%A0%81-%EB%9D%BD%EA%B3%BC-%EB%B9%84%EA%B4%80%EC%A0%81-%EB%9D%BD/</guid><description>1. 동시에 같은 데이터를 수정하면 문제가 생긴다 여러 요청이 같은 데이터를 동시에 읽고 수정하면 한 요청의 변경 내용이 사라질 수 있다. 예를 들어 재고가 10개일 때 두 사용자가 동시에 1개씩 주문한다고 생각해 보자. 두 번의 주문이 처리됐지만 최종 재고는 8이 아…</description><pubDate>Fri, 11 Sep 2026 00:37:20 GMT</pubDate><category>Backend</category><category>database</category><category>transaction</category><category>concurrency</category><category>optimistic-lock</category><category>pessimistic-lock</category><category>jpa</category><category>동시성</category></item><item><title>Kubernetes (39) - Helm Chart를 직접 만들어 MariaDB 배포하기</title><link>https://etakyung.com/posts/Kubernetes-39-Helm-Chart%EB%A5%BC-%EC%A7%81%EC%A0%91-%EB%A7%8C%EB%93%A4%EC%96%B4-MariaDB-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-39-Helm-Chart%EB%A5%BC-%EC%A7%81%EC%A0%91-%EB%A7%8C%EB%93%A4%EC%96%B4-MariaDB-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0/</guid><description>공개 Chart를 설치하는 데 익숙해지면 다음 질문이 생긴다. &quot;내가 만든 애플리케이션도 이렇게 한 명령으로 설치할 수 있을까?&quot; 답은 Chart를 직접 만드는 것이다. Chart를 만든다는 말은 대단해 보이지만, 실제로는 이미 쓰던 YAML에서 환경마다 달라지는 값만…</description><pubDate>Wed, 09 Sep 2026 03:39:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>helm</category><category>chart</category><category>template</category><category>mariadb</category><category>쿠버네티스</category></item><item><title>Kubernetes (38) - Helm Chart로 Kubernetes 애플리케이션 설치와 설정 관리하기</title><link>https://etakyung.com/posts/Kubernetes-38-Helm-Chart%EB%A1%9C-Kubernetes-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%84%A4%EC%B9%98%EC%99%80-%EC%84%A4%EC%A0%95-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-38-Helm-Chart%EB%A1%9C-Kubernetes-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%84%A4%EC%B9%98%EC%99%80-%EC%84%A4%EC%A0%95-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/</guid><description>Nginx나 MariaDB를 Kubernetes에 직접 설치하려면 Deployment, Service, Secret, PVC처럼 여러 YAML 파일이 필요하다. Helm은 이 YAML 묶음을 재사용 가능한 패키지로 만들어, 한 명령으로 설치하고 설정을 바꾸고 이전 버전…</description><pubDate>Tue, 08 Sep 2026 03:38:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>helm</category><category>chart</category><category>manifest</category><category>mariadb</category><category>쿠버네티스</category></item><item><title>Kubernetes (37) - Kustomize로 환경별 매니페스트 구성 관리하기</title><link>https://etakyung.com/posts/Kubernetes-37-Kustomize%EB%A1%9C-%ED%99%98%EA%B2%BD%EB%B3%84-%EB%A7%A4%EB%8B%88%ED%8E%98%EC%8A%A4%ED%8A%B8-%EA%B5%AC%EC%84%B1-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-37-Kustomize%EB%A1%9C-%ED%99%98%EA%B2%BD%EB%B3%84-%EB%A7%A4%EB%8B%88%ED%8E%98%EC%8A%A4%ED%8A%B8-%EA%B5%AC%EC%84%B1-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/</guid><description>같은 애플리케이션을 개발 환경과 운영 환경에 배포하면 YAML 파일이 조금씩 달라진다. 개발 환경은 Pod를 1개만 실행하고, 운영 환경은 3개를 실행할 수 있다. Ingress 주소, 이미지 태그, 리소스 제한도 환경마다 다를 수 있다. 이 차이 때문에 YAML을 통…</description><pubDate>Tue, 08 Sep 2026 03:37:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>kustomize</category><category>manifest</category><category>configuration</category><category>overlay</category><category>쿠버네티스</category></item><item><title>Spring Kafka (2) - Transactional Outbox로 CQRS 이벤트 안전하게 발행하기</title><link>https://etakyung.com/posts/Spring-Kafka-2-Transactional-Outbox%EB%A1%9C-CQRS-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%95%88%EC%A0%84%ED%95%98%EA%B2%8C-%EB%B0%9C%ED%96%89%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Spring-Kafka-2-Transactional-Outbox%EB%A1%9C-CQRS-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%95%88%EC%A0%84%ED%95%98%EA%B2%8C-%EB%B0%9C%ED%96%89%ED%95%98%EA%B8%B0/</guid><description>Spring Kafka (1)에서는 KafkaTemplate 으로 메시지를 보내고 @KafkaListener 로 받는 가장 기본적인 흐름을 정리했다. 하지만 실제 서비스에서 &quot;DB에 데이터를 저장하고, 그 사실을 Kafka로 알린다&quot;는 요구사항을 곧이곧대로 구현하면 문…</description><pubDate>Mon, 07 Sep 2026 13:59:46 GMT</pubDate><category>Spring</category><category>Kafka</category><category>kafka</category><category>spring kafka</category><category>cqrs</category><category>outbox pattern</category><category>mysql</category><category>mongodb</category><category>이벤트 드리븐</category></item><item><title>Kubernetes (36) - Blue-Green과 Canary로 배포 전략 선택하기</title><link>https://etakyung.com/posts/Kubernetes-36-Blue-Green%EA%B3%BC-Canary%EB%A1%9C-%EB%B0%B0%ED%8F%AC-%EC%A0%84%EB%9E%B5-%EC%84%A0%ED%83%9D%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-36-Blue-Green%EA%B3%BC-Canary%EB%A1%9C-%EB%B0%B0%ED%8F%AC-%EC%A0%84%EB%9E%B5-%EC%84%A0%ED%83%9D%ED%95%98%EA%B8%B0/</guid><description>새 버전을 배포하는 일은 단순히 Pod 이미지를 바꾸는 것보다 넓은 문제다. 기존 버전과 새 버전을 얼마나 오래 함께 실행할지, 어떤 기준으로 트래픽을 넘길지, 문제가 생겼을 때 얼마나 빨리 되돌릴지를 함께 결정해야 한다. 이 글에서는 Deployment의 기본 업데이…</description><pubDate>Mon, 07 Sep 2026 03:36:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>deployment</category><category>blue-green</category><category>canary</category><category>rolling-update</category><category>배포전략</category><category>쿠버네티스</category></item><item><title>Spring Kafka (1) - Spring Boot로 Kafka Producer와 Consumer 이해하기</title><link>https://etakyung.com/posts/Spring-Kafka-1-Spring-Boot%EB%A1%9C-Kafka-Producer%EC%99%80-Consumer-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Spring-Kafka-1-Spring-Boot%EB%A1%9C-Kafka-Producer%EC%99%80-Consumer-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</guid><description>Kafka를 애플리케이션에 연결하려면 Producer와 Consumer의 클라이언트 설정, 직렬화 방식, 리스너 실행 등을 준비해야 한다. Spring Kafka는 이 과정을 Spring의 빈과 애노테이션으로 구성할 수 있게 해 주는 프로젝트다. 이번 글에서는 Spri…</description><pubDate>Sun, 06 Sep 2026 15:34:35 GMT</pubDate><category>Spring</category><category>Kafka</category><category>kafka</category><category>spring kafka</category><category>spring-boot</category><category>producer</category><category>consumer</category><category>메시지큐</category></item><item><title>Kubernetes (35) - Static Pod로 kubelet이 직접 관리하는 Pod 이해하기</title><link>https://etakyung.com/posts/Kubernetes-35-Static-Pod%EB%A1%9C-kubelet%EC%9D%B4-%EC%A7%81%EC%A0%91-%EA%B4%80%EB%A6%AC%ED%95%98%EB%8A%94-Pod-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-35-Static-Pod%EB%A1%9C-kubelet%EC%9D%B4-%EC%A7%81%EC%A0%91-%EA%B4%80%EB%A6%AC%ED%95%98%EB%8A%94-Pod-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</guid><description>일반적인 Pod는 API 서버에 매니페스트를 제출하고, 스케줄러와 컨트롤러를 거쳐 노드에서 실행된다. 반면 Static Pod는 특정 노드의 kubelet이 로컬 파일을 직접 읽어 실행·관리하는 Pod다. 이 방식은 API 서버가 아직 준비되지 않은 상황에서도 노드에서…</description><pubDate>Fri, 04 Sep 2026 03:35:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>pod</category><category>static-pod</category><category>kubelet</category><category>control-plane</category><category>쿠버네티스</category></item><item><title>Kubernetes (34) - Cluster Autoscaler로 노드 자동 확장 이해하기</title><link>https://etakyung.com/posts/Kubernetes-34-Cluster-Autoscaler%EB%A1%9C-%EB%85%B8%EB%93%9C-%EC%9E%90%EB%8F%99-%ED%99%95%EC%9E%A5-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-34-Cluster-Autoscaler%EB%A1%9C-%EB%85%B8%EB%93%9C-%EC%9E%90%EB%8F%99-%ED%99%95%EC%9E%A5-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</guid><description>HPA가 부하에 맞춰 Pod 수를 늘려도, 모든 노드에 빈자리가 없다면 새 Pod는 실행되지 못하고 Pending 상태에 남는다. 이때 필요한 것은 Pod가 아니라 Pod를 실행할 노드 를 늘리는 일이다. Cluster Autoscaler는 스케줄되지 못한 Pod와 노…</description><pubDate>Fri, 04 Sep 2026 03:34:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>cluster-autoscaler</category><category>node-autoscaling</category><category>hpa</category><category>scheduling</category><category>cloud</category><category>쿠버네티스</category></item><item><title>Kubernetes (33) - VPA로 Pod 리소스 요청량 자동 조절하기</title><link>https://etakyung.com/posts/Kubernetes-33-VPA%EB%A1%9C-Pod-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EC%9A%94%EC%B2%AD%EB%9F%89-%EC%9E%90%EB%8F%99-%EC%A1%B0%EC%A0%88%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-33-VPA%EB%A1%9C-Pod-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EC%9A%94%EC%B2%AD%EB%9F%89-%EC%9E%90%EB%8F%99-%EC%A1%B0%EC%A0%88%ED%95%98%EA%B8%B0/</guid><description>앞 글에서 HPA는 부하에 따라 Pod 개수 를 조절한다고 살펴봤다. 하지만 Pod의 CPU·메모리 requests 자체가 실제 워크로드에 맞지 않으면, Pod가 불필요하게 많이 배치되지 않거나 반대로 자원을 낭비할 수 있다. Vertical Pod Autoscaler…</description><pubDate>Fri, 04 Sep 2026 03:33:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>vpa</category><category>vertical-pod-autoscaler</category><category>autoscaling</category><category>resources</category><category>requests</category><category>쿠버네티스</category></item><item><title>Kubernetes (32) - HPA로 Pod 개수 자동 확장하기</title><link>https://etakyung.com/posts/Kubernetes-32-HPA%EB%A1%9C-Pod-%EA%B0%9C%EC%88%98-%EC%9E%90%EB%8F%99-%ED%99%95%EC%9E%A5%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-32-HPA%EB%A1%9C-Pod-%EA%B0%9C%EC%88%98-%EC%9E%90%EB%8F%99-%ED%99%95%EC%9E%A5%ED%95%98%EA%B8%B0/</guid><description>웹 요청이 늘어날 때 Pod를 사람이 직접 늘리고, 한가해지면 다시 줄이는 일은 반복적이고 늦기 쉽다. Horizontal Pod Autoscaler(HPA)는 관측한 지표를 바탕으로 Deployment 같은 워크로드의 복제본 수를 자동으로 조절한다. HPA는 컨테이너…</description><pubDate>Fri, 04 Sep 2026 03:32:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>hpa</category><category>horizontal-pod-autoscaler</category><category>autoscaling</category><category>metrics-server</category><category>resources</category><category>쿠버네티스</category></item><item><title>Kubernetes (31) - LimitRange와 ResourceQuota로 네임스페이스 정책 만들기</title><link>https://etakyung.com/posts/Kubernetes-31-LimitRange%EC%99%80-ResourceQuota%EB%A1%9C-%EB%84%A4%EC%9E%84%EC%8A%A4%ED%8E%98%EC%9D%B4%EC%8A%A4-%EC%A0%95%EC%B1%85-%EB%A7%8C%EB%93%A4%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-31-LimitRange%EC%99%80-ResourceQuota%EB%A1%9C-%EB%84%A4%EC%9E%84%EC%8A%A4%ED%8E%98%EC%9D%B4%EC%8A%A4-%EC%A0%95%EC%B1%85-%EB%A7%8C%EB%93%A4%EA%B8%B0/</guid><description>앞 글에서 컨테이너마다 requests 와 limits 를 직접 설정했다. 하지만 팀원이 많아지면 누군가 설정을 빠뜨리거나, 지나치게 큰 값을 넣는 일을 매번 리뷰만으로 막기 어렵다. LimitRange 와 ResourceQuota 는 네임스페이스 단위로 기본값과 총량…</description><pubDate>Fri, 04 Sep 2026 03:31:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>limitrange</category><category>resourcequota</category><category>namespace</category><category>resources</category><category>governance</category><category>쿠버네티스</category></item><item><title>Kubernetes (30) - Ephemeral Storage와 Pod Eviction 이해하기</title><link>https://etakyung.com/posts/Kubernetes-30-Ephemeral-Storage%EC%99%80-Pod-Eviction-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-30-Ephemeral-Storage%EC%99%80-Pod-Eviction-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</guid><description>컨테이너는 파일을 쓸 수 있다. 로그 파일, 압축 해제 파일, 임시 캐시처럼 컨테이너가 사용하는 로컬 디스크도 결국 Kubernetes 노드의 디스크 공간을 차지한다. 이런 임시 디스크 사용량을 관리하는 리소스가 ephemeral storage 다. 데이터를 오래 보존…</description><pubDate>Fri, 04 Sep 2026 03:30:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>ephemeral-storage</category><category>eviction</category><category>emptydir</category><category>resources</category><category>kubelet</category><category>쿠버네티스</category></item><item><title>Kubernetes (29) - Scheduler가 Pod를 Node에 배치하는 과정 이해하기</title><link>https://etakyung.com/posts/Kubernetes-29-Scheduler%EA%B0%80-Pod%EB%A5%BC-Node%EC%97%90-%EB%B0%B0%EC%B9%98%ED%95%98%EB%8A%94-%EA%B3%BC%EC%A0%95-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-29-Scheduler%EA%B0%80-Pod%EB%A5%BC-Node%EC%97%90-%EB%B0%B0%EC%B9%98%ED%95%98%EB%8A%94-%EA%B3%BC%EC%A0%95-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</guid><description>Deployment 같은 컨트롤러가 Pod를 생성해도 어느 Node에서 실행할지는 아직 정해지지 않았다. 기본 스케줄러인 kube scheduler 는 Node가 지정되지 않은 Pod를 발견하고, 조건을 만족하는 Node 중 적합한 곳을 선택해 연결한다. 앞에서 배운…</description><pubDate>Fri, 04 Sep 2026 03:29:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>scheduler</category><category>scheduling</category><category>node</category><category>pending</category><category>requests</category><category>쿠버네티스</category></item><item><title>Kubernetes (28) - Ingress로 HTTP/HTTPS 요청을 Service에 라우팅하기</title><link>https://etakyung.com/posts/Kubernetes-28-Ingress%EB%A1%9C-HTTP-HTTPS-%EC%9A%94%EC%B2%AD%EC%9D%84-Service%EC%97%90-%EB%9D%BC%EC%9A%B0%ED%8C%85%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-28-Ingress%EB%A1%9C-HTTP-HTTPS-%EC%9A%94%EC%B2%AD%EC%9D%84-Service%EC%97%90-%EB%9D%BC%EC%9A%B0%ED%8C%85%ED%95%98%EA%B8%B0/</guid><description>1. Ingress가 필요한 이유 LoadBalancer Service를 애플리케이션마다 만들면 외부 IP와 로드 밸런서가 서비스 수만큼 늘어날 수 있다. 웹 애플리케이션은 보통 하나의 도메인 아래에서 호스트 이름이나 URL 경로에 따라 여러 백엔드로 나누어 보내는 편…</description><pubDate>Thu, 03 Sep 2026 03:28:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>ingress</category><category>ingress-controller</category><category>service</category><category>http</category><category>https</category><category>routing</category><category>쿠버네티스</category></item><item><title>Kubernetes (27) - MetalLB로 온프레미스 LoadBalancer Service 구성하기</title><link>https://etakyung.com/posts/Kubernetes-27-MetalLB%EB%A1%9C-%EC%98%A8%ED%94%84%EB%A0%88%EB%AF%B8%EC%8A%A4-LoadBalancer-Service-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-27-MetalLB%EB%A1%9C-%EC%98%A8%ED%94%84%EB%A0%88%EB%AF%B8%EC%8A%A4-LoadBalancer-Service-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0/</guid><description>1. MetalLB가 필요한 이유 type: LoadBalancer Service는 외부 로드 밸런서 구현체에 공인 또는 외부 IP 할당을 요청한다고 정리했다. AWS·GCP 같은 클라우드에서는 해당 구현체가 제공되지만, kubeadm으로 구성한 온프레미스·가상 머신…</description><pubDate>Thu, 03 Sep 2026 03:27:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>service</category><category>loadbalancer</category><category>metallb</category><category>bare-metal</category><category>networking</category><category>쿠버네티스</category></item><item><title>Kubernetes (26) - 선택자 없는 Service와 EndpointSlice로 외부 백엔드 연결하기</title><link>https://etakyung.com/posts/Kubernetes-26-%EC%84%A0%ED%83%9D%EC%9E%90-%EC%97%86%EB%8A%94-Service%EC%99%80-EndpointSlice%EB%A1%9C-%EC%99%B8%EB%B6%80-%EB%B0%B1%EC%97%94%EB%93%9C-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-26-%EC%84%A0%ED%83%9D%EC%9E%90-%EC%97%86%EB%8A%94-Service%EC%99%80-EndpointSlice%EB%A1%9C-%EC%99%B8%EB%B6%80-%EB%B0%B1%EC%97%94%EB%93%9C-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0/</guid><description>1. selector 없이도 Service를 만들 수 있다 일반적인 Service는 selector로 Pod를 찾고, Kubernetes가 EndpointSlice를 자동 생성한다. 그러나 관리형 데이터베이스, 다른 클러스터의 서비스, Kubernetes로 이전 중인…</description><pubDate>Thu, 03 Sep 2026 03:26:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>service</category><category>endpointslice</category><category>service-discovery</category><category>external-service</category><category>networking</category><category>쿠버네티스</category></item><item><title>Kubernetes (25) - Service 트래픽 정책과 세션 어피니티로 전송 경로 제어하기</title><link>https://etakyung.com/posts/Kubernetes-25-Service-%ED%8A%B8%EB%9E%98%ED%94%BD-%EC%A0%95%EC%B1%85%EA%B3%BC-%EC%84%B8%EC%85%98-%EC%96%B4%ED%94%BC%EB%8B%88%ED%8B%B0%EB%A1%9C-%EC%A0%84%EC%86%A1-%EA%B2%BD%EB%A1%9C-%EC%A0%9C%EC%96%B4%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-25-Service-%ED%8A%B8%EB%9E%98%ED%94%BD-%EC%A0%95%EC%B1%85%EA%B3%BC-%EC%84%B8%EC%85%98-%EC%96%B4%ED%94%BC%EB%8B%88%ED%8B%B0%EB%A1%9C-%EC%A0%84%EC%86%A1-%EA%B2%BD%EB%A1%9C-%EC%A0%9C%EC%96%B4%ED%95%98%EA%B8%B0/</guid><description>1. Service의 분산 경로도 제어할 수 있다 일반 Service는 준비된 모든 엔드포인트 가운데 하나로 트래픽을 보낸다. 이 기본 동작은 무상태 웹 서버에 알맞지만, 클라이언트를 같은 Pod에 유지해야 하거나 외부 요청의 원본 IP를 보존해야 할 때는 추가 정책이…</description><pubDate>Thu, 03 Sep 2026 03:25:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>service</category><category>session-affinity</category><category>externaltrafficpolicy</category><category>topology-aware-routing</category><category>networking</category><category>쿠버네티스</category></item><item><title>리눅스 (11) - Tailscale로 Mac에서 Windows VM에 SSH 접속하기</title><link>https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-11-Tailscale%EA%B3%BC-SSH-%EA%B3%B5%EA%B0%9C%ED%82%A4%EB%A1%9C-%EC%9B%90%EA%B2%A9-%EC%A0%91%EC%86%8D-%ED%95%98%EB%93%9C%EB%8B%9D%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-11-Tailscale%EA%B3%BC-SSH-%EA%B3%B5%EA%B0%9C%ED%82%A4%EB%A1%9C-%EC%9B%90%EA%B2%A9-%EC%A0%91%EC%86%8D-%ED%95%98%EB%93%9C%EB%8B%9D%ED%95%98%EA%B8%B0/</guid><description>앞 글에서 Windows 노트북의 VirtualBox에 있는 복제 VM의 MAC 주소·고정 IP를 정리하고, Windows 호스트의 127.0.0.1 포트를 VM의 SSH 포트로 전달했다. 이 포트 포워딩은 Windows 노트북에서 VM을 처음 설정하거나 문제가 생겼을…</description><pubDate>Wed, 02 Sep 2026 07:31:20 GMT</pubDate><category>리눅스</category><category>리눅스</category><category>tailscale</category><category>ssh</category><category>public-key</category><category>security</category><category>ubuntu</category><category>macos</category><category>virtualbox</category><category>가상머신</category></item><item><title>리눅스 (10) - 복제 VM의 MAC 주소·고정 IP·SSH 포트 포워딩 설정하기</title><link>https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-10-%EB%B3%B5%EC%A0%9C-VM%EC%9D%84-%ED%82%A4-%EC%A0%84%EC%9A%A9-%EC%9B%90%EA%B2%A9-%EC%84%9C%EB%B2%84%EB%A1%9C-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-10-%EB%B3%B5%EC%A0%9C-VM%EC%9D%84-%ED%82%A4-%EC%A0%84%EC%9A%A9-%EC%9B%90%EA%B2%A9-%EC%84%9C%EB%B2%84%EB%A1%9C-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0/</guid><description>VirtualBox에서 Ubuntu VM을 복제하면 디스크뿐 아니라 운영체제의 네트워크 설정도 함께 복사된다. 복제 과정에서 가상 NIC의 MAC 주소를 새로 만들었다면, 기존 Netplan 설정이 원본 MAC을 기준으로 인터페이스를 찾지 않도록 함께 점검해야 한다.…</description><pubDate>Wed, 02 Sep 2026 07:20:38 GMT</pubDate><category>리눅스</category><category>리눅스</category><category>virtualbox</category><category>ubuntu</category><category>netplan</category><category>mac-address</category><category>static-ip</category><category>ssh</category><category>port-forwarding</category><category>가상머신</category></item><item><title>Kubernetes (24) - StatefulSet으로 고정된 Pod 식별자와 스토리지 관리하기</title><link>https://etakyung.com/posts/Kubernetes-24-StatefulSet%EC%9C%BC%EB%A1%9C-%EA%B3%A0%EC%A0%95%EB%90%9C-Pod-%EC%8B%9D%EB%B3%84%EC%9E%90%EC%99%80-%EC%8A%A4%ED%86%A0%EB%A6%AC%EC%A7%80-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-24-StatefulSet%EC%9C%BC%EB%A1%9C-%EA%B3%A0%EC%A0%95%EB%90%9C-Pod-%EC%8B%9D%EB%B3%84%EC%9E%90%EC%99%80-%EC%8A%A4%ED%86%A0%EB%A6%AC%EC%A7%80-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/</guid><description>1. StatefulSet이 필요한 이유 Deployment와 ReplicaSet은 같은 사양의 Pod를 여러 개 실행하고 개수를 유지하는 데 적합하다. 하지만 데이터베이스나 메시지 브로커처럼 각 복제본이 고유한 이름, 네트워크 주소, 디스크 데이터를 가져야 하는 애플…</description><pubDate>Wed, 02 Sep 2026 03:24:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>statefulset</category><category>pod</category><category>headless-service</category><category>persistent-volume</category><category>storage</category><category>rolling-update</category><category>쿠버네티스</category></item><item><title>Kubernetes (23) - NFS PersistentVolume으로 여러 Pod가 파일 공유하기</title><link>https://etakyung.com/posts/Kubernetes-23-NFS-PersistentVolume%EC%9C%BC%EB%A1%9C-%EC%97%AC%EB%9F%AC-Pod%EA%B0%80-%ED%8C%8C%EC%9D%BC-%EA%B3%B5%EC%9C%A0%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-23-NFS-PersistentVolume%EC%9C%BC%EB%A1%9C-%EC%97%AC%EB%9F%AC-Pod%EA%B0%80-%ED%8C%8C%EC%9D%BC-%EA%B3%B5%EC%9C%A0%ED%95%98%EA%B8%B0/</guid><description>여러 노드에서 실행되는 Pod가 같은 파일을 함께 읽고 써야 할 때가 있다. 예를 들어 여러 웹 서버 Pod가 업로드 파일을 공유하거나, 여러 작업 Pod가 같은 결과 디렉터리를 사용해야 하는 경우다. NFS(Network File System)는 네트워크로 공유한 하…</description><pubDate>Tue, 01 Sep 2026 03:23:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>nfs</category><category>persistent-volume</category><category>persistent-volume-claim</category><category>pvc</category><category>readwritemany</category><category>storage</category><category>쿠버네티스</category></item><item><title>Kubernetes (22) - PersistentVolume과 PVC로 영속 데이터 관리하기</title><link>https://etakyung.com/posts/Kubernetes-22-PersistentVolume%EA%B3%BC-PVC%EB%A1%9C-%EC%98%81%EC%86%8D-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-22-PersistentVolume%EA%B3%BC-PVC%EB%A1%9C-%EC%98%81%EC%86%8D-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/</guid><description>Pod 안에서 쓰던 데이터를 Pod가 다시 만들어진 뒤에도 보존해야 할 때가 있다. 데이터베이스 파일, 사용자가 올린 파일, 메시지 큐 데이터처럼 잃으면 안 되는 데이터가 대표적이다. Kubernetes에서는 PersistentVolume(PV)과 PersistentV…</description><pubDate>Tue, 01 Sep 2026 03:22:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>persistent-volume</category><category>persistent-volume-claim</category><category>pvc</category><category>storageclass</category><category>storage</category><category>쿠버네티스</category></item><item><title>Kubernetes (21) - Pod Volume으로 임시 데이터와 파일 연결하기</title><link>https://etakyung.com/posts/Kubernetes-21-Pod-Volume%EC%9C%BC%EB%A1%9C-%EC%9E%84%EC%8B%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%99%80-%ED%8C%8C%EC%9D%BC-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-21-Pod-Volume%EC%9C%BC%EB%A1%9C-%EC%9E%84%EC%8B%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%99%80-%ED%8C%8C%EC%9D%BC-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0/</guid><description>컨테이너 안에서 만든 파일은 별도 저장소를 연결하지 않았다면 컨테이너의 파일 시스템 안에 저장된다. 컨테이너가 교체되거나 Pod가 다시 만들어질 때 이 파일을 그대로 기대하면 안 된다. 하지만 모든 파일을 오래 보관할 필요는 없다. 캐시나 작업 중간 결과처럼 잠깐만 필…</description><pubDate>Tue, 01 Sep 2026 03:21:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>volume</category><category>emptydir</category><category>hostpath</category><category>downward-api</category><category>projected-volume</category><category>storage</category><category>쿠버네티스</category></item><item><title>Kubernetes (20) - Secret으로 기밀 정보를 안전하게 주입하기</title><link>https://etakyung.com/posts/Kubernetes-20-Secret%EC%9C%BC%EB%A1%9C-%EA%B8%B0%EB%B0%80-%EC%A0%95%EB%B3%B4-%EC%95%88%EC%A0%84%ED%95%98%EA%B2%8C-%EC%A3%BC%EC%9E%85%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-20-Secret%EC%9C%BC%EB%A1%9C-%EA%B8%B0%EB%B0%80-%EC%A0%95%EB%B3%B4-%EC%95%88%EC%A0%84%ED%95%98%EA%B2%8C-%EC%A3%BC%EC%9E%85%ED%95%98%EA%B8%B0/</guid><description>데이터베이스 비밀번호, API 토큰, TLS 개인 키처럼 이미지나 일반 설정 파일에 넣으면 안 되는 값이 있다. Kubernetes의 Secret은 이런 기밀 데이터를 별도 리소스로 관리하고, 필요한 Pod에만 환경 변수 또는 파일로 전달하는 기능이다. Secret을…</description><pubDate>Tue, 01 Sep 2026 03:20:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>secret</category><category>security</category><category>credentials</category><category>environment-variable</category><category>volume</category><category>쿠버네티스</category></item><item><title>Kubernetes (19) - ConfigMap으로 애플리케이션 설정 주입하기</title><link>https://etakyung.com/posts/Kubernetes-19-ConfigMap%EC%9C%BC%EB%A1%9C-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%84%A4%EC%A0%95-%EC%A3%BC%EC%9E%85%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-19-ConfigMap%EC%9C%BC%EB%A1%9C-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%84%A4%EC%A0%95-%EC%A3%BC%EC%9E%85%ED%95%98%EA%B8%B0/</guid><description>애플리케이션은 개발·테스트·운영 환경마다 서로 다른 설정값을 사용한다. 예를 들어 실행 모드, 서버 주소, 로그 수준, 기능을 켜고 끄는 값이 여기에 해당한다. 이런 일반 설정값은 컨테이너 이미지와 분리해 관리하는 편이 좋다. Kubernetes의 ConfigMap은…</description><pubDate>Sun, 30 Aug 2026 03:19:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>configmap</category><category>configuration</category><category>environment-variable</category><category>volume</category><category>nginx</category><category>쿠버네티스</category></item><item><title>Kubernetes (18) - Headless Service와 kube-proxy로 Pod 직접 발견하기</title><link>https://etakyung.com/posts/Kubernetes-18-Headless-Service%EC%99%80-kube-proxy%EB%A1%9C-Pod-%EC%A7%81%EC%A0%91-%EB%B0%9C%EA%B2%AC%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-18-Headless-Service%EC%99%80-kube-proxy%EB%A1%9C-Pod-%EC%A7%81%EC%A0%91-%EB%B0%9C%EA%B2%AC%ED%95%98%EA%B8%B0/</guid><description>1. Headless Service가 필요한 이유 일반적인 ClusterIP Service는 하나의 가상 IP를 제공하고, 그 IP로 들어온 요청을 여러 Pod 엔드포인트에 분산한다. 하지만 StatefulSet처럼 각 Pod를 구분해 연결해야 하거나, 클라이언트가 백…</description><pubDate>Sun, 30 Aug 2026 03:18:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>service</category><category>headless-service</category><category>kube-proxy</category><category>dns</category><category>endpointslice</category><category>iptables</category><category>쿠버네티스</category></item><item><title>Kubernetes (17) - Service로 Pod 접근 지점과 로드 밸런싱 구성하기</title><link>https://etakyung.com/posts/Kubernetes-17-Service%EB%A1%9C-Pod-%EC%A0%91%EA%B7%BC-%EC%A7%80%EC%A0%90%EA%B3%BC-%EB%A1%9C%EB%93%9C-%EB%B0%B8%EB%9F%B0%EC%8B%B1-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-17-Service%EB%A1%9C-Pod-%EC%A0%91%EA%B7%BC-%EC%A7%80%EC%A0%90%EA%B3%BC-%EB%A1%9C%EB%93%9C-%EB%B0%B8%EB%9F%B0%EC%8B%B1-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0/</guid><description>1. Service가 필요한 이유 Deployment가 관리하는 Pod는 교체·확장·축소 과정에서 IP 주소가 바뀔 수 있다. 클라이언트가 특정 Pod IP를 직접 사용하면 Pod가 재생성됐을 때 통신 대상이 사라지고, 여러 Pod에 트래픽을 나누기도 어렵다. Serv…</description><pubDate>Sun, 30 Aug 2026 03:17:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>service</category><category>clusterip</category><category>nodeport</category><category>loadbalancer</category><category>externalname</category><category>networking</category><category>쿠버네티스</category></item><item><title>Kubernetes (16) - CronJob으로 주기적인 Batch 작업 실행하기</title><link>https://etakyung.com/posts/Kubernetes-16-CronJob%EC%9C%BC%EB%A1%9C-%EC%A3%BC%EA%B8%B0%EC%A0%81%EC%9D%B8-Batch-%EC%9E%91%EC%97%85-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-16-CronJob%EC%9C%BC%EB%A1%9C-%EC%A3%BC%EA%B8%B0%EC%A0%81%EC%9D%B8-Batch-%EC%9E%91%EC%97%85-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0/</guid><description>1. CronJob이 필요한 이유 Job은 한 번 실행해 완료하는 Batch 작업을 관리한다. 백업, 정기 보고서 생성, 이메일 발송, 오래된 데이터 정리처럼 같은 Job을 일정한 주기로 반복해야 한다면 매번 직접 Job을 만들기보다 CronJob을 사용한다. Cron…</description><pubDate>Sun, 30 Aug 2026 03:16:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>cronjob</category><category>job</category><category>batch</category><category>schedule</category><category>concurrencypolicy</category><category>쿠버네티스</category></item><item><title>Kubernetes (15) - Job Controller로 일회성 Batch 작업 완료 보장하기</title><link>https://etakyung.com/posts/Kubernetes-15-Job-Controller%EB%A1%9C-%EC%9D%BC%ED%9A%8C%EC%84%B1-Batch-%EC%9E%91%EC%97%85-%EC%99%84%EB%A3%8C-%EB%B3%B4%EC%9E%A5%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-15-Job-Controller%EB%A1%9C-%EC%9D%BC%ED%9A%8C%EC%84%B1-Batch-%EC%9E%91%EC%97%85-%EC%99%84%EB%A3%8C-%EB%B3%B4%EC%9E%A5%ED%95%98%EA%B8%B0/</guid><description>1. Job이 필요한 이유 Deployment, ReplicaSet, DaemonSet은 Pod를 계속 실행 상태로 유지하는 워크로드다. 하지만 데이터 정리, 백업, 마이그레이션처럼 한 번 실행해 성공적으로 끝나면 되는 작업에는 Pod를 계속 살려 둘 필요가 없다. J…</description><pubDate>Sun, 30 Aug 2026 03:15:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>job</category><category>job-controller</category><category>batch</category><category>pod</category><category>backofflimit</category><category>activedeadlineseconds</category><category>쿠버네티스</category></item><item><title>Kubernetes (14) - DaemonSet으로 노드별 Pod 실행하기</title><link>https://etakyung.com/posts/Kubernetes-14-DaemonSet%EC%9C%BC%EB%A1%9C-%EB%85%B8%EB%93%9C%EB%B3%84-Pod-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-14-DaemonSet%EC%9C%BC%EB%A1%9C-%EB%85%B8%EB%93%9C%EB%B3%84-Pod-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0/</guid><description>1. DaemonSet이 필요한 이유 Deployment는 원하는 개수의 Pod를 실행하지만, 어느 노드에 Pod가 배치될지는 스케줄러가 결정한다. 반면 DaemonSet은 선택된 각 노드에 Pod 복제본 하나씩 이 실행되도록 보장하는 워크로드 리소스다. 클러스터에 새…</description><pubDate>Sun, 30 Aug 2026 03:14:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>daemonset</category><category>pod</category><category>node</category><category>logging</category><category>monitoring</category><category>rolling-update</category><category>쿠버네티스</category></item><item><title>Kubernetes (13) - Deployment로 롤링 업데이트와 롤백 관리하기</title><link>https://etakyung.com/posts/Kubernetes-13-Deployment%EB%A1%9C-%EB%A1%A4%EB%A7%81-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%EC%99%80-%EB%A1%A4%EB%B0%B1-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-13-Deployment%EB%A1%9C-%EB%A1%A4%EB%A7%81-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%EC%99%80-%EB%A1%A4%EB%B0%B1-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/</guid><description>1. Deployment란? Deployment는 상태를 유지하지 않는 애플리케이션을 선언적으로 배포하고 업데이트하기 위한 워크로드 리소스다. 원하는 Pod 템플릿과 복제본 수를 선언하면 Deployment가 ReplicaSet을 만들고, ReplicaSet이 실제 P…</description><pubDate>Sun, 30 Aug 2026 03:13:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>deployment</category><category>replicaset</category><category>pod</category><category>rolling-update</category><category>rollback</category><category>쿠버네티스</category></item><item><title>Kubernetes (12) - ReplicaSet으로 원하는 Pod 수 유지하기</title><link>https://etakyung.com/posts/Kubernetes-12-ReplicaSet%EC%9C%BC%EB%A1%9C-%EC%9B%90%ED%95%98%EB%8A%94-Pod-%EC%88%98-%EC%9C%A0%EC%A7%80%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-12-ReplicaSet%EC%9C%BC%EB%A1%9C-%EC%9B%90%ED%95%98%EB%8A%94-Pod-%EC%88%98-%EC%9C%A0%EC%A7%80%ED%95%98%EA%B8%B0/</guid><description>Pod는 노드 장애, 애플리케이션 오류, 실수로 인한 삭제처럼 여러 이유로 사라질 수 있다. ReplicaSet은 지정한 수의 Pod가 계속 실행되도록 유지 하는 컨트롤러다. Pod 수가 부족하면 새 Pod를 만들고, 많으면 일부 Pod를 제거한다. 이번 글에서는 NG…</description><pubDate>Sun, 30 Aug 2026 03:12:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>pod</category><category>replicaset</category><category>replicas</category><category>label</category><category>selector</category><category>deployment</category><category>쿠버네티스</category></item><item><title>Kubernetes (11) - ReplicationController에서 ReplicaSet으로 발전한 이유</title><link>https://etakyung.com/posts/Kubernetes-11-ReplicationController%EC%97%90%EC%84%9C-ReplicaSet%EC%9C%BC%EB%A1%9C-%EB%B0%9C%EC%A0%84%ED%95%9C-%EC%9D%B4%EC%9C%A0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-11-ReplicationController%EC%97%90%EC%84%9C-ReplicaSet%EC%9C%BC%EB%A1%9C-%EB%B0%9C%EC%A0%84%ED%95%9C-%EC%9D%B4%EC%9C%A0/</guid><description>Pod를 직접 여러 개 만들면 Pod 하나가 삭제되거나 노드 장애로 사라졌을 때 원하는 개수를 직접 다시 맞춰야 한다. ReplicationController는 선언한 수만큼 같은 Pod가 실행되도록 감시하고, 부족하면 새 Pod를 만들어 원하는 상태를 유지한다. 이번…</description><pubDate>Sat, 29 Aug 2026 03:11:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>pod</category><category>replicationcontroller</category><category>replicas</category><category>label</category><category>selector</category><category>쿠버네티스</category></item><item><title>Kubernetes (10) - 워크로드 컨트롤러의 동작 원리와 선택 기준</title><link>https://etakyung.com/posts/Kubernetes-10-%EC%9B%8C%ED%81%AC%EB%A1%9C%EB%93%9C-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC%EC%9D%98-%EB%8F%99%EC%9E%91-%EC%9B%90%EB%A6%AC%EC%99%80-%EC%84%A0%ED%83%9D-%EA%B8%B0%EC%A4%80/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-10-%EC%9B%8C%ED%81%AC%EB%A1%9C%EB%93%9C-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC%EC%9D%98-%EB%8F%99%EC%9E%91-%EC%9B%90%EB%A6%AC%EC%99%80-%EC%84%A0%ED%83%9D-%EA%B8%B0%EC%A4%80/</guid><description>지금까지는 Pod를 직접 만들고 실행 설정, 상태 점검, 자원 요청량을 지정했다. 하지만 직접 만든 Pod가 삭제되면 Kubernetes가 같은 Pod를 자동으로 새로 만들지는 않는다. 애플리케이션을 지속해서 운영하려면 현재 상태를 관찰하고 원하는 상태로 되돌리는 관리…</description><pubDate>Sat, 29 Aug 2026 03:10:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>workload</category><category>controller</category><category>desired-state</category><category>reconciliation</category><category>쿠버네티스</category></item><item><title>Kubernetes (9) - requests와 limits로 Pod 리소스 관리하기</title><link>https://etakyung.com/posts/Kubernetes-9-requests%EC%99%80-limits%EB%A1%9C-Pod-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-9-requests%EC%99%80-limits%EB%A1%9C-Pod-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0/</guid><description>여러 Pod가 하나의 노드에서 함께 실행되면 CPU와 메모리를 무제한으로 사용하려는 컨테이너가 다른 애플리케이션의 실행을 방해할 수 있다. Kubernetes는 컨테이너의 resources.requests 와 resources.limits 로 필요한 자원과 사용할 수…</description><pubDate>Sat, 29 Aug 2026 03:09:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>pod</category><category>resources</category><category>requests</category><category>limits</category><category>cpu</category><category>memory</category><category>쿠버네티스</category></item><item><title>Kubernetes (8) - Liveness, Readiness, Startup Probe로 상태 점검하기</title><link>https://etakyung.com/posts/Kubernetes-8-Liveness-Readiness-Startup-Probe%EB%A1%9C-%EC%83%81%ED%83%9C-%EC%A0%90%EA%B2%80%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-8-Liveness-Readiness-Startup-Probe%EB%A1%9C-%EC%83%81%ED%83%9C-%EC%A0%90%EA%B2%80%ED%95%98%EA%B8%B0/</guid><description>컨테이너 프로세스가 실행 중이라는 사실만으로 애플리케이션이 요청을 정상 처리한다는 보장은 없다. 교착 상태에 빠졌거나, 데이터베이스 연결을 기다리고 있거나, 초기 캐시를 아직 불러오는 중일 수 있다. Kubernetes Probe는 kubelet이 컨테이너 상태를 주기…</description><pubDate>Sat, 29 Aug 2026 03:08:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>health-check</category><category>probe</category><category>liveness</category><category>readiness</category><category>startup</category><category>쿠버네티스</category></item><item><title>Kubernetes (7) - Init Container와 Infra Container로 Pod 초기화 이해하기</title><link>https://etakyung.com/posts/Kubernetes-7-Init-Container%EC%99%80-Infra-Container%EB%A1%9C-Pod-%EC%B4%88%EA%B8%B0%ED%99%94-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-7-Init-Container%EC%99%80-Infra-Container%EB%A1%9C-Pod-%EC%B4%88%EA%B8%B0%ED%99%94-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</guid><description>Pod가 시작될 때 애플리케이션 컨테이너만 바로 실행되는 것은 아니다. 필요한 네트워크와 볼륨을 준비한 뒤, 애플리케이션 실행 전의 작업이 있다면 Init Container가 이를 먼저 처리한다. 이번 글에서는 Pod 명세에 직접 작성하는 Init Container와…</description><pubDate>Sat, 29 Aug 2026 03:07:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>pod</category><category>init-container</category><category>infra-container</category><category>pause-container</category><category>쿠버네티스</category></item><item><title>Codex CLI - /ide로 IDE 컨텍스트 연결하기</title><link>https://etakyung.com/posts/Codex-CLI-ide%EB%A1%9C-IDE-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Codex-CLI-ide%EB%A1%9C-IDE-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0/</guid><description>1. 개요 Codex를 IDE와 나란히 사용하면서도 에이전트가 IDE 설정을 제대로 읽지 못하고, 내가 지금 보고 있는 파일이 무엇인지도 모르는 듯한 답변을 할 때가 있었다. 그래서 매번 파일 경로와 현재 선택한 코드, 수정하려는 위치를 프롬프트에 다시 적어야 했다.…</description><pubDate>Fri, 28 Aug 2026 04:53:10 GMT</pubDate><category>openai</category><category>codex</category><category>codex cli</category><category>ide</category><category>vs code</category></item><item><title>Kubernetes (6) - 환경 변수로 Pod 실행 설정하기</title><link>https://etakyung.com/posts/Kubernetes-6-%ED%99%98%EA%B2%BD-%EB%B3%80%EC%88%98%EB%A1%9C-Pod-%EC%8B%A4%ED%96%89-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-6-%ED%99%98%EA%B2%BD-%EB%B3%80%EC%88%98%EB%A1%9C-Pod-%EC%8B%A4%ED%96%89-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0/</guid><description>컨테이너 이미지는 여러 환경에서 같은 방식으로 재사용하고, 실행 환경마다 달라지는 값은 Pod 설정으로 분리하는 편이 좋다. Kubernetes의 환경 변수는 애플리케이션의 주소, 실행 모드, 기능 플래그처럼 컨테이너 시작 시 전달할 값을 선언하는 기본적인 방법이다.…</description><pubDate>Thu, 27 Aug 2026 03:06:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>pod</category><category>environment-variable</category><category>kubectl-exec</category><category>configuration</category><category>쿠버네티스</category></item><item><title>Kubernetes (5) - Pod 실행 설정과 Multi-Container 디자인 패턴</title><link>https://etakyung.com/posts/Kubernetes-5-Pod-%EC%8B%A4%ED%96%89-%EC%84%A4%EC%A0%95%EA%B3%BC-Multi-Container-%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B4/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-5-Pod-%EC%8B%A4%ED%96%89-%EC%84%A4%EC%A0%95%EA%B3%BC-Multi-Container-%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B4/</guid><description>Pod는 하나 이상의 컨테이너를 함께 실행하는 Kubernetes의 최소 배포 단위다. 하지만 컨테이너를 한 Pod에 넣는다고 모두 같은 방식으로 협력하는 것은 아니다. 애플리케이션의 생명주기, 네트워크, 데이터 공유가 밀접할 때만 Multi Container Pod를…</description><pubDate>Thu, 27 Aug 2026 03:05:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>pod</category><category>container</category><category>sidecar</category><category>hostnetwork</category><category>쿠버네티스</category></item><item><title>Docker (14) - Docker Swarm으로 클러스터 서비스 운영하기</title><link>https://etakyung.com/posts/Docker-14-Docker-Swarm/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-14-Docker-Swarm/</guid><description>Docker Compose는 한 대의 호스트에서 여러 컨테이너를 함께 실행하고 관리하기에 편리하다. 그러나 서비스 복제본을 여러 서버에 나누어 배치하고, 서버나 컨테이너에 장애가 나도 원하는 개수를 유지하며, 무중단에 가깝게 버전을 교체하려면 클러스터 수준의 관리가 필…</description><pubDate>Mon, 24 Aug 2026 14:50:19 GMT</pubDate><category>Docker</category><category>docker</category><category>docker swarm</category><category>컨테이너</category><category>오케스트레이션</category><category>클러스터</category></item><item><title>Kubernetes (4) - Label과 Selector로 Kubernetes 리소스 연결하기</title><link>https://etakyung.com/posts/Kubernetes-4-Label%EA%B3%BC-Selector%EB%A1%9C-Kubernetes-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-4-Label%EA%B3%BC-Selector%EB%A1%9C-Kubernetes-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0/</guid><description>앞에서 Pod를 만들고 조회할 때는 리소스 이름을 사용했다. 하지만 같은 애플리케이션의 Pod가 여러 개로 늘어나거나 새 Pod로 교체되면 각각의 이름을 직접 관리하기 어렵다. Kubernetes는 Label로 리소스에 식별 정보를 붙이고, Selector로 조건에 맞…</description><pubDate>Sun, 23 Aug 2026 03:04:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>label</category><category>selector</category><category>annotation</category><category>pod</category><category>쿠버네티스</category></item><item><title>Kubernetes (3) - Pod 컨테이너와 Multi-Container Pod 이해하기</title><link>https://etakyung.com/posts/Kubernetes-3-Pod-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88%EC%99%80-Multi-Container-Pod-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-3-Pod-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88%EC%99%80-Multi-Container-Pod-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/</guid><description>Pod는 Kubernetes에서 컨테이너를 실행하는 가장 작은 배포 단위다. 간단한 웹 서버는 컨테이너 하나를 담은 Pod로 실행할 수 있고, 긴밀히 협력하는 컨테이너가 있다면 하나의 Pod에 함께 배치할 수도 있다. 이번 글에서는 Nginx 단일 컨테이너 Pod를 명…</description><pubDate>Sun, 23 Aug 2026 03:03:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>kubectl</category><category>pod</category><category>container</category><category>multi-container</category><category>쿠버네티스</category></item><item><title>Kubernetes (2) - Namespace로 리소스 분리하고 context 전환하기</title><link>https://etakyung.com/posts/Kubernetes-2-Namespace%EB%A1%9C-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EB%B6%84%EB%A6%AC%ED%95%98%EA%B3%A0-context-%EC%A0%84%ED%99%98%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-2-Namespace%EB%A1%9C-%EB%A6%AC%EC%86%8C%EC%8A%A4-%EB%B6%84%EB%A6%AC%ED%95%98%EA%B3%A0-context-%EC%A0%84%ED%99%98%ED%95%98%EA%B8%B0/</guid><description>Kubernetes에서 Namespace는 하나의 클러스터 안에서 리소스를 논리적으로 분리하는 단위다. 같은 이름의 Pod라도 서로 다른 Namespace에 만들 수 있어, 개발·운영 환경이나 팀별 리소스를 구분하는 데 유용하다. 이번 글에서는 Namespace 목록을…</description><pubDate>Sun, 23 Aug 2026 03:02:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>kubectl</category><category>namespace</category><category>context</category><category>kubeconfig</category><category>쿠버네티스</category></item><item><title>Kubernetes (1) - kubectl 기본 명령어로 Pod와 Deployment 다루기</title><link>https://etakyung.com/posts/Kubernetes-1-kubectl-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4%EB%A1%9C-Pod%EC%99%80-Deployment-%EB%8B%A4%EB%A3%A8%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Kubernetes-1-kubectl-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4%EB%A1%9C-Pod%EC%99%80-Deployment-%EB%8B%A4%EB%A3%A8%EA%B8%B0/</guid><description>Kubernetes 클러스터와 상호작용할 때 사용하는 기본 CLI가 kubectl 이다. 리소스의 상태를 조회하는 것부터 Pod와 Deployment 생성, 컨테이너 로그 확인, 내부 애플리케이션 접속까지 대부분의 작업을 kubectl 명령으로 수행한다. 이번 글에서는…</description><pubDate>Sun, 23 Aug 2026 03:01:00 GMT</pubDate><category>Kubernetes</category><category>kubernetes</category><category>kubectl</category><category>pod</category><category>deployment</category><category>컨테이너</category><category>쿠버네티스</category></item><item><title>Docker (13) - Docker Compose로 다중 컨테이너 애플리케이션 실행하기</title><link>https://etakyung.com/posts/Docker-13-Docker-Compose/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-13-Docker-Compose/</guid><description>Dockerfile은 하나의 애플리케이션을 이미지로 패키징하는 데 적합하다. 하지만 웹 프론트엔드, 백엔드 API, 데이터베이스처럼 여러 컴포넌트로 구성된 애플리케이션을 실행하려면 각 컨테이너의 이미지, 포트, 환경 변수, 볼륨, 네트워크를 함께 관리해야 한다. Doc…</description><pubDate>Fri, 21 Aug 2026 10:00:39 GMT</pubDate><category>Docker</category><category>docker</category><category>docker compose</category><category>컨테이너</category><category>오케스트레이션</category><category>도커</category></item><item><title>Kafka (1) - 기본 개념(파티션부터 클러스터 이중화까지) </title><link>https://etakyung.com/posts/Kafka-1-%ED%8C%8C%ED%8B%B0%EC%85%98%EB%B6%80%ED%84%B0-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0-%EC%9D%B4%EC%A4%91%ED%99%94%EA%B9%8C%EC%A7%80/</link><guid isPermaLink="true">https://etakyung.com/posts/Kafka-1-%ED%8C%8C%ED%8B%B0%EC%85%98%EB%B6%80%ED%84%B0-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0-%EC%9D%B4%EC%A4%91%ED%99%94%EA%B9%8C%EC%A7%80/</guid><description>Kafka를 처음 접하면 Producer, Consumer, Broker, Topic, Partition 같은 용어가 한꺼번에 등장해 복잡하게 느껴진다. 이번 글에서는 주문 생성 이벤트를 예로 들어 각 개념이 어떻게 연결되는지 정리한다. 또한 Kafka 클러스터 내부의…</description><pubDate>Fri, 21 Aug 2026 07:25:18 GMT</pubDate><category>Kafka</category><category>kafka</category><category>메시지큐</category></item><item><title>Docker (12) - 멀티 스테이지 빌드와 Dockerfile 작성 원칙</title><link>https://etakyung.com/posts/Docker-12-%EB%A9%80%ED%8B%B0-%EC%8A%A4%ED%85%8C%EC%9D%B4%EC%A7%80-%EB%B9%8C%EB%93%9C%EC%99%80-Dockerfile-%EC%9E%91%EC%84%B1-%EC%9B%90%EC%B9%99/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-12-%EB%A9%80%ED%8B%B0-%EC%8A%A4%ED%85%8C%EC%9D%B4%EC%A7%80-%EB%B9%8C%EB%93%9C%EC%99%80-Dockerfile-%EC%9E%91%EC%84%B1-%EC%9B%90%EC%B9%99/</guid><description>앞선 글에서는 Dockerfile의 주요 명령어와 이미지 빌드 방법을 정리했다. 이번 글에서는 빌드 환경과 실행 환경을 분리하는 멀티 스테이지 빌드(Multi stage build) 를 살펴본다. 멀티 스테이지 빌드를 사용하면 컴파일러, 패키지 관리자, 개발용 의존성처…</description><pubDate>Thu, 20 Aug 2026 09:57:10 GMT</pubDate><category>Docker</category><category>docker</category><category>dockerfile</category><category>멀티 스테이지 빌드</category><category>이미지 최적화</category><category>iac</category><category>도커</category></item><item><title>리눅스 (4-1) - VS Code Remote-SSH Permission denied (publickey) 해결 과정</title><link>https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-4-1-VS-Code-Remote-SSH-Permission-denied-publickey-%ED%95%B4%EA%B2%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-4-1-VS-Code-Remote-SSH-Permission-denied-publickey-%ED%95%B4%EA%B2%B0/</guid><description>VS Code에서 Remote SSH로 Ubuntu 서버에 접속하려고 했지만 Permission denied (publickey) 오류가 발생했다. SSH 키의 passphrase 입력창까지 나타났기 때문에 키 파일 자체는 인식되는 것처럼 보였지만, 실제로는 설정된 개…</description><pubDate>Thu, 20 Aug 2026 08:15:31 GMT</pubDate><category>리눅스</category><category>리눅스</category><category>ssh</category><category>vs code</category><category>remote-ssh</category></item><item><title>Codex CLI - 우분투에서 device-auth 로그인하기</title><link>https://etakyung.com/posts/Codex-CLI-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%8B%A4%ED%8C%A8-%ED%95%B4%EA%B2%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Codex-CLI-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%8B%A4%ED%8C%A8-%ED%95%B4%EA%B2%B0/</guid><description>1. 개요 우분투 서버에 Codex CLI를 설치한 뒤 ChatGPT 계정으로 로그인하려고 했는데, 브라우저를 자유롭게 사용할 수 없는 환경이라 로그인 과정에서 막힌 적이 있다. 이럴 때 codex login device auth 명령을 사용하면 장치 코드 방식으로 인…</description><pubDate>Thu, 20 Aug 2026 00:52:39 GMT</pubDate><category>openai</category><category>codex</category><category>codex cli</category><category>우분투</category><category>리눅스</category></item><item><title>스프링 핵심 원리 (15) - 빈 스코프</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-15/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-15/</guid><description>1. 개요 지금까지 다룬 스프링 빈은 모두 컨테이너가 시작될 때 생성되어 종료될 때까지 유지되는 싱글톤이었다. 하지만 스프링은 이 외에도 빈이 살아있는 범위, 즉 스코프를 다양하게 지정할 수 있게 해준다. 특히 매번 새 인스턴스가 필요한 프로토타입 스코프를 싱글톤 빈과…</description><pubDate>Wed, 19 Aug 2026 05:19:30 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>빈 스코프</category><category>프로토타입 스코프</category><category>objectprovider</category></item><item><title>Python (1) - 우분투에서 가상환경(venv) 구성하기</title><link>https://etakyung.com/posts/Python-1-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-venv-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Python-1-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-venv-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0/</guid><description>1. 개요 파이썬 프로젝트를 여러 개 다루다 보면 프로젝트마다 필요한 패키지 버전이 다른 경우가 생긴다. 시스템에 설치된 파이썬 하나에 모든 프로젝트의 패키지를 전역으로 설치하면 프로젝트 간 버전 충돌이 나기 쉽고, 최근 우분투는 시스템 파이썬 환경을 pip로 직접 건…</description><pubDate>Wed, 19 Aug 2026 03:02:18 GMT</pubDate><category>Python</category><category>python</category><category>venv</category><category>우분투</category></item><item><title>Docker (11) - Dockerfile 명령어 심화와 빌드 실습</title><link>https://etakyung.com/posts/Docker-11-Dockerfile-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%8B%AC%ED%99%94%EC%99%80-%EB%B9%8C%EB%93%9C-%EC%8B%A4%EC%8A%B5/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-11-Dockerfile-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%8B%AC%ED%99%94%EC%99%80-%EB%B9%8C%EB%93%9C-%EC%8B%A4%EC%8A%B5/</guid><description>1. 개요 Docker (4)에서 FROM, WORKDIR, COPY, RUN, ENV, EXPOSE, CMD로 이어지는 Dockerfile의 기본 골격과 멀티 스테이지 빌드를 다뤘다. 이번 글에서는 그때 다루지 않았던 나머지 명령어들(ENTRYPOINT, ADD, V…</description><pubDate>Tue, 18 Aug 2026 09:51:12 GMT</pubDate><category>Docker</category><category>docker</category><category>dockerfile</category><category>iac</category><category>도커</category></item><item><title>Docker (10) - 브릿지 네트워크와 다중 컨테이너 연동</title><link>https://etakyung.com/posts/Docker-10-%EB%B8%8C%EB%A6%BF%EC%A7%80-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%EC%99%80-%EB%8B%A4%EC%A4%91-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%97%B0%EB%8F%99/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-10-%EB%B8%8C%EB%A6%BF%EC%A7%80-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%EC%99%80-%EB%8B%A4%EC%A4%91-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%97%B0%EB%8F%99/</guid><description>1. 개요 컨테이너는 기본적으로 호스트나 다른 컨테이너와 격리되어 있는 독립된 실행 환경이다. Docker(5)에서 사용자 정의 네트워크로 컨테이너끼리 이름으로 통신하는 방법을 다뤘는데, 이번 글에서는 그 배경이 되는 기본 브릿지 네트워크의 동작 원리 와, 포트포워딩이…</description><pubDate>Tue, 18 Aug 2026 09:12:07 GMT</pubDate><category>Docker</category><category>docker</category><category>network</category><category>wordpress</category><category>mysql</category><category>도커</category></item><item><title>스프링 핵심 원리 (14) - 빈 생명주기 콜백</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-14/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-14/</guid><description>1. 개요 DB 커넥션 풀이나 네트워크 소켓처럼 외부 자원을 다루는 빈은 &quot;애플리케이션이 뜰 때 연결하고, 종료될 때 끊는&quot; 작업이 필요하다. 그런데 이 연결 작업을 생성자에 그냥 넣으면 문제가 생긴다. 스프링 빈은 객체가 먼저 만들어지고 그 다음에 의존관계(필드 값)…</description><pubDate>Tue, 18 Aug 2026 05:19:25 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>빈 생명주기</category><category>postconstruct</category></item><item><title>Docker (9) - Docker Hub 이미지 배포 테스트</title><link>https://etakyung.com/posts/Docker-9-DockerHub-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%B0%B0%ED%8F%AC-%ED%85%8C%EC%8A%A4%ED%8A%B8/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-9-DockerHub-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%B0%B0%ED%8F%AC-%ED%85%8C%EC%8A%A4%ED%8A%B8/</guid><description>1. 개요 직접 만든 이미지( etakyung/for docker java:latest )를 Docker Hub에 올려두기만 하고 끝내면, 이게 다른 환경에서도 제대로 동작하는지는 알 수가 없다. 그래서 이번에는 로컬에서 이 이미지를 다시 pull 받아, MySQL 컨…</description><pubDate>Tue, 18 Aug 2026 04:46:26 GMT</pubDate><category>Docker</category><category>docker</category><category>dockerhub</category><category>mysql</category><category>도커</category></item><item><title>Docker (8) - 볼륨 마운트와 바인드 마운트</title><link>https://etakyung.com/posts/Docker-8-%EB%B3%BC%EB%A5%A8/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-8-%EB%B3%BC%EB%A5%A8/</guid><description>1. 개요 컨테이너 내부에 저장된 데이터는 컨테이너의 생명주기를 그대로 따라간다. 즉 컨테이너가 삭제되면 그 안에 쌓아둔 데이터도 함께 사라진다. DB 데이터처럼 컨테이너가 없어져도 유지되어야 하는 데이터가 있다면, 별도의 저장 매커니즘으로 데이터의 영속성을 확보해야…</description><pubDate>Mon, 17 Aug 2026 12:30:00 GMT</pubDate><category>Docker</category><category>docker</category><category>volume</category><category>도커</category></item><item><title>Docker (7) - 컨테이너 생명주기와 실행 옵션 정리</title><link>https://etakyung.com/posts/Docker-7-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%8B%A4%EB%A3%A8%EA%B8%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-7-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%8B%A4%EB%A3%A8%EA%B8%B0/</guid><description>1. 개요 Docker(2)에서 docker run 으로 컨테이너를 간단히 띄워봤지만, 실제로는 컨테이너가 어떤 상태를 거쳐 살아있고 사라지는지, run 의 옵션들이 각각 무엇을 하는지, 컨테이너 내부와 파일을 어떻게 주고받는지를 알아야 제대로 다룰 수 있다. 이번 글…</description><pubDate>Mon, 17 Aug 2026 11:45:00 GMT</pubDate><category>Docker</category><category>docker</category><category>container</category><category>도커</category></item><item><title>Docker (6) - 이미지를 파일로 저장하고 관리하기</title><link>https://etakyung.com/posts/Docker-6-%EC%9D%B4%EB%AF%B8%EC%A7%80-%ED%8C%8C%EC%9D%BC-%EA%B4%80%EB%A6%AC/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-6-%EC%9D%B4%EB%AF%B8%EC%A7%80-%ED%8C%8C%EC%9D%BC-%EA%B4%80%EB%A6%AC/</guid><description>1. 개요 지금까지는 이미지를 항상 Docker Hub 같은 레지스트리에서 pull 로 받아서 사용했다. 그런데 인터넷이 안 되는 폐쇄망이거나, 레지스트리를 거치지 않고 이미지를 바로 다른 서버로 옮기고 싶을 때는 이미지를 파일(tar)로 통째로 내보내고 다시 불러오는…</description><pubDate>Mon, 17 Aug 2026 11:10:00 GMT</pubDate><category>Docker</category><category>docker</category><category>image</category><category>도커</category></item><item><title>스프링 핵심 원리 (13) - List, Map으로 전략 패턴 구현하기와 자동/수동 등록 기준</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-13/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-13/</guid><description>1. 개요 앞 글에서는 같은 타입의 빈이 여러 개일 때 그중 하나만 골라서 주입받는 방법을 다뤘다. 그런데 반대로 같은 타입의 빈을 하나만 고르는 게 아니라 전부 다 받아서 써야 하는 경우도 있다. 스프링은 이럴 때 List 나 Map 으로 한 번에 주입받는 방법을 지…</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>전략 패턴</category><category>컴포넌트 스캔</category><category>빈 등록</category></item><item><title>스프링 핵심 원리 (12) - 조회 빈이 2개 이상일 때, @Qualifier와 @Primary</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-12/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-12/</guid><description>1. 개요 @Autowired 는 타입을 기준으로 스프링 빈을 찾아서 주입한다. 지금까지 예제에서는 인터페이스를 구현한 빈이 하나뿐이었기 때문에 문제가 없었지만, 실무에서는 같은 인터페이스를 구현한 빈이 여러 개 등록되는 경우가 흔하다. 이번 글에서는 타입으로 조회했을…</description><pubDate>Sun, 16 Aug 2026 23:30:00 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>autowired</category><category>qualifier</category><category>primary</category></item><item><title>스프링 핵심 원리 (11) - 롬복과 최신 트렌드</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-11/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-11/</guid><description>1. 개요 앞 글에서 생성자 주입을 기본으로 써야 하는 이유를 정리했다. 그런데 막상 실무 코드를 짜보면 대부분의 의존관계가 final 필드이고, 그 필드들을 그대로 받아 대입해주는 생성자를 매번 손으로 채워 넣어야 한다. 필드가 늘어나면 생성자 파라미터도, 대입 코드…</description><pubDate>Sun, 16 Aug 2026 06:20:00 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>롬복</category><category>lombok</category><category>생성자 주입</category></item><item><title>스프링 핵심 원리 (10) - 다양한 의존관계 주입 방법과 생성자 주입</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-10/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-10/</guid><description>1. 개요 앞 글까지는 @Autowired 를 생성자에 붙여서 의존관계를 주입하는 방식만 사용해왔다. 그런데 스프링이 의존관계를 주입하는 방법은 생성자뿐만이 아니다. 크게 네 가지 방법이 있고, 각각 동작 시점과 용도가 다르다. 이번 글에서는 네 가지 주입 방법을 비교…</description><pubDate>Sun, 16 Aug 2026 06:00:00 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>의존관계 주입</category><category>autowired</category><category>생성자 주입</category></item><item><title>스프링 핵심 원리 (9) - 컴포넌트 스캔 필터와 빈 중복 등록</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-9/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-9/</guid><description>1. 개요 앞 글에서는 @Component 가 붙은 클래스를 자동으로 찾아 빈으로 등록하는 컴포넌트 스캔의 기본 동작을 정리했다. 이번에는 스캔 대상을 원하는 대로 걸러내는 필터 옵션과, 스캔하다 보면 반드시 한 번은 마주치는 빈 이름 충돌 문제를 정리한다. 2. in…</description><pubDate>Sun, 16 Aug 2026 05:30:00 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>컴포넌트 스캔</category><category>빈 중복 등록</category></item><item><title>스프링 핵심 원리 (8) - 컴포넌트 스캔과 의존관계 자동 주입</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-8/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-8/</guid><description>1. 개요 지금까지는 @Bean 이 붙은 메서드를 하나하나 작성해서 스프링 빈을 등록했다. 등록할 빈이 몇 개 안 될 때는 문제가 없지만, 빈이 수십 수백 개로 늘어나면 이야기가 다르다. 설정 클래스가 끝없이 길어지고, 등록을 깜빡하는 실수도 생긴다. 스프링은 이 문제…</description><pubDate>Sun, 16 Aug 2026 05:20:00 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>컴포넌트 스캔</category><category>autowired</category></item><item><title>스프링 핵심 원리 (7) - @Configuration과 바이트코드 조작</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-7/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-7/</guid><description>1. 개요 AppConfig 의 자바 코드를 그대로 읽어보면 이상한 부분이 있다. 여러 @Bean 메서드가 서로를 코드로 직접 호출하고 있는데, 그렇다면 의존 객체가 여러 번 new 되어야 하는 것이어야 하지 않나 라고 생각할 수 있다. @Configuration 이…</description><pubDate>Sun, 16 Aug 2026 04:40:00 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>싱글톤</category><category>configuration</category></item><item><title>스프링 핵심 원리 (6) - 싱글톤 컨테이너</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-6/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-6/</guid><description>1. 개요 스프링은 대부분 여러 사용자가 동시에 요청을 보내는 웹 애플리케이션에서 사용된다. 그런데 지금까지 만들어 온 순수 자바 DI 컨테이너( AppConfig )는 빈을 요청할 때마다 new 로 객체를 새로 만든다. 트래픽이 많아지면 그만큼 객체가 계속 생성·소멸…</description><pubDate>Sun, 16 Aug 2026 04:10:00 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>싱글톤</category><category>스프링 컨테이너</category></item><item><title>스프링 핵심 원리 (5) - 스프링 빈 조회와 BeanFactory</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-5/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-5/</guid><description>1. 개요 앞선 글에서 스프링 컨테이너를 만들고 그 안에 빈이 등록되는 과정을 살펴봤다. 이번에는 컨테이너에 등록된 빈을 확인하고 실제로 꺼내 쓰는 다양한 방법을 정리한다. 등록된 빈을 전체 조회하는 방법부터, 이름으로 찾는 가장 단순한 방법, 같은 타입의 빈이 여러…</description><pubDate>Fri, 14 Aug 2026 12:30:00 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>스프링 컨테이너</category></item><item><title>Kafka를 활용한 CQRS (1) - Kafka 기초와 설치</title><link>https://etakyung.com/posts/Kafka-1/</link><guid isPermaLink="true">https://etakyung.com/posts/Kafka-1/</guid><description>1. 개요 여러 애플리케이션이 서로 직접 데이터를 주고받는 구조에서는 파이프라인 개수가 늘어날수록 소스 코드와 버전 관리가 복잡해지고, 타깃 애플리케이션 하나에 장애가 나면 그 영향이 소스 애플리케이션까지 그대로 전파되는 문제가 생긴다. Kafka는 이런 문제를 해결하…</description><pubDate>Thu, 13 Aug 2026 12:30:00 GMT</pubDate><category>Kafka</category><category>kafka</category><category>cqrs</category><category>메시지큐</category></item><item><title>Kafka를 활용한 CQRS (2) - CQRS</title><link>https://etakyung.com/posts/Kafka-2/</link><guid isPermaLink="true">https://etakyung.com/posts/Kafka-2/</guid><description>1. 개요 CQRS(Command and Query Responsibility Segregation) 는 데이터 저장소로부터 읽기와 업데이트 작업을 분리하는 아키텍처 패턴이다. 이름 그대로 상태를 변경하는 Command 와 상태를 조회하는 Query 의 책임을 나눠서,…</description><pubDate>Thu, 13 Aug 2026 12:30:00 GMT</pubDate><category>Kafka</category><category>kafka</category><category>cqrs</category><category>메시지큐</category></item><item><title>Kafka를 활용한 CQRS (3) - Spring Boot로 CQRS 구현하기</title><link>https://etakyung.com/posts/Kafka-3/</link><guid isPermaLink="true">https://etakyung.com/posts/Kafka-3/</guid><description>1. 개요 앞선 글에서 CQRS의 개념과 Kafka의 기초를 정리했으니, 이번 글에서는 Spring Boot로 실제 쓰기(Command)/읽기(Query) 서비스를 나눠 만들고 Kafka로 두 서비스를 연결하는 예제를 구현한다. 쓰기 서비스( cqrs write )는…</description><pubDate>Thu, 13 Aug 2026 12:30:00 GMT</pubDate><category>Kafka</category><category>kafka</category><category>cqrs</category><category>메시지큐</category></item><item><title>스프링 핵심 원리 (3) - IoC, DI 컨테이너</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-3/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-3/</guid><description>1. 개요 이전 글에서 AppConfig 를 만들어 구현 객체를 생성·연결하는 책임을 클라이언트로부터 분리했다. 이번 글에서는 이 변화를 좀 더 일반적인 용어로 정리해본다. AppConfig 가 등장하면서 프로그램의 제어 흐름이 어떻게 바뀌었는지를 제어의 역전(IoC)…</description><pubDate>Tue, 11 Aug 2026 13:57:00 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>의존성 주입</category><category>제어의 역전</category></item><item><title>스프링 핵심 원리 (4) - 스프링 컨테이너</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-4/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-4/</guid><description>1. 개요 앞선 글들에서는 순수한 자바 코드로 만든 AppConfig 가 DI 컨테이너 역할을 했다. 이제부터는 스프링이 직접 제공하는 컨테이너인 ApplicationContext 를 써볼 차례다. 이번 글에서는 이 컨테이너를 어떻게 만드는지, 그리고 만들어지는 동안…</description><pubDate>Tue, 11 Aug 2026 13:57:00 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>스프링 컨테이너</category></item><item><title>스프링 핵심 원리 (2) - 관심사의 분리</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-2/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-2/</guid><description>1. 개요 이전 글에서 좋은 객체 지향 설계의 핵심은 다형성이고, 이를 실제로 잘 활용하기 위한 지침이 SOLID 원칙이라는 것을 정리했다. 이번 글에서는 애플리케이션에 새로운 할인 정책을 추가해보면서 다형성만으로는 OCP와 DIP를 지킬 수 없다는 것을 직접 확인하고…</description><pubDate>Tue, 11 Aug 2026 10:06:00 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>solid</category><category>관심사의 분리</category></item><item><title>프로그래머스 - 디스크 컨트롤러 (lv2) C++</title><link>https://etakyung.com/posts/ps-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EB%94%94%EC%8A%A4%ED%81%AC%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC/</link><guid isPermaLink="true">https://etakyung.com/posts/ps-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EB%94%94%EC%8A%A4%ED%81%AC%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC/</guid><description>문제 디스크 컨트롤러 문제 풀이 아이디어 운영체제의 프로세스 스케줄링 알고리즘 중 하나를 구현하는 문제로, 비선점형(Non preemptive) 방식으로 동작하는 스케줄러를 작성해야 한다. 우선순위 큐를 이용하면 될 것 같다는 것은 운영체제를 공부한 사람이라면 어렵지…</description><pubDate>Mon, 10 Aug 2026 08:10:05 GMT</pubDate><category>알고리즘</category><category>프로그래머스</category><category>알고리즘</category><category>우선순위 큐</category></item><item><title>스프링 핵심 원리 (1) - 좋은 객체 지향 프로그래밍</title><link>https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-1/</link><guid isPermaLink="true">https://etakyung.com/posts/%EC%8A%A4%ED%94%84%EB%A7%81%ED%95%B5%EC%8B%AC%EC%9B%90%EB%A6%AC-1/</guid><description>1. 개요 스프링(Spring) 프레임워크는 한마디로 좋은 객체 지향 프로그래밍(OOP)을 쉽게 할 수 있도록 도와주는 프레임워크 이다. 스프링이 제공하는 DI(의존관계 주입), IoC(제어의 역전) 컨테이너는 그 자체가 목적이 아니라, 개발자가 다형성 을 활용해 SO…</description><pubDate>Mon, 10 Aug 2026 02:15:05 GMT</pubDate><category>Spring</category><category>스프링 핵심 원리 기본편</category><category>spring</category><category>solid</category><category>객체지향설계</category></item><item><title>JAVA (27) - Executor 기초</title><link>https://etakyung.com/posts/JAVA-27-Executor-%EA%B8%B0%EC%B4%88/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-27-Executor-%EA%B8%B0%EC%B4%88/</guid><description>1. 개요 자바에서 멀티스레드 프로그래밍을 할 때 new Thread() 를 통해 직접 스레드를 생성하고 관리하는 방식은 여러 한계를 지닌다. 스레드 생성과 파괴에 소요되는 오버헤드가 크고, 무분별한 스레드 생성은 시스템 자원 고갈로 이어질 수 있다. 자바 5부터 도입…</description><pubDate>Sun, 09 Aug 2026 13:27:23 GMT</pubDate><category>JAVA</category></item><item><title>JAVA (26) - synchronized와 동기화</title><link>https://etakyung.com/posts/JAVA-26-synchronized%EC%99%80-%EB%8F%99%EA%B8%B0%ED%99%94/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-26-synchronized%EC%99%80-%EB%8F%99%EA%B8%B0%ED%99%94/</guid><description>1. 개요 멀티스레드(Multi thread) 환경에서는 여러 스레드가 하나의 공유 자원에 동시에 접근하여 값을 읽거나 수정할 수 있다. 이때 적절한 제어가 이루어지지 않으면 데이터의 일관성이 깨지는 신뢰성 문제가 발생한다. 자바에서는 이러한 멀티스레드 환경에서 발생할…</description><pubDate>Sun, 09 Aug 2026 13:05:37 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (25) - Thread 와 Runnable</title><link>https://etakyung.com/posts/JAVA-25-Thread-%EC%99%80-Runnable/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-25-Thread-%EC%99%80-Runnable/</guid><description>1. 개요 자바(Java) 애플리케이션은 기본적으로 하나의 메인 스레드(Main Thread)에서 코드를 순차적으로 실행한다. 하지만 네트워크 통신, 파일 입출력, 복잡한 연산 등 시간이 오래 걸리는 작업을 처리할 때는 작업이 끝날 때까지 프로그램 전체가 대기하는 현상…</description><pubDate>Sun, 09 Aug 2026 12:20:12 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (24) - Optional</title><link>https://etakyung.com/posts/JAVA-24-Optional/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-24-Optional/</guid><description>1. 개요 자바 프로그래밍에서 가장 흔하게 발생하는 예외 중 하나는 NullPointerException (NPE)이다. NPE를 방지하기 위해 과거에는 코드 곳곳에 if (obj != null) 과 같은 조건문을 가득 채워 넣어야 했고, 이는 코드의 가독성을 크게 떨…</description><pubDate>Sun, 09 Aug 2026 12:11:52 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (23) - 람다와 스트림</title><link>https://etakyung.com/posts/JAVA-23-%EB%9E%8C%EB%8B%A4%EC%99%80-%EC%8A%A4%ED%8A%B8%EB%A6%BC/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-23-%EB%9E%8C%EB%8B%A4%EC%99%80-%EC%8A%A4%ED%8A%B8%EB%A6%BC/</guid><description>1. 개요 Java 8에서 도입된 가장 큰 변화 중 하나는 함수형 프로그래밍 스타일의 도입이다. 그 중심에는 람다식(Lambda Expression)과 스트림 API(Stream API)가 존재한다. 람다식을 통해 코드를 더욱 간결하고 직관적으로 작성할 수 있게 되었으…</description><pubDate>Sun, 09 Aug 2026 09:01:55 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (22) - 가비지 컬렉션</title><link>https://etakyung.com/posts/JAVA-22-%EA%B0%80%EB%B9%84%EC%A7%80-%EC%BB%AC%EB%A0%89%EC%85%98/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-22-%EA%B0%80%EB%B9%84%EC%A7%80-%EC%BB%AC%EB%A0%89%EC%85%98/</guid><description>1. 개요 자바(Java)는 C나 C++과 달리 개발자가 객체의 메모리를 직접 해제하지 않는다. JVM(Java Virtual Machine)의 가비지 컬렉터(Garbage Collector)가 더 이상 사용할 수 없는 객체를 찾아 메모리를 자동으로 회수하기 때문이다.…</description><pubDate>Sun, 09 Aug 2026 08:40:31 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (21) - 메모리 구조(Stack vs Heap)</title><link>https://etakyung.com/posts/JAVA-21-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B5%AC%EC%A1%B0Stack-vs-Heap/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-21-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B5%AC%EC%A1%B0Stack-vs-Heap/</guid><description>1. 개요 자바 애플리케이션을 효율적으로 개발하고 메모리 누수를 방지하기 위해서는 JVM(Java Virtual Machine)의 메모리 관리 방식을 이해해야 한다. JVM 메모리 영역은 크게 스태틱(Static), 스택(Stack), 힙(Heap) 영역 등으로 나뉜다…</description><pubDate>Sun, 09 Aug 2026 08:32:58 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (20) - I/O 기초(스트림)</title><link>https://etakyung.com/posts/JAVA-20-IO-%EA%B8%B0%EC%B4%88%EC%8A%A4%ED%8A%B8%EB%A6%BC/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-20-IO-%EA%B8%B0%EC%B4%88%EC%8A%A4%ED%8A%B8%EB%A6%BC/</guid><description>1. 개요 자바에서 I/O(Input/Output)는 프로그램이 외부 장치(키보드, 파일, 네트워크, 모니터 등)와 데이터를 주고받는 입출력 작업을 의미한다. 자바는 모든 입출력을 스트림(Stream) 이라는 일관된 개념을 통해 처리하며, 데이터의 단위에 따라 바이트…</description><pubDate>Sun, 09 Aug 2026 08:24:54 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (19) - 리플렉션 기초</title><link>https://etakyung.com/posts/JAVA-19-%EB%A6%AC%ED%94%8C%EB%A0%89%EC%85%98-%EA%B8%B0%EC%B4%88/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-19-%EB%A6%AC%ED%94%8C%EB%A0%89%EC%85%98-%EA%B8%B0%EC%B4%88/</guid><description>1. 개요 자바의 리플렉션(Reflection) 은 구체적인 클래스 타입을 알지 못하더라도 런타임 시점에 클래스의 메타데이터(클래스 구조, 메서드, 필드, 생성자 등)에 접근하고 이를 조작할 수 있게 해주는 기능이다. 작성 시점에는 알 수 없는 클래스를 동적으로 로딩하…</description><pubDate>Sun, 09 Aug 2026 07:56:43 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (18) - 애노테이션 기초</title><link>https://etakyung.com/posts/JAVA-18-%EC%95%A0%EB%85%B8%ED%85%8C%EC%9D%B4%EC%85%98-%EA%B8%B0%EC%B4%88/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-18-%EC%95%A0%EB%85%B8%ED%85%8C%EC%9D%B4%EC%85%98-%EA%B8%B0%EC%B4%88/</guid><description>1. 개요 애노테이션(Annotation)은 자바 5부터 도입된 기능으로, 코드에 대한 추가적인 정보(메타데이터, Metadata)를 제공하는 주석 형태의 표식이다. 기존의 주석이 사람을 위한 설명이었다면, 애노테이션은 컴파일러나 런타임 프레임워크가 코드를 어떻게 처리…</description><pubDate>Sun, 09 Aug 2026 07:37:25 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (17) - 컬렉션 프레임워크</title><link>https://etakyung.com/posts/JAVA-17-%EC%BB%AC%EB%A0%89%EC%85%98-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-17-%EC%BB%AC%EB%A0%89%EC%85%98-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC/</guid><description>1. 개요 자바의 컬렉션 프레임워크(Collection Framework) 는 다수의 데이터를 효율적으로 저장, 관리, 조작할 수 있도록 표준화된 데이터 구조와 알고리즘을 제공하는 클래스와 인터페이스의 집합이다. 배열(Array)이 고정된 크기만을 지원하는 한계를 극복…</description><pubDate>Sun, 09 Aug 2026 07:29:31 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (16) - 제네릭</title><link>https://etakyung.com/posts/JAVA-16-%EC%A0%9C%EB%84%A4%EB%A6%AD/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-16-%EC%A0%9C%EB%84%A4%EB%A6%AD/</guid><description>1. 개요 자바에서 제네릭(Generic)은 클래스, 인터페이스, 메서드를 정의할 때 사용할 데이터 타입을 파라미터로 지정할 수 있게 해주는 기능이다. Java 5에 도입되었으며, 데이터 타입(Data Type)의 안정성을 높이고 형변환의 번거로움을 줄이기 위해 사용된…</description><pubDate>Sun, 09 Aug 2026 07:23:14 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (15) - 예외 처리</title><link>https://etakyung.com/posts/JAVA-15-%EC%98%88%EC%99%B8-%EC%B2%98%EB%A6%AC/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-15-%EC%98%88%EC%99%B8-%EC%B2%98%EB%A6%AC/</guid><description>1. 개요 프로그램 실행 중에는 구문 오류(Syntax Error) 외에도 예측하지 못한 상황으로 인해 오류가 발생할 수 있다. 자바에서는 이러한 비정상 종료를 막고 프로그램이 정상적인 흐름을 유지할 수 있도록 예외 처리(Exception Handling) 메커니즘을…</description><pubDate>Sun, 09 Aug 2026 07:12:34 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (14) - equals() 와 hashCode()</title><link>https://etakyung.com/posts/JAVA-14-equals-%EC%99%80-hashCode/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-14-equals-%EC%99%80-hashCode/</guid><description>1. 개요 자바의 최상위 클래스인 Object 는 모든 클래스가 기본적으로 상속받는 메서드들을 제공한다. 그중 equals() 와 hashCode() 는 객체의 동일성(Identity)과 동등성(Equality)을 비교할 때 핵심적인 역할을 담당한다. 두 메서드는 올바…</description><pubDate>Sun, 09 Aug 2026 07:03:01 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (13) - String과 불변성</title><link>https://etakyung.com/posts/JAVA-13-String%EA%B3%BC-%EB%B6%88%EB%B3%80%EC%84%B1/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-13-String%EA%B3%BC-%EB%B6%88%EB%B3%80%EC%84%B1/</guid><description>1. 개요 자바에서 String 은 가장 자주 사용되는 클래스 중 하나다. 다른 객체와 달리 String 은 한번 생성되면 내부의 값을 변경할 수 없는 불변(Immutable) 객체 로 설계되었다. 이러한 불변 특성은 자바의 메모리 관리 및 안정성 측면에서 매우 중요한…</description><pubDate>Sun, 09 Aug 2026 06:52:06 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (12) - 내부 클래스</title><link>https://etakyung.com/posts/JAVA-12-%EB%82%B4%EB%B6%80-%ED%81%B4%EB%9E%98%EC%8A%A4/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-12-%EB%82%B4%EB%B6%80-%ED%81%B4%EB%9E%98%EC%8A%A4/</guid><description>1. 개요 내부 클래스(Inner Class)는 클래스 내부에 선언된 또 다른 클래스를 의미한다. 두 클래스가 서로 긴밀한 관계에 있을 때 내부 클래스로 선언하면, 외부 클래스의 멤버들에 쉽게 접근할 수 있고 코드의 캡슐화를 높일 수 있다. 내부 클래스는 선언되는 위치…</description><pubDate>Sun, 09 Aug 2026 06:43:20 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (11) - static 키워드</title><link>https://etakyung.com/posts/JAVA-11-static-%ED%82%A4%EC%9B%8C%EB%93%9C/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-11-static-%ED%82%A4%EC%9B%8C%EB%93%9C/</guid><description>1. 개요 자바(Java)에서 static 키워드는 클래스 수준의 멤버(변수, 메서드)를 정의할 때 사용한다. 일반적으로 객체 지향 프로그래밍에서는 클래스를 바탕으로 new 연산자를 통해 인스턴스를 생성해야 멤버에 접근할 수 있다. 하지만 static 키워드가 붙은 멤…</description><pubDate>Sun, 09 Aug 2026 06:25:19 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (10) - 캡슐화와 접근 제어자</title><link>https://etakyung.com/posts/JAVA-10-%EC%BA%A1%EC%8A%90%ED%99%94%EC%99%80-%EC%A0%91%EA%B7%BC-%EC%A0%9C%EC%96%B4%EC%9E%90/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-10-%EC%BA%A1%EC%8A%90%ED%99%94%EC%99%80-%EC%A0%91%EA%B7%BC-%EC%A0%9C%EC%96%B4%EC%9E%90/</guid><description>1. 개요 객체지향 프로그래밍(OOP)의 핵심 특징 중 하나는 캡슐화(Encapsulation) 다. 캡슐화는 연관된 데이터와 메서드를 하나의 단위로 묶고, 외부로부터 데이터를 보호하는 기법을 의미한다. Java에서는 이러한 캡슐화를 구현하고 객체의 내부 데이터에 대한…</description><pubDate>Sun, 09 Aug 2026 03:56:06 GMT</pubDate><category>JAVA</category></item><item><title>JAVA (9) - 추상 클래스 vs 인터페이스</title><link>https://etakyung.com/posts/JAVA-9-%EC%B6%94%EC%83%81-%ED%81%B4%EB%9E%98%EC%8A%A4-vs-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-9-%EC%B6%94%EC%83%81-%ED%81%B4%EB%9E%98%EC%8A%A4-vs-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4/</guid><description>1. 개요 자바에서 추상 클래스(Abstract Class) 와 인터페이스(Interface) 는 모두 객체 지향 프로그래밍의 핵심 개념인 추상화(Abstraction)를 구현하기 위한 장치이다. 두 개념 모두 하위 클래스에서 반드시 구현해야 하는 메서드를 정의하여 코…</description><pubDate>Sun, 09 Aug 2026 03:43:42 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (8) - 상속과 다형성</title><link>https://etakyung.com/posts/JAVA-8-%EC%83%81%EC%86%8D%EA%B3%BC-%EB%8B%A4%ED%98%95%EC%84%B1/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-8-%EC%83%81%EC%86%8D%EA%B3%BC-%EB%8B%A4%ED%98%95%EC%84%B1/</guid><description>1. 개요 상속(Inheritance)과 다형성(Polymorphism)은 객체 지향의 핵심이라 불리는 대표적인 특성이다. 상속을 통해 기존 클래스의 자원을 재사용하고, 다형성을 통해 하나의 타입으로 여러 형태의 객체를 다룸으로써 유연하고 유지보수가 쉬운 프로그램을 작…</description><pubDate>Sun, 09 Aug 2026 03:34:09 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (7) - 클래스와 객체</title><link>https://etakyung.com/posts/JAVA-7-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-%EA%B0%9D%EC%B2%B4/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-7-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-%EA%B0%9D%EC%B2%B4/</guid><description>1. 개요 자바(Java)는 대표적인 객체 지향 프로그래밍(Object Oriented Programming, OOP) 언어 이다. 객체 지향 프로그래밍의 핵심은 현실 세계의 사물이나 개념을 프로그램 내의 &apos;객체&apos;로 모델링하여 코드를 작성하는 데 있다. 이러한 객체를…</description><pubDate>Sun, 09 Aug 2026 03:25:11 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (6) - Wrapper 클래스와 오토박싱</title><link>https://etakyung.com/posts/JAVA-6-Wrapper-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-%EC%98%A4%ED%86%A0%EB%B0%95%EC%8B%B1/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-6-Wrapper-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-%EC%98%A4%ED%86%A0%EB%B0%95%EC%8B%B1/</guid><description>1. 개요 Java에는 int , double , boolean 과 같은 기본 타입(Primitive Type)이 존재한다. 기본 타입은 성능상 이점이 있지만, 객체가 아니기 때문에 컬렉션 프레임워크( ArrayList 등)에 저장할 수 없고 null 을 다룰 수도 없…</description><pubDate>Sun, 09 Aug 2026 03:11:06 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (5) - Enum</title><link>https://etakyung.com/posts/JAVA-5-Enum/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-5-Enum/</guid><description>1. 개요 열거형(Enum, Enumeration)은 서로 관련이 있는 연관된 상수들의 집합을 정의하는 특수한 데이터 타입 이다. Java 5 이전에는 상수를 정의할 때 final static int 방식을 사용했지만, 이는 타입 안정성 문제나 가독성 저하를 유발했다.…</description><pubDate>Sun, 09 Aug 2026 03:03:43 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (4) - 배열</title><link>https://etakyung.com/posts/JAVA-4-%EB%B0%B0%EC%97%B4/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-4-%EB%B0%B0%EC%97%B4/</guid><description>1. 개요 배열(Array)은 같은 타입의 변수를 여러 개 묶어서 하나의 단위로 관리 하는 자료구조다. 데이터의 수가 많아질 때 변수를 일일이 선언하는 대신 하나의 배열 변수를 통해 연속된 메모리 공간에 데이터를 저장하고 효율적으로 관리할 수 있다. Java에서 int…</description><pubDate>Sun, 09 Aug 2026 02:56:36 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (3) - 연산자와 제어문</title><link>https://etakyung.com/posts/JAVA-3-%EC%97%B0%EC%82%B0%EC%9E%90%EC%99%80-%EC%A0%9C%EC%96%B4%EB%AC%B8/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-3-%EC%97%B0%EC%82%B0%EC%9E%90%EC%99%80-%EC%A0%9C%EC%96%B4%EB%AC%B8/</guid><description>1. 연산자 (Operators) Java의 연산자는 피연산자의 개수 및 역할에 따라 여러 종류로 나뉜다. 1.1 산술 및 단항 연산자 산술 연산자: + , , , / , % (덧셈, 뺄셈, 곱셈, 나눗셈, 나머지) 증감 연산자: ++ , (변수의 값을 1 증가 또는…</description><pubDate>Sun, 09 Aug 2026 02:48:34 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (2) - 변수, 자료형, 형변환</title><link>https://etakyung.com/posts/JAVA-2-%EB%B3%80%EC%88%98-%EC%9E%90%EB%A3%8C%ED%98%95-%ED%98%95%EB%B3%80%ED%99%98/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-2-%EB%B3%80%EC%88%98-%EC%9E%90%EB%A3%8C%ED%98%95-%ED%98%95%EB%B3%80%ED%99%98/</guid><description>1. 변수 (Variable) 변수란 데이터를 저장할 수 있는 메모리 공간을 의미한다. 프로그램이 실행되는 동안 값이 변경될 수 있다. 선언과 할당 : 변수를 사용하려면 먼저 어떤 타입의 데이터를 담을지 타입 과 이름 을 지정(선언)해야 하며, 이후 값을 저장(초기화/…</description><pubDate>Sun, 09 Aug 2026 02:42:12 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>JAVA (1) - JVM 구조와 자바 실행 원리</title><link>https://etakyung.com/posts/JAVA-1-JVM-%EA%B5%AC%EC%A1%B0%EC%99%80-%EC%9E%90%EB%B0%94-%EC%8B%A4%ED%96%89-%EC%9B%90%EB%A6%AC/</link><guid isPermaLink="true">https://etakyung.com/posts/JAVA-1-JVM-%EA%B5%AC%EC%A1%B0%EC%99%80-%EC%9E%90%EB%B0%94-%EC%8B%A4%ED%96%89-%EC%9B%90%EB%A6%AC/</guid><description>1. 자바 실행 과정 (Java Code to Execution) 자바는 &quot;Write Once, Run Anywhere (한 번 작성하면 어디서든 실행된다)&quot;라는 슬로건을 가진 대표적인 플랫폼 독립적 언어다. 이를 가능하게 만드는 것이 바로 컴파일 과정 과 JVM 이다…</description><pubDate>Sun, 09 Aug 2026 02:31:31 GMT</pubDate><category>JAVA</category><category>자바</category></item><item><title>Spring (5) - Building an Application with Spring Boot</title><link>https://etakyung.com/posts/Spring-5-Building-an-Application-with-Spring-Boot/</link><guid isPermaLink="true">https://etakyung.com/posts/Spring-5-Building-an-Application-with-Spring-Boot/</guid><description>https://spring.io/guides/gs/spring boot [Spring Boot] 빠르게 웹 애플리케이션 시작하기: 자동 설정부터 Actuator까지 Spring Boot는 개발자가 오직 비즈니스 로직 구현에만 집중할 수 있는 환경을 제공한다. Sprin…</description><pubDate>Fri, 07 Aug 2026 01:57:48 GMT</pubDate><category>Spring</category><category>spring</category></item><item><title>Spring (4) - Serving Web Content with Spring MVC</title><link>https://etakyung.com/posts/Spring-4-Serving-Web-Content-with-Spring-MVC/</link><guid isPermaLink="true">https://etakyung.com/posts/Spring-4-Serving-Web-Content-with-Spring-MVC/</guid><description>https://spring.io/guides/gs/serving web content [Spring Boot] Spring MVC로 웹 콘텐츠 제공하기 (Thymeleaf, DevTools) 스프링 부트(Spring Boot) 환경에서 웹 애플리케이션을 개발할 때 가장…</description><pubDate>Wed, 05 Aug 2026 23:55:30 GMT</pubDate><category>Spring</category><category>spring</category></item><item><title>Spring (*) - Spring mvc</title><link>https://etakyung.com/posts/Spring-4-Spring-mvc/</link><guid isPermaLink="true">https://etakyung.com/posts/Spring-4-Spring-mvc/</guid><description>Spring MVC 는 Spring 프레임워크에서 제공하는 웹 애플리케이션 개발용 서블릿 기반 MVC(Model View Controller) 프레임워크 이다. 웹 요청을 받아 적절히 처리하고, 그 결과를 클라이언트(브라우저, 앱 등)에게 응답으로 돌려주는 전체적인 웹…</description><pubDate>Wed, 05 Aug 2026 13:39:31 GMT</pubDate><category>Spring</category></item><item><title>Spring (3) - Building a Hypermedia-Driven RESTful Web Service</title><link>https://etakyung.com/posts/Spring-3/</link><guid isPermaLink="true">https://etakyung.com/posts/Spring-3/</guid><description>https://spring.io/guides/gs/rest hateoas Spring HATEOAS로 구현하는 하이퍼미디어 기반 REST Web Service REST API를 다루다 보면 단순히 데이터(JSON)만 반환하는 방식을 넘어, 클라이언트가 다음 동작을 수행…</description><pubDate>Wed, 05 Aug 2026 13:09:50 GMT</pubDate><category>Spring</category></item><item><title>Spring (2) - Consuming a RESTful Web Service</title><link>https://etakyung.com/posts/Spring-2-Consuming-a-RESTful-Web-Service/</link><guid isPermaLink="true">https://etakyung.com/posts/Spring-2-Consuming-a-RESTful-Web-Service/</guid><description>https://spring.io/guides/gs/consuming rest 스프링 프레임워크 6.1 및 스프링 부트 3.2부터 기존의 RestTemplate 을 대체할 수 있는 동기식 HTTP 클라이언트인 RestClient 가 도입되었다. Fluent API 스타일…</description><pubDate>Wed, 05 Aug 2026 03:12:41 GMT</pubDate><category>Spring</category><category>spring</category></item><item><title>IntelliJ - 스프링 스타터 추가 인식 안됨 해결</title><link>https://etakyung.com/posts/IntelliJ-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8A%A4%ED%83%80%ED%84%B0-%EC%B6%94%EA%B0%80-%EC%9D%B8%EC%8B%9D-%EC%95%88%EB%90%A8-%ED%95%B4%EA%B2%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/IntelliJ-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8A%A4%ED%83%80%ED%84%B0-%EC%B6%94%EA%B0%80-%EC%9D%B8%EC%8B%9D-%EC%95%88%EB%90%A8-%ED%95%B4%EA%B2%B0/</guid><description>IntelliJ IDEA에서 Gradle 프로젝트를 진행할 때, build.gradle 파일 내에서 Add Starters... 옵션이 나타나지 않거나 인식되지 않는 현상이 발생할 수 있습니다. 1. 현상 build.gradle 파일 내 dependencies 영역 상…</description><pubDate>Wed, 05 Aug 2026 02:12:25 GMT</pubDate><category>인텔리제이</category><category>스프링</category><category>인텔리제이</category></item><item><title>Spring (1) - Building a RESTful Web Service</title><link>https://etakyung.com/posts/Spring-1-Building-a-RESTful-Web-Service/</link><guid isPermaLink="true">https://etakyung.com/posts/Spring-1-Building-a-RESTful-Web-Service/</guid><description>https://spring.io/guides/gs/rest service [Spring Boot] RESTful 웹 서비스 구축하기 (Spring REST API) Spring Boot를 활용하면 복잡한 설정 없이 몇 분 만에 간단한 RESTful Web Service…</description><pubDate>Tue, 04 Aug 2026 14:39:11 GMT</pubDate><category>Spring</category><category>spring</category></item><item><title>네트워크 (6) - GNS3 실습</title><link>https://etakyung.com/posts/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-6/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-6/</guid><description>[Cisco] GNS3 기반 라우터 및 스위치 기초 명령어 정리 네트워크를 가상 환경에서 실습하기 위한 GNS3 설정법부터 Cisco IOS 기본 모드, 인터페이스 활성화 및 이웃 장비 확인 프로토콜(CDP/LLDP) 정리 내용이다. 1. GNS3 실습 환경 구축 GN…</description><pubDate>Tue, 04 Aug 2026 10:11:39 GMT</pubDate><category>네트워크</category><category>네트워크</category></item><item><title>네트워크 (5) - 스위치, 라우터</title><link>https://etakyung.com/posts/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-5-%EC%8A%A4%EC%9C%84%EC%B9%98-%EB%9D%BC%EC%9A%B0%ED%84%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-5-%EC%8A%A4%EC%9C%84%EC%B9%98-%EB%9D%BC%EC%9A%B0%ED%84%B0/</guid><description>Switch, Router, L4/L7 장비 네트워크 패킷이 출발지에서 목적지까지 정확하고 효율적으로 전달되기 위해서는 계층별 네트워크 장비의 역할이 필수적이다. 2계층의 스위치부터 3계층 라우터, 4계층 이상의 로드밸런서 및 방화벽까지 각 장비의 동작 방식과 특징을…</description><pubDate>Tue, 04 Aug 2026 09:50:33 GMT</pubDate><category>네트워크</category><category>네트워크</category></item><item><title>네트워크 (4) - 통신 기술</title><link>https://etakyung.com/posts/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-4-%ED%86%B5%EC%8B%A0-%EA%B8%B0%EC%88%A0/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-4-%ED%86%B5%EC%8B%A0-%EA%B8%B0%EC%88%A0/</guid><description>1. 통신 기술 1) NAT &amp; PAT 개요 NAT (Network Address Translation): 하나의 네트워크 주소를 다른 네트워크 주소로 변환하는 기술이다. NAPT / PAT: 기본적으로 1:1 변환이 원칙이나, IP 주소 고갈 문제를 해결하기 위해 여…</description><pubDate>Mon, 03 Aug 2026 10:27:29 GMT</pubDate><category>네트워크</category><category>네트워크</category></item><item><title>네트워크 (3) - 네트워크 통신</title><link>https://etakyung.com/posts/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-3-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%ED%86%B5%EC%8B%A0/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-3-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%ED%86%B5%EC%8B%A0/</guid><description>1. 수신자 범위에 따른 통신 분류 네트워크 통신은 목적지 주소(Address)의 범위에 따라 크게 4가지로 분류된다. Unicast (1:1) : 출발지와 목적지가 1:1로 통신하는 방식이다. 실제 네트워크 트래픽의 대다수를 차지한다. Broadcast (1:All)…</description><pubDate>Mon, 03 Aug 2026 10:05:25 GMT</pubDate><category>네트워크</category></item><item><title>네트워크 (2) - 네트워크 연결과 구성요소</title><link>https://etakyung.com/posts/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-2-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%97%B0%EA%B2%B0%EA%B3%BC-%EA%B5%AC%EC%84%B1%EC%9A%94%EC%86%8C/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-2-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%97%B0%EA%B2%B0%EA%B3%BC-%EA%B5%AC%EC%84%B1%EC%9A%94%EC%86%8C/</guid><description>네트워크 연결과 구성 요소 정리 1. 네트워크 규모에 따른 분류 네트워크는 서비스하는 범위와 규모에 따라 크게 LAN, MAN, WAN 으로 구분한다. LAN (Local Area Network) 작은 사무실이나 건물 내부 등 비교적 소규모 영역을 연결하는 네트워크다.…</description><pubDate>Mon, 03 Aug 2026 09:39:44 GMT</pubDate><category>네트워크</category><category>네트워크</category></item><item><title>네트워크 (1) - 프로토콜, OSI 7 계층, TCP/IP, 캡슐화</title><link>https://etakyung.com/posts/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-1-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-OSI-7-%EA%B3%84%EC%B8%B5-TCPIP-%EC%BA%A1%EC%8A%90%ED%99%94/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-1-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-OSI-7-%EA%B3%84%EC%B8%B5-TCPIP-%EC%BA%A1%EC%8A%90%ED%99%94/</guid><description>프로토콜, OSI 7 계층, TCP/IP, 캡슐화 네트워크를 공부할 때 가장 기본이 되면서도 중요한 개념인 프로토콜, OSI 7 계층, TCP/IP 프로토콜 스택, 그리고 캡슐화/역캡슐화 에 대해 정리한다. 1. 프로토콜 (Protocol) 개요 정의 : 네트워크에서…</description><pubDate>Mon, 03 Aug 2026 09:22:22 GMT</pubDate><category>네트워크</category><category>네트워크</category></item><item><title>리눅스 (9) - Shell Programming</title><link>https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-9-Shell-Programming/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-9-Shell-Programming/</guid><description>Shell Programming 1) 개요 Shell Script 는 Unix나 Linux, 또는 POSIX를 지원하는 macOS 등에서 사용되는 인터프리터 기반 스크립트 언어이다. 리눅스나 유닉스 환경이 갖추어진 곳이라면 어디서든 실행할 수 있다. 프로그래밍 언어와…</description><pubDate>Thu, 30 Jul 2026 09:32:27 GMT</pubDate><category>리눅스</category><category>shellprogramming</category><category>리눅스</category><category>쉘</category></item><item><title>리눅스 (8) - Proxy</title><link>https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-8-Proxy/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-8-Proxy/</guid><description>Proxy(프록시)의 개념과 Squid를 이용한 실습 구축 프록시의 기본적인 개념부터 사용 목적, 그리고 리눅스 환경(Squid)에서 직접 서버와 클라이언트를 구축해 보는 실습까지 정리한다. 1. Proxy(프록시)란? 개요 프록시 서버(Proxy Server)는 클라…</description><pubDate>Wed, 29 Jul 2026 11:13:33 GMT</pubDate><category>리눅스</category><category>proxy</category><category>리눅스</category><category>프록시</category></item><item><title>리눅스 (7) - File Sharing (FTP, vsftpd, SCP, NFS)</title><link>https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-7-File-Sharing-FTP-vsftpd-SCP-NFS/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-7-File-Sharing-FTP-vsftpd-SCP-NFS/</guid><description>File Sharing 개념 및 실습 (FTP, vsftpd, SCP, NFS) 리눅스 환경에서 서버 간 혹은 클라이언트와 파일 데이터를 주고받는 대표적인 기술 4가지( FTP, vsftpd, SCP/SSH, NFS )에 대한 개념과 간단한 실습을 정리한다. 1. FT…</description><pubDate>Wed, 29 Jul 2026 09:35:16 GMT</pubDate><category>리눅스</category><category>리눅스</category></item><item><title>리눅스 (6) - Web Server (Apache, nginx)</title><link>https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-6-Web-Server-Apache-nginx/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-6-Web-Server-Apache-nginx/</guid><description>리눅스 웹 서버 구축: Apache와 Nginx(리버스 프록시, 로드 밸런싱) 리눅스 환경에서 웹 서비스를 제공하기 위해 가장 널리 사용되는 두 개의 대표적인 웹 서버 프로그램은 Apache와 Nginx이다. 이번 글에서는 Apache와 Nginx의 구조적 차이점을 비…</description><pubDate>Wed, 29 Jul 2026 08:54:47 GMT</pubDate><category>리눅스</category><category>nginx</category><category>apache</category><category>리눅스</category></item><item><title>리눅스 (5) - DNS</title><link>https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-5-DNS/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-5-DNS/</guid><description>리눅스 DNS 기초, BIND9 네임서버 구축 인터넷을 이용할 때 숫자로 된 IP 주소 대신 google.com 같은 문자 주소를 입력해도 원하는 서버에 접속할 수 있는 이유는 DNS(Domain Name System) 덕분이다. 이번 글에서는 DNS의 기본 개념부터…</description><pubDate>Tue, 28 Jul 2026 04:50:32 GMT</pubDate><category>리눅스</category><category>dns</category><category>리눅스</category></item><item><title>리눅스 (4) - SSH</title><link>https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-4-SSH/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-4-SSH/</guid><description>SSH 개념 정리부터 Key 기반 접속 및 설정 자동화까지 서버 관리나 개발 작업을 하다 보면 외부 서버에 원격으로 접속해야 하는 일이 빈번하게 발생한다. 이때 가장 기본적이고 널리 사용되는 보안 프로토콜이 바로 SSH(Secure Shell)다. 이번 글에서는 SSH…</description><pubDate>Mon, 27 Jul 2026 12:45:58 GMT</pubDate><category>리눅스</category><category>ssh</category><category>네트워크</category><category>리눅스</category></item><item><title>리눅스 (3) - 네트워크 설정</title><link>https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-3-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%84%A4%EC%A0%95/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-3-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%84%A4%EC%A0%95/</guid><description>이 글은 mac os UTM 가상머신을 이용하는 환경이다. Netplan 고정 IP 설정 오류 해결기 (.yml 확장자 문제와 MAC 주소 충돌) 우분투(Ubuntu) 환경에서 netplan 을 이용해 고정 IP를 설정하던 중, 분명 설정을 완료했음에도 계속 DHCP로…</description><pubDate>Mon, 27 Jul 2026 02:33:27 GMT</pubDate><category>리눅스</category><category>네트워크</category><category>리눅스</category></item><item><title>리눅스 (2) - vim</title><link>https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-2-vim/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-2-vim/</guid><description>우분투 리눅스를 기준으로 글을 작성한다. 1. Vim이란? (개요 및 특징) 정의 : Vi IMproved의 약자로, 터미널 환경에서 가볍고 빠르게 사용할 수 있는 텍스트 에디터. 장점 : 마우스 없이 키보드만으로 빠른 편집 가능 리눅스/유닉스 계열 서버 환경에 기본…</description><pubDate>Mon, 20 Jul 2026 13:38:53 GMT</pubDate><category>리눅스</category><category>vim</category><category>리눅스</category></item><item><title>리눅스 (1) - 기초 명령어</title><link>https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-1-%EA%B8%B0%EC%B4%88-%EB%AA%85%EB%A0%B9%EC%96%B4/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%A6%AC%EB%88%85%EC%8A%A4-1-%EA%B8%B0%EC%B4%88-%EB%AA%85%EB%A0%B9%EC%96%B4/</guid><description>우분투 리눅스 기준으로 글을 작성한다. Linux의 특징 Linux는 공개 소프트웨어이며 무료로 사용 유닉스와의 호환성을 유지 서버용 운영체제로 많이 사용 편리한 GUI 환경을 제공 Linux 구조 커널(kernel): 프로세스/메모리/파일 시스템/장치 관리 shell…</description><pubDate>Mon, 20 Jul 2026 10:07:21 GMT</pubDate><category>리눅스</category><category>리눅스</category><category>우분투</category></item><item><title>토스 기술 블로그 정리 - 레거시 인프라 작살내고 하이브리드 클라우드 만든 썰</title><link>https://etakyung.com/posts/%ED%86%A0%EC%8A%A4-%EA%B8%B0%EC%88%A0-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%A0%95%EB%A6%AC-%EB%A0%88%EA%B1%B0%EC%8B%9C-%EC%9D%B8%ED%94%84%EB%9D%BC-%EC%9E%91%EC%82%B4%EB%82%B4%EA%B3%A0-%ED%95%98%EC%9D%B4%EB%B8%8C%EB%A6%AC%EB%93%9C-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%A7%8C%EB%93%A0-%EC%8D%B0/</link><guid isPermaLink="true">https://etakyung.com/posts/%ED%86%A0%EC%8A%A4-%EA%B8%B0%EC%88%A0-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%A0%95%EB%A6%AC-%EB%A0%88%EA%B1%B0%EC%8B%9C-%EC%9D%B8%ED%94%84%EB%9D%BC-%EC%9E%91%EC%82%B4%EB%82%B4%EA%B3%A0-%ED%95%98%EC%9D%B4%EB%B8%8C%EB%A6%AC%EB%93%9C-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EB%A7%8C%EB%93%A0-%EC%8D%B0/</guid><description>출처 https://toss.tech/article/payments legacy 9 이 글은 토스 기술 블로그를 읽고 정리 + 이해가 부족한 부분을 기록하기 위함이다. 용어의 추가 설명도 포함되어 있다. 원본의 글을 옮겨 적은 부분도 있다. 한 줄 요약 OpenStac…</description><pubDate>Wed, 15 Jul 2026 13:49:03 GMT</pubDate><category>토스 기술 블로그</category><category>infra</category><category>devops</category><category>토스</category></item><item><title>OpenAI 하네스 엔지니어링 정리</title><link>https://etakyung.com/posts/OpenAI-%ED%95%98%EB%84%A4%EC%8A%A4-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81-%EC%A0%95%EB%A6%AC/</link><guid isPermaLink="true">https://etakyung.com/posts/OpenAI-%ED%95%98%EB%84%A4%EC%8A%A4-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81-%EC%A0%95%EB%A6%AC/</guid><description>출처: https://openai.com/ko KR/index/harness engineering/ 아래는 요약 + 추가설명 위주 원본 글의 목차를 그대로 이용해서 정리했다. OpenAI의 시도 에이전트가 스스로 문제 없이 작동하게끔 설계를 하고자 함. 수동으로 코드…</description><pubDate>Sat, 11 Jul 2026 09:05:05 GMT</pubDate><category>openai</category><category>codex</category><category>하네스</category></item><item><title>Docker (5) - network</title><link>https://etakyung.com/posts/Docker-5-network/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-5-network/</guid><description>Docker network Docker network는 컨테이너들이 서로 통신하는 공간이다. host에서 접속하려면 port publish가 필요하지만, 같은 Docker network 안의 컨테이너끼리는 container name으로 통신할 수 있다. 별도 네트워크를…</description><pubDate>Sat, 20 Jun 2026 14:30:49 GMT</pubDate><category>Docker</category><category>docker</category><category>도커</category></item><item><title>Docker (4) - Dockerfile 구조</title><link>https://etakyung.com/posts/Docker-4/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-4/</guid><description>1. 개요 Dockerfile 은 docker build 가 image를 만들 때 읽는 레시피이다. FROM, COPY, RUN 같은 명령어를 한 줄씩 조합해서 &quot;어떤 환경 위에 어떤 파일을 올리고, 어떤 명령을 실행할지&quot;를 정의한다. 기본적인 명령어의 의미를 이해하고…</description><pubDate>Sat, 20 Jun 2026 13:02:02 GMT</pubDate><category>Docker</category><category>docker</category><category>dockerfile</category><category>도커</category></item><item><title>Docker (3) - 컨테이너 병렬 실행(서로 다른 버전의 PostgreSQL)</title><link>https://etakyung.com/posts/Docker-3-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%B3%91%EB%A0%AC-%EC%8B%A4%ED%96%89%EC%84%9C%EB%A1%9C-%EB%8B%A4%EB%A5%B8-%EB%B2%84%EC%A0%84%EC%9D%98-PostgreSQL/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-3-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%B3%91%EB%A0%AC-%EC%8B%A4%ED%96%89%EC%84%9C%EB%A1%9C-%EB%8B%A4%EB%A5%B8-%EB%B2%84%EC%A0%84%EC%9D%98-PostgreSQL/</guid><description>postgres:16과 postgres:18을 각각 다른 host port로 실행가능 1. PostgreSQL 16, 18 동시 실행 다른 host port가 각각 컨테이너의 5432포트로 포트포워딩이 되는 것을 확인할 수 있다. 즉 컨테이너가 다르면 포트 번호를 같은…</description><pubDate>Thu, 18 Jun 2026 08:42:05 GMT</pubDate><category>Docker</category><category>docker</category><category>도커</category></item><item><title>Docker (2) - 설치 및 간단한 컨테이너 실행</title><link>https://etakyung.com/posts/Docker-2-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EA%B0%84%EB%8B%A8%ED%95%9C-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%8B%A4%ED%96%89/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-2-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EA%B0%84%EB%8B%A8%ED%95%9C-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EC%8B%A4%ED%96%89/</guid><description>도커 데스크탑 설치 https://docs.docker.com/desktop/setup/install/mac install/ 나는 mac os를 사용하기에 위의 링크를 첨부했다. 위의 명령어를 터미널에 차례로 실행한 결과이다. 잘 다운로드가 된 걸 확인할 수 있다. d…</description><pubDate>Thu, 18 Jun 2026 08:17:44 GMT</pubDate><category>Docker</category><category>docker</category><category>도커</category></item><item><title>Docker (1) - 기본 용어</title><link>https://etakyung.com/posts/Docker-1-%EA%B8%B0%EB%B3%B8-%EC%9A%A9%EC%96%B4/</link><guid isPermaLink="true">https://etakyung.com/posts/Docker-1-%EA%B8%B0%EB%B3%B8-%EC%9A%A9%EC%96%B4/</guid><description>도커 용어 Docker : 애플리케이션 실행 환경을 image와 container로 표준화하는 도구와 생태계 Docker Engine : image build, container run, network, volume을 실제로 처리하는 Docker 실행 엔진 Image…</description><pubDate>Thu, 18 Jun 2026 07:43:53 GMT</pubDate><category>Docker</category><category>docker</category><category>도커</category></item><item><title>홈서버 구축기 - 2</title><link>https://etakyung.com/posts/%ED%99%88%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95%EA%B8%B0-2/</link><guid isPermaLink="true">https://etakyung.com/posts/%ED%99%88%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95%EA%B8%B0-2/</guid><description>2일차 목표 ssh로 접근 시 개인키 사용 ✅ 다른 외부 ip에서도 접근하게 하기 ❌ 기존에는 접근 방식이 비밀번호를 치고 바로 접근이 됐었다. 하지만 AWS EC2 를 사용할 때 .pem 파일인 개인키를 사용해서 접근하는 경우가 더 많았기 때문에 홈서버도 그 방식을…</description><pubDate>Tue, 19 May 2026 19:19:33 GMT</pubDate><category>홈서버</category><category>로컬</category><category>홈서버</category></item><item><title>홈서버 구축기 - 1</title><link>https://etakyung.com/posts/%ED%99%88%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95%EA%B8%B0-1/</link><guid isPermaLink="true">https://etakyung.com/posts/%ED%99%88%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95%EA%B8%B0-1/</guid><description>갑자기 홈서버? 노트북으로 활동을 많이 하다보니 데스크탑을 사용할 일이 거의 없어서 데스크탑을 서버로 사용해보면 좋을 것 같다고 생각이 들었다. 목적 간단하게 AWS EC2 처럼 사용하거나 AWS RDS 를 대체하는 겸 사용해보고 괜찮으면 로컬 서버를 확장해서 인프라…</description><pubDate>Tue, 19 May 2026 18:41:49 GMT</pubDate><category>홈서버</category><category>로컬</category><category>홈서버</category></item><item><title>퀵정렬(quick_sort)</title><link>https://etakyung.com/posts/%ED%80%B5%EC%A0%95%EB%A0%ACquicksort/</link><guid isPermaLink="true">https://etakyung.com/posts/%ED%80%B5%EC%A0%95%EB%A0%ACquicksort/</guid><description>퀵정렬 분할 정복 알고리즘의 하나로 평균적으로 매우 빠른 속도를 가진다. 퀵정렬은 데이터를 메모리상에서 이동시키면서 정렬하기 때문에 CPU 캐시의 효율을 높일 수 있다. 작동원리 1. 분할(divide) 배열 안에서 pivot이라 불리는 기준 원소를 하나 선택한다. 이…</description><pubDate>Thu, 03 Jul 2025 17:33:49 GMT</pubDate><category>알고리즘</category><category>cs</category><category>알고리즘</category><category>정렬</category><category>퀵정렬</category></item><item><title>Docker (0) - Docker는 어떤 기술인가</title><link>https://etakyung.com/posts/%EB%8F%84%EC%BB%A4docker%EA%B0%80-%EB%AD%90%EC%95%BC/</link><guid isPermaLink="true">https://etakyung.com/posts/%EB%8F%84%EC%BB%A4docker%EA%B0%80-%EB%AD%90%EC%95%BC/</guid><description>도커 첫인상 도커를 들어보기는 했지만 어떤 역할을 하는지 잘 모르고 있었다. 그림은 귀엽게 생겨서 호감이 갔다. 고래가 컨테이너 박스 같은 것들을 나르고 있는 것처럼 보인다. 누가 도커 사용한다고 하면 뭔가 개발을 잘하는 사람처럼 보였다. 도커가 뭔지 한마디로 설명하고…</description><pubDate>Thu, 03 Jul 2025 12:14:51 GMT</pubDate><category>Docker</category><category>도커</category></item></channel></rss>