본문 바로가기
728x90
반응형

All Side/Runtime > NodeJS19

NodeJS Version nvm을 통해 올리기 React Native 좀 할까 하고 이거저거 만져보다가 버전 올리라고 해서 올려봤다.대충 npm version update 뭐 이런 cli로 되면 얼마나 좋을까 싶은데 안된다. nvm을 통해 수행해야하는데 node version manager의 약자이다.nvm은 여러 버전의 Node를 쉽게 괸리할 수 있게 해준다. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash물론 그러기 위해서는 nvm 부터 설치해야한다. 잘 설치가 됐다면 아래 명령어를 연달아 해준다. nvm install --ltsnvm use --ltsnode -v두번째 명령어를 사용해 성공적으로 실행됐다면 Now using node v20.15.1 (.. 2024. 7. 21.
fs.rmdir error - ENOENT: no such file or directory, open 'x' 에러 if (files) { for (const file of files) { formData.append(file.fieldname, fs.createReadStream(file.path), { filename: file.originalname }); } formData.append('data', body); fs.rmdir('uploads/run', { recursive: true }, err => { if (err) { console.log('file 삭제 오류: ', err); } else { console.log('file 삭제 완료'); } }); } 솔직히 말해서 ENOENT: no such file or directory, open 'x'라는 에러문구는 심플하다. 경로에 적힌 대로 갔는데 .. 2023. 4. 5.
[YarnBerry] yarn으로 express 초기세팅 오류 해결 - Cannot find module 'x' or its corresponding type declarations.ts(2307) import로 모듈을 가져올 수 없다? 최근에 패키지 관리를 npm이 아닌 yarn berry로 하게 되었다. 아직 익숙하지 않는데 import부터 안될줄은 생각도 못했다 🤣 @types 때문인가? typescript는 쓰면 분명 npm i [모듈이름]으로 다운 받았는데도 안되는 경우가 있다. 그러면 vscode에서 친절하게 npm i @types/[모듈이름] 해줄까 라고 물어본다. @types로 한 번 더 모듈을 다운로드느 하는 이유는 JavaScript엔 필요 없는 타입추론을 TypeScript에서는 하기 때문이다. yarn add @types/express --dev 그래서 바로 yarn add 명령어를 이용해서 다운로드 해줬지만 여전히 오류가 사라지지 않았다. VSCode에 쓰려면 다음과 같은 절.. 2023. 3. 7.
인코딩 된 문자열 생성하기 btoa()는 NodeJS에서 사용 ❌ const encodedData = btoa('Hello, world'); // 문자열 인코딩 const decodedData = atob(encodedData); // 문자열 디코딩 문자열을 인코딩할 일이 있어 이거저거 알아보다가 JavaScript에서 제공해주는 btoa() 함수가 있다는 것을 알게 되었다. 바로 사용해주겠어 하고 NodeJS 로직에 작성해보니 아래와 같이 btoa이 이상하다. 마우스를 올려보니 The signature '(data: string): string' of 'btoa' is deprecated. 라는 메시지가 뜬다. 찾아보니 Node에선 더이상 btoa()와 atob()를 사용하지 않는다고 한다. 그러면 어떻게 해야할까? Buffer.. 2023. 2. 14.
백엔드에서 페이지네이션 하는 방법 2가지 MongoDB or JavaScript 페이지네이션 페이지네이션은 데이터를 컨트롤 방식이 아닌 버튼 형식으로 보여주는 방식을 말한다. 방대한 데이터를 다룬다면 끝없이 내려가는 컨트롤 방식보다는 버튼 형식이 더 낫다고 생각한다. 백엔드 개발자이기 때문에 프론트가 아닌 백엔드에서 데이터 전달 시에 어떻게 페이지네이션 할 수 있는지 알아보도록 하자. 1. MongoDB 메소드 사용하기 가장 간단하면서, 자주 사용하는 방식이 아닐까 생각한다. const page = Number(req.query.page || 1); // 현재페이지 const perPage = Number(req.query.perPage || 10); // 페이지 당 게시글 수 const total = await Post.countDocument({}); // MongoDB 함수 사.. 2023. 2. 10.
[Error] Sharp - Error: Input file is missing / Error: Input buffer contains unsupported image format + Axios로 파일 통신 받을 때 생기는 오류 npm sharp란? NodeJS에서 이미지를 resize하고 싶을 때 자주 사용하는 라이브러리는 sharp라고 할 수 있다. Weekly Downloads가 100만이 넣을 정도로 많은 개발자들이 사용한다. 이미지를 Resizing 해줄 뿐만 아니라 Compositing 등 이미지에 한해서는 다양한 기능이 있다. 궁금한 사람들은 아래 공식 문서를 보길 추천한다. https://sharp.pixelplumbing.com/ sharp - High performance Node.js image processing sharp.pixelplumbing.com 문제 시나리오 나의 경우 DB에 저장된 이미지를 A라는 서비스가 B 서비스로 보낼 때 문제가 생겼다. 너무 간단하게 말하는 것 같아 코드를 보면서 이야기하.. 2022. 12. 2.
[Jest] Axios undefined 해결하기 with.mock Axios로 통신하여 데이터를 잘 가져오는지 확인하기 위해 테스트 코드를 작성했다. 하지만 예상과 달리 결과값이 undefined였다. 공식문서를 확인해보니 axios를 테스트하기 위해서는 jest.mock를 써줘야했다. 공식문서 : https://jestjs.io/docs/mock-functions#mocking-modules Mock Functions · Jest Mock functions allow you to test the links between code by erasing the actual implementation of a function, capturing calls to the function (and the parameters passed in those calls), capturi.. 2022. 9. 14.
[NodeJS] code ERESOLVE ERESOLVE could not resolve 해결 클라이언트 Dockerfil을 작성 중 code ERESOLVE ERESOLVE could not resolve 라는 오류를 만나게 되었다. 오류의 원인은 npm v7에서는 npm install 충돌이 발생하면 실패한다고 한다. npm v4~6에서는 충돌이 있어도 경고만 뜨고 설치는 되었다고 한다. RUN npm install --save --legacy-peer-deps 발견한 해결 방법은 --save --legacy-peer-deps 였다. 해본 결과 Build도 잘 되었고 작동도 문제 없이 되었다. 좀 더 찾아보니 --legacy와 --force 둘 중 하나를 사용하여 해결하는 것 같았다. --legacy는 충돌을 무시하고 peerDependency가 맞지 않아도 일단 설치한다고 한다. --forc.. 2022. 8. 30.
[NodeJS] 테스트 코드 작성하기 (1) 알아버린 참맛 + 필요성 테스트 코드란 테스트 코드란 통상적으로 서비스의 품질을 확인하거나 소프트웨어의 버그를 찾을 때 작성하는 코드이다. 쉽게 말해서 내가 짠 코드가 잘 동작하는지 확인하는 도구이다. 또한 개발자라면 한 번씩 TDD에 대해서 들어보았을 것이다. Test-Driven Development 즉, 테스트 주도 개발이라고 불리면서 많은 개발자들이 해야하는 덕목처럼 주장하는 사람들이 많다. 채용공고나 면접에서 테스트 코드를 잘 짜는지에 대해서 물어보기도 한다. 부정적인 생각 많은 개발자들이 테스크 코드를 중요하게 생각하는데 솔직히 지금까지 필요성을 못느끼고 있었다. 오류 사항을 파악할 수 있다고 하는데 console.log를 찍든 errer 메시지를 보면 바로바로 수정이 가능하다. 오히려 테스크 코드를 먼저 짠다고 생각.. 2022. 8. 24.
728x90
반응형