Node

    [NodeJS] request모듈의 qs에 Object.assign 사용하여 배열넣기

    [NodeJS] request모듈의 qs에 Object.assign 사용하여 배열넣기

    업무를 보던 도중 api를 통해 통신을 하려는데 글세 쿼리스트링에 배열을 넣어야하는 일이 있었다... 세상에,, get방식 쿼리스트링에 배열이라니 ㅠㅠ 쿼리스트링에 일단 대괄호를 넣는것부터 쉽지 않았다. 일부분만 보여주자면 api 문서에 따르면 ?id[]=1&id[]=2&id[]=3 이런식으로 전송을 해야했는데 이런식으로 전송을 하게 되면 대괄호가 인코딩 되어 전송이 되어서 그런지 통신이 제대로 되지 않았다. PostMan을 사용하여 전송해서 피들러로 데이터를 따보았을 때는 id[]=1 의형태로 URL이 잘 전송이 됐는데 노드를 통해 request를 쐈을때는 id%5B%5D=1 의 현태로 전송이 되는 것이엇다... url에 직접 입력하는 방식으로 사용해도 되지만 나의 경우는 그런식으로 사용할수가 없는 구..

    [NodeJS] npm ERR! code ENOENT npm ERR! syscall rename

    [NodeJS] npm ERR! code ENOENT npm ERR! syscall rename

    회사 업무를 집에서 봐야할때나 재택근무를 할떄 TeamViewer라는 원격프로그램을 이용해서 회사 컴퓨터를 집 컴퓨터에서 사용할수 있도록 원격 환경을 만들어서 수행했었는데 집에서 회사 업무 환경 세팅도 해둘겸 세팅하는거 다시한번 해볼겸 집에 회사 개발환경을 세팅해보기로했다... ( 사실 최근에 신입분 세팅을 도와주는데 다 까먹어서 살짝 현타가 오기도했다. ) 이전에 잘 안되던 부분도 어찌어찌 잘 해결했는데 npm i 가 안되는것이다... 도대체 왜안되는거지!! npm WARN @name@version No repository field. npm ERR! code ENOENT npm ERR! syscall rename npm ERR! path /home/cine/개인정보보호차.../node_modules/..

    [NVM] nvm 설치하기

    [NVM] nvm 설치하기

    NVM은 노드 버전 관리를 수월하게 할수 있도록 도와주는 역할을 하는데요. 저같은 경우에는 여러가지 노드 버전을 사용해야하는 경우가 있어서 NVM을 아주 유용하게 사용하곤 합니다. https://github.com/coreybutler/nvm-windows/releases Releases · coreybutler/nvm-windows A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows github.com 위 깃허브 주소를 들어가보면 nvm-setup.zip이라는 압축파일이 있습니다. 해당 압축 파일을 다운받아서 압축 해제를 해주면 nvm-setup.exe파일이 있습니다. nv..

    [ReactJS] Concurrently로 클라이언트와 서버 한번에 실행하기

    [ReactJS] Concurrently로 클라이언트와 서버 한번에 실행하기

    지금까지 서버를 킬때 React와 Node를 따로따로 실행시켰었습니다. 하지만 Concurrently라는 라이브러리를 활용하면 한번에 실행시킬수가 있는데요. 먼저 라이브러리를 설치해보겠습니다. npm install concurrently --save 설치가 되었습니다. https://www.npmjs.com/package/concurrently concurrently Run commands concurrently. Latest version: 7.0.0, last published: a month ago. Start using concurrently in your project by running `npm i concurrently`. There are 1113 other projects in the n..

    [ReactJS] CORS이슈 해결을 위한 Proxy 설정

    [ReactJS] CORS이슈 해결을 위한 Proxy 설정

    앞선 포스팅에서 프론트서버의 3000번포트에서 백엔드서버인 5000번포트로 요청을 보낼때 CORS policy에 의해서 막혔다라는 에러가 발생했었는데요. 서버는 포트가 5000번이고 클라이언트는 3000번으로 다르기 때문에 설정이 따로 없다면 request를 보낼때 CORS 정책에 의해 막혀버리게 됩니다. CORS정책이 왜 있냐하면 다른 웹사이트에서 우리 서버로 뭔가를 보낸다면 보안적으로 문제가 발생하겠죠? 그런 보안적인 문제 때문에 CORS가 있는 것입니다. CORS는 Cross-Origin Resource Sharing의 약자입니다. Cross는 왔다갔다 하는것을 의미하고 Origin은 각 서버에서의 3000번 5000번을 의미하는데 Origin이 다른것입니다. 말그대로 Origin이 Resource..

    [ReactJS] 데이터 흐름과 Axios사용하여 요청보내기

    [ReactJS] 데이터 흐름과 Axios사용하여 요청보내기

    현재 프로젝트에서는 Server(NodeJS)가 있고 Client(ReactJS)가 있고 DataBase(MongoDB)가 있습니다. 데이터의 흐름을 보자면 User가 로그인을 하고싶다면 Client에서 ID와 Password를 적어서 로그인 버튼을 누르게 될것입니다. 그러면 그 요청에 Server에 들어오게 되고 Server는 DataBase에서 유저 정보를 찾고 ID가 있다면 Password가 ID와 일치한지를 확인하게 됩니다. 만약 일치한다면 성공했다고 response하면되고 비밀번호가 틀리거나 유저가 존재하지 않는다면 그런 내용을 클라이언트에 전달을 하게 될것입니다. 앞서 NodeJS에서는 클라이언트 부분이 없어서 포스트맨을 이용했었는데요. 이제부터는 React를 이용한 클라이언트를 이용해서 요청..

    [TypeScript] 타입스크립트 설치하기

    [TypeScript] 타입스크립트 설치하기

    저는 주로 타입스크립트를 사용할때 VSCODE를 사용합니다! 또 타입스크립트를 설치하여 사용하기 위해서는 우선 node가 설치되어 있어야합니다. 노드가 설치 되어 있어야 타입스크립트 설정에 필요한 명령을 수행할수 있기 때문이죠. npm i typescript -g 터미널창에서 해당 명령을 수행하면 설치가 되는데요! 윈도우 쓰시는분들은 cmd 창에서 설치하셔도 되더라구요!( 물론 저도 윈도우 씁니다 ) 여기서 npm이란 node JS의 한 부분으로 node package manager의 약자로 여기에서는 타입스크립트를 설치 하기 위해 사용되는 도구라고만 이해하겠습니다. 또한 i는 install의 약자로 install을 사용해도 무관합니다. -g는 글로벌 옵션으로 전 영역(컴퓨터 내부 모든곳)에서 사용하겠다..

    [NodeJS] 노드 설치하기!

    [NodeJS] 노드 설치하기!

    우선 Nodejs 홈페이지로 들어가보겠습니다. https://nodejs.org/ko/ ​ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org nodejs홈페이지의 메인화면입니다. 메인페이지에서 바로 설치화면으로 넘어갈수 있는데요. LTS로 설치하도록 하겠습니다. ​ 이제 설치파을을 다운받았으니 설치를 해보겠습니다! ​ ​ 사실 노드 설치는 매우 간단합니다. 그냥 Next만 눌러주면되요! ​ 여기에서는 체크를 해주어야 다음으로 넘어갈수가 있습니다. ​ 다운로드 하면 경로를 따로 설정하지 않으면 Program Files에 다운로드가 됩니다. ​ 그냥 바로 Next를 누르겠습니다. ​ 사실 이게 ..