TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
135613551354135313521351135013491348134713461345
Mobile
React Native 빌드 에러, 흔한 것부터 잡기
네이티브 모듈 링크·캐시·Pod 불일치가 단골. clean 순서와 캐시 초기화로 대부분 해결되는 에러 정리.
Tools
.gitignore에 넣었는데 계속 추적되는 파일 빼기
.gitignore는 "아직 추적 안 된" 파일에만 적용된다. 이미 커밋된 파일은 캐시에서 빼야 무시된다.
Tools
Git 되돌리기 총정리 — reset·revert·restore·checkout
커밋·스테이징·파일 변경을 되돌리는 명령이 헷갈린다. 공유 여부와 대상에 따라 무엇을 쓸지 한 장으로 정리.
Tools
Git merge와 rebase, 언제 무엇을 쓰나
공유 브랜치는 merge, 내 로컬 정리는 rebase가 원칙. 황금률("공개된 커밋은 rebase 금지")과 충돌 처리.
AI
LLM 환각(hallucination) 줄이는 실전 방법
모델은 모르는 것도 자신 있게 지어낸다. 근거 제공(RAG)·"모르면 모른다"·출력 구조화·검증으로 환각을 억제한다.
AI
LLM 스트리밍 응답 구현 — SSE로 체감 속도 올리기
응답을 다 기다리지 말고 토큰을 흘려보내자. SSE 기본 구조, 프록시 버퍼링·중단 처리·에러 전송까지.
AI
LLM API 비용 줄이기 — 캐싱·모델 라우팅·프롬프트 다이어트
LLM 비용은 토큰에 비례한다. 프롬프트 캐싱·작은 모델 라우팅·컨텍스트 압축·출력 제한으로 같은 품질에 비용을 크게 낮춘다.
AI
임베딩 모델과 벡터DB 선택 기준
차원·다국어·비용·도메인 적합도로 임베딩을 고르고, 규모·필터·운영 부담으로 벡터DB를 고른다. 과한 인프라를 피하는 법.
AI
프롬프트 인젝션, LLM 앱의 가장 흔한 취약점 방어
사용자/문서에 숨긴 지시가 시스템 프롬프트를 덮어쓰는 공격. 신뢰 경계 분리·출력 검증·권한 최소화로 막는다.
Infra
cron과 systemd timer, 정기 작업엔 무엇을
cron은 간단하지만 로그·실패 추적·의존성이 약하다. systemd timer는 journald 로그·정확한 제어를 준다. 선택 기준.
AI
RAG 검색 품질이 낮을 때 — 청킹부터 다시
RAG가 엉뚱한 답을 하면 대개 검색 단계가 문제다. 청크 크기·오버랩·메타데이터·하이브리드 검색·리랭킹으로 적합도를 올린다.
Infra
SSH 키 인증과 서버 접속 보안 하드닝
비밀번호 로그인은 무차별 대입의 표적. 키 인증 전환·root 로그인 제한·포트/접속망 제한·fail2ban까지 기본 하드닝.