TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
136513641363136213611360135913581357135613551354
Backend
GET과 POST 차이 — 진짜 핵심은 멱등성과 안전성
"GET은 조회, POST는 생성"은 절반만 맞다. 진짜 기준은 안전성(safe)과 멱등성(idempotent). 캐시·재시도·뒤로가기 동작이 여기서 갈린다.
Etc
프로세스와 스레드 차이, 그리고 동시성의 기본
프로세스는 독립된 메모리, 스레드는 메모리를 공유한다. 이 한 줄에서 컨텍스트 스위칭 비용, 경쟁 상태, 멀티프로세싱 vs 멀티스레딩 선택이 전부 갈린다.
Backend
TCP와 UDP 차이 — 언제 무엇을 쓰나
TCP는 신뢰성(순서·재전송) 보장, UDP는 속도. 영상통화·게임·DNS는 왜 UDP를 쓰고, 웹·파일 전송은 왜 TCP인지 기준으로 정리한다.
Etc
브라우저에 URL을 입력하면 생기는 일 — DNS부터 화면까지
"주소창에 google.com을 치면 무슨 일이 일어나나요?"는 면접 단골 질문이다. DNS 조회 → TCP/TLS → HTTP 요청 → 렌더링까지 전 과정을 한 흐름으로 정리한다.
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
커밋·스테이징·파일 변경을 되돌리는 명령이 헷갈린다. 공유 여부와 대상에 따라 무엇을 쓸지 한 장으로 정리.