기존에 state로 송/수신 하던 코드를 없애고 Vercel AI SDK로 리팩토링을 했더니, 기존의 자잘했던 버그들이 모두 수정됐다. 4가지 서로 다른 성격을 가진 챗봇과 테스트를 진행했는데 답변의 퀄리티를 제외한 대화의 연결은 매우 자연스러워졌다.
답변의 퀄리티는 프롬프트의 수정을 거치면 더 좋아질 것 같다.
Use 'const' with the constructor to improve performance.
const
에 대해 동일한 메모리 부분을 할당하여 객체를 불변으로 만든다. 즉, 앱을 실행할 때 단 한 번만 생성한다는 것이다. 그렇기 때문에, 리소스 낭비를 막을 수 있다.const
는 컴파일 타임에서 정의된다.(!= final
: 런타임에서 결정된다.)App
에서 온다.StatelessWidget
은 아주 기초적인 Widget
이다. 화면에 무언가를 띄워주는 것 말고는 하는 일이 없다.Root Widget의 build함수
는 두 개의 옵션 중 하나를 return 해야 한다. ➡️ 1. MaterialApp 2. CupertinoApp
hostname "~" is not configured under images in your next.config.js
➡️ 외부에서 이미지 파일을 불러왔을 때 발생하는 에러next.config.js
에 아래와 같이 코드를 추가해야 한다. module.exports = {
images: {
domains: [hostname 추가]
}
}
typing.d.ts
에 자주 사용하는 type들 설정🇰🇷
Buddies-NextJS 마이그레이션 진행
react-responsive-carousel
사용)headless-ui
사용)overflow:hidden
이다. 기본 제공되는 css를 수정해도 변화는 없기에, css를 새로 만들어 overwrite했다.breakpoints
를 수정했다. (TailwindCSS의 sm, md, lg는 기준에 맞지 않아서, 새로 값을 설정했다.)[트러블 슈팅]
Cross-Origin-Opener-Policy policy would block the window.closed call.
NextRouter was not mounted
보다 자세한 내용은 개발기에 따로 포스팅..
some
함수를 사용해서 처리했다. some
이란, 배열 또는 객체에서 조건에 맞는 값을 찾는 함수이다. 값이 있다면 true
, 아니면 false
를 반환한다.[배열 or 객체].some(value => value === 찾는값);
호캉스
새로운 달이 시작된 만큼 열심히 살자