본문 바로가기
반응형

개발/node.js5

[node.js] 작업전에 JWT토큰 검증하기!! JWT란 ? Json 포맷을 이용하여 속성을 저장하는 Claim 기반의 Web Token 토큰 자체를 정보로 사용하는 Self-Contained방식 JWT를 알아보는 게시물이 아니므로 정의정도만 알아보도록 하겠습니다. JWT가 무엇인지 어떤용도로 사용되는지 궁금하신분은 google에 검색하면 많이 나옵니다. 작성할 로직 로그인에 성공하면 JWT토큰을 만들어서 사용자에게 반환한다 요청이 있을때 JWT토큰이 있는지, 있으면 유효한 토큰인지 검사후에 요청을 실행한다. 우선 jwt module이 필요합니다 npm i jsonwebtoken 을 실행해 jwt module을 설치하도록 합니다. 주요로직 설명 jsonwebtoken module을 사용하여 데이터부분, 시크릿키, 만료시간을 설정한다. const jwt.. 2020. 5. 30.
[node.js] 페이지 이동 필자는 프론트 프레임워크를 학습하는 시간에 조금이라도 더 백엔드를 공부하고 싶었기때문에 프론트 프레임워크대신 고전적인 html파일로 작성하는 스타일을 선택했다. 여기서 문제가 발생했다. Spring framework는 단순히 js에 href 이벤트를 적어주고 controller에서 경로만 맞춰주면 됐었다. node도 그럴줄 알았으나 node는 추가적인 작업이 필요했다. 긴말 필요없이 하는방법만 적도록하겠다. npm install ejs을 통해서 모듈을 install한다. 일단 폴더구조는 위와같다. src 파일에 있는 app.js에 아래와 같이 설정해준다. router/index.js 파일에서 페이지이동시 사용할 router를 use해주었다. router/page/index.js 에서 page.router.. 2020. 5. 23.
should.have.property가 제대로 동작 안할 때 should.have.property가 제대로 동작을 하지않았습니다. 문제의 코드는 아래와같습니다. 생각대로라면 정상적으로 등록을 한후에 result를 가지고있으므로 통과해야합니다. 그러나 테스트는 계속실패했습니다. 머리로 도저히 이해할수가 없었습니다. 로직상 틀린게 하나도 없었기때문입니다. 하지만 문제는있었습니다. 찾았나요 ? 문제는 바로 아래와 같습니다. 정확하지는 않지만 필자의 생각으로는 204코드는 return값이 비어있다는것을 의미하므로 가지지 않는것같습니다. status를 200으로 바꾸면 정상적으로 작동합니다. 2020. 5. 3.
node.js TDD에 필요한 모듈 TDD에 도움을 줄 수 있는 모듈이 있다. mocka should supertest 위 세가지 모듈을 이용하여 테스트코드를 보다 쉽게 작성할 수 있다. 2020. 5. 1.
node.js 란 ? 이벤트 기반의 I/O 비동기 프레임워크 어떠한 요청이 오면 node는 이벤트라는것으로 만들어서 큐에 쌓는다. 이벤트 루프를 이용하여 큐에있는 이벤트를 실행하고 요청한 클라이언트에 답해준다. 이벤트 루프는 싱글 스레드로 이루어져있다. (node가 싱글 스레드가 여기서 나온말) 무거운 동작(disk에 있는 파일읽을때, 외부 네트워크 통신을 해야할때 등)은 이벤트루프가 실행하지 않고 다른 스레드에게 위임한다. 모듈 시스템 모듈이란 독립적인 하나의 소프트웨어이다. node.js는 파일은 모듈이된다. 2020. 4. 30.