환경: 본 글은 Next.js 14.2 · Pages Router 기준으로 재현/검증했다.
주의: 본문에서 /app은 basePath를 뜻하며, App Router의 app/ 디렉터리와는 무관하다.
#frontend
총 10개의 포스트
관련 태그
블로그 글이 점점 쌓이다 보니 원하는 글을 찾기가 어려워졌다. 처음에는 검색 기능을 추가할까 고민했지만, 너무 복잡해질 것 같아 태그 기능을 도입했다.
요즘 playwright를 가지고 놀고 있다. 원래는 E2E 테스트용 도구인데, 반복적인 작업을 자동화하기에도 꽤 괜찮아 보였다. 기존에 셀레니움을 써서 자동화한 서비스를 플레이라이트로 바꾸면서, 훨씬 쉽고 직관적이고 VSCode나 GitHub Actions 환경과도 궁합이 잘 맞는다는 느낌을 받았다.
파일 업로드 기능을 구현하다가 accept 속성을 다시 들여다볼 일이 있어 정리해 둔다. 사용자가 업로드할 파일 유형을 제어하는 데 있어 이 속성은 종종 간과되지만, 사용자 경험과 백엔드 처리 효율을 함께 챙길 수 있는 강력한 기능이다.
얼마 전 면접에서 질문을 받은 기억이 나서 리마인드 할 겸 정리한다. React에서 컴포넌트를 다룰 때, 이를 “Controlled” 및 “Uncontrolled”로 나누어 생각할 수 있다. 두 방식 간의 주요 차이점을 이해하는 것은 React와 상태 관리를 제대로 다루기 위해 중요하다.
최근 블로그 배포를 netlify에서 vercel로 변경하였다. 둘 다 비슷한 서비스고 장점과 단점이 있는데, google analytics처럼 audience를 보여주는게 좋아보여서 변경했다. Core web vital도 보여주는데 이건 netlify에서도 lighthouse 플러그인으로 확인할 수 있다.
react-query를 쓰다 보면 한 번쯤 마주치는 에러라, 해결 방법을 기록해 둔다.