TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
130813071306130513041303130213011300129912981297
Frontend
무한 스크롤, IntersectionObserver로 깔끔하게 구현
scroll 이벤트 + offset 계산은 성능도 나쁘고 버그도 많다. IntersectionObserver로 sentinel을 감시하는 방식이 표준이다.
Frontend
React.memo, useMemo, useCallback 언제 쓰고 언제 안 쓰나
세 가지 메모이제이션은 "비싼 계산"이나 "memo된 자식에 넘기는 참조"에만 의미가 있다. 무지성 남발은 오히려 느려진다. 판단 기준 정리.
Frontend
Next.js App Router에서 "use client" 경계 제대로 긋기
서버 컴포넌트가 기본, 상호작용이 필요한 잎 컴포넌트만 클라이언트로. use client를 트리 위쪽에 박으면 번들이 통째로 커진다.
Frontend
TypeScript "Type X is not assignable" 자주 만나는 5가지
가장 흔한 타입 에러를 패턴으로 정리. union 좁히기 누락, as const, 인덱스 시그니처, 함수 매개변수 반공변성까지.
Frontend
CSS flex 자식이 부모를 뚫고 넘칠 때 — min-width: 0
flex 자식 안의 긴 텍스트나 그리드가 부모를 넘쳐 가로 스크롤이 생기는 건 flex item의 min-width 기본값이 auto라서다. min-width:0 한 줄로 해결.
Frontend
Next.js Hydration mismatch 에러, 원인별 해결 총정리
Hydration failed 에러는 서버 HTML과 클라이언트 첫 렌더가 다를 때 난다. Date·random·typeof window·잘못된 HTML 중첩 등 원인별 처방.
Frontend
React useEffect 무한 루프, 왜 생기고 어떻게 끊나
useEffect 무한 루프의 99%는 의존성 배열 안에 매 렌더마다 새로 만들어지는 객체·함수가 들어가서다. 원인 3가지와 해결법.
Mobile
Apple Foundation Models 외부 개발자 — WWDC 2026 후 정식 개방
WWDC 2026 키노트 직후 Foundation Model 외부 개발자 entitlement 자동 승인. 사내 챗봇 앱 정식 출시 + 실측 데이터.
AI
Replit Agent 2.0 자율도 — 8시간 production 빌드 사후
Replit Agent 2.0의 자율도 향상. 사양 한 줄 → 8시간 무인 production 빌드. 1주 운영 데이터 + agent 한계.
AI
Google Gemini 3.5 Pro — 한국어 + 코딩 평가 40시간
Gemini 3.5 Pro 출시 후 40시간 평가. SWE-bench 80.2%, 한국어 KMMLU 85.8%, 2M 컨텍스트. Claude 4.9 비교.
AI
Vercel AI SDK 6 — RSC streaming + tool calling 패턴
Vercel AI SDK 6 GA. RSC streaming, structured outputs, multi-step tool calling, provider agnostic. 사내 5개 LLM 앱 마이그레이션.
AI
Anthropic Claude 4.9 출시 — 100시간 사용 평가
Claude 4.9 (Opus·Sonnet·Haiku) 출시 후 100시간 사용 평가. SWE-bench 82.1%, 1M needle 정확도, 가격 정책 변화.