전체 글185 Next.js useSearchParams() Suspense 오류 해결 방법 개발 서버에서는 잘 열리던 페이지가 배포 빌드에서 useSearchParams() should be wrapped in a suspense boundary 오류로 멈출 때가 있습니다. 정적 페이지에서 쿼리스트링을 읽는 컴포넌트를 분리하고, 그 컴포넌트 바깥에 Suspense를 두는 방법부터 확인하면 됩니다.적용 범위: Next.js App Router · TypeScript 예제. 2026년 9월 공식 문서 확인 기준이며, 프로젝트 버전과 렌더링 설정에 따라 오류 문구는 달라질 수 있습니다.1. 개발할 때는 되는데 빌드에서 실패하는 이유예를 들어 /search?q=react의 q를 읽는 검색창을 생각해 보겠습니다. 빌드 시점에는 방문자가 입력할 쿼리를 알 수 없습니다. 정적 렌더링에서는 해당 훅을 사용하.. 2026. 10. 1. Next.js use client는 언제 붙여야 할까 Next.js App Router에서 useState나 onClick을 추가하자 오류가 생겼다면 use client 경계를 확인해 보세요. 페이지 전체에 습관적으로 붙이기보다, 실제로 상호작용이 필요한 컴포넌트를 작게 분리하면 구조를 이해하고 유지하기 쉬워집니다.적용 범위: Next.js App Router · TypeScript 예제. 2026년 9월 공식 문서 확인 기준이며, 프로젝트 버전과 렌더링 설정에 따라 오류 문구는 달라질 수 있습니다.1. use client는 클라이언트 진입점 선언App Router의 page와 layout은 기본적으로 Server Component입니다. 상태, 이벤트, effect가 필요한 UI를 Client Component로 만들 때 파일의 import보다 위에 us.. 2026. 9. 30. TXT 파일 한글이 깨질 때 해결하는 방법 — UTF-8과 CP949 차이 TXT 파일을 열었는데 한글이 이상한 기호로 보인다면, 바로 저장하지 마세요. 파일이 망가진 것이 아니라 프로그램이 글자를 읽는 방식, 즉 인코딩을 잘못 선택했을 수 있습니다.먼저 원본을 복사해 두고, 작업용 사본을 올바른 인코딩으로 다시 열어 보세요. 정상 문장을 확인한 뒤 UTF-8로 저장하는 순서가 중요합니다.1. TXT 한글이 깨지는 이유텍스트 파일에는 글자 자체가 아니라 글자를 표현하는 바이트가 저장됩니다. 파일을 만든 쪽의 저장 방식과 여는 프로그램의 해석 방식이 다르면 같은 파일도 깨져 보일 수 있습니다.UTF-8은 한글을 포함한 다양한 언어를 표현하는 유니코드 인코딩입니다. CP949는 한국어 Windows 환경에서 사용해 온 인코딩으로, EUC-KR의 한글 표현 범위를 확장한 방식입니다... 2026. 9. 29. 아이폰에서 TXT·EPUB 파일 읽는 방법 — 쿠피리더 사용 가이드 아이폰에 저장해 둔 소설이나 글을 조금 더 편하게 읽고 싶을 때가 있습니다. 파일을 열어 보는 것에서 한 걸음 더 나아가, 글자 크기를 조절하고 읽던 곳을 기억해 주는 서재가 있으면 좋겠다고 생각했어요.그래서 만든 앱이 쿠피리더입니다. 직접 개발한 앱을 소개하며, 이번 글에서는 iPhone에서 TXT·EPUB 파일을 가져와 읽는 방법을 안내합니다.예시 도서를 사용한 소개 이미지입니다. 앱 버전과 기기에 따라 화면 구성이 조금 다를 수 있습니다.1. 쿠피리더 설치하기쿠피리더는 iPhone과 iPad에서 사용할 수 있는 텍스트·전자책 뷰어입니다. 별도 회원가입 없이 시작할 수 있으며, 앱 다운로드는 무료이고 배너·선택형 리워드 광고가 포함됩니다.쿠피리더 App Store 다운로드 →2. TXT·EPUB 파일.. 2026. 9. 29. 구글 플레이스토어 비공개 테스트(14일) 진행 방법 총정리 [Google Groups 활용] 구글 플레이스토어 비공개 테스트(14일) 쉽게 진행하는 방법구글 플레이스토어에 앱을 출시하려고 하면신규 개발자 계정의 경우 비공개 테스트(Closed Testing)를 일정 기간 유지해야 합니다.특히 최근에는 구글 플레이 20명 테스트, Play Console 비공개 테스트, Google Groups 연동 과정에서 어려움을 겪는 분들이 많습니다.특히 많은 분들이 헷갈려 하는 부분이 바로Google Groups 연결 및 테스터 참여 방식인데요.이번 글에서는 실제로 제가 진행한 방법 기준으로Google Groups 생성부터 Play Console 연결, 그리고 테스터 참여 방법까지 순서대로 정리해보겠습니다.저도 처음에는 테스트 참여 버튼이 보이지 않거나 앱 설치가 되지 않는 문제를 여러 번 겪었는데, 대부분.. 2026. 5. 15. Context vs Redux vs Zustand 비교: 언제 무엇을 선택해야 할까? (실무 기준 정리) 전역 상태관리 도구를 언제 바꿔야 할까? (Context에서 다른 선택지로 넘어가는 구조적 기준)전역 상태관리 시리즈를 여기까지 읽었다면,아마 이런 생각이 들 것이다.그래서 결국 Context로 충분한가?아니면 Redux나 다른 도구를 써야 하는가?이 질문에 단순한 정답은 없다.하지만 “구조가 어떻게 변할 때 도구를 바꿔야 하는지”는 분명한 기준이 있다.1. 대부분은 Context로 시작한다처음에는 상태가 단순하다.로그인 여부사용자 정보테마 설정Context로 충분하다.구조도 명확하고, 코드도 간결하다.이 단계에서는 다른 도구를 쓰는 것이 오히려 과하다.2. 구조가 커지기 시작하는 순간문제는 기능이 늘어나면서 발생한다.상태가 점점 많아진다상태 간 의존성이 생긴다한 상태 변경이 다른 상태를 유발한다비동기 .. 2026. 3. 5. 이전 1 2 3 4 ··· 31 다음 반응형