Node js
: Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임이다. 런타임이란 프로그램이 구동되는 환경이다. 예전에는 자바스크립트 런타임이 브라우저 밖에 존재하지 않았는데 그러한 한계를 극복하고 Node.js가 나왔다.
Express JS
: Node.js 의 핵심 모듈인 http와 Connect 컴포넌트를 기반으로 하는 웹 프레임워크이다. Node.js로 웹 서버에 필요한 기능을 하나하나 다 짜면 라우팅에 세션관리에 이것저것 할 게 많지만 Node.js의 웹 프레임워크인 express.js를 사용하면 간단하게 웹 서버를 구축할 수 있다.
Mongo DB
: MongoDB는 Document-Oriented(문서 지향적) NoSQL 데이터베이스이다. 오픈소스이며 엔진은 C++로 작성되었다. NoSQL이란 Not Only SQL의 약자로서 기존의 RDBMS(관계형 데이터베이스)의 한계를 극복하기 위한 새로운 형태의 데이터베이스이다.
RDBMS
: 관계형 데이터베이스를 생성하고 수정하고 관리할 수 있는 소프트웨어라고 정의할 수 있다. 모든 데이터를 2차원 테이블로 표현한다는 특징이 있다.
Cluster
: cluster 모듈을 활용하면 싱글스레드인 노드가 CPU 코어를 모두 사용하여 작업을 병렬적으로 처리하도록 해준다. 이를 이용하면 요청을 분산시켜 서버가 오버로드 되지 않도록 할 수 있다. 그러나 코어 하나당 프로세스 하나가 돌아가기 때문에 세션을 공유하지 못한다는 단점이 있는데 이는 Redis 서버를 도입하여 해결할 수 있다.
Mongoose
: MongoDB를 좀 더 편하게 쓸 수 있게 해주는 Object Modeling Tool
Schema
: 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var blogSchema = new Schema({
title: String,
author: String,
body: String,
comments: [{ body: String, date: Date }],
date: { type: Date, default: Date.now },
hidden: Boolean,
meta: {
votes: Number,
favs: Number
}
});
Model
: 스키마를 감싸주는 역할을 한다.
var Blog = mongoose.model('Blog', blogSchema);
Body parse
: node.js 모듈로 클라이언트가 보낸 request data의 body로부터 파라미터를 편리하게 추출합니다.
클라이언트 POST request data의 body로부터 파라미터를 편리하게 추출합니다.
Nodemon
:소스를 변경하면 그것을 감지해서 자동으로 서버를 재 시작해주는 tool
Bcrypt
: npm에 등록되어 있는 암호화 모듈. 해시 알고리즘인 SHA-256을 사용해서 데이터를 해싱한다.또한 단방향 암호화이기 때문에 복호화가 불가능하다.
Salt
: 공격자가 암호를 유추할 수 없도록, 평문 데이터에 의미 없는 데이터를 뿌려 넣는데, 이것을 salt라고 한다
'기록' 카테고리의 다른 글
Javascript의 동기와 비동기 (0) | 2020.12.07 |
---|---|
reduce 함수 (0) | 2020.12.02 |
웹서버와 WAS (0) | 2020.11.30 |
meta tag (0) | 2020.11.22 |
프론트엔드 용어 정리 (0) | 2020.11.22 |