Node.js 썸네일형 리스트형 Node.js 버전관리 변경 및 설치 (n) 이번에 새로운 회사로 이직을 하게 되면서 새로운 환경에서 새롭게 다시 회사에 맞는 세팅 및 환경설정을 진행하고 있다. 현재 날짜 기준 node.js의 lts 버전은 16.대 버전인데 14.대 버전으로 바꾸어줄 필요가 있어 검색해보다 쉬운 방법이 있어 정리해본다. 'n'패키지를 활용하면 되겠다. https://www.npmjs.com/package/n 바로 설치를 해주고 난 뒤에 sudo npm install -g n 잘 설치가 되었는지 확인해준 뒤에 n --help 를 통해 많은 명령어들을 볼 수 있겠지만 아래 정도의 명령어만 알고 있어도 충분히 원하는대로 버전을 바꿀 수 있을 것이다. n latest : 최신 버전 n lts : lts 노드 버전 n x.x.x : 특정 x 버전 n ls : 설치된 버전.. 더보기 Cannot find module 'html' node.js 에서 특정 html 파일과 css js 파일을 뿌려줘야 했는데 처음에 그저 폴더를 만들어서 그 안에 html 파일과 관련된 파일들을 넣어주고 경로를 설정해주었지만 이렇게 콘솔에 에러가 뜨면서 제대로 작동하지 않았다. 우선 먼저 뷰 엔진을 컨트롤 해줘야 하는데 내가 해결한 방법을 적어보겠다. npm install ejs 전체 코드중에 관련 있는 부분만 따왔다. //////////////////////////////////////// const ejs = require("ejs"); const app = express(); app.use(express.static(__dirname + '/public')); app.set('views', __dirname + '/public/views'); /.. 더보기 유용한 npm 명령어 (search, info, list,uninstall ) 리액트를 개발하면서 혹은 노드로 서버를 개발하면서 우리가 쓰는 npm 명령어들은 어찌 보면 정해져있었다. (본인 기준....); 필요한 패키지가 있으면 npm install (--save)(-g) 패키지명 혹은 build 나 start 를 할 때 npm run build npm start 이번엔 다른 명령어들을 하나 하나 써보면서 용도를 알아 보겠다. npm search '특정단어' 특정단어가 패키지명에 포함되거나 설명, 만든 사람, 혹은 키워드등에 포함되어 있는 패키지들을 보여주는 명령어 npm info '패키지명' 해당 패키지에 대한 간단한 설명들을 나타내주는 명령어로 대략적으로 필요한 내용들은 단번에 알 수 있을것 같다. npm list 현재 자신의 패키지가 의존하고 있는 패키지는 어떤 것들이 있는.. 더보기 Node.js 비동기 프로그래밍과 이벤트 우선 동기적 프로그래밍과 비동기적 프로그래밍의 차이를 알아보자. 콘솔에 어떻게 출력되는지 보기 전에 본인이 예상한 출력 순서를 미리 예상해보고 밑에 사진을 보면 좋겠다. 순서대로 잘 나왔다. 그럼 이번엔 비동기적 프로그래밍을 한번 보겠다. 딱 봐도 파일을 읽는 함수명부터 달라지긴 했지만 예상하듯이 출력되는 결과의 순서를 한번 예상해보고 결과를 보면 요로케 출력되어 있는 것을 볼 수 있다. 여기서 '콜백' 이라는 개념이 나오게 되는데 쉽게 말해서 ~~가 끝나고 실행될 함수 라고 보면 되겠다. 첫번째 코드와 달리 두번째 코드에선 3번째 인자로 콜백함수를 넣을 수 있는데 프로세스를 한번 살펴 보면 우선 첫번째 코드 1.start 출력 2.fs.readFileSync 함수 실행(파일 읽기) 후 msg 상수에 저.. 더보기 Swagger 란? 오늘은 가볍게 Swagger에 관해 경험삼아 정리해보려 한다. 먼저 Swagger 란 어떤 것인지 한 번 정의해보자. Swagger는 개발자가 REST API 서비스를 설계, 빌드, 문서화 할 수 있도록 하는 프로젝트이다. 즉, 쉽게 말하면 API가 담긴 문서를 만들어서 프론트 개발자에게 전달 혹은 따로 문서화 해 놓을수 있는 프로젝트이다. 지금까지 일을 하면서 백엔드에서 만들어서 제공해준 API 를 많이 사용했다. 하지만 그 전까지 일일이 수기 혹은 카톡등 으로 일일이 혹은 수정사항이 있을 때 마다 요청하거나 수정을 부탁하는 등 음 상당히 아날로그적으로 작업했었다. 보면 알다시피 그냥 편리함의 끝판왕이었다. 물론 정해진 속성명, 양식에 맞게 작성을 하는 백엔드에는 수고로움이 있겠지만 api문서를 받아서.. 더보기 Handling Different Routes url을 통해 우리가 정해둔 주소로 client에서 request 가 왔을 때 해당하는 데이터를 response 해주는 것이 서버의 인지상정이므로 한번 다루어 보겠다. 저번에 배운 next()도 쓰일 떄가 있으니 한 번 적용해보자. 우선 express에서 use()메소드를 이용해서 route를 구현할 건데 미들웨어 설정해주듯이 해주지만 첫번쨰 인자로 경로를 설정해주면 된다. 간단한 사용법은 이렇다 그럼 한번 각각 '/' 와 '/add'를 요청해보자. 예상한 결과물은 /를 호출했을때 nodie 문구가 보여야 되고 add를 호출했을떈 ADD 문구가 보여야 된다. 결과는 이렇다. 위에서부터 아래로 진행되기 때문에 request 의 주소가 이미 디폴트 주소인 / 와 매치되어서 그다음으로 넘어가지 않고 처리되고 .. 더보기 Nodejs Middleware 구현 하기 ( next() ) 먼저 간단히 미들웨어에 대해 어느정도의 개념정도만 짚고 넘어가면 되겠다. 미들웨어는 요청이 이루어지는 단계와 단계 사이에서 작업을 하는 것을 말한다. 즉 서버쪽에 request가 와서 response를 내보내주려 하는 그사이에 일어나는 작업들을 말한다. (데이터 가공, 선별 등을 할 수 있겠죠?? 다른 여러가지두 ) 물론 미들웨어를 통해 작업할 일이 1개만 있는 경우도 있겠지만 단계별로 구현을 할 경우도 있겠다. 요청이 올 때마다 로그를 찍고, 혹은 시간을 표시하고 혹은 콘솔로 특정 텍스트를 찍어내고 이제 경로에 맞는 라우터에서 처리를 하려고 하거나 다른 비즈니스 로직으로 보내려 할 때 next()를 쓰게 되겠다. ** 한 번 요청온 리퀘스트를 첫번쨰 middleware 함수에서 살리고 다음 로직으로 넘.. 더보기 Nodejs Express.js 란 유튜브에 노드 관련 강의 검색을 해봐도 여러 강의 사이트에 노드관련된 것을 검색해봐도 항상 딸려오는 세트가 있다. Express.js 라는 것인데 이것이 뭔지 한번 알아보자. 우선 한 가지 확실한 건 왜 쓰는지를 알아야 한다. 예를 들어 express 없이 request의 body 에 접근해서 데이터를 파싱해보자. 우선 express 없이 순수nodejs 로만 해보려면 설정해둔 url에 맞는 주소가 입력되고 request.on('data' , () => (chunk) ~~~~~ 등 접근을 해서 만들어둔 빈 배열에 넣어주고 end 이벤트가 발생했을 때 노드에서 기본으로 제공하는 Buffer에 넣어준뒤 대충 간단한 데이터 받아오는데도 상당히 불편한 작업이 이루어진다. 받아오는 데이터 타입에 Buffer 에 .. 더보기 이전 1 2 다음