공부 중(64)
-
[Node.js] MySQL 제어하기
Node.js - MySQL - 생활코딩 수업소개 이 수업은 Node.js와 MySQL을 이용해서 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억 개의 페이지로 이루어진 웹사이트에서 필요한 정보가 파일에 하나하나 opentutorials.org 생활코딩 Node.js - MySQL 강의를 듣고서 작성한 글입니다. 그냥 그렇다고요. 1. file의 한계 소규모의 단순한 기능을 구현하기에는 파일이 좋다. 단순하고 쉽고 특별한 설치나 학습이 필요하지 않다. 하지만 파일은 한계가 있다. 우리가 만든 웹 페이지가 저장한 파일의 수가 커질수록 원하는 파일, 원하는 내용을 찾는 것이 오래 걸린다. 뿐만 아니라 파일은 제목과 본문이라는 두 가지 요소만을 표현할 수 있다. 부가적으로 작성자의 이름..
2023.03.10 -
[Nodejs] TypeError: Cannot convert undefined or null to object
1. 현상 와 Docker를 배워서 이미지를 만들어서 github container registry에 업로드했다. 신이 나버린 나는 당연히 다른 PC를 켜서 도커를 설치하고 git clone, docker-compose up을 했다. 하지만 나의 기대와는 다르게 도커는 “운영체제가 달라 저리 치워”라고 말했다. 나는 도커의 비위를 맞춰 bulidx를 이용해서 멀티 플랫폼으로 빌드했고 다시 Compose up을 했다. 그랬는데… 이 놈이 이번에는 JS 문법 오류가 있다고 에러를 낸다. 아니 맥북에서는 잘만 돌아가는데 왜 이러냐… 에러 메시지는 다음과 같다. study_nodejs-studynode-1 | TypeError: Cannot convert undefined or null to object stu..
2023.03.07 -
[Jest] Setup and Teardown
0. 참고자료 Setup and Teardown · Jest Often while writing tests you have some setup work that needs to happen before tests run, and you have some finishing work that needs to happen after tests run. Jest provides helper functions to handle this. jestjs.io 1. 설정 및 해제 테스트를 작성하는 동안에는 테스트가 실행되기 전에 수행해야 하는 일부 설정 작업이 있고, 테스트가 실행된 후에 수행해야 하는 일부 마무리 작업이 있을 수 있습니다. Jest는 이러한 작업을 처리하는 헬퍼 함수를 제공한다. 2. beforeEa..
2023.03.01 -
[Jest] Testing Asynchronous Code
0. 참고자료 Testing Asynchronous Code · Jest It's common in JavaScript for code to run asynchronously. When you have code that runs asynchronously, Jest needs to know when the code it is testing has completed, before it can move on to another test. Jest has several ways to handle this. jestjs.io 1. 비동기 코드 테스트 javascript를 사용하면 비동기적인 코드를 작성하는 경우가 많고 이를 권장한다. 그렇기에 당연하게도 jest에서도 비동기 코드를 테스트하는 방법을 제공한다. ..
2023.03.01 -
[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