윈도우는 그냥 깔면돼 공홈에서 git bash라면 mysql 앞에 winpty를 앞에 붙여야 한다. mysql -h localhost -u root -p -h뒤에는 접속할 주소를 ,-u 뒤에는 사용자명을 입력한다. -p는 비밀번호를 사용하겠다는 뜻이다. 리눅스(우분투) sudo apt-get update sudo apt-get install -y mysql-server sudo mysql_secure_installation 비밀번호 설정 화면이 나오지 않고 설치가 완료된다면 mysqladmin -u root -p password 비밀번호 명령어로 비밀번호를 설정 데이터베이스 및 테이블 생성하기 데이터베이스 생성 CREATE SCHEMA `nodejs` DEFAULT CHARACTER SET utf8; (..
자주 사용하는 미들웨어 const express = require('express'); const path = require('path'); const app = express(); app.set('port', process.env.PORT || 3000); app.use((req, res, next) => { console.log('모든 요청에 다 실행됩니다.'); next(); }); app.get( '/', (rep, res, next) => { // res.send('Hello, Express'); // res.sendFile(path.join(__dirname, '/index.html')); console.log('GET / 요청에서만 실행됩니다.'); next(); }, (req, res) =..
npm(Node Package Manager) : 노드 패키지 매니저 npm의 대체자 yarn. 몇가지 편리한 기능이 들어 있지만 별도로 설치해야 한다. package.json : 설치한 패키지의 버전을 관리하는 파일 npm install ~~ 개발용 패키지 : 실제 배포 시에는 사용하지 않고 개발 중에만 사용되는 패키지 npm install --save-dev [패키지] 전역 설치 : npm install --global rimraf(리눅스, 맥은 sudo) rimraf는 리눅스나 맥의 rm -rf 명령어를 윈도에서도 사용할 수 있게 해주는 패키지 install => i --save-dev => -D --global => -g 전역 설치를 기피하는 개발자들도 있다. 다시 설치할 때 어려움이 따르기 때문..
1. 요청과 응답 이해하기 이벤트 리스너를 가진 노드 서버를 만들어보자!! ex) const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' }); res.write('Hello Node!'); res.end('Hello Server!'); }); server.listen(8080); server.on('listening', () => { console.log('8080번 포트에서 서버 대기 중입니다!'); }); server.on('error', (error) => { console.error(error); ..
1. REPL 사용하기 자바스크립트는 스크립트 언어이므로 미리 컴파일을 하지 않아도 즉석에서 코드를 실행할 수 있다. 브라우저 콘솔 탭에서도 가능하고 노드에서도 가능하다. 노드에서는 입력한 코드를 읽고(READ), 해석하고(EVAL), 결과물을 반환하고(PRINT), 종료할 때까지 반복한다(LOOP)고 해서 REPL(Read Eval Print Loop)이라고 부른다. cmd에서 node를 입력하면 실행된다. 2. js 파일 실행하기 REPL에 긴 코드를 입력하는 것은 불편하기 때문에 파일로 실행한다. node ex.js(js는 생략가능) 3. 모듈로 만들기 모듈 : 특정한 기능을 하는 함수나 변수들의 집합 모듈 만들기 const odd = '홀수입니다'; const even = '짝수입니다'; modu..
ES2015(ES6) 등장 최신 문법 몇가지 1. const, let 2. 템플릿 문자열 3. 객체 리터럴 4. 화살표 함수 5. 구조분해 할당 6. 클래스 7. 프로미스 1 프로미스 예제1 const condition = true; // true면 resolve, false면 reject const promise = new Promise((resolve, reject) => { if (condition) { resolve('성공'); } else { reject('실패'); } }); // 다른 코드가 들어갈 수 있음 promise .then((message) => { console.log(message); // 성공(resolve)한 경우 실행 }) .catch((error) => { console...
nodejs는 Chorme V8 Javascript 엔진으로 빌드된 Javascript 런타임입니다. (런타임 : 특정 언어로 만든 프로그램들을 실행할 수 있는 환경) 이벤트 기반(event-driven) : 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식 이벤트 루프 : 이벤트 발생 시 호출할 콜백 함수들을 관리하고, 호출된 콜백 함수의 실행 순서를 결정하는 역할을 담당합니다. 노드가 종료될 때까지 이벤트 처리를 위한 작업을 반복하므로 루프라고 부릅니다. 백그라운드 : setTimeout 같은 타이머나 이벤트 리스너들이 대기하는 곳입니다. 자바스크립트가 아닌 다른 언어로 작성된 프로그램이라고 봐도 됩니다. 여러 작업이 동시에 실행될 수 있습니다. 태스크 큐 : 이벤트 발생 후, 백그라운드에서는 ..
yarn create react-app blog-fronted 아래 방법으로 두 프로젝트 한꺼번에 관리(blog폴더로 관리하는 것 보다 자동 import 더욱 완벽) yarn add react-router-dom yarn add redux react-redux redux-actions immer redux-devtools-extension snippet-generator.app/ snippet generator Snippet generator for Visual Studio Code, Sublime Text and Atom. Enjoy :-) snippet-generator.app snippet을 만드는 법 원하는 코드를 입력하고 바뀌는 내용을 ${TM_FILENAME_BASE}으로 입력한다. ${1}을..