본문 바로가기

JavaScript│Node js67

npx cli - nest js 프로젝트 명령어 nestjs 모듈을 전역에 직접 설치했을때 파이썬 일부 모듈이나 다른 모듈이 안되는 문제가 있었다. npx 를 써서 하려고 했다. npx @nestjs/cli new npx @nestjs/cli generate controller npx @nestjs/cli generate module npx @nestjs/cli generate service 2020. 6. 25.
Nodejs 가비지 컬렉터 managed 언어에는 흔히 가비지 컬렉터가 있다. node js 의 가비지 컬렉터에 대해서 알아본다. 가비지 컬렉터는 사용되지 않는 메모리를 정리한다. GC 대상이 아닌것 객체가 포인터 체이닝을 통해서 접근 한 것 GC 대상인 것 그 외의 모든 것들은 garbage 이다. 이전의 알려진 가비지 컬렉터 - 사용되지 않는 객체를 찾고 지운다. GC 동작 시간동안 프로그램이 멈추는 stop the world 현상이 나타날 수 있다. node js 의 가비지 컬렉터는 기본적으로 mark - sweep 형태로 동작한다. mark - 동작 방식 - 루트에서 포인터를 사용해서 참조한다. 루트 객체 - 글로벌 객체나 현재 활성화되어 있는 함수 등의 알려진 살아있는 객체의 셋 객체당 2개의 마크비트(00, 10, 11.. 2020. 6. 14.
node js 스트림 node js 스트림 스트림: 배열이나 문자열같은 데이터 컬렉션 node js 에서 대량의 파일을 읽을때 그냥 읽으면 메모리 소비를 어마어마하게 하게 된다. stream 을 사용하면 메모리 소비를 많이 줄일 수 있다. 스트림은 파일을 읽고 쓸때도 쓸 수 있지만 http request, response 에서도 쓸 수 있다. http request 는 읽기 가능한 스트림이고 http response 는 쓰기 가능한 스트림이다. 스트림을 쓰지 않을때, 쓸 때 차이 스트림을 쓰지 않는다면 파일을 읽을 때 그대로 변수에 할당하고 사용해야 한다. 아래 예제처럼 말이다. const fs = require('fs'); const server = require('http').createServer(); server.on.. 2020. 6. 7.
redis 캐시 활용해서 express API 속도 높이기 서버 애플리케이션의 속도를 높이기 위한 방법은 여러가지가 있다. 그 중에서 redis 캐시를 활용하는 방법을 살펴본다. 아래와 같은 node js 코드가 있다. const express = require("express"); const axios = require('axios'); const app = express(); const PORT = process.env.PORT || 4000; app.get("/data", async (req, res) => { try { const result = await axios.get("https://api.spacexdata.com/v3/launches/latest") return res.status(200).json({ result: result.data }) .. 2020. 5. 28.
리액트 코드 빌드시 난독화하기 리액트 프로젝트를 배포했을때 난독화 하지 않으면 크롬에서 코드를 확인 할 수 있다. 코드를 난독화하려면 GENERATE_SOURCEMAP=false 옵션을 주면 된다. 2020. 5. 20.