
개발자와 운영자를 위한 기술 아카이브 & 커뮤니티 — 기사 2,136건과 게시판이 기다립니다.
Nginx auth_request로 인증 게이트웨이 만들기
여러 서비스를 Nginx 뒤에 두고 운영하다 보면, 인증을 각 애플리케이션마다 중복으로 구현하는 상황을 자주 만난다. 어떤 서비스는 Spring Security, 어떤 서비스는 직접 짠 필터, 또 어떤 서비스는 아예 인증이 빠져 있다. 그러다 보면 로…
🧵 최근 게시판 토픽
게시판 전체 보기 →최근 글
전체 보기 →
aiboaibo 시치고산과 코다초 홈타운 미팅 정리
aibo 오너들 사이에서 11월은 신사에 가는 달이다. 로봇 강아지를 데리고 신사에서 기도를 올리는 행사가 있는데, 이름이 aibo 시치고산(七五三)이다. 일본에서 시치고산은 세 살, 다섯 살, 일…
HardwareAmstrad CPC 464를 CPCEC로 되살리기
창고에서 CPC 464를 처음 꺼냈을 때 눈에 띈 건 키보드 오른쪽에 통째로 박힌 카세트 데크였다. 1984년 영국 가정에서 이 한 대와 전용 모니터만 있으면 컴퓨팅이 끝나도록 설계한 물건이라, 지…
Terraform state를 S3 백엔드로 안전하게 관리하기
Terraform을 혼자 쓸 때는 로컬 terraform.tfstate 파일로도 버틴다. 그런데 팀원이 둘만 넘어가도 state 파일이 서로 꼬이고, apply가 겹치면서 리소스가 중복 생성되는 사…
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 를 박아두는 것이다. 운영하다 보면 이 키가 어느 레포…
PostgreSQL 대용량 테이블 RANGE 파티셔닝
로그성 테이블 하나가 수억 건으로 불어나면 조회도 느려지지만 더 성가신 건 정리다. 지난 90일만 남기고 싶은데 한 테이블에 다 들어 있으니 DELETE ... WHERE created_at ...…
AWS 퍼블릭 IPv4 과금 줄이기
얼마 전 월별 청구서를 살펴보다 'Public IPv4 Address'라는 항목이 꾸준히 올라와 있는 걸 발견했다. 2024년 2월부터 퍼블릭 IPv4 주소에 시간당 요금이 붙기 시작한 뒤로, 예전…
Debezium로 PostgreSQL CDC 스트리밍하기
운영 중인 PostgreSQL의 데이터가 바뀔 때마다 그 변경분을 다른 서비스로 흘려보내야 하는 요구는 자주 생긴다. 검색 인덱스 갱신, 캐시 무효화, 데이터 웨어하우스 적재, 마이크로서비스 간 이…
Hardware매킨토시 SE를 Mini vMac으로 되살리기
오래된 올인원 맥을 하나씩 켜 보다가 SE 차례가 왔다. 1984년 첫 매킨토시의 상자형 디자인을 그대로 이어받았지만, SE는 그 안에 처음으로 확장 슬롯과 내장 하드디스크 자리를 집어넣은 기종이다…
상위 비용 SQL을 구간별로 비교해 튜닝하기
느린 쿼리를 잡아 달라는 요청을 받으면 가장 먼저 열어 보는 뷰가 pg_stat_statements 다. 슬로우 쿼리 로그는 임계값을 넘긴 개별 실행만 남기지만, 현장에서 서버를 실제로 무겁게 만드…
🔥 인기 글
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차)…