
개발자와 운영자를 위한 기술 아카이브 & 커뮤니티 — 기사 2,126건과 게시판이 기다립니다.
Debezium로 PostgreSQL CDC 스트리밍하기
운영 중인 PostgreSQL의 데이터가 바뀔 때마다 그 변경분을 다른 서비스로 흘려보내야 하는 요구는 자주 생긴다. 검색 인덱스 갱신, 캐시 무효화, 데이터 웨어하우스 적재, 마이크로서비스 간 이벤트 발행 같은 것들이다. 예전에는 애플리케이션 코드에…
🧵 최근 게시판 토픽
게시판 전체 보기 →최근 글
전체 보기 →
Hardware매킨토시 SE를 Mini vMac으로 되살리기
오래된 올인원 맥을 하나씩 켜 보다가 SE 차례가 왔다. 1984년 첫 매킨토시의 상자형 디자인을 그대로 이어받았지만, SE는 그 안에 처음으로 확장 슬롯과 내장 하드디스크 자리를 집어넣은 기종이다…
상위 비용 SQL을 구간별로 비교해 튜닝하기
느린 쿼리를 잡아 달라는 요청을 받으면 가장 먼저 열어 보는 뷰가 pg_stat_statements 다. 슬로우 쿼리 로그는 임계값을 넘긴 개별 실행만 남기지만, 현장에서 서버를 실제로 무겁게 만드…
노드가 DiskPressure로 파드를 축출할 때
얼마 전에도 비슷한 걸로 호출을 받았다. 멀쩡히 돌던 파드가 한밤중에 Evicted 상태로 줄줄이 떨어지고, 노드를 보면 DiskPressure=True 가 찍혀 있다. 재시작하면 잠깐 괜찮아졌다가…
자바 앱이 장애조치 후 옛 IP로 붙을 때
RDS 페일오버나 Route 53 장애조치를 걸어두고 나면 "DNS만 바뀌면 자동으로 새 서버로 붙겠지"라고 생각하기 쉽다. 그런데 제가 현장에서 자주 보는 장면은, 다른 언어로 짠 서비스는 수 초…
LiteLLM 소개와 시작하기
Azure 환경을 운영하다 보면 LLM 공급자를 하나만 쓰는 팀을 만나기가 점점 어려워진다. 공급자가 늘어날 때마다 키를 어디에 두고 호출 코드를 어떻게 맞출지 고민하게 된다. 그 질문이 나올 때마…
Hardware코모도어 128을 VICE로 되살리기
8비트 막바지에 나온 기종을 들여다보면 설계자들이 뭘 두려워했는지 보인다. 코모도어 128은 1985년 1월 라스베이거스 CES에서 공개됐다. C64가 아직 잘 팔리던 시점에, 코모도어는 호환성을 …
aiboaibo 피규어와 인형 모아보기
aibo 연작을 쓰면서 본체와 앱 기능은 꽤 다뤘다. 그런데 aibo를 들인 집에는 본체 말고도 작은 aibo가 하나둘 늘어난다. 이번에는 그 작은 aibo들이 제품마다 어디서 나왔고 어떻게 구하는…
conntrack 테이블이 꽉 차 패킷이 드롭될 때
방화벽이나 NAT 게이트웨이, 혹은 커넥션이 많은 웹 서버를 운영하다 보면 어느 순간부터 간헐적으로 커넥션이 끊기고 응답이 느려지는 증상을 만난다. 애플리케이션 로그에는 아무것도 안 남는데 dmes…
Python으로 커스텀 MCP 서버 만들기
사내에 굴러다니는 조회용 API와 운영 DB가 있다. 매번 "이 주문 상태 좀 봐줘" 같은 요청이 오면 누군가 쿼리를 던지고 결과를 복사해 전달한다. 이런 반복 작업을 Claude 같은 LLM이 직…
파드가 ImagePullBackOff로 안 뜰 때
배포 롤아웃이 멈춰 있고 파드가 Running 으로 넘어가질 않는다. 상태를 보면 ErrImagePull 이 잠깐 떴다가 ImagePullBackOff 로 굳어 있다. 신규 서비스를 올릴 때도, 프…
Kafka 4.0에서 KRaft로 브로커 운영하기
Kafka를 몇 년째 ZooKeeper와 함께 운영해 온 입장에서, 4.0 릴리스 노트를 처음 봤을 때 가장 먼저 확인한 건 "우리 ZK 클러스터는 어떻게 되나"였다. 결론은 단순하다. 4.0 브로…
PostgreSQL 쿼리가 락에 걸려 멈출 때
RDS PostgreSQL을 운영하다 보면 평소 수십 밀리초에 끝나던 UPDATE가 갑자기 몇 분씩 응답이 없는 상황을 만난다. CPU도 멀쩡하고 디스크 I/O도 한가한데 특정 테이블을 건드리는 쿼…
🔥 인기 글
yum을 이용한 Ansible Installation (CentOS 기준)
본 문서는 CentOS 기준으로 작성되었으며, yum을 이용하여 설치합니다. (1) 아래 명령문을 실행합니다. sudo yum install ansible (2) 설치에 성공하면 아래와 같이 Com…
golang REST API 서버 컨테이너 빌드
개요 golang으로 간단한 REST API 서버를 작성하고, 다중 스테이지(Multi stage) Dockerfile로 빌드하여 컨테이너로 배포한다. API 서버 모듈 임포트 REST API 서버…
column 위치에 따른 select 성능 비교
TABLE 의 컬럼 위치에 따른 select 성능 차이가 있는지 궁금하여 알아보던 중 좋은 글을 발견하여 테스트 해본 결과 입니다. --1. TEST 환경 구성 1) 250 개 COLUMN 테이블 …
Nginx 주요 설정 (nginx.conf)
1. 개요 지난 번 포스팅을 통해 OS X에서 Nginx 1.4.4를 설치 하여 보았습니다. 강철지그님께서는 계속 작업을 해주고 계십니다. Linux에서 Nginx 1.4.5 설치 Linux에서 N…
오라클 접속 정보 설정(listener.ora, sqlnet.ora, tnsnames.ora)
- 오라클 접속 정보 설정(listener.ora, sqlnet.ora, tnsnames.ora)- ♣ listener.ora - 위치: 서버에서 $ORACLE_HOME/network/admin/l…
Tomcat 업그레이드 후 server.xml 설정 변경.
최근 Apache Tomcat의 AJP 취약점 발표이후, 해당 취약점에 대응하는 업그레이드 버전이 나왔다. 관련 취약점은 다음과 같다. Apache Tomcat AJP 취약점 보안 조치 권고(2차)…