목록BackEnd (29)
EtoC
mongoDB를 쓰다가 비슷한 기능을 하는 두 메소드를 발견했다. 어떤때에 create를 쓰고 어떤때에 save를 쓰는건지 궁금해져서 알아보았다. 1. 공통점 두 메서드 모두 데이터베이스에 새로운 데이터를 만드는 model 메서드이다. 2. 차이점 1. create() create() 메소드는 save()와 달리, 새로운 document를 만들어 데이베이스에 바로 저장한다. 모델 생성과 저장을 한 번에 처리할 수 있어, 코드를 간결하게 유지할 수 있다. create()를 호출할때 생성할 객체르 전달 하면 된다. //create() 사용 const Join = async (req, res) => { await User.create({ name, email, password, }); };2. save() s..
1. Session 설치하기 express-session npm i express-session을 입력하여 node.js에서 사용할 수 있도록 설치한다. const session = require('express-session')을 입력하여 불러온다. 쿠키에 세션id만 저장되고, 세션데이터는 쿠키가아닌 서버에 저장된다. 2. MongDB 연결하기 connect-mongo 설치 명령어를 터미널에 입력한다. npm install connect-mongo yarn add connect-mongoconnect-mongo를 import해준다. const session = require("express-session"); const MongoStore = require("connect-mongo");..
1. MongoDB란? 1. 개념 다목적용 NoSQL로 JSON과 닮은 형태의 Document 기반으로 데이터를 저장하는 데이터베이스이다. Document란? 도큐먼트는 HTML과 같은 특정 형식의 태그 구조를 의미한다. mongoDB가 데이터를 저장하는 최소 단위이다. 필드와 값의 쌍으로 구성되며, 관계를 갖는 데이터를 중첩 도큐먼트와 배열을 사용하여 1개의 도큐먼트로 표현할 수 있다. { field : value } 2. 특징 1. 도큐먼트 데이터베이스 mongoDB는 JSON(JavaScript Object Notation) 형식으로 데이터를 관리하므로 NoSQL 데이터베이스 중 도큐먼트 데이터베이스로 분류된다. 데이터 입출력 시에는 JSON 형식의 도큐먼트를 사용하나 데이터베이스 저장 시에는 이진..
transaction이란? CS에서 트랜잭션은 더이상 쪼갤수없는 가장작은 엄무처리 단위를 말한다. DB에서 트랜잭션은 여러 SQL을 하나의 Operation으로 실행될 수록 있도록 하는 논리적 작업 단위로 데이터의 정합성을 보장한다. 즉, 데이터베이스의 상태를 변화시키기 위한 작업수행의 논리적 단위이다. 트랜잭션 사용시 범위를 최소화 해야한다. 비즈니스 로직의 시작부터 실행하는 것이 아니라 DBMS에 데이터를 저장하는 작업의 시작부터 걸어야한다. 연산이 길어지면 lock을 잡는 시간도 길어지고 최악의 경우엔 DB 커넥션 풀이 고갈될 수 있다. 트랜잭션의 성질(ACID) 1. 원자성(Atomicity) 트랜잭션은 All or nothing의 성질로, 연산이 중간에 중단되지 않는 것을 보장한다. 논리적인 작..
1. DB(DataBase) 1. 의의 데이터(data): 자료로 단순한 정보들의 나열. 데이터베이스(database): 논리적연관성이있는 데이터를 모은 데이터의 집합으로 데이터의 저장 형태를 말한다. 데이터의 중복을 최소화하여 목적에 맞게 효율적으로 관리하기위해 사용한다. 일반적인 데이터베이스는 ISOS로, 데이터베이스의 시스템적 특징을 말할때는 R1C3으로 정의한다. 약자 정의 I(integrated Data) 통합 데이터 : 데이터 중복이 최소화 된 데이터 S(Stored Data) 저장 데이터 : 컴퓨터가 접근할 수 있는 매체에 저장된 데이터 O(Operational Data) 운영 데이터: 고유한 업무를 수행하는데 필요한 데이터 S(Shared Data) 공용 데이터: 여러 응용 시스템이 공동으..