Seo Yeon, Lee

pm2 는 기본적으로 node를 기반으로 실행되는데, TypeScript 실행을 위해서 interpreter 를 tsx 로 변경해준다.

module.exports = {
apps: [
{
name: 'dashboard',
script: './src/backend/index.ts',
// interpreter: process.env.TSX,
interpreter: '/usr/bin/local/tsx',
},
],
};

tsx 의 위치는 OS 환경에 따라 달라질 수 있기 때문에, 주석해 놓은 것과 같이 환경변수를 사용하는게 더 좋다. (환경변수 설정 파일에서 which tsx 를 사용)

pm2 start ecosystem.config.js

이렇게 실행해주면 TypeScript code 가 pm2를 기반으로 잘 실행되는 것을 확인할 수 있다.

중요한 서비스라면 Build 이후 node 를 사용하는게 더 좋지 않을까 생각된다. (어쨌든 중간에 뭐 하나가 더 추가되는거니)

--

--

React 를 하는 입장에서 왜 하필 이름이 tsx 인가 싶은 녀석인데…

ts-node 대신 사용할 수 있다.

// 이걸
ts-node test.ts
// 이렇게...
tsx test.ts

예전에 봤을때는 tsconfig 의 paths 가 적용되지 않았던 것 같은데, 이제는 잘 되는 것 같다. (ts-node 는 tsconfig-paths 라는 별도의 기능이 필요하다)

tsc 대신 esbuild 를 사용하기 때문에 빠르다고는 하지만… 음… 그다지 체감은 잘 안된다.

속도 보다는 꽤 오래된 ts-node 보다 좀 현대적인 느낌이다.

특별한 이슈가 생기지 않는다면 ts-node 를 대체하게 될 것 같다.

--

--

현재 사용중인 yarn berry node-linker=node_modules 를 대체할 수 있을법한, pnpm 에는 언제나 관심이 많지만… 여전히 이런저런 자잘한 문제점들이 많은 것 같다. 종종 변경을 시도해보는 중인데 여전히 애매하네

pnpm 의 문제라기 보다는 pnpm 이 정상적으로 동작하는데 필요한 package.json 작성이 잘못된 package 들이 너무 많은게 1차적인 문제고,

2차적으로는 dependencies 항목의 하위 dependencies 에 대한 node_modules Link 를 물리적으로 작성해주지 않는건지 IDE 에서 추적이 제대로 안되는 문제가…

뭔가가 잘 작동하지 않을때 하위 dependencies 를 계속 추적해야 하는데, 이건 중간에 연결이 끊겨버리는지라 문제가 많을 것 같다. (내가 pnpm 옵션을 잘 살펴보지 않아서 이런건지 애매하긴 하지만…)

뭐… 언제나 느끼는 거지만, yarn berry PnP 이나 pnpm 모두 정상적으로 동작시키기엔 npm 에 배포된 package 들 중에 애매하게 잘못 작성된 것들이 많다. 여전히 번거롭지 않으면서도 빠르고 안정적으로 동작하는건 yarn berry node-linker=node_modules 일 것 같다…

어쨌든 아직 때가 아닌 것 같으니 나중에 다시 시도해보자.

--

--

애매하기 짝이 없는 Notion 의 API 는 도대체 뭘 만들라고 있는건지도 모르겠고, 왜 제대로 동작을 하지 않는건지도 모르겠다.

Notion 에 문서가 많아지면서 매 번 Notion 에 들어가는 것도 번거롭기도 하고, 대충 API 문서를 보니 /search 가 있길래 API Key 발급받고 돌려봤는데… 결과가 전혀 나오질 않아…

문서 제목으로 검색을 돌려봐도 전혀 결과가 나오질 않고, API 문서를 봐도 뭘 어쩌라는건지 모르겠고… (개인페이지는 검색 대상이 아닌건가? 이거 Team 요금제의 공용 문서들만 검색 대상이 되는거야?)

Page List 도 불러올 수 없는 API 라서 “뭘 어쩌라는거야…” 하면서 그냥 안쓰고 있었는데, (Page ID 들이 Listing 이 되어야 Page 랑 Block 조회를 시작할 거 아녀…) 이젠 검색이랍시고 API 는 추가해놨는데 제대로 동작을 안하니 짜증이…

Notion 을 사용하기 때문에 API 좀 제대로 업데이트 되었나? 하면서 주기적으로 문서를 확인하는 것도 짜증나고, ㅆㅂ 그냥 Lexical 사용해서 App 을 하나 만들까…

--

--

App 을 만드는건 간단한 일이지만 Spreadsheet 처럼 편한 입력 기능을 만드는건 그다지 간단하지 않기 때문에 Google Spreadsheet 에서 Query() 를 사용해서 이것저것 간단한 분석 기능들을 만드는 중이다.

SELECT C WHERE F != 'x' AND D > 0 # 데이터 없음
SELECT C WHERE D > 0 # 데이터 있음

뭐 대충 위와 같은 Query 에서 데이터가 없다는 판정이 나오는 에러가 있다.

검색 대상이 되는 F 에 x 가 입력된 것이 없기 때문에 위의 결과는 에러인건지, 아니면 내가 모르는 뭔가가 있는건지…

흠… 걍 Spreadsheet component 들을 대충 사용해서 App 을 만드는게 더 나을 것 같다는 생각이 든다. 신뢰성은 둘째치고 JOIN 같은게 없어서 한계도 있고, Script 대충 짜면 되는걸 이리저리 꼬아서 만들려니 생각보다 너무 귀찮아진다.

--

--