공부 중/Node.js(52)
-
[Jest] Matcher
1. Matcher? Using Matchers · Jest Jest uses "matchers" to let you test values in different ways. This document will introduce some commonly used matchers. For the full list, see the expect API doc. jestjs.io const sum = require('./fn.js'); test('add 1 + 2 to equal 3', () => { expect(sum(1,2)).toBe(3); }); test('add 3 + 3 not to equal 7',() => { expect(sum(3,3)).not.toBe(7); }); matcher란 입력을 해석하고..
2023.03.01 -
[Jest] node.js 테스트 프레임워크
1. node.js 테스트 프레임워크 Node.js에서 가장 많이 사용되는 테스트 프레임워크는 Jest와 Mocha입니다. 다음은 많이 사용되는 순서대로 소개하겠습니다. 2. Jest vs Mocha 다음은 Jest와 Mocha의 유저 수를 비교한 표입니다. 두 프레임워크 모두 우수한 기능과 성능을 제공하며, 개발자들 사이에서 많은 인기를 얻고 있습니다. 프로젝트의 특성과 개발자의 선호도를 고려해서 선택합니다. 다음은 Mocha와 Jest의 장단점을 비교한 표입니다. Mocha와 Jest 모두 테스트를 작성하고 실행하기 쉽고, 다양한 assertion 라이브러리를 지원합니다. Mocha는 API와 플러그인이 다양하게 제공되어 유연한 테스트 설정을 제공하며, 브라우저 테스트를 지원합니다. 반면에 Jest는..
2023.03.01 -
[Javascript] Promise
1. Promise Jest를 공부하면서 비동기 처리와 관련한 내용이 나왔다. 비동기 처리를 편하게 도와주는 Promise 객체에 대해서 배웠고 활용해 보았다. Promise를 활용하는 것에 있어서 중요한 포인트는 2가지다. State : 현재 비동기 작업의 진행 상태로 Pending(처리중), Reject(실패), Fufilled(성공) Producer와 Consumer : 정보를 제공하는 P와 소비하는 C를 이해해야 한다. // Producer const promise = new Promise((resolve, reject) => { setTimeout(()=> { # 비동기 함수 try { setTimeout(()=>{ resolve('Success!');} # 처리에 성공하고 결과값을 반환 , 3..
2023.03.01 -
2023-02-19 node.js_17
WEB2 - Node.js - 생활코딩 수업소개 이 수업은 JavaScript를 이용해서 Node.js를 제어해 동적으로 HTML 코드를 생성하는 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억개의 페이지로 이루어진 웹사 opentutorials.org 생활코딩 node.js 강의 정리 0. 보안 보안 위협을 체험하고 이에 대한 경각심 느끼기. 들어오는 정보와 나가는 정보를 특히 조심하고 의심하는 자세를 가지자. 1. 입력에 대한 보안 가. URL을 통해서 허용되지 않는 파일에 대한 접근 우리는 URL을 파싱해서 파일을 읽어오는 코드를 작성한 적 있다. fs.readFile(`data/${queryData.id}`, "utf-8", function (err, description)..
2023.02.19 -
2023-02-18 node.js_16
WEB2 - Node.js - 생활코딩 수업소개 이 수업은 JavaScript를 이용해서 Node.js를 제어해 동적으로 HTML 코드를 생성하는 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억개의 페이지로 이루어진 웹사 opentutorials.org 생활코딩 node.js 강의 정리 1. 객체 사용해서 리팩터링 하기 객체를 활용해서 리팩터링 하는 시간이다. 가. 객체 선언 기존의 templateHTML과 templateList를 합쳐서 HTML과 List라는 속성을 가진 template라는 객체를 선언한다. const template = { HTML : function(title, list, control, description) { return ` Board ${list} $..
2023.02.18 -
2023-02-13 node.js_15
WEB2 - Node.js - 생활코딩 수업소개 이 수업은 JavaScript를 이용해서 Node.js를 제어해 동적으로 HTML 코드를 생성하는 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억개의 페이지로 이루어진 웹사 opentutorials.org 생활코딩 node.js 강의 정리 1. 글 삭제하기 CRUD의 D 의 의지 Delete 기능을 구현해 보자. 가. delete 버튼 만들기 delete는 링크가 아닌 버튼을 만든다. delete를 링크로 만들시에 특정한 플러그인들이 사용자의 의도와는 상관없이 링크를 실행할 수 있다. 의미론적으로 특정 페이지로 이동하는 것이 아니라 동작을 수행하는 것이기 때문에 링크보다는 버튼이 더 올바른 선택이다. 나. 확인받기 지금까진 버튼을 누..
2023.02.13 -
2023-02-13 node.js_14
WEB2 - Node.js - 생활코딩 수업소개 이 수업은 JavaScript를 이용해서 Node.js를 제어해 동적으로 HTML 코드를 생성하는 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억개의 페이지로 이루어진 웹사 opentutorials.org 생활코딩 node.js 강의 정리 1. 글 수정하기 CRUD에서 U를 담당하는 update 기능을 구현해 보자. 가. 링크 만들기 update 지금 보고 있는 파일의 이름을 id로 전달한다. update 링크는 특정한 글을 읽고 있는 중에만 보여야 한다. function templateHTML(title, list, description){ return ` ... create ${title} ${description} ... `; ..
2023.02.13 -
2023-02-12 node.js_13
WEB2 - Node.js - 생활코딩 수업소개 이 수업은 JavaScript를 이용해서 Node.js를 제어해 동적으로 HTML 코드를 생성하는 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억개의 페이지로 이루어진 웹사 opentutorials.org 생활코딩 node.js 강의 정리 0. 적용하기 사용자가 새로운 글을 생성(C)하고, 읽(R)고, 수정(U)하고, 삭제(R)할 수 있게 기존의 코드를 수정해보자. 1. 글 생성 (Create) 가. UI 만들기 새로운 글을 쓸 수 있는 페이지를 만들거다. 사용자들이 create 링크을 누르면 해당 페이지로 이동하고 거기서 새로운 글을 작성할 수 있게 하겠다. create 우선 create 링크부터 만든다. 기존의 코드에 적절한 위치..
2023.02.12