블로그
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 3672 편
#2026-03 762#culture 283#deep-dive 275#kubernetes 260#career 233#ai 220#llm 216#devops 195#2026-04 158#security 147#observability 118#database 113#communication 108#history 107#architecture 101#productivity 98#performance 93#linux 90#networking 89#finance 87#economy 84#mindset 80#psychology 79#ai-papers 78#food 78#it 78#travel 78#japanese 76#deep-learning 75#english 74#gpu 74#ai-agent 69#business-travel 69#postgresql 66#cs-fundamentals 63#rag 63#systems 63#python 55#learning 54#self-improvement 53
나쁜 소식은 내용보다 타이밍이 결정한다
늦게 알린 좋은 대응이 일찍 알린 나쁜 대응보다 나쁘게 평가되는 이유는, 나쁜 소식이 문제의 크기와 상대에게 남은 선택지 두 축에서 평가되기 때문입니다. 문제의 크기는 여러 원인의 결과라 혼자 책임지기 어렵지만 늦은 보고는 온전히 한 사람의 선택입니다. 확실해질 때까지 기다리는 것이 왜 정보 정확성의 문제가 아니라 시간 벌기인지, 지금 알려야 하는지 판정하는 세 가지 질문, 해결책 없이 보고
2026-08-16 · 23 분 읽기 #career#workplace#communication#escalation#reporting프로세스와 시그널 완전 가이드: 종료가 안 되는 이유를 끝까지 추적하기
시그널 번호와 기본 동작, SIGTERM과 SIGKILL의 차이, 좀비와 고아, 프로세스 그룹과 세션, nohup과 setsid, 그리고 우아한 종료를 설계하는 방법까지 정리합니다. 죽지 않는 프로세스의 원인을 계층별로 추적합니다.
2026-08-15 · 29 분 읽기 #리눅스#프로세스#시그널#운영#커널리눅스 성능 도구 완전 가이드: 출력의 숫자를 해석하는 법
top, vmstat, iostat, pidstat, sar, perf가 찍어 주는 숫자를 한 열씩 해석합니다. 어떤 도구가 어떤 질문에 답하는지, 어떤 값이 착시를 일으키는지, USE 방법론으로 도구를 고르는 순서까지 정리했습니다.
2026-08-15 · 29 분 읽기 #리눅스#성능#모니터링#운영#sysstat파일 디스크립터와 inode 완전 가이드: df와 du가 다를 때 무슨 일이 벌어지는가
inode와 디렉터리 엔트리의 관계에서 출발해 하드 링크, 삭제된 열린 파일, inode 고갈, 파일 디스크립터 한도까지 정리합니다. df와 du가 어긋나는 이유와 복구 방법을 명령 단위로 다룹니다.
2026-08-15 · 27 분 읽기 #리눅스#파일시스템#inode#파일디스크립터#운영TLS 인증서 완전 가이드: openssl 명령으로 끝까지 다루기
인증서를 읽고, CSR을 만들고, 체인을 검증하고, 형식을 변환하고, 서버 연결을 진단하는 openssl 명령을 목적별로 정리합니다. 만료와 체인 누락, 키 불일치를 현장에서 판별하는 방법까지 다룹니다.
2026-08-15 · 29 분 읽기 #리눅스#tls#인증서#openssl#보안리눅스 로그 운영 완전 가이드: journald, rsyslog, logrotate를 하나로 엮기
저널의 보존 정책, rsyslog로의 전달, logrotate의 회전 방식까지 리눅스 호스트의 로그 배관을 설계합니다. 디스크를 채우지 않으면서 장애 조사에 필요한 기록을 남기는 기준을 정리합니다.
2026-08-15 · 26 분 읽기 #리눅스#로그#journald#rsyslog#logrotateGit 되돌리기 완전 가이드: 복구되는 것과 영원히 사라지는 것
reset, revert, restore, reflog, fsck의 경계선을 복구 가능성 기준으로 정리합니다. reflog 만료 정책과 gc가 언제 객체를 실제로 지우는지, 강제 푸시 사고와 워크트리·서브모듈 상황까지 다룹니다.
2026-08-15 · 27 분 읽기 #git#버전관리#복구#운영#협업DNS 완전 가이드: 이름이 주소가 되는 경로를 끝까지 따라가기
스텁 리졸버부터 권한 서버까지 이름 해석 경로를 구간별로 나누고, 레코드 타입과 TTL, 위임, dig 출력 해석, 전파 지연과 스테일 캐시, DNSSEC, 사내 DNS 운영까지 정리합니다. 명령과 규칙은 RFC 원문과 매뉴얼에서 확인한 것만 실었습니다.
2026-08-15 · 45 분 읽기 #리눅스#dns#네트워크#운영#트러블슈팅트랜잭션 격리 수준 완전 가이드: 데이터베이스가 아니라 애플리케이션이 책임지는 부분
PostgreSQL 18의 네 가지 격리 수준을 문서 그대로 정리한 뒤, 그 위에서 애플리케이션이 반드시 구현해야 하는 것들을 다룹니다. 40001 직렬화 실패 재시도 계층, FOR UPDATE부터 FOR KEY SHARE까지 행 잠금 사다리와 SKIP LOCKED 큐 패턴, 어드바이저리 락, 긴 트랜잭션이 VACUUM을 막는 진짜 비용, 그리고 MySQL 8.4 InnoDB와 다르게 동작하
2026-08-15 · 34 분 읽기 #데이터베이스#postgresql#트랜잭션#격리수준#동시성파티셔닝과 샤딩 완전 가이드: 한 노드의 한계를 넘어가는 순서
PostgreSQL 18의 선언적 파티셔닝을 기준으로 파티셔닝이 실제로 무엇을 해결하고 무엇을 해결하지 못하는지 정리한 뒤, 파티셔닝의 한계선에서 샤딩으로 넘어가는 판단 기준을 다룹니다. 파티션 프루닝, 파티션 키가 유일 제약에 거는 제한, 파티션 개수와 플래너 비용, 무중단 파티션 운영, 그리고 샤딩하는 순간 깨지는 교차 샤드 조인과 전역 유일성 문제까지 짚습니다.
2026-08-15 · 34 분 읽기 #데이터베이스#postgresql#파티셔닝#샤딩#확장성커넥션 풀 완전 가이드: 풀링 모드가 애플리케이션과 맺는 계약
PostgreSQL 18과 PgBouncer를 기준으로 커넥션 풀을 계약의 관점에서 정리합니다. 세션·트랜잭션·문장 풀링 세 가지 모드가 각각 무엇을 보장하고 무엇을 포기하는지, 트랜잭션 풀링에서 준비된 문장과 SET, LISTEN/NOTIFY, 어드바이저리 락이 왜 깨지는지, 애플리케이션 풀과 PgBouncer와 maxconnections 사이의 삼중 예산을 어떻게 배분하는지, 그리고 타임
2026-08-15 · 30 분 읽기 #데이터베이스#postgresql#pgbouncer#커넥션풀#운영SQL 실행계획 완전 가이드: 옵티마이저는 어떻게 계획을 고르는가
PostgreSQL 18의 플래너 입장에서 실행계획을 설명합니다. 통계가 어떻게 수집되고, 선택도가 어떻게 계산되며, cost 숫자가 어떤 상수들로 조립되는지, 조인 순서 탐색이 언제 유전 알고리즘으로 넘어가는지, 추정이 틀어졌을 때 확장 통계로 어떻게 교정하는지, 그리고 준비된 문장의 일반 계획이 왜 갑자기 느려지는지까지 문서에 적힌 기본값과 함께 정리합니다.
2026-08-15 · 31 분 읽기 #데이터베이스#postgresql#실행계획#쿼리최적화#옵티마이저DB 성능 튜닝 완전 가이드: 파라미터를 만지기 전에 측정하는 순서
PostgreSQL 18을 기준으로 성능 튜닝을 파라미터 목록이 아니라 진단 순서로 정리합니다. pgstatstatements로 워크로드를 프로파일링하고, 대기 이벤트로 병목의 성격을 가르고, 캐시와 I/O 지표를 읽고, 그다음에야 메모리 예산과 체크포인트와 autovacuum을 조정하는 순서입니다. PostgreSQL 18에서 바뀐 기본값들과 변경 전후를 비교하는 방법까지 다룹니다.
2026-08-15 · 32 분 읽기 #데이터베이스#postgresql#성능튜닝#모니터링#운영데이터베이스 캐싱 전략 완전 가이드: 결국 무효화가 전부다
PostgreSQL 18을 기준으로 캐시를 데이터베이스 쪽에서부터 올라가며 정리합니다. sharedbuffers와 운영체제 캐시라는 이미 존재하는 캐시 계층, 머티리얼라이즈드 뷰라는 계산 캐시, 그 위에 외부 캐시를 얹을지 판단하는 기준, 그리고 캐시 도입의 진짜 난제인 무효화의 네 가지 실패 모드와 쓰기 경로 순서 문제, 캐시 스탬피드 방어까지 다룹니다.
2026-08-15 · 31 분 읽기 #데이터베이스#postgresql#캐시#성능튜닝#아키텍처무중단 스키마 변경 완전 가이드: DDL이 잡는 잠금 등급과 안전 실행 절차
PostgreSQL 18 문서를 기준으로 각 DDL이 실제로 어떤 잠금을 잡는지 등급별로 정리합니다. 여덟 가지 테이블 잠금 모드와 충돌 관계, ALTER TABLE 형태별 잠금 등급, 테이블 재작성을 유발하는 변경과 그렇지 않은 변경, NOT VALID와 VALIDATE CONSTRAINT로 제약을 두 단계로 나누는 방법, 그리고 locktimeout과 재시도를 결합한 안전 실행 절차를 다
2026-08-15 · 29 분 읽기 #데이터베이스#postgresql#스키마변경#무중단배포#잠금PostgreSQL 인덱스 완전 가이드: 설계부터 폐기까지 인덱스의 수명 주기
PostgreSQL 18을 기준으로 인덱스를 하나의 운영 자산으로 다룹니다. 어떤 컬럼을 어떤 순서로 넣을지 정하는 설계, 여섯 가지 인덱스 방식 중 하나를 고르는 판단, CONCURRENTLY로 안전하게 만드는 절차와 실패 복구, 정말 쓰이는지 확인하는 검증, 부풀어 오른 인덱스를 다시 만드는 운영, 그리고 되돌릴 수 있게 폐기하는 방법까지 수명 주기 순서로 정리합니다.
2026-08-15 · 33 분 읽기 #데이터베이스#postgresql#인덱스#성능튜닝#운영데이터 모델링 완전 가이드: 논리 모델에서 PostgreSQL 물리 모델까지
PostgreSQL 18을 기준으로 논리 모델을 물리 스키마로 옮길 때 내려야 하는 결정들을 정리합니다. 대리 키와 식별자 타입 선택, text와 numeric과 timestamptz를 고르는 근거, 제약 조건을 코드로 다루는 방법, jsonb를 쓸 경계선, 이력과 유효 기간과 소프트 삭제의 표현, 정규화를 깨야 하는 순간과 그 대가, 그리고 컬럼 순서와 TOAST 같은 물리 배치까지 문서
2026-08-15 · 36 분 읽기 #데이터베이스#postgresql#데이터모델링#스키마설계#제약조건대용량 데이터 처리 완전 가이드: COPY, 청크 배치, 그리고 되돌릴 수 있는 작업
PostgreSQL 18에서 수억 행을 적재하고 갱신하고 삭제하는 작업을 안전하게 수행하는 방법을 정리합니다. COPY의 옵션과 기본값, 문서가 권장하는 초기 적재 절차, ONERROR로 불량 행을 견디는 방법, 대량 UPDATE와 DELETE를 청크로 나누는 설계, 삭제 이후의 죽은 행 처리와 VACUUM FULL을 피해야 하는 이유, 그리고 재개 가능한 백필 작업을 만드는 방법까지 다룹니
2026-08-15 · 33 분 읽기 #데이터베이스#postgresql#배치처리#데이터적재#운영SSH 운영 완전 가이드: 키 관리부터 잠금 사고 없는 서버 하드닝까지
sshdconfig 하드닝, 키 종류 선택과 배포, ProxyJump와 포트 포워딩, 접속이 안 될 때의 디버깅 순서까지 운영자 관점에서 정리합니다. 설정을 바꾸다 스스로 잠기지 않는 절차를 포함합니다.
2026-08-15 · 29 분 읽기 #리눅스#ssh#보안#운영#서버관리리눅스 장애 대응 명령어 완전 가이드: 첫 60초부터 근본 원인까지
서버가 이상하다는 연락을 받은 순간부터 순서대로 실행하는 진단 명령어를 정리합니다. uptime, top, free, df, iostat, ss, journalctl까지 각 출력의 어느 숫자를 봐야 하는지, 그 숫자가 무엇을 배제하고 무엇을 남기는지 설명합니다.
2026-08-15 · 30 분 읽기 #리눅스#트러블슈팅#운영#장애대응#명령어