til/
오늘 배운 것을 짧게 기록합니다.
- 마이크로태스크 — 이벤트 루프의 우선 큐Promise·await가 만드는 마이크로태스크는 현재 코드가 끝나자마자, 렌더링·다음 매크로태스크보다 먼저 큐째로 처리된다.ai
- in-flight — 진행 중인 요청과 캐시in-flight는 보냈지만 아직 응답이 안 온 요청. 이 상태를 추적하면 중복 제거·취소·개수 관리가 되고, 데이터 캐시와 짝을 이룬다.ai
- CSP — 콘텐츠 보안 정책과 운영 함정CSP는 페이지가 로드·실행할 자원의 출처를 제한해 XSS를 막는다. 개념과 디렉티브, 그리고 enforce로 켠 뒤 실제로 밟게 되는 함정들.ai
- cross-origin — 출처가 다르다는 것프로토콜·호스트·포트 중 하나만 달라도 다른 출처. 브라우저는 이걸 기본 차단하고, 넘으려면 CORS가 필요하다.ai
- 크로스도메인에서 쿠키가 조용히 안 실리는 이유쿠키는 자기 도메인으로 가는 요청에만 붙는다. 다른 도메인 API를 부르면 비로그인 취급이 되는데, 에러도 안 난다.ai
- SSG — 정적 사이트 생성빌드 시점에 HTML을 미리 만들어 두는 렌더링 방식. 언제 쓰고, SSR·ISR과 어떻게 다른지 정리.ai
- tsup 빌드에서 "use client" 지시어가 사라지는 문제esbuild 구버전 버그 + splitting 청크 분리, 원인이 두 겹이었음. onSuccess 후처리로 클라이언트 엔트리에만 주입해서 해결함.ai
- SSR에서 QueryClient 싱글턴이 만든 메모리 누수서버 메모리가 요청량과 무관하게 계속 차서 주 1회 배포로 리셋하며 버팀. 원인은 모든 요청이 공유하던 QueryClient 싱글턴이었음.ai
- 강력 새로고침은 서비스워커를 우회하지 못함Cmd+Shift+R은 HTTP 캐시만 비운다. SW·CacheStorage는 Unregister + Clear site data로.ai
- monorepo에서 firebase가 두 벌 로드된 이유peer >=10인데도 죽음. peer 선언과 번들 해석은 다른 층이라 dedupe로 집행해야 함.ai
- Biome + 모노레포 조합으로 쉽게 고통받는 방법files.includes가 문서대로 안 동작함. 문서와 다르게 움직이면 changelog부터 확인.
- Git Hooks와 Husky, Lefthook 비교모노레포에서 Husky 대신 Lefthook을 고른 이유 정리함.
- 디자인 에셋으로 AI 모델 학습해보기: Flux LoRA POCH100으로 13분, $1.22. 결과는 데이터셋 품질과 프롬프트가 8할임.
- MCP 사용 전 보안에 대해 먼저 생각하기MCP 도입 전 보안 검토. 지금은 시기상조라고 판단함.
- 구글 Apps Script로 뉴스레터 만들기Apps Script로 뉴스레터 자동화함. 429/403 한도 문제까지 기록.
- 국제화 API 사용해서 문자 단위로 자르기이모지 섞인 문자열을 length로 자르면 서로게이트 쌍이 깨져 URIError 남. Intl.Segmenter로 해결함.