language:nodejs:nodejs
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
language:nodejs:nodejs [2020/06/08 17:11] – kieuns | language:nodejs:nodejs [2024/04/23 22:44] (현재) – 바깥 편집 127.0.0.1 | ||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | < | ||
+ | |||
+ | 익스프레스< | ||
+ | |||
+ | ====== 설치 ====== | ||
+ | |||
+ | 전역설치 | ||
+ | |||
+ | < | ||
+ | npm install -g express-generator | ||
+ | </ | ||
+ | |||
+ | 윈도우즈라면 '' | ||
+ | |||
+ | ====== 프로젝트 생성 ====== | ||
+ | |||
+ | 프로젝트 만들기 | ||
+ | |||
+ | < | ||
+ | express < | ||
+ | </ | ||
+ | |||
+ | ejs와 pug< | ||
+ | |||
+ | < | ||
+ | express --ejs --pug --view=ejs < | ||
+ | </ | ||
+ | |||
+ | 설치 하고 해야할거 더 알려준다. 이런 식으로. | ||
+ | < | ||
+ | change directory: | ||
+ | > cd < | ||
+ | |||
+ | install dependencies: | ||
+ | > npm install | ||
+ | |||
+ | run the app: | ||
+ | > SET DEBUG=< | ||
+ | </ | ||
+ | |||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | ====== Nodemon ====== | ||
+ | |||
+ | 소스 수정시 자동으로 서버를 재시작해서 변경 내용을 바로 반영할 수 있는 도구. | ||
+ | 개발시 매번 재시작하는 귀찮음을 해결해줌 | ||
+ | |||
+ | <code bash> | ||
+ | npm install nodemon -g | ||
+ | </ | ||
+ | |||
+ | 커맨드를 바로 쓸 수 있어야 하니, 전역으로 설치한다. | ||
+ | |||
+ | 실행 | ||
+ | |||
+ | '' | ||
+ | |||
+ | ====== MYSQL ====== | ||
+ | |||
+ | * 패키지 문서: https:// | ||
+ | |||
+ | 어 그런데, 마리아DB< | ||
+ | |||
+ | * 마리아DB : https:// | ||
+ | |||
+ | =====추가 정보 링크===== | ||
+ | |||
+ | * SSL 연결 : https:// | ||
+ | * 풀링 연결 : https:// | ||
+ | |||
+ | =====설치===== | ||
+ | |||
+ | '' | ||
+ | |||
+ | =====require 설정===== | ||
+ | |||
+ | <code javascript> | ||
+ | var mysql = require(' | ||
+ | </ | ||
+ | |||
+ | =====초기화===== | ||
+ | |||
+ | <code javascript> | ||
+ | var _conn = mysql.createConnection({ | ||
+ | host: ' | ||
+ | port: 3306, | ||
+ | user: '< | ||
+ | password: '< | ||
+ | database: '< | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | =====접속===== | ||
+ | |||
+ | <code javascript> | ||
+ | _conn.connect(function (err) { | ||
+ | if(err){ | ||
+ | console.error(err); | ||
+ | //throw err; // throw를 해버리면 앱이 정지되니 ... | ||
+ | } else { | ||
+ | // 연결 성공: | ||
+ | } | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | =====쿼리===== | ||
+ | |||
+ | <code javascript> | ||
+ | _conn.query(' | ||
+ | if (error) throw error; | ||
+ | console.log(' | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | =====종료===== | ||
+ | |||
+ | <code javascript> | ||
+ | _conn.end(); | ||
+ | </ | ||
+ | |||
+ | 종료에는 두 함수를 제공 | ||
+ | * '' | ||
+ | * '' | ||
+ | 끊어달라고 하느냐, 내가 끊느냐 이 차이인가보다. | ||
+ | |||
+ | |||
+ | =====풀링 연결===== | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | <code javascript> | ||
+ | var pool = mysql.createPool({ | ||
+ | connectionLimit : 10, // 이건 개수겠지 | ||
+ | host : '< | ||
+ | user : '< | ||
+ | password | ||
+ | database | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | <code javascript> | ||
+ | pool.query(' | ||
+ | if (error) throw error; | ||
+ | console.log(' | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | 위의 방법이 '' | ||
+ | |||
+ | 한번 사용한 디비 커넥션을 이어서 사용해야할 경우, | ||
+ | |||
+ | * 한번 쿼리를 불렀는데 그 상태에서 이어 받아 써야할 경우< | ||
+ | |||
+ | '' | ||
+ | |||
+ | <code javascript> | ||
+ | var pool = mysql.createPool(...); | ||
+ | |||
+ | pool.getConnection(function(err, | ||
+ | if (err) throw err; // 연결실패 | ||
+ | |||
+ | // 연결 사용 | ||
+ | connection.query(' | ||
+ | | ||
+ | // 변수' | ||
+ | |||
+ | connection.release(); | ||
+ | | ||
+ | if (error) throw error; // 에러 처리를 해야할때가 있나? | ||
+ | // error가 있더라도 release()는 호출되어야 한다. | ||
+ | |||
+ | // 커넥션은 풀에 반환 되었기 때문에 이 시점에는 쓰면 안됨 | ||
+ | }); | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | =====풀링 종료===== | ||
+ | |||
+ | '' | ||
+ | |||
+ | <code javascript> | ||
+ | pool.end(function(err) { | ||
+ | // 풀 안의 모든 커넥션이 종료됨 | ||
+ | }); | ||
+ | </ | ||
language/nodejs/nodejs.txt · 마지막으로 수정됨: 2024/04/23 22:44 저자 127.0.0.1