node.js(노드)
-
[Node.js] Jest를 이용한 테스트 코드 적용(2) Matcher정리node.js(노드) 2021. 4. 19. 11:05
Matcher 종류 Jest에서 사용되는 Matcher 종류 toBe() 숫자나 문자와 같은 객체가 아닌 기본형값을 비교할 때 사용됩니다. let indexA = 10; let indexB = 20; test("tobe", () => { expect(1).toBe(1) expect(2).toBe(2) expect("jest").toBe("jest") expect(false).toBe(false) expect(indexA+10).toBe(indexB) }) toMatch() 정규식 기반의 테스트 문자열을 비교할경우 toBe()는 정확하게 일치하는지 체크하지만 toMatch()는 정규식을 이용해서 일부만 일치하는지 알 수 있다. test("toMatch()", () => { expect("1234567890..
-
[Node.js] Jest를 이용한 테스트 코드 적용 (1) 설치 및 사용법node.js(노드) 2021. 4. 19. 09:48
Jest Jest는 페이스북에서 만들어서 React와 더불어 많은 자바스크립트 개발자들로 부터 좋은 반응을 얻고 있는 테스팅 라이브러리입니다. 출시 초기에는 프론트앤드에서 주로 쓰였지만 최근에는 백앤드에서도 기존의 자바스크립트 테스팅 라이브러리를 대체하고 있습니다. jestjs.io/ Jest · 🃏 Delightful JavaScript Testing By ensuring your tests have unique global state, Jest can reliably run tests in parallel. To make things quick, Jest runs previously failed tests first and re-organizes runs based on how long test fi..
-
[node.js] 노드 js 교과서 정리 (2) req, res 객체node.js(노드) 2020. 10. 28. 23:18
req, res에서 자주쓰이는 객체를 설명하는부분 req 객체 req.app : req 객체를 통해 app 객체에 접근할 수 있습니다. req.app.get('port')와 같은 식으로 사용할 수 있습니다. req.body : body-paser 미들웨어가 만드는 요청의 본문을 해석한 객체입니다. req.cookies : cookie-parser 미들웨어가 만드는 요청의 쿠키를 해석한 객체입니다. req.ip : 요청의 ip주소가 담겨 있습니다. req.params : 라우트 매개변수에 대한 정보가 담긴 객체입니다. req.query : 쿼리스트링에 대한 정보가 담긴 객체입니다. req.get(헤더 이름) : 헤더의 값을 가져오고 싶을때 사용하는 메서드입니다. res 객체 res.app : req.app..
-
[node.js] 노드 js 교과서 정리 (1) 핵심 개념node.js(노드) 2020. 9. 25. 10:19
Node.js : Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임 런타임 : 특정 언어로 만든 프로그램들을 실행할 수 있는 환경 노드의 내부 구조 Node.js Core Library Node.js Bindings V8 libuv libuv 라이브러리 : 이벤트 기반, 논 블로킹 I/O 모델 구현 이벤트 기반 : 이벤트가 발생할 때 무엇을 할지 미리 등록해 두는 방식 이를 이벤트 리스너(Event Listener)에 콜백(Callback) 함수를 등록한다고 표현 이벤트 루프 : 이벤트 발생 시 호출할 콜백 함수들을 관리하고, 호출된 콜백 함수의 실행 순서를 결정하는 역할을 담당한다. 노드가 종료될 때까지 이벤트 처리를 위한 작업을 반복하므로 루프(loop)라고 부름 동기 ..
-
[Node.js] Web push 정리 (1) Service Workernode.js(노드) 2020. 9. 12. 22:31
알람 서비스 개발을 위해서 몇 주 정도 리서치를 한 후에 적어본다. 결과부터 말하면 FCM과 APNS를 사용 안 하고는 Push Service를 팀 단위로 개발한다는 것은 불가능에 가깝다는 것이다. 말 그대로 할 수는 있다. 그런데 이걸 실제로 실제 서비스로 돌려서 돈 받고 파는 것보다 FCM과 APNS로 만드는 게 효율성도 뛰어나고 돈도 절약된다.(앗! 사용료가 신발보다 싸다!!!) *카카오는 자체 Push Service를 사용한다 이제 본론으로 들어가자면 Web push Web push는 실제로 여러분이 흔하게 봤었던 기능이다. 실제로 유튜브, 혹은 커뮤니티 등 특정 사이트에 들어올 때면 사진과 같은 알림 허용 창을 봤을 것이다. 해당 사이트의 알림에 대한 권한 요청이 생기고 해당 권한을 허용한 뒤 ..
-
[Node.js] NULL, undefined가 나왔을때 의심해볼만한곳 정리(계속 업데이트)node.js(노드) 2020. 8. 18. 11:05
NULL 1. DB의 SELECT문에서 sum과 같은 계산이 있는데 해당 계산할 값이 없다면 NULL로 리턴함 -IFNULL을 추가하여 해결 undefined 1. 해당 변수를 선언하는곳이 없거나 빈 변수를 주었을경우 나타남 - 해당 변수가 제대로 이어져있는지 확인 - 해당 변수를 제대로 리턴하는지 확인 Cannot read property '0' of null 해당 배열의 0번째 값이 없는경우 ex)result[0] 다만 이것은 해당 변수가 null 일경우에만 해당한다 *null이 아닌경우 undefined값이 나온다
-
[Node.js] 이벤트처리 'EventEmitter' 사용방법node.js(노드) 2020. 8. 11. 16:00
EventEmitter는 Node.JS에 내장되어 있는 일종의 옵서버 패턴 구현이다. HTML,자바스크립트의 이벤트 리스너에서해당 이벤트를 등록해놓고 버튼에 따라 특정 이벤트를 사용하는 것을 사용해 본 적이 있을 거다. 이것도 비슷한 기능이다. 해당 변수에 여러 가지 이벤트를 등록해놓고 사용자가 원하는 이벤트를 골라 사용하는 방식이다. 우선 코드를 보자. event.js const EventEmitter = require('events'); this.eventPlay = null; this.eventPlay = new EventEmitter(); //연산자 생성 this.eventPlay.on('connection',(data)=>{//이벤트 등록 console.log("connection 시작"); c..
-
[node.js] 프로토 타입(prototype)node.js(노드) 2020. 8. 11. 14:05
이번 시간에는 프로토타입에 대해 알아보자. 자바 개발자로 취업했던 나에게는 JAVA에서의 class와 비슷한 기능처럼 사용하기 때문에(물론 자세히 보면 다름) 이해하는데 어렵지는 않았다 다만 변수 안에 생성자를 넣고 함수를 넣고 밖에서 선언하는 것은 정말 신세계였다. 마치 한국말처럼? 와 진짜 이거 어렵다. 진짜 와 이거 어렵다. 이거 와 진짜 어렵다. 와 이거 진짜 어렵다. 이번 글에는 프로토타입을 클래스의 상속처럼 사용하는 것과 실제 현업에서 사용한 방식을 쓰겠다. 1. 프로토 타입 상속 function Animal(name) { this.name = name; } Animal.prototype.lag = '4'; Animal.prototype.gender = "male"; var cat = new ..