본문 바로가기

분류 전체보기28

Nginx Ingress Controller의 은퇴식(?) 얼마전 Kubernetes 공식 블로그에 Ingress NGINX Retirement: What You Need to Know라는 글이 게시되었다.Ingress Nginx가 내년 2026년 3월 이후 더 이상 유지보수가 되지 않는 상태라는 글인데, 내가 실무에서 k8s를 사용하는 환경에 대해선 대부분 Nginx Ingress Controller를 사용하고 있어, GitOps 기반으로 관리되는 개별 CNCF 오픈소스 컴포넌트(ArgoCD, Gitea, Harbor, ...)들이나 배포 대상 개별 애플리케이션들엔 기본적으로 nginx 기반 Ingress 리소스로 명시하고 있어 살짝(?) 당황스러운 실정이다.해당 글 요약배경Ingress NGINX는 Kubernetes Ingress API를 구현한 대표적인 .. 2025. 11. 17.
[컴퓨터 밑바닥의 비밀] 프로그래밍 언어부터 프로그램 실행까지, 이렇게 진행된다: 프로그래밍 언어, 컴파일러, 링커, 그리고 추상화 10월 사내 스터디 주제인 컴퓨터 밑바닥의 비밀의 1장을 읽고, FE, BE, DevOps의 시각에서 정리해본다.책 내용에 대한 요약은 아래 링크에서 확인하자.컴퓨터 밑바닥의 비밀 - 1장. 프로그래밍 언어부터 프로그래밍 실행까지, 이렇게 진행된다들어가며,코드는 단순한 텍스트처럼 보이지만, 그 뒤에는 언어와 런타임, 빌드 시스템이 만들어낸 거대한 추상화의 탑이 있다.이 글은 프론트엔드, 백엔드, DevOps 세 관점에서 ‘코드 → 실행파일’로 이어지는 여정을 따라간다.1. 프로그래밍 언어와 추상화의 시작컴퓨터는 0과 1만 이해한다.그런데 인간은 “계산”, “조건”, “반복” 같은 개념으로 사고한다.그래서 우리는 ‘언어’를 만들었다 — 이게 곧 프로그래밍 언어의 추상화 계층이다.int add(int a, .. 2025. 10. 12.
JavaScript에서의 객체 생성, V8과 hidden class // 컴퓨터 밑바닥의 비밀 책을 읽다 생각나서 예전에 정리했었던 이전 블로그에서 따온 글입니다.JavaScript에서 객체 생성과 동적 프로퍼티 추가에 대한 비밀에 대해 알아보자.정적 타이핑 언어와 동적 타이핑 언어의 객체 생성Java, C++ 같은 클래스 기반 객체지향 프로그래밍 언어는 사전에 정의된 클래스를 기반으로 객체(인스턴스)를 생성한다.객체를 생성하기 이전에 이미 프로퍼티와 메서드가 정해져 있으며 그대로 객체를 생성한다.객체가 생성된 이후에는 프로퍼티를 삭제하거나 추가할 수 없다.JavaScript는 클래스 없이 객체를 생성할 수 있으며 객체가 생성된 이후라도 동적으로 프로퍼티와 메서드를 추가할 수 있다.dynamic lookup이란?객체의 프로퍼티에 접근하면 객체의 기준 메모리 주소와 상대적.. 2025. 10. 10.
Kotlin 제너릭 완전 정복: 클래스 vs 함수, 타입 추론까지 제너릭(Generic)은 "타입을 파라미터화한다"는 점에서 클래스와 함수 모두에 적용될 수 있다.하지만 클래스 단위로 제너릭을 정의하는 것과 함수 단위로 정의하는 것은 의도도 다르고 타입 추론 방식도 다르다.이번 글에서는 Kotlin 제너릭의 핵심 개념부터 실무에서 활용할 수 있는 고급 패턴까지, 실제 코드 예제와 함께 그 차이를 명확히 짚어본다.제너릭 클래스 — 상태(state)에 타입을 입힌다제너릭 클래스는 객체의 속성(필드) 이나 클래스 내부 메서드 전체가 특정 타입에 맞춰 동작하도록 만드는 패턴이다.class Box(private val content: T) {fun get(): T = content}이 클래스는 Box, Box 등으로 인스턴스화될 수 있다.val intBox = Box(123)v.. 2025. 10. 5.