~/hovelopin
← cd ~/posts

~/hovelopin/articles $ grep -l '#react'

#react

6개의 글.

알록달록한 문자 장난감 배경의 깨끗한 중앙 영역에 플라스틱 알파벳처럼 i18next가 놓인 커버 이미지
latest

문자열 key vs selector: i18next 타입은 어떻게 만들어질까

t('pages.notFound.title')과 t($ => $.pages.notFound.title)은 같은 리소스를 조회한다. 두 방식의 타입이 어떻게 만들어지는지, enableSelector가 타입 레벨에서 무엇을 바꾸는지 비교한다.

25 min read
알록달록한 문자 장난감 배경의 깨끗한 중앙 영역에 플라스틱 알파벳처럼 i18next가 놓인 커버 이미지

i18next enableSelector는 런타임에서 어떻게 동작할까?

i18next의 enableSelector 옵션을 설정하면 번역 키를 함수로 쓸 수 있다. 문자열이 아닌 함수를 넘겼는데도 번역이 되는 이유를 Proxy·revoke·Symbol 중심으로 확인한다.

25 min read
알록달록한 문자 장난감 배경의 깨끗한 중앙 영역에 플라스틱 알파벳처럼 i18next가 놓인 커버 이미지

i18next 문자열 key에 타입을 붙이는 과정

문자열로 작성한 번역 key는 코드만 봐서는 존재 여부를 알기 어렵다. i18n Ally에 의존하던 자동완성을 i18next의 TypeScript 타입 지원으로 옮긴 과정을 정리한다.

16 min read
useRef 패턴을 useEffectEvent로 리팩토링하는 썸네일

useRef 패턴, useEffectEvent로 걷어내기

콜백 prop을 useRef로 감싸고 useEffect로 동기화하는 패턴을 useEffectEvent로 정리한 과정을 공유하고, React가 useEffectEvent를 내부에서 어떻게 구현했는지 소스까지 따라가 본다.

12 min read
React CVE-2026-23869 취약점 분석 썸네일

React CVE-2026-23869 DoS 취약점 분석

React Server Components의 Flight 프로토콜 역직렬화에서 발견된 DoS 취약점 — new Map()의 이터레이터가 트리거하는 무한 재귀를 원인부터 패치 코드까지 추적.

8 min read
React CVE-2025-55182 취약점 분석 썸네일

React CVE-2025-55182 취약점 원인 분석

Next.js 15~16의 React Server Component에서 발견된 RCE(Severity 10) 취약점을 직접 재현하고, 패치된 코드의 차이까지 추적한 기록.

7 min read