Next.js v14.2.8 빌드 에러

Error occurred prerendering page "/dashboard". 
Read more: https://nextjs.org/docs/messages/prerender-error

ReferenceError: window is not defined

얼마전 github actions에서 배포 중 에러가 발생했습니다

로컬에서 githook의 pre-push에서 빌드를 하기 때문에 빌드에러는 발생하지 않을 것이라 생각했지만 빌드 중 window is not defined 에러가 발생했습니다

의심되는 부분을 수정해봤지만 해결되지 않았고 로그를 보던 중 next.js 버전이 로컬에서 설치 후 실행되는 버전과 다르다는 것을 발견했습니다

원인은 package.json에 next 버전을 명시할 때 캐럿(caret, ^)을 붙였던 것이 원인이었습니다

수정 전
수정 후

캐럿(^)을 제거해서 명시된 버전만 사용하게 변경하였습니다

전날에도 긴급배포할 때도 이런 현상이 없었는데 빌드에러 발생 7시간 전 14.2.8 버전이 npm에 배포되어있었습니다

next.js 깃헙 이슈탭(https://github.com/vercel/next.js/issues)에 가보니 관련 이슈를 제기한 사람들이 많았습니다

당분간 next.js로 프로젝트를 새로 만들 때 14.2.7 버전으로 만들어야할 것 같습니다

운영 중인 서비스를 개발할 땐, npm에서 패키지를 설치할 때 웬만하면 캐럿(^)을 붙이지 않고 사용해야할 것 같습니다

Read more

Building AI Sales Pipeline That Actually Researches: Multi-Agent Orchestration with tool-use

Building AI Sales Pipeline That Actually Researches: Multi-Agent Orchestration with tool-use

계속 우리를 괴롭혔던 문제 세일즈 파이프라인이 작동하고 있었습니다. 여섯 개의 Claude 에이전트가 각자 역할을 수행했습니다: 회사를 조사하고, 솔루션을 매핑하고, 제안서를 작성하고, 딜 규모를 추정하고, 이메일을 작성합니다. CLI 명령어 하나면 몇 분 안에 개인화된 세일즈 제안서가 완성되었습니다. 하지만 거기에는 거짓말이 내재되어 있었습니다. "리서처" 에이전트는 실제로 아무것도 조사하지 않았습니다. "Koelle GmbH, Germany"

By Sardor Madaminov
배타적 서브타입(Exlusive Subtype) 테이블 설계와 백엔드 구현

배타적 서브타입(Exlusive Subtype) 테이블 설계와 백엔드 구현

배타적 서브타입이란? 데이터베이스 테이블 설계에서 슈퍼타입(Super Type)과 서브타입(Sub Type)은 공통 속성을 기준으로 엔티티(테이블)를 상위/하위로 나누는 데이터 모델링 기법입니다. * Super Type (상위 엔티티) * 여러 엔티티가 공통으로 가지는 속성을 모아 놓은 엔티티 * 식별자(PK, ID)를 포함한 공통 정보를 가지고 있음 * Sub Type (하위 엔티티)

By Plato Jung