Nodejs

 

 

강의 목록 : https://www.youtube.com/playlist?list=PLcqDmjxt30RsbFOspFG3EsxMwhFSnGFLw

 

 

 

1. ZeroCho의 Node.js 교과서 강좌 0.인트로

 

 

 

 

 

1-1. 노드란 무엇인가 & 설치 방법

 

https://nodejs.org/ko/

 

 

 

 

1-2. REPL과 헬로 노드

 

 

 

2-1. const와 let

 

 

var, let, const의 차이

앞에서 발견한 var 키워드의 문제점은 크게 세 가지가 존재한다.

  • 변수 중복 선언 가능하여, 예기치 못한 값을 반환할 수 있다.
  • 함수 레벨 스코프로 인해 함수 외부에서 선언한 변수는 모두 전역 변수로 된다.
  • 변수 선언문 이전에 변수를 참조하면 언제나 undefined를 반환한다.

 

ES6에서 나온 let과 const 키워드는 위의 세 가지 문제점을 해결했다.

 

 

 

 

 

2-2. 템플릿 문자열(백틱, `)

.

 

 

 

 

2-5. 비구조화 할당(destructuring)

 

const array = ['nodejs', {}, 10, true];
const [node, obj, , bool] = array;

 

 

 

 

2-6. rest 문법과 Q&A

 

 

 

 

2-7. 콜백과 프로미스(Promise) 비교

 

 

 

 

2-8. 프로미스(Promise) 이해하기

 

 

 

2-9. 프로미스(Promise) API

 

 

 

 

2-10. async/await

 

 

 

3-1. 노드 모듈 시스템

 

 

 

 

3-2. global 객체

 

 

 

 

4-1 http 모듈, localhost, 포트

 

 

 

 

 

4-2. 응답으로 파일 읽어 보내기

 

 

 

 

 

 

5-1. npm 설명과 패키지 만들기(package.json)

 

 

 

 

 

 

 

5-2. 패키지 설치하기

 

 

 

 

6-1. express-generator, npm scripts, bin/www

 

 

 

 

 

 

 

6-2. express app.js 이해하기

 

 

 

 

7-1. 시퀄라이즈(sequelize)와 MySQL 설치

 

 

create user `nodejs_textbook`@`localhost` identified by '1111';
    
create database nodejs_textbook CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
  
grant all privileges on nodejs_textbook.* to `nodejs_textbook`@`localhost` ;

 

 

$express learn-sequelize  -views=pug

$ cd learn-sequelize/

$ npm i

$npm i sequelize mysql2

$npm i -g sequelize-cli

$sequelize init

 

 

 

시퀄 라이즈(Sequelize)란 무엇일까요? 시퀄 라이즈는 DB 작업을 쉽게 할 수 있도록 도와주는 ORM 라이브러리입니다.

ORM이란 무엇일까요? ORM(Object-Relational Mapping)에 약자입니다.

 

즉, ORM은 자바스크립트 객체와 관계형 데이터베이스를 서로 연결해주는 도구입니다.

 

- 설치

sequelize와 sequelize-cli 그리고 mysql2를 설치해주세요. (저는 MySQL 데이터베이스에서 사용을 해봤습니다.)

 

npm install sequelize sequelize-cli mysql2

 

sequelize-cli는 시퀄라이즈 명령어를 실행하기 위한 패키지 라이브러리입니다. Global 설치해도 상관이 없습니다. (저는 글로벌 설치를 통해 로컬 안에서 프로젝트마다 사용했습니다.)

 

mysql2는 MySQL과 연결해주는 드라이버입니다.

 

설치를 완료 후 sequelize init 명령어를 실행합니다.

sequelize init

해당 명령어를 실행하면 아래와 같이 디렉터리와 파일이 생성이 됩니다.

 

 

 

백앤드(Back-End)/Node.JS

[Node.js] Sequelize 개념 및 설치

 

https://any-ting.tistory.com/49

 

 

 

 

 

 

 

 

 7-2. 워크벤치 소개와 시퀄라이즈로 데이터베이스 만들기

 

 

 

 

- Model 생성

models/Users.js

 

module.exports = (sequelize, DataTypes) => {
    return sequelize.define('user', {
    });
}

 

module.exports = (sequelize, DataTypes) => {

    const Users = sequelize.define("Users", {
      id: {
        type: DataTypes.UUID,
        defaultValue: DataTypes.UUIDV4,
        primaryKey: true,
        comment: "고유번호 UUID",
      },
      email: {
        type: DataTypes.STRING(100),
        validate: {
          isEmail: true,
        },
        comment: "이메일",
      },
      password: {
        type: DataTypes.STRING(60),
        comment: "비밀번호",
      },
      name: {
        type: DataTypes.STRING(100),
        comment: "이름",
      },
      phone: {
        type: DataTypes.STRING(72),
        comment: "전화번호",
      },
    }, {
      charset: "utf8", // 한국어 설정
      collate: "utf8_general_ci", // 한국어 설정
      tableName: "Users", // 테이블 이름
      timestamps: true, // createAt & updateAt 활성화
      paranoid: true, // timestamps 가 활성화 되어야 사용 가능 > deleteAt 옵션 on
    });
  
    return Users;
  };

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

about author

PHRASE

Level 60  라이트

도둑놈이 개 꾸짖듯 , 남에게 들리지 않는 말을 우물쭈물 중얼거림을 이르는 말.

댓글 ( 4)

댓글 남기기

작성

Nodejs 목록    more