기록

백엔드 용어 정리

해은 2020. 12. 2. 13:59

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