본문 바로가기

내일배움캠프 Node 4기/TIL

내배캠 12/16 TIL

Mongo DB - save 와 create의 차이

- 이번 과제에서 본인은 데이터 생성시 create를 사용했다.

그런데 save 역시 데이터 생성이 가능한지라 뭐가 다른지 찾아보았다.

 

내가 알게 된 내용은, 단순히 데이터를 받아 밀어넣는건 create 이고, 해시로 암호화를 하는 등의

가공작업을 거치려면 save를 쓴다는 것이였다.

 

추후 과정에서 비밀번호 암호화 관련한것(저번 미니플젝의 bcrypt같은) 이 있을테니

그때 좀 더 자세히 알아보려고 한다.

 

Git Ignore의 중요성

- 플젝이나 과제를 마치고 신이나서 git init 하고 add, commit 하다가는, 오늘 내가 겪은일을 반복하게 되므로

'Tracking' 되고 있는 파일들이 뭔지 꼭 확인을 해야 하겠다.

 

그냥 신나서 git add했다가는, 노드 모듈같은것들이 포함이 되서 컴퓨터의 CPU가 미쳐날뛰는 상황이 발생한다.

Git ignore파일을 생성해서 "node_modules"만 추가해주면 해결되는 문제이다.

 

트랜잭션(Database)

- SQL 등으로 이루어진 DB의 일종의 명령 사이클이라고 생각하면 되겠다. 예를들어 은행 DB에서

고객의 계좌에서 1000원을 다른 계좌로 이체하는 과정을 생각한다면,

 

1. 보내는 고객 계좌의 정보를 받아와서,

2. 잔고 체크를 한 후,

3. 일정 금액을 차감 후 저장한다

4. 이체받은 계좌에도 1~3의 행동을 수행한다(일정 금액 증가)

 

이게 타 계좌로의 이체 트랜잭션이라고 보면 되겠다.  이렇게 트랜잭션 단위로 묶는 이유는

예를들어 3번까지만 트랜잭션을 수행하다가 중간에 에러가 나서 끊겨버리고 트랜잭션을 중단해버린다면

보내는 사람만 금액이 차감되고 받는사람은 아무 행동도 일어나지 않는 대 참사가 벌어지기 때문이다.

그렇기에 일정 트랜잭션의 일부에 뭔가 오류가 있다면 전체 트랜잭션을 취소하는 개념이다.

 

이와 관련된 ACID는 추후 공부할 것이다.

 

 

'내일배움캠프 Node 4기 > TIL' 카테고리의 다른 글

내배캠 12/19 TIL  (0) 2022.12.19
내배캠 12/17 TIL  (0) 2022.12.17
내배캠 12/15 TIL  (0) 2022.12.15
내배캠 12/14 TIL  (0) 2022.12.14
내배캠 12/13 TIL  (0) 2022.12.13