본문 바로가기

728x90

Yura

(64)
[ Jest ] toBeCalledWith vs toEqual toBeCalledWith : jest.fn()과 같은 Mocking Function에서 사용된다.해당 함수가 몇번 호출되었는지 검사하거나 호출된 인수를 검사하는데 사용되고 주로 함수가 어떤 인수로 호출되었는지에 관심이 있을 때 사용한다.toEqual: jest에서 객체나 값의 동등성을 검사할 때 사용되고, 주어진 두 값이 완전히 동일한지 확인할 때 사용한다.예를들어 ,exports.isLoggedIn = (req, res, next) => { if (req.isAuthenticated()) { next(); } else { **res.status(403).send('로그인 필요');** }};위와같은 함수가 있을때 jest를 사용해서 테스트 할 경우 아래와 같이 작성할 수 있다.test..
4장 http 모듈로 서버 만들기 4.1 요청과 응답 이해하기 포트: 서버 내에서 프로세스를 구분하는 번호 80번 포트의 경우 주소에서 생략 가능 const http = require('http'); http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' }); res.write('Hello Node!'); res.end('Hello Server!'); }) .listen(8080, () => { // 서버 연결 console.log('8080번 포트에서 서버 대기 중입니다!'); }); http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'te..
3장 노드 기능 알아보기 3.1 REFL 사용하기 REFL (Read Eval Print Loop): 코드를 읽고 해석하고 결과물을 반환하고 종료할 때 까지 반복하는 것 (자바스크립트는 스크립트 언어이므로 미리 컴파일 하지 않아도 즉석에서 코드실행이 가능) 3.2 JS 파일 실행하기 예제파일 실행하여 파일 디렉터리로 노드 실행 3.3 모듈로 만들기 모듈: 특정한 기능을 하는 함수나 변수들의 집합 보통 파일 하나가 모듈 하나이며 파일별로 코드를 모듈화 할 수 있어 관리가 용이 노드 모듈 종류 CommonJS 모듈 ECMAScript 모듈 3.3.1 CommonJS 모듈 노드 생태계에서 가장 널리 쓰이는 모듈 (표준 이전부터 쓰였기 때문에 표준이 아니어도 널리 쓰인다.) cf. exports vs module.export 차이 //..
2장 알아둬야 할 자바스크립트 2.1 ES2015+ const 와 let const: 변수 재선언, 재할당 불가능let: 변수 재할당 가능, 재선언시 오류 발생 → 따라서, 변수 선언시 기본적으로 const 사용, 재할당시 let 사용 템플릿 문자열 `${변수}` → 사용시 따옴표 사용+가독성 향상 객체 리터럴객체란? 배열이나 함수가 아닌 이외의 형태를 갖춘 것 객체 리터럴 안에 동적 속성 선언 가능 const name = "김유라" const year = 1999 const month = 3 const date = 2 const gender = "F"; -------------------------- const info = { name = "김유라" year = 1999 month = 3 date = 2 gender = "F"; }..
1장 노드 시작하기 1.1 핵심 개념 이해하기 Node.js란 Chrome V8 Javascript 엔진으로 빌드된 자바스크립트 런타임 libuv 라이브러리 이벤트 기반 논블로킹 I/O 구현 이벤트 기반 (Event-driven) 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식 이벤트 루프(event loop) 여러 이벤트가 동시에 발생했을 때 어떤 순서로 콜백 함수를 호출할지 이벤트 루프가 판단 function first() { second(); console.log('첫번째'); } function second() { third(); console.log('두번째'); } function third() { console.log('세번째'); } first(); 호출순서: first() → second() → th..
미들웨어(Middleware) 미들웨어란 ?"Middleware functions are functions that have access to the request object (req), the response object (res), and the next function in the application’s request-response cycle."미들웨어 함수는 req(요청) 객체, res(응답) 객체, 그리고 어플리케이션 요청-응답 사이클 도중 그 다음의 미들웨어 함수에 대한 엑세스 권한을 갖는 함수미들웨어란 간단하게 말하면 클라이언트에게 요청이 오고 그 요청을 보내기 위해 응답하려는 중간(미들)에 목적에 맞게 처리를 하는, 말하자면 거쳐가는 함수들이다.내장되어있는데 왜 따로쓸까 ? → 내장되어있는 기능 이외에도 다양한 기..
HTTP 상태코드 3xx 상태코드 3xx (Redirection)클라이언트는 요청을 마치기 위해 추가 동작을 취해야 함을 의미301 Moved Permanently 영구 이동 지정한 리소스가 새로운 URI로 이동하였다.이동할 곳의 새로운 URI는 응답 헤더 Location에 기록합니다.302Found다른 위치 찾음요청한 리소스를 다른 URI에서 찾았다.요청한 URI가 없으므로 클라이언트 메소드를 그대로 유지한 채 응답 헤더 Location에 표시된 다른 URI로 요청을 재송신할 필요가 있습니다. 302의 의미를 정확하게 개선해서 307을 정의하였으므로 이 응답 코드의 사용은 권장하지 않습니다.304Not Modified수정되지 않음마지막 요청 이후 요청한 페이지는 수정되지 않았다.If-Modified-Since와 같은 조건부 G..
[자바스크립트] 최대 매출 (Sliding Window) 문제 현수의 아빠는 제과점을 운영합니다. 현수 아빠는 현수에게 N일 동안의 매출기록을 주고 연속 된 K일 동안의 최대 매출액이 얼마인지 구하라고 했습니다. 만약 N=10이고 10일 간의 매출기록이 아래와 같습니다. 이때 K=3이면 12 15 11 20 25 10 20 19 13 15 연속된 3일간의 최대 매출액은 11+20+25=56만원입니다. 여러분이 현수를 도와주세요. ▣ 입력설명 첫 줄에 N(5

728x90