근황..
·
일기
이 블로그에 글을 올리지 않은지 꽤 되었다.그 이유는.. 뜬금없게도 전산직으로 취업했기 때문이다.(?)1년 내내 프론트엔드 취직 준비하다가 갑작스럽게 방향을 전환했지만일단은 길이 열린 곳으로 나아가보기로 했다.그래서 앞으로는 리액트, 넥스트 관련 글은 거의 쓰지 않을 것 같고..(취미로는 계속 작은 프로젝트들을 만들어보긴 할 것 같다)C#, SQL, WPF 위주로 쓸 것 같다.참.. 사람 인생 모른다정말 한 치 앞도 알 수 없다!
변경된 카카오맵 API 플랫폼 도메인 등록 위치
·
웹개발/JS
원래 Kakao Developers의 [앱] - [플랫폼] - [Web 플랫폼 등록]에서 플랫폼 도메인을 등록할 수 있었는데, 지금은 위치가 바뀐 것 같다. 이젠 [앱] - [플랫폼 키] - [JavaScript 키]에서 플랫폼 도메인을 등록해야 된다. 그럼 플랫폼 JS 키를 수정하는 상세 페이지가 뜬다.여기에서 'JavaScript SDK 도메인' 항목에 플랫폼 도메인을 등록해주면 된다. 참고로, 카카오맵 API 사용 설정을 켜주고, 플랫폼 도메인까지 등록해야 정상적으로 작동한다.둘 중 하나라도 빼먹은 과정이 있다면 설정해주자. +) 카카오 디벨로퍼스에서 메일로 공지해준 걸 뒤늦게 확인했다.발신일자가 2026년 1월 2일인 것으로 보아, 올해부터 새롭게 적용되는 사항인 것 같다.메일 본문에 위에서..
[React.js+Vite] `manualChunks` 설정으로 초기 번들 크기 줄이기
·
웹개발/React.js
문제React.js와 Supabase를 연동한 프로젝트에서 일부 무거운 컴포넌트에 코드 스플리팅(dynamic import+lazy loading)을 적용해도 메인 js 파일 크기가 거의 800kb에 달하는 문제가 발생했다.이는 `supabase`, `react query`, `lucide-react`와 같은 대용량 라이브러리가 프로젝트에 별다른 조치 없이 사용되고 있기 때문이었다. 해결vite에서는 크고 무거운 라이브러리들을 `manualChunks` 설정으로 초기 번들에서 제외시켜줄 수가 있다.핵심 원리는 자주 바뀌지 않고 무거운 외부 라이브러리를 별도의 js 파일로 분리하고, 브라우저 캐싱을 활용해 초기 번들 용량을 줄여주는 것이다.// vite.config.tsimport path from "p..
[react query v5] isLoading vs isPending vs isFetching
·
웹개발/tanstack query
ai 에이전트와 함께 작업하다보면 리액트 쿼리를 사용할 때 로딩 상태로 `isLoading`을 적용해주는 경우가 대부분이다.하지만 리액트 쿼리 v5부터는 공식 문서에서 로딩 상태가 `isPending`으로 대체되었음을 명시하고 있다.https://tanstack.com/query/latest/docs/framework/react/guides/migrating-to-v5#status-loading-has-been-changed-to-status-pending-and-isloading-has-been-changed-to-ispending-and-isinitialloading-has-now-been-renamed-to-isloadingThe `loading` status has been renamed to `..
fetch의 cache 옵션, 'force-cache'와 'no-cache'의 차이
·
웹개발/Next.js
두 옵션은 모두 SSG(정적 렌더링)를 할 때 사용되는데, 꽤 중요한 차이가 있다.force-cache: 빌드해도 데이터 안 바뀜 (변경사항 적용 X)no-cache: 빌드하면 데이터 바뀜 (변경사항 적용 O)만약 느린 주기라도 정기적으로 데이터가 바뀌어야 한다면, 완전히 정적으로 데이터를 캐싱하는 force-cache를 사용하면 안 되고 no-cache를 사용해야 한다.force-cache는 정말 전혀 바뀌지 않을 데이터에만 적용해야 한다. 이 옵션을 적용하면 데이터를 db에서 바꾸고 빌드해도 변경사항이 적용되지 않는다.
구글 안티그래비티 짤막한 사용 후기
·
agents
좋긴 좋다...다만 요청 최적화, 보안 코딩과 같은 디테일하지만 중요한 것들은 직접 말해주지 않으면 적용해주지 않는다. 알잘딱깔센은 아님ui도 깨지는 부분이 하나씩 있다.그래도 ui와 기능은 기본적인 선에서 그럴싸하게 잘 구현해주는 것 같고,무엇보다 매우 귀찮은 oauth 설정만큼은 알아서 뚝딱 잘 해준다.ui+기능까지 하루~이틀 걸릴 거 1~2시간이면 만들어주니까 좀 현타가 오기도 했다. 그리고 폴더 구조도 정말 깔끔하게 잘 잡는 것 같다.내가 프롬프트를 디테일하게 잘 내려줄 수만 있다면.. 바이브 코딩으로도 어느 정도 쓸만한 웹서비스를 충분히 만들 수 있을 것 같다. 하지만 아무리 프롬프트를 디테일하게 잘 작성했더라도, 하나의 프롬프트에서 다루는 작업 범위가 너무 넓다면 놓치는 부분이 꽤 발생하는 것..