Building
with care.
복잡한 문제를 단순하게 풀어내는 것을 좋아합니다.
사용자 중심의 웹 경험을 만들기 위해 고민하고 기록합니다.
최근 글
Expo 개발 빌드가 계속 실패할 때: 'No script URL'의 진짜 범인을 찾아서
Release 빌드는 잘 도는데 Debug 빌드만 실행하면 'No script URL provided'로 죽는 미스터리를 추적했습니다. Expo Go의 함정, 네트워크 권한, 그리고 패키지 매니저가 조용히 심어둔 진짜 원인(SDK 비호환 버전)과 프리빌트 React Native Core의 링커 에러까지 — 하루 종일 파낸 트러블슈팅 전 과정을 정리합니다.
Next.js + DaisyUI + next-themes로 완벽한 다크모드 구현하기
서버 컴포넌트 환경에서 깜빡임 없는 다크모드를 만드는 방법을 정리했습니다. DaisyUI의 data-theme 시스템과 next-themes를 조합하고, Hydration 문제·코드 블록 테마·로고 전환·FOUC까지 실제로 부딪힌 지점들을 해결합니다.
Next.js App Router + MDX로 개인 블로그 만들기: 설계부터 배포까지
Next.js 16 App Router와 MDX로 파일 기반 블로그를 만든 전 과정을 정리했습니다. 폴더로 카테고리를 관리하는 구조 설계, gray-matter 프론트매터 파싱, remark·rehype 렌더링 파이프라인, 동적 라우팅, glob 목록 조회, 코드 블록 스타일링, SEO까지 다룹니다.
Glass Morphism UI 디자인을 Tailwind CSS로 구현하는 방법
반투명 유리 질감의 Glass Morphism을 Tailwind CSS로 체계화한 방법을 정리했습니다. 세 가지 핵심 속성, 재사용 가능한 glass 유틸리티, 배경 그라데이션 블롭, 다크모드 대응, 그리고 성능과 자주 하는 실수까지 실전 위주로 다룹니다.
Framer Motion으로 글자가 춤추는 텍스트 로테이션 애니메이션 만들기
랜딩 페이지의 첫인상을 책임지는 텍스트 로테이션 애니메이션을 Framer Motion으로 만들었습니다. Intl.Segmenter로 글자를 정확히 쪼개고, stagger 딜레이로 순차 등장을 연출하고, AnimatePresence·useImperativeHandle·접근성까지 챙긴 과정을 정리합니다.
React Native + Supabase 구글 로그인 완벽 가이드: 설정부터 빌드 이슈 해결까지
React Native(Expo)에서 Supabase로 구글 로그인을 구현하는 전 과정을 정리했습니다. 딥링크 스킴 설정, PKCE 기반 OAuth 로직, 그리고 'No script url provided'처럼 실제 기기 빌드에서 마주치는 치명적 에러를 릴리즈 빌드로 해결하는 방법까지 담았습니다.