TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
136113601359135813571356135513541353135213511350
AI
LLM 함수 호출(tool calling) 설계 — 안정적으로 도구 쓰기
모델이 외부 도구를 부르게 하는 tool calling. 스키마 설계·검증·에러 복구·무한 루프 방지로 신뢰성을 확보한다.
Backend
HTTP 상태코드 제대로 쓰기 — 4xx와 5xx 구분
모든 에러를 200+에러메시지나 500으로 퉁치면 클라이언트·모니터링이 망가진다. 의미에 맞는 상태코드 선택 가이드.
Mobile
모바일 딥링크 구현 — 앱으로 정확히 보내기
커스텀 스킴과 유니버설/앱 링크의 차이. 앱 미설치 폴백, 검증 파일(AASA·assetlinks)까지 빠지기 쉬운 부분.
Frontend
React 리스트의 key 경고, index를 key로 쓰면 안 되는 이유
"each child should have a unique key" 경고와, 배열 index를 key로 쓸 때 생기는 입력값 꼬임·잘못된 재사용 버그.
Mobile
푸시 알림(FCM) 구현 — 토큰 관리가 핵심
FCM 토큰 발급·갱신·서버 저장이 안정성의 8할. 권한 요청 타이밍, 토큰 만료, 포그라운드 표시까지.
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 비용은 토큰에 비례한다. 프롬프트 캐싱·작은 모델 라우팅·컨텍스트 압축·출력 제한으로 같은 품질에 비용을 크게 낮춘다.