1. npm 설치 관련
[1] Formatting
node 프로젝트를 여러멍이나 개인이 작업하다보면 예상하지 못한 오류가 생겼을때 찾아내기가 힘들다.
formatting은 런타임 코드를 이용자에게 전달하기 전에 문제를 잡아준다. ex) Prettier
formatting을 해주는 Prettier 패키지 설치 명령어
npm install --save-dev prettier
--save-dev : 우리가 프로젝트를 개발할때만 사용할 패키지
npm패키지를 설치하면 package.json에 내용이 추가되고
package.json의 중요한 역할중에 하나는 메타데이터를 표현하는것도 있다.
현재 프로젝트가 사용하는 의존성 내용을 나열하는 것에도 목적이 있다.
node_modules 폴더는 git에 따로 올리지 않고 package.json만 올리고 npm i 나 npm install로 설치 후 작업한다.
package-lock.json에 기록되어 있는 내용은 실제로 설치된 패키지들이 어떤것인지 알려준다.
팀에서 이 프로젝트를 같이 작업을 한다 하면 lock.json도 같이 업로드 해주는것이 좋다.
package.json에 패키지의 버전앞에 ^표시가 있는데 이뜻은 정확하지 않아도 설치되게 만들어준다.
팀원끼리의 버전이 차이가 날수 있다 => 그래서 lock.json파일을 서로 공유해아 한다.
node_modules파일도 생겼는데 npm설치를 하니까 이 폴더안에 설치되어 있는
.bin폴더를 제외하고 다른 폴더들은 현재 프로젝트가 의존하고 있는 패키지들
.bin폴더는 컴퓨터가 이해할 수 있는 텍스트 파일(바이너리파일)들이다.
formatting
설치한 prettier를 사용해서 프로젝트 단위로 설정하기
.prettierrc 파일 만들어주기
.vscode 폴더의 settings.json 만들기
이곳에 설정한 이유는 개인이 사용하는 vscode 설정 말고 프로젝트 단위로 설정을 적용시킬수 있다.
팀이나 회사에서 작업을하면서 설정 값을 미리 정해놓고 작업을 시작하면 병합시 충돌을 덜어준다.
Linting
Linting : 규칙이 어긋났을때 알려주는 예
ESLint 설치 명령어
npm install --save-dev eslint
=> lock.json에 많이 생기는데 의존성들(서브 디펜던시)
의존성의 뜻은 코드에서 두 모듈간의 연결이라고 보면 된다. 클래스가 두개있다면 두 클래스의 관계성
eslint도 설정파일이 필요한데 이 설정 파일은 확장자가 필요하다.
설정파일 이름은 .eslintrc.js
마켓플레이스에서 ESLint 설치
rc의 뜻
runtime configuration
runcontrol
run commands
run com
resource control
세팅 설정
미리 좋은 세팅들이 많으니 있는걸로 쓰는거 추천. 나는 air bnb설정 쓸거임.
module.exports = {
extends: ["airbnb-base", "plugin:node/recommended", "prettier"],
};
위와 같은 코드를 입력해주면 된다.
node 전용 플러그인 설치 명령어
npm install --save-dev eslint-plugin-node
js 첫줄에
// @ts-check (주석포함해서 작성)
을 작성하여 타입을 잡아준다.
2. MySQL
MySQL은 콜백기반이기 때문에 promise를 사용하지 못하고 이를 보완한다면 promise-mysql을 설치해서 사용해야 한다.
MySQL은 promise를 지원하기 때문에 바로 써도 된다.
const mysql = require("mysql2");
const temp = mysql.createConnection({
user: "root",
password: "설정한 비밀번호",
database: "데이터베이스",
});
temp.query("SELECT * FROM posts", (err, res) => {
if (err) {
console.log("안됨");
} else {
console.log(res);
}
});
createConnection 옵션
host : 연결할 호스트
port : 연결할 포트
user : 사용자 이름
password : 사용자 비밀번호
database : 연결할 데이터 베이스 이름
debug : 디버그 모드를 사용할 것인가
MySQL 다운
다운 후
programfiles > MySQL > server8.0 > bin 경로 복사
내 pc> 고급시스템 설정 > 고급 환경변수 > 시스템 변수 > Path 찾아서 편집 > 새로만들기 > 경로 붙여넣기
cmd 키고
mysql -u 접속할 유저이름 -p
기본값 유저이름 : root
현재 있는 데이터베이스 리스트 보는 명령어
show databases;
데이터베이스 생성
CREATE DATABASE 테이블명 CHARACTER SET utf8;
사용할 데이터 베이스 선택
use 데이터베이스명;
name테이블 선택
select * from name;
테이블에 컬럼 추가 쿼리문
INSERT INTO '데이터베이스 이름'.'테이블이름'('id','content') VALUES ('1','ㅎㅇ');
테이블에 컬럼 삭제 쿼리문
DELETE FROM '데이터베이스 이름'.'테이블이름' WHERE ('id' = '1');
테이블에 컬럼 수정 쿼리문
UPDATE '데이터베이스 이름'.'테이블이름' SET 'content' = '안녕' WHERE ('id' = '1');
'개발 > node.js' 카테고리의 다른 글
[Node.js] socket.io 로 채팅방 만들기 (0) | 2022.07.26 |
---|---|
[Node.js] 삭제, 수정버튼 만들기 (0) | 2022.07.26 |
[node.js] express, MySQL (0) | 2022.07.25 |
Node.js 핵심개념 (0) | 2022.07.20 |
[node.js] node.js (0) | 2022.07.19 |