본문 바로가기

Research/Node.js17

Express.js_typescript로 시작하는 방법 npm i express npm i @types/express -D 타입스크립트 사용하기 위해 Dev dependency 옵션으로 @types/express도 함께 설치해준다. // Javascript const express = require('express') const app = express() const port = 3000 app.get('/', (req, res) => { res.send('Hello World!') }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) }) Express 어플리케이션의 기본 템플릿이다. 하지만 이는 Javascript 기반으로 되어있다. Typescript로 표현하면 .. 2023. 3. 23.
npm_Package.json 파일 해석 package.json 파일이다 { "scripts": { "build": "tsc", "start:dev": "tsc-watch --onSuccess \"node dist/app.js\"", "prestart": "npm run build", "start": "node dist/app.js" }, "devDependencies": { "@types/node": "^15.3.0", "prettier": "^2.2.1", "tsc": "^2.0.3", "tsc-watch": "^4.2.9", "typescript": "^4.3.4" } } npm run start:dev를 할 경우 tsc-watch가 수정되는지 감시하고, 이를 감지할 경우 컴파일 하고 dist 폴더 내 app.js를 실행하라는 의미다. n.. 2023. 3. 23.
Node.js 성능 향상 전략에 대한 고민 들어가기 최근 실험들을 토대로 분석한 결과 VUsers 141명을 기점으로 TPS가 더 이상 늘어나지 않는 점을 파악했고, 이 지점을 임계점 또는 포화점(Saturation Point)로 정리했다. 그럼 그 다음 스텝은 무엇인가? 바로 성능을 개선하는 것이다. 사실 성는을 개선하는 방법은 많다. 선택권이 많기에 오늘 내가 생각할 부분은 우리에게 어떤 선택권들이 있고 그중 어떤 선택권이 최적의 선택인지에 대해 결정하는 일이다. Node.js 성능에 대한 글을 봤는데, 거기에 수평적 확장과 수직적 확장에 대한 내용이 나와 참고하기로 했다. (참고 글 : https://medium.com/iquii/good-practices-for-high-performance-and-scalable-node-js-appl.. 2023. 3. 1.
nodejs_번역_고성능 및 확장 가능한 Node.js 어플리케이션에 대해 - 3 이 글은 미디엄 게시글 (https://medium.com/iquii/good-practices-for-high-performance-and-scalable-node-js-applications-part-3-3-c1a3381e1382)를 번역한 게시글입니다. 이전 두 게시글에서 어떻게 하면 Node.js를 수평적으로 확장시킬 수 있고 또 확장 시 어떤 걸 고려하면 좋을지에 대해 이야기했습니다. 이번 게시글에서는 좀더 추가적인 심화 내용에 대한 사례들을 다뤄보겠습니다. Web and Worker process Node.js가 효율적으로 일을 처리를 할 수 있는 패턴은 바로 어플리케이션을 구성하는 두 유형의 프로세스들(web process와 worker process)을 간의 reponsibilities들을.. 2023. 3. 1.