node.js(46)
-
[Node.js] 모듈로 정리정돈
1. 모듈로 정리정돈 main.js에 기능이 추가되면서 코드가 너무 길어졌다. 여러 모듈로 나눠서 관리할 필요가 있다. topic.js라는 새로운 파일을 만들고 복잡한 코드는 여기로 이주시킨다. Dependency도 잘 챙겨준다. module로 분리, 정리 · ramen4598/Study_nodeJS@3dba6a6 Show file tree Showing 3 changed files with 241 additions and 200 deletions. github.com 2. 막간의 이용한 CSS 개선 개선…?인 것 같은데… 아닌 것 같기도…. style 개선? · ramen4598/Study_nodeJS@a826580 Show file tree Showing 2 changed files with 53 a..
2023.04.01 -
[Node.js] 리팩터링
Node.js - MySQL - 생활코딩 수업소개 이 수업은 Node.js와 MySQL을 이용해서 웹애플리케이션을 만드는 방법에 대한 수업입니다. 수업대상 예를들어 1억 개의 페이지로 이루어진 웹사이트에서 필요한 정보가 파일에 하나하나 opentutorials.org 생활코딩 Node.js - MySQL 강의를 듣고서 작성한 글입니다. 그냥 그렇다고요. 1. 현재 상황 대충 이렇다. 겁나 복잡하다. 학습과 구현을 병행했기 때문에 아주 이상한 프로그램이 되었다. 보다 유지보수가 쉽도록 리팩토링을 수행한다. 2. 개선 방안 리팩터링의 핵심 포인트를 짚어보자. 가. DB 사용 template.js에 위치한 메서드들이 readAndRes를 거치지 않고 바로 DB에 접근할 수 있도록 해보자. 우선 db.js를 만..
2023.03.27 -
[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 -
[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