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 |