
개발자와 운영자를 위한 기술 아카이브 & 커뮤니티 — 기사 2,133건과 게시판이 기다립니다.

매킨토시 SE를 Mini vMac으로 되살리기
오래된 올인원 맥을 하나씩 켜 보다가 SE 차례가 왔다. 1984년 첫 매킨토시의 상자형 디자인을 그대로 이어받았지만, SE는 그 안에 처음으로 확장 슬롯과 내장 하드디스크 자리를 집어넣은 기종이다. 실물은 사진보다 작고, 손잡이가 달린 플라스틱 케이…
🧵 최근 게시판 토픽
게시판 전체 보기 →최근 글
전체 보기 →Java 25로 올리고 컴팩트 헤더로 힙 줄이기
운영 중인 WAS를 LTS에서 LTS로 건너뛰는 일은 몇 년에 한 번 돌아온다. 제가 현장에서 Java 8에서 11로, 다시 17과 21로 올릴 때마다 가장 신경 쓰는 건 성능 수치보다 '예전에 넣…
Redis를 Valkey 8로 무중단에 가깝게 옮기기
Redis가 7.4부터 RSALv2 와 SSPL 이중 라이선스로 바뀐 뒤로, 캐시 서버 하나 올릴 때마다 라이선스 조항을 들여다보게 됐다. 그 틈에 Linux Foundation 산하로 포크된 Va…
pgvector가 버거울 때 Qdrant로 넘어가기
사내 RAG를 pgvector로 시작했다. 처음 수십만 벡터까지는 PostgreSQL 한 대로 충분했다. 그런데 문서가 쌓이고 벡터가 수백만 단위로 늘자 인덱스 빌드 시간이 길어지고, 검색 지연이 …
GitHub Actions에서 OIDC로 AWS에 키 없이 배포하기
CI에서 AWS로 배포할 때 가장 흔한 방식이 레포 Secrets에 AWS_ACCESS_KEY_ID 와 AWS_SECRET_ACCESS_KEY 를 박아두는 것이다. 운영하다 보면 이 키가 어느 레포…
Nginx auth_request로 인증 게이트웨이 만들기
여러 서비스를 Nginx 뒤에 두고 운영하다 보면, 인증을 각 애플리케이션마다 중복으로 구현하는 상황을 자주 만난다. 어떤 서비스는 Spring Security, 어떤 서비스는 직접 짠 필터, 또 …
PostgreSQL 대용량 테이블 RANGE 파티셔닝
로그성 테이블 하나가 수억 건으로 불어나면 조회도 느려지지만 더 성가신 건 정리다. 지난 90일만 남기고 싶은데 한 테이블에 다 들어 있으니 DELETE ... WHERE created_at ...…
AWS 퍼블릭 IPv4 과금 줄이기
얼마 전 월별 청구서를 살펴보다 'Public IPv4 Address'라는 항목이 꾸준히 올라와 있는 걸 발견했다. 2024년 2월부터 퍼블릭 IPv4 주소에 시간당 요금이 붙기 시작한 뒤로, 예전…
Debezium로 PostgreSQL CDC 스트리밍하기
운영 중인 PostgreSQL의 데이터가 바뀔 때마다 그 변경분을 다른 서비스로 흘려보내야 하는 요구는 자주 생긴다. 검색 인덱스 갱신, 캐시 무효화, 데이터 웨어하우스 적재, 마이크로서비스 간 이…
상위 비용 SQL을 구간별로 비교해 튜닝하기
느린 쿼리를 잡아 달라는 요청을 받으면 가장 먼저 열어 보는 뷰가 pg_stat_statements 다. 슬로우 쿼리 로그는 임계값을 넘긴 개별 실행만 남기지만, 현장에서 서버를 실제로 무겁게 만드…
노드가 DiskPressure로 파드를 축출할 때
얼마 전에도 비슷한 걸로 호출을 받았다. 멀쩡히 돌던 파드가 한밤중에 Evicted 상태로 줄줄이 떨어지고, 노드를 보면 DiskPressure=True 가 찍혀 있다. 재시작하면 잠깐 괜찮아졌다가…
자바 앱이 장애조치 후 옛 IP로 붙을 때
RDS 페일오버나 Route 53 장애조치를 걸어두고 나면 "DNS만 바뀌면 자동으로 새 서버로 붙겠지"라고 생각하기 쉽다. 그런데 제가 현장에서 자주 보는 장면은, 다른 언어로 짠 서비스는 수 초…
LiteLLM 소개와 시작하기
Azure 환경을 운영하다 보면 LLM 공급자를 하나만 쓰는 팀을 만나기가 점점 어려워진다. 공급자가 늘어날 때마다 키를 어디에 두고 호출 코드를 어떻게 맞출지 고민하게 된다. 그 질문이 나올 때마…
🔥 인기 글
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차)…