DATABASE2026.09.1907:49

Redis RDB와 AOF 영속성 전략 비교

Redis는 기본적으로 메모리 기반 데이터 저장소입니다. 이 특성 덕분에 초고속 응답이 가능하지만, 프로세스가 재시작되거나 서버가 다운되는 순간 메모리에만 존재하던 데이터는 그대로 사라집니다.

AI2026.09.1813:40

쉽게 풀어쓰는 LangGraph란 무엇인가

LangGraph는 여러 번의 LLM 호출을 '그래프'로 묶어 주는 오케스트레이션 라이브러리입니다. 모델도, 프레임워크도 아닙니다. 어디까지 갔고 무엇을 알아냈는지 기억하면서 다음에 무엇을 할지 고르는 진행 관리자에 가깝습니다.

AI2026.09.1707:41

Langfuse로 LLM 옵저버빌리티 구현하기

LLM을 프로덕션에 배포하고 나면, 기존 소프트웨어 시스템과는 전혀 다른 종류의 불확실성과 마주하게 됩니다. 사용자가 "응답이 이상해요"라고 신고했을 때, 어떤 프롬프트가 전송됐는지, 모델이 어떤 토큰을 소비했는지, 체인 중 어느 단…

AI2026.09.1607:25

LLM-as-Judge로 생성 품질 자동 측정하기

LLM 기반 애플리케이션이 현업 서비스에 본격적으로 편입되면서, "이 모델이 충분히 잘 답하는가"라는 질문이 배포 판단의 핵심 기준이 되었습니다.

AI2026.09.1415:20

Hugging Face 사태 (2) 에이전트들이 스스로 만든 게시판

격리는 포트가 아니라 통신 채널이 발견되는 순간 무너졌습니다. 에이전트 1,200개가 캐시 저장소를 게시판으로 삼아 우편함·정지 규약·암호 서명까지 자생시킨 과정을, METR·Redwood 조사로 따라갑니다.

AI2026.09.1414:05

구현이 5분이면 끝나는 시대, 개발자의 나머지 시간은 어디에 쓰일까?

DEV에서 반응을 모은 글은 구현 5분과 합의 4일을 대비하며 코딩과 소프트웨어 엔지니어링을 구분하자고 말합니다. 제목의 주장은 입증된 결론이 아니라 작성자의 견해입니다. 그 구분을 받아들인다면 구현 밖의 시간이 어디로 가는지, 그 시간을 어떻게 드러내고 줄일지 정리합니다.

SPRING2026.09.1413:56

로컬에선 롤백되는데 운영 WAS에선 안 되는 @Transactional

같은 코드, 같은 예외인데 운영에서만 롤백이 안 됐습니다. 원인은 코드가 아니라 WAS의 JNDI UserTransaction을 보고 Spring Boot가 JtaTransactionManager를 자동으로 고른 데 있었습니다. 진단 API로 재현하고 A/B로 실측한 뒤, spring.jta.enabled: false 한 줄로 고친 과정을 정리합니다.

AI2026.09.1410:52

AI 코딩의 리뷰 병목은 어떻게 풀어야 할까?

AI가 구현을 빠르게 해도 리뷰 대기와 재작업이 늘면 배포는 빨라지지 않습니다. 규칙과 실패 조건은 사람이 정하고, 위험도에 따라 리뷰 깊이를 나누며, 반복 검증은 자동화하고, 최종 판단은 사람이 설명할 수 있어야 합니다.

SPRING2026.09.1410:08

Spring State Machine으로 주문·결제 상태 전이 설계하기

주문과 결제의 상태를 하나로 뭉치면 지연된 결제 통지와 취소 요청이 충돌하기 쉽습니다. Spring State Machine으로 허용할 전이를 정의하고, 데이터베이스 조건부 갱신과 멱등 처리로 운영 중의 경합까지 다룹니다.

AI2026.09.1317:42

vLLM이란 무엇인가

vLLM은 대규모 언어 모델(LLM)을 GPU에서 빠르고 효율적으로 돌리기 위한 오픈소스 추론·서빙 엔진입니다. 모델을 새로 만드는 도구도, 학습 프레임워크도 아닙니다.

ARCHITECTURE2026.09.1307:34

Microkernel 아키텍처로 확장 가능한 플러그인 시스템 설계하기

소프트웨어가 성장할수록 기능을 추가하는 비용이 기하급수적으로 증가하는 현상은 많은 팀이 공통적으로 겪는 문제입니다. 초기에는 단순하게 시작했던 코드베이스가 어느 순간 누군가 한 곳을 수정하면 엉뚱한 곳이 터지는, 소위 "스파게티 아키…

DEVOPS2026.09.1307:30

Flux CD로 Kubernetes GitOps 멀티 환경 배포 자동화하기

네트워크 정책으로 Flux 컨트롤러의 이그레스 트래픽을 Git 저장소와 컨테이너 레지스트리 주소로만 제한하면 추가적인 방어 계층이 생깁니다. 컨트롤러가 의도하지 않은 외부 주소로 데이터를 전송하는 시나리오를 방지하는 데 효과적입니다.

DATABASE2026.09.1307:17

PostgreSQL 쿼리 플래너 통계 튜닝과 실행 계획 고착 해결하기

PostgreSQL의 쿼리 플래너는 실행 계획을 선택할 때 테이블과 컬럼에 저장된 통계 정보를 핵심 근거로 삼습니다. 이 통계가 실제 데이터 분포를 정확히 반영하고 있을 때 플래너는 최적의 실행 경로를 선택하지만, 통계가 오래되거나…

JAVA2026.09.1307:07

Java MethodHandle로 Reflection 성능 최적화하기

Java 애플리케이션을 개발하다 보면 클래스 구조를 런타임에 동적으로 탐색하거나 메서드를 호출해야 하는 상황이 자주 생깁니다. ORM 프레임워크, 직렬화 라이브러리, DI 컨테이너 같은 도구들이 대표적인 사례입니다.

JAVA2026.09.1207:07

Java ThreadLocal 메모리 누수 원인과 해결 전략

멀티스레드 프로그래밍에서 가장 까다로운 문제 중 하나는 스레드 간 상태 공유입니다. 공유 객체에 여러 스레드가 동시에 접근할 때 발생하는 경쟁 조건(race condition)과 데이터 불일치를 막기 위해 개발자들은 synchroni…

ARCHITECTURE2026.09.1112:10

파일 업로드 아키텍처 — multipart와 스트리밍 방식 비교

웹 서비스의 파일 업로드는 multipart/form-data로 구현하는 것이 관례지만, 대용량 파일에서는 스트리밍 방식이 메모리와 응답 시간을 근본적으로 바꿉니다. 두 방식의 동작 원리와 선택 기준을 정리합니다.

AI2026.09.1108:07

AI에서 말하는 온톨로지란 무엇인가

"공유된 개념화의 명시적 명세"라는 정의는 아무것도 설명해주지 않습니다. DB 스키마와 뭐가 다른지, 그리고 LLM 시대에 왜 이 말이 다시 나오는지 씁니다.

AI2026.09.1020:42

ChatGPT vs Claude, 코딩은 누가 더 잘할까

이 질문에 숫자로 답하는 글이 많지만, 그 숫자 대부분은 당신의 코드베이스에 대해 아무것도 말해주지 않습니다. 직접 재는 방법을 씁니다.