TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
135013491348134713461345134413431342134113401339
AI
LLM API 비용 줄이기 — 캐싱·모델 라우팅·프롬프트 다이어트
LLM 비용은 토큰에 비례한다. 프롬프트 캐싱·작은 모델 라우팅·컨텍스트 압축·출력 제한으로 같은 품질에 비용을 크게 낮춘다.
AI
임베딩 모델과 벡터DB 선택 기준
차원·다국어·비용·도메인 적합도로 임베딩을 고르고, 규모·필터·운영 부담으로 벡터DB를 고른다. 과한 인프라를 피하는 법.
AI
프롬프트 인젝션, LLM 앱의 가장 흔한 취약점 방어
사용자/문서에 숨긴 지시가 시스템 프롬프트를 덮어쓰는 공격. 신뢰 경계 분리·출력 검증·권한 최소화로 막는다.
Infra
cron과 systemd timer, 정기 작업엔 무엇을
cron은 간단하지만 로그·실패 추적·의존성이 약하다. systemd timer는 journald 로그·정확한 제어를 준다. 선택 기준.
AI
RAG 검색 품질이 낮을 때 — 청킹부터 다시
RAG가 엉뚱한 답을 하면 대개 검색 단계가 문제다. 청크 크기·오버랩·메타데이터·하이브리드 검색·리랭킹으로 적합도를 올린다.
Infra
SSH 키 인증과 서버 접속 보안 하드닝
비밀번호 로그인은 무차별 대입의 표적. 키 인증 전환·root 로그인 제한·포트/접속망 제한·fail2ban까지 기본 하드닝.
Infra
무중단 배포, blue-green과 rolling 쉽게 이해하기
배포 때마다 잠깐 끊기는 걸 없애는 두 가지 전략. 트래픽 전환·헬스체크·롤백 관점에서 비교한다.
Infra
GitHub Actions가 느리다 — 캐시로 빌드 시간 줄이기
매번 의존성을 새로 받으면 CI가 길어진다. actions/cache·setup 캐시·도커 레이어 캐시로 절반 이하로 단축.
Infra
Docker Compose 컨테이너끼리 통신이 안 될 때
localhost로 다른 컨테이너를 부르면 실패한다. 같은 네트워크의 서비스명으로 접속, depends_on의 한계까지.
Infra
systemd 서비스로 앱을 안정적으로 띄우기
pm2 대신 systemd로 충분하다. 자동 재시작·부팅 시 실행·로그·보안 격리(ProtectSystem)까지 유닛 작성 가이드.
Infra
리눅스 디스크가 꽉 찼다 — 범인 찾기
No space left on device. du·df·로그·삭제됐지만 열린 파일·inode 고갈까지 단계적으로 원인을 추적한다.
Infra
Docker 이미지 용량 줄이기 — 멀티스테이지 빌드
1GB 넘는 Node 이미지를 100MB대로. 멀티스테이지·alpine·.dockerignore·레이어 순서로 빌드 도구를 최종 이미지에서 뺀다.