목록

'node js' 122건

  • CRUD 작업하기
    프로그래밍 언어/NODE JS · 댓글
    Create(생성)컬렉션에 컬럼을 정의하지 않아도 되므로 컬렉션에는 아무 데이터나 넣을 수 있습니다. 이러한 자유로움이 몽고디비의 장점입니다. 단, 무엇이 들어올지 모른다는 단점도 있습니다. 몽고디비의 자료형은 MySQL과 조금 다릅니다. 여기서 몽고디비의 자료형을 알아봅시다. 기본적으로 몽고디비는 자바스크립트 문법을 사용하므로 자바스크립트의 자료형을 따릅니다. 하지만 추가로 몇 가지 자료형이 더 있습니다. Date나 정규표현식 같은 자바스크립트 객체를 자료형으로 사용할 수 있습니다.Binary Data, ObjectId, Int, Long, Decimal, Timestamp, JavaScript 등의 추가적인 자료형이 있습니다. Undefined와 Symbol은 몽고디비에서 자료형으로 사용하지 않습니다..
  • 데이터베이스 및 컬렉션 생성하기
    프로그래밍 언어/NODE JS · 댓글
    이제 nodejs라는 이름의 데이터베이스와 MySQL 테이블에 상응하는 컬렉션을 만들어봅니다. 몽고디비 프롬프트에 접속한 후 진행하면 됩니다.데이터베이스를 만드는 명령어는 use [데이터베이스명]입니다.$ use nodejsswitched to db nodejs 데이터베이스 모곩을 확인하는 명령어는 show dbs입니다.$ show dbsadmin 148.00 KiBconfig 96.00 KiBlocal 80.00 KiB 방금 생성한 nodejs가 없습니다! 데이터를 최소 한 개 이상 넣어야 목록에 표시됩니다. 현재 사용중인 데이터베이스를 확인하는 명령어는 db입니다.$ dbnodejs 비록 데이터베이스 목록에는 없지만, 현재 nodejs 데이터베이스를 사용하고 있음을 확인할 수 있습니다. ..
  • 몽고디비 설치하기
    프로그래밍 언어/NODE JS · 댓글
    몽고디비는 공식 사이트(https://mongodb.com/try/download/community)에서 내려받을 수 있습니다. 윈도몽고디비 공식 사이트의 다운로드 화면에서 On-Premises를 선택하고, MongoDB Community Server 탭에서 Download 버튼을 눌러 파일을 내려받습니다. 내려받은 파일을 실행하면 설치 화면이 나타납니다. Next 버튼을 눌러 다음으로 넘어갑니다. 동의 요구 화면에서 체크박스에 체크 표시를 하고 Next 버튼을 눌러 다음으로 넘어갑니다. Complete 버튼을 눌러 제공하는 모든 프로그램 기능을 설치합니다. Service Configuration 화면에서는 체크박스를 해제합니다. Install MongoDB Compass에 체크 표시를 하여 몽고디비 컴..
  • 쿼리 수행하기
    프로그래밍 언어/NODE JS · 댓글
    조금 전에 배웠던 쿼리로 CRUD 작업을 해봅시다. 모델에서 데이터를 받아 페이지를 렌더링하는 방법과 JSON 형식으로 데이터를 가져오는 방법 두 가지를 알아보겠습니다.간단하게 사용자 정보를 등록하고 사용자가 등록한 댓글을 가져오는 서버입니다. 먼저 다음과 같이 views 폴더를 만들고 그 안에 sequelize.html 파일과 error.html 파일을 만듭니다. views/sequlize.html 사용자 등록 결혼 여부 등록 아이디 이름 ..
  • 관계 정의하기
    프로그래밍 언어/NODE JS · 댓글 1
    사용자 한 명은 댓글을 여러 개 작성할 수 있습니다. 하지만 댓글 하나에 사용자(작성자)가 여러 명일 수는 없습니다. 이러한 관계를 일대다(一對多)(이하 1:N) 관계라고 합니다. 1:N 관계에서는 사용자가 1이고, 댓글이 N입니다.다른 관계로 일대일, 다대다 관계가 있습니다. 일대일 관계로는 사용자와 사용자에 대한 정보 테이블을 예로 들 수 있습니다. 사용자 한 명은 자신의 정보를 담고 있는 테이블과만 관계가 있습니다. 정보 테이블도 한 사람만을 가리킵니다. 이러한 관계를 일대일(이후 1:1) 관계라고 합니다.다대다 관계로는 게시글 테이블과 해시태그(#) 테이블 관계를 예로 들 수 있습니다. 한 게시글에는 해시태그가 여러 개 달릴 수 있고, 한 해시태그도 여러 게시글에 달릴 수 있습니다. 이러한 관계를..
  • 모델 정의하기
    프로그래밍 언어/NODE JS · 댓글 1
    이제 MySQL에서 정의한 테이블을 시퀄라이즈에서도 정의해야 합니다. MySQL의 테이블을 시퀄라이즈의 모델과 대응합니다. 시퀄라이즈는 모델과 MySQL의 테이블을 연결해주는 역할을 합니다. User와 Comment 모델을 만들어 users 테이블과 comments 테이블에 연결해봅시다. 시퀄라이즈는 기본적으로 모델 이름은 단수형으로, 테이블 이름은 복수형으로 사용합니다. models/user.jsconst Sequelize = require("sequelize");module.exports = class User extends Sequelize.Model { static init(sequelize) { return super.init( { name: { t..
  • MySQL 연결하기
    프로그래밍 언어/NODE JS · 댓글
    시퀄라이즈를 통해 익스프레스 앱과 MySQL을 연결해야 합니다. app.js를 생성하고 익스프레스와 시퀄라이즈 연결 코드를 작성합니다.const express = require("express");const path = require("path");const morgan = require("morgan");const nunjucks = require("nunjucks");const { sequelize } = require("./models");const app = express();app.set("port", process.env.PORT || 3001);app.set("view engine", "html");nunjucks.configure("views", { express: app, watch:..
  • 시퀄라이즈 사용하기
    프로그래밍 언어/NODE JS · 댓글
    시퀄라이즈는 MySQL 작업을 쉽게 할 수 있도록 도와주는 라이브러리입니다. 시퀄라이즈는 ORM(Object-relational Mapping)으로 분류됩니다. ORM은 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 도구입니다. 시퀄라이즈를 단지 MySQL과 같이 써야만 하는 것은 아닙니다. MariaDB, PostgreSQL, SQLite, MSSQL 등 다른 데이터베이스도 같이 쓸 수 있습니다. 문법이 어느 정도 호환되므로 프로젝트를 다른 SQL 데이터베이스로 전환할 때도 편리합니다. 시퀄라이즈를 쓰는 이유는 자바스크립트 구문을 알아서 SQL로 바꿔주기 때문입니다. 따라서 SQL 언어를 직접 사용하지 않고도 자바스크립트만으로 MySQL을 조작할 수 있으며, SQL을 몰라도 MySQL을 어느 ..
  • CRUD 작업하기
    프로그래밍 언어/NODE JS · 댓글 1
    CRUD는 Create, Read, Update, Delete의 첫 글자를 모은 두문자이며 데이터베이스에서 많이 수행하는 데 네 가지 작업을 일컫습니다. 그 방법만 익혀도 웬만한 프로그램은 다 만들 수 있을 정 도로 CRUD 작업은 많이 사용됩니다. SQL문 위주로 진행하지만, SQL에 익숙하지 않다면 워크벤치로 진행해도 됩니다. Create(생성)Create(생성)는 데이터를 생성해서 데이터에 넣는 작업입니다.mysql> use nodejs;Database changedmysql> INSERT INTO nodejs.users (name, age, married, comment) VALUES ('zero', 24, 0, '자기소개1');Query OK, 1 row affected (0.09 sec)m..
  • 데이터베이스 및 테이블 생성하기
    프로그래밍 언어/NODE JS · 댓글 6
    데이터베이스 생성하기 MySQL 프롬프트에 접속합니다. CREATE SCHEMA [데이터베이스명]의 데이터베이스를 생성하는 명령어입니다. SCHEMA(스키마)라고 되어 있는데, MySQL에 데이터베이스와 스키마는 같은 개념입니다. nodejs라는 이름의 데이터베이스를 생성합니다. 그 후 use nodejs; 명령어를 추가로 입력하여 앞으로 nodejs 데이터베이스를 사용하겠다는 것을 MySQL에 알립니다.mysql> CREATE SCHEMA `nodejs` DEFAULT CHARACTER SET utf8;Query OK, 1 row affected, 1 warning (0.07 sec)mysql> use nodejs;Database changed CREATE SCHEMA 뒤에 DEFAULT CHARAC..
  • MySQL 설치하기
    프로그래밍 언어/NODE JS · 댓글 6
    MySQL의 공식 사이트(https://dev.mysql.com/downloads/installer/)에서 Download 버튼을 눌러 인스톨러를 내려받습니다. 용량이 적은 mysql-installer-web-community를 내려받습니다. 로그인할 필요 없이 No thanks, just start my download.를 클릭하면 다운로드가 시작됩니다. 내려받은 파일을 실행하면 MySQL Installer가 화면에 나타냅니다. 설치 진행 중에 Choosing a Setup Type 부분에서 Custom을 선택한 후 Next 버튼을 누릅니다. MySQL Installer가 기본적으로 설치하는 제품이 전부 필요한 것은 아니므로 MySQL Server와 MySQL Workbench만 선택해 설치합니다. ..
  • 데이터베이스란?
    프로그래밍 언어/NODE JS · 댓글 1
    데이터베이스는 관련성을 가지며 중복이 없는 데이터들의 집합입니다. 이러한 데이터베이스를 관리하는 시스템을 DBMS(데이터베이스 관리 시스템)라고 부릅니다.보통 서버의 하드 디스크나 SSD 등의 저장 매체에 데이터를 저장합니다. 저장 매체가 고장나거나 사용자가 직접 데이터를 지우지 않는 이상 계속 데이터가 보존되므로 서버 종료 여부와 상관없이 데이터를 지속적으로 사용할 수 있습니다. 또한, 서버에 데이터베이스를 올라묜 여러 사람이 동사애 사용할 수 있습니다. 사람들에게 각각 다른 권한을 줘서 어떤 사람은 읽기만 가능하고, 어떤 사람은 모든 작업을 가능하게 할 수 있습니다,데이터베이스를 관리하는 DBMS 중에서 RDBMS라고 부르는 관계형 DBMS가 많이 사용됩니다. 대표적인 RDBMS로는 Oracle, ..

CRUD 작업하기

Create(생성)컬렉션에 컬럼을 정의하지 않아도 되므로 컬렉션에는 아무 데이터나 넣을 수 있습니다. 이러한 자유로움이 몽고디비의 장점입니다. 단, 무엇이 들어올지 모른다는 단점도 있습니다. 몽고디비의 자료형은 MySQL과 조금 다릅니다. 여기서 몽고디비의 자료형을 알아봅시다. 기본적으로 몽고디비는 자바스크립트 문법을 사용하므로 자바스크립트의 자료형을 따릅니다. 하지만 추가로 몇 가지 자료형이 더 있습니다. Date나 정규표현식 같은 자바스크립트 객체를 자료형으로 사용할 수 있습니다.Binary Data, ObjectId, Int, Long, Decimal, Timestamp, JavaScript 등의 추가적인 자료형이 있습니다. Undefined와 Symbol은 몽고디비에서 자료형으로 사용하지 않습니다..

데이터베이스 및 컬렉션 생성하기

이제 nodejs라는 이름의 데이터베이스와 MySQL 테이블에 상응하는 컬렉션을 만들어봅니다. 몽고디비 프롬프트에 접속한 후 진행하면 됩니다.데이터베이스를 만드는 명령어는 use [데이터베이스명]입니다.$ use nodejsswitched to db nodejs 데이터베이스 모곩을 확인하는 명령어는 show dbs입니다.$ show dbsadmin 148.00 KiBconfig 96.00 KiBlocal 80.00 KiB 방금 생성한 nodejs가 없습니다! 데이터를 최소 한 개 이상 넣어야 목록에 표시됩니다. 현재 사용중인 데이터베이스를 확인하는 명령어는 db입니다.$ dbnodejs 비록 데이터베이스 목록에는 없지만, 현재 nodejs 데이터베이스를 사용하고 있음을 확인할 수 있습니다. ..

몽고디비 설치하기

몽고디비는 공식 사이트(https://mongodb.com/try/download/community)에서 내려받을 수 있습니다. 윈도몽고디비 공식 사이트의 다운로드 화면에서 On-Premises를 선택하고, MongoDB Community Server 탭에서 Download 버튼을 눌러 파일을 내려받습니다. 내려받은 파일을 실행하면 설치 화면이 나타납니다. Next 버튼을 눌러 다음으로 넘어갑니다. 동의 요구 화면에서 체크박스에 체크 표시를 하고 Next 버튼을 눌러 다음으로 넘어갑니다. Complete 버튼을 눌러 제공하는 모든 프로그램 기능을 설치합니다. Service Configuration 화면에서는 체크박스를 해제합니다. Install MongoDB Compass에 체크 표시를 하여 몽고디비 컴..

쿼리 수행하기

조금 전에 배웠던 쿼리로 CRUD 작업을 해봅시다. 모델에서 데이터를 받아 페이지를 렌더링하는 방법과 JSON 형식으로 데이터를 가져오는 방법 두 가지를 알아보겠습니다.간단하게 사용자 정보를 등록하고 사용자가 등록한 댓글을 가져오는 서버입니다. 먼저 다음과 같이 views 폴더를 만들고 그 안에 sequelize.html 파일과 error.html 파일을 만듭니다. views/sequlize.html 사용자 등록 결혼 여부 등록 아이디 이름 ..

관계 정의하기

사용자 한 명은 댓글을 여러 개 작성할 수 있습니다. 하지만 댓글 하나에 사용자(작성자)가 여러 명일 수는 없습니다. 이러한 관계를 일대다(一對多)(이하 1:N) 관계라고 합니다. 1:N 관계에서는 사용자가 1이고, 댓글이 N입니다.다른 관계로 일대일, 다대다 관계가 있습니다. 일대일 관계로는 사용자와 사용자에 대한 정보 테이블을 예로 들 수 있습니다. 사용자 한 명은 자신의 정보를 담고 있는 테이블과만 관계가 있습니다. 정보 테이블도 한 사람만을 가리킵니다. 이러한 관계를 일대일(이후 1:1) 관계라고 합니다.다대다 관계로는 게시글 테이블과 해시태그(#) 테이블 관계를 예로 들 수 있습니다. 한 게시글에는 해시태그가 여러 개 달릴 수 있고, 한 해시태그도 여러 게시글에 달릴 수 있습니다. 이러한 관계를..

모델 정의하기

이제 MySQL에서 정의한 테이블을 시퀄라이즈에서도 정의해야 합니다. MySQL의 테이블을 시퀄라이즈의 모델과 대응합니다. 시퀄라이즈는 모델과 MySQL의 테이블을 연결해주는 역할을 합니다. User와 Comment 모델을 만들어 users 테이블과 comments 테이블에 연결해봅시다. 시퀄라이즈는 기본적으로 모델 이름은 단수형으로, 테이블 이름은 복수형으로 사용합니다. models/user.jsconst Sequelize = require("sequelize");module.exports = class User extends Sequelize.Model { static init(sequelize) { return super.init( { name: { t..

MySQL 연결하기

시퀄라이즈를 통해 익스프레스 앱과 MySQL을 연결해야 합니다. app.js를 생성하고 익스프레스와 시퀄라이즈 연결 코드를 작성합니다.const express = require("express");const path = require("path");const morgan = require("morgan");const nunjucks = require("nunjucks");const { sequelize } = require("./models");const app = express();app.set("port", process.env.PORT || 3001);app.set("view engine", "html");nunjucks.configure("views", { express: app, watch:..

시퀄라이즈 사용하기

시퀄라이즈는 MySQL 작업을 쉽게 할 수 있도록 도와주는 라이브러리입니다. 시퀄라이즈는 ORM(Object-relational Mapping)으로 분류됩니다. ORM은 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 도구입니다. 시퀄라이즈를 단지 MySQL과 같이 써야만 하는 것은 아닙니다. MariaDB, PostgreSQL, SQLite, MSSQL 등 다른 데이터베이스도 같이 쓸 수 있습니다. 문법이 어느 정도 호환되므로 프로젝트를 다른 SQL 데이터베이스로 전환할 때도 편리합니다. 시퀄라이즈를 쓰는 이유는 자바스크립트 구문을 알아서 SQL로 바꿔주기 때문입니다. 따라서 SQL 언어를 직접 사용하지 않고도 자바스크립트만으로 MySQL을 조작할 수 있으며, SQL을 몰라도 MySQL을 어느 ..

CRUD 작업하기

CRUD는 Create, Read, Update, Delete의 첫 글자를 모은 두문자이며 데이터베이스에서 많이 수행하는 데 네 가지 작업을 일컫습니다. 그 방법만 익혀도 웬만한 프로그램은 다 만들 수 있을 정 도로 CRUD 작업은 많이 사용됩니다. SQL문 위주로 진행하지만, SQL에 익숙하지 않다면 워크벤치로 진행해도 됩니다. Create(생성)Create(생성)는 데이터를 생성해서 데이터에 넣는 작업입니다.mysql> use nodejs;Database changedmysql> INSERT INTO nodejs.users (name, age, married, comment) VALUES ('zero', 24, 0, '자기소개1');Query OK, 1 row affected (0.09 sec)m..

데이터베이스 및 테이블 생성하기

데이터베이스 생성하기 MySQL 프롬프트에 접속합니다. CREATE SCHEMA [데이터베이스명]의 데이터베이스를 생성하는 명령어입니다. SCHEMA(스키마)라고 되어 있는데, MySQL에 데이터베이스와 스키마는 같은 개념입니다. nodejs라는 이름의 데이터베이스를 생성합니다. 그 후 use nodejs; 명령어를 추가로 입력하여 앞으로 nodejs 데이터베이스를 사용하겠다는 것을 MySQL에 알립니다.mysql> CREATE SCHEMA `nodejs` DEFAULT CHARACTER SET utf8;Query OK, 1 row affected, 1 warning (0.07 sec)mysql> use nodejs;Database changed CREATE SCHEMA 뒤에 DEFAULT CHARAC..

MySQL 설치하기

MySQL의 공식 사이트(https://dev.mysql.com/downloads/installer/)에서 Download 버튼을 눌러 인스톨러를 내려받습니다. 용량이 적은 mysql-installer-web-community를 내려받습니다. 로그인할 필요 없이 No thanks, just start my download.를 클릭하면 다운로드가 시작됩니다. 내려받은 파일을 실행하면 MySQL Installer가 화면에 나타냅니다. 설치 진행 중에 Choosing a Setup Type 부분에서 Custom을 선택한 후 Next 버튼을 누릅니다. MySQL Installer가 기본적으로 설치하는 제품이 전부 필요한 것은 아니므로 MySQL Server와 MySQL Workbench만 선택해 설치합니다. ..

데이터베이스란?

데이터베이스는 관련성을 가지며 중복이 없는 데이터들의 집합입니다. 이러한 데이터베이스를 관리하는 시스템을 DBMS(데이터베이스 관리 시스템)라고 부릅니다.보통 서버의 하드 디스크나 SSD 등의 저장 매체에 데이터를 저장합니다. 저장 매체가 고장나거나 사용자가 직접 데이터를 지우지 않는 이상 계속 데이터가 보존되므로 서버 종료 여부와 상관없이 데이터를 지속적으로 사용할 수 있습니다. 또한, 서버에 데이터베이스를 올라묜 여러 사람이 동사애 사용할 수 있습니다. 사람들에게 각각 다른 권한을 줘서 어떤 사람은 읽기만 가능하고, 어떤 사람은 모든 작업을 가능하게 할 수 있습니다,데이터베이스를 관리하는 DBMS 중에서 RDBMS라고 부르는 관계형 DBMS가 많이 사용됩니다. 대표적인 RDBMS로는 Oracle, ..