전체 글
-
카카오톡채널 AI챗봇 콜백API를 사용방법 간단 정리 (Express)Nodejs 2023. 8. 31. 08:03
콜백API? 카카오톡채널의 챗봇을 이용할 때 요청한 스킬의 응답시간이 5초를 넘어가면 요청시간 초과로 타임아웃이 나버린다. 대부분의 경우에는 API 응답 시간이 5초를 넘어가지 않겠지만, 생성AI처럼 요청의 결과를 얻기까지 지연시간이 길게 발생하는 경우에는 5초 안에 응답을 만들기가 쉽지가 않다. 다행히 카카오에서는 이런 경우를 대비하 "콜백API"라는 기능을 제공하며, 이는 별도로 AI챗봇 사용허가를 받은 이후에 사용이 가능하다. 챗봇 관리자센터 개요 · 도움말 - 챗봇 관리자센터 { const { action, userRequest } = req.body; const { callbackUrl, user } = userRequest; // do stuff const url = `${KAKAO_PROMP..
-
"The inferred type of X cannot be named without a reference to Y" 에러 해결법 총정리 (pnpm, yarn berry, monorepo)Typescript 2023. 8. 30. 21:16
pnpm 혹은 yarn berry으로 모노레포 프로젝트를 사용하다보면 심심치 않게 등장하는 에러다. 원인 원인은 간단하다, 의존성을 hoisting하여 평면적으로 설치하여 관리하는 npm이나 yarn과는 다르게, pnpm은 간접적인 의존성, 즉 X라는 의존성을 설치했을 때 X가 의존하는 Y들은 .pnpm이라는 경로 아래에 따로 설치하고 심볼링크를 통해 접근한다. 이 때문에 간혹 Y에 있는 타입을 사용하려할 때 타입스크립트에서 경로를 찾아가지 못하는 문제가 발생하곤한다. 그리고 이 문제는 tsconfig에서 "declaration": true 설정을 하는 경우에만 발생한다. 단순히 실행코드에서는 타입스크립트의 컴파일러가 함수의 매개변수나 리턴값 등을 찾아가면서 타입을 추론해주지만, 함수도 변수도 존재하지 ..
-
ESM에서 alias path 사용하기 (module-alias)Nodejs 2023. 8. 13. 12:31
module-alias 최근 한 프로젝트의 모듈 시스템을 ESM으로 업데이트하다가 ESM에서는 기존에 alias path를 사용하던 방식이 먹히지 않는 것을 확인했다. CJS 프로젝트에서는 module-alias라는 라이브러리를 이용해서, 사용중인 alias path들을 빌드 경로와 직접 맵핑해주는 방식을 사용해왔다. 예를들어, // alias.ts import { join } from 'node:path'; import moduleAlias from 'module-alias'; const DIST_PATH = join(__dirname, '..', 'types'); moduleAlias.addAliases({ types: DIST_PATH, }); // index.ts import ./alias.ts;..