공부 중(52)
-
[Node.js] 작성자 표시
Node.js - MySQL - 생활코딩 수업소개 이 수업은 Node.js와 MySQL을 이용해서 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억 개의 페이지로 이루어진 웹사이트에서 필요한 정보가 파일에 하나하나 opentutorials.org 생활코딩 Node.js - MySQL 강의를 듣고서 작성한 글입니다. 그냥 그렇다고요. 1. JOIN문을 이용한 상세 보기 구현 topic과 author 테이블을 조인해서 글마다 작성자가 누구인지 표시할 수 있도록 한다. `SELECT * FROM topic LEFT JOIN author ON topic.author_id= author.id WHERE topic.id=?`, HTML 코드를 수정해서 작성자를 표시하는 p 태그를 추가한다. m..
2023.03.27 -
[Node.js] MySQL로 기능 구현 (Update, Delete)
Node.js - MySQL - 생활코딩 수업소개 이 수업은 Node.js와 MySQL을 이용해서 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억 개의 페이지로 이루어진 웹사이트에서 필요한 정보가 파일에 하나하나 opentutorials.org 생활코딩 Node.js - MySQL 강의를 듣고서 작성한 글입니다. 그냥 그렇다고요. 1. Update } else if (pathname === "/update") { const filteredTitle = path.parse(queryData.id).base; const description = fs.readFileSync(`${dataDir}/${filteredTitle}`, "utf8"); const updateForm = ` ${..
2023.03.27 -
[Node.js] MySQL로 기능 구현 (Create, Read)
Node.js - MySQL - 생활코딩 수업소개 이 수업은 Node.js와 MySQL을 이용해서 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억 개의 페이지로 이루어진 웹사이트에서 필요한 정보가 파일에 하나하나 opentutorials.org 생활코딩 Node.js - MySQL 강의를 듣고서 작성한 글입니다. 그냥 그렇다고요. 1. 상세 보기 구현 MySQL에서 DB의 정보를 가져와서 상세 보기 페이지를 만들고 클라이언트에게 전송하기. if (pathname === "/") { if (queryData.id === undefined) { ... } else { db.query(`SELECT * FROM topic WHERE id=?`, [queryData.id], functio..
2023.03.27 -
[Node.js] npm install mysql2
Node.js - MySQL - 생활코딩 수업소개 이 수업은 Node.js와 MySQL을 이용해서 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억 개의 페이지로 이루어진 웹사이트에서 필요한 정보가 파일에 하나하나 opentutorials.org 생활코딩 Node.js - MySQL 강의를 듣고서 작성한 글입니다. 그냥 그렇다고요. 1. MySQL 연결하기 const mysql = require('mysql'); const db = mysql.createConnection({ host: 'localhost', user: 'nodejs', password: '123456', database: 'opentutorials' }); db.connect(); ... db.end(); 2. E..
2023.03.13 -
[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