[TIL] 엘리스 SW 엔지니어 트랙 Day 035
글 작성자: 망고좋아
반응형
📖 오늘 배운 내용 - 2021.12.10
- 회원가입 구현
- Passport.js
- Session Store
- 회원과 게시글의 연동
- CSR로 댓글 기능 구현하기
📝 회원가입 구현하기
📝 Passport.js와 로그인
- Express.js 애플리케이션에 간단하게 사용자 인증 기능을 구현하게 도와주는 패키지이다.
- 유저 세션 관리 및 다양한 로그인 방식 추가할 수 있다.
📝 Session Store
- 웹 서버가 클라이언트의 정보를 클라이언트 별로 구분하여 서버에 저장하고 클라이언트 요청 시 Session ID를 사용하여 클라이언트의 정보를 다시 확인하는 기술
- 클라이언트가 정보를 저장하고, 요청 시 정보를 보내는 Cookie와 대조된다.
📝 회원과 게시글의 연동
📝 CSR로 댓글 기능 구현하기
📝 MongoDB Aggregation
📕 Aggregation 이란?
- MongoDB에서 Document들을 가공하고, 연산하는 기능
- RDBMS에서 SQL로 수행할 수 있는 기능들을 유사하게 구현할 수 있다.
- ex) SQL의 GROUP BY, DISTINCT, COUNT, JOIN 등
📕 Aggregation을 사용하는 이유
- MongoDB의 find는 검색 필터링과 정렬 이외의 기능을 제공하지 않음
- 다른 Collection에서 데이터를 가져오거나, 검색된 데이터를 그룹화하는 등의 작업이 필요한 경우 Aggregation을 통해 이를 수행할 수 있다.
📕 간단한 Aggregation 예제
db.posts.aggregate([
{ $group: { _id: '$author', count: { $sum: 1 } } },
{ $match: { sum: { $gt: 10 } } },
{ $lookup: { from: 'users', localField: '_id', foreignField: '_id', as: 'users } },
]);
- aggregation은 Stage들의 배열로 이루어지고 각 Stage는 순차적으로 수행됨
- 작성자 별 게시글 수를 취합하고
- 게시글 수가 10개보다 많은 작성자를 찾아서
- 해당 작성자를 회원 collection에서 검색함
💡 오늘 깨달은 것
- 회원의 비밀정보를 저장하기 위한 방법으로 문자열을 되돌릴 수 없는 방식으로 암호화하기 위해서 사용하는 방법 → hashing
- 예전 프로젝트할 때 회원 비밀번호를 그냥 db에다 저장했었는데 반성합니다ㅠㅠ
📌 참고
반응형
'프로그래밍 > Today I Learned' 카테고리의 다른 글
[TIL] 엘리스 SW 엔지니어 트랙 Day 037 (0) | 2021.12.15 |
---|---|
[TIL] 엘리스 SW 엔지니어 트랙 Day 036 (0) | 2021.12.15 |
[TIL] 엘리스 SW 엔지니어 트랙 Day 034 (0) | 2021.12.10 |
[TIL] 엘리스 SW 엔지니어 트랙 Day 033 (0) | 2021.12.09 |
[TIL] 엘리스 SW 엔지니어 트랙 Day 032 (0) | 2021.12.08 |
댓글
이 글 공유하기
다른 글
-
[TIL] 엘리스 SW 엔지니어 트랙 Day 037
[TIL] 엘리스 SW 엔지니어 트랙 Day 037
2021.12.15 -
[TIL] 엘리스 SW 엔지니어 트랙 Day 036
[TIL] 엘리스 SW 엔지니어 트랙 Day 036
2021.12.15 -
[TIL] 엘리스 SW 엔지니어 트랙 Day 034
[TIL] 엘리스 SW 엔지니어 트랙 Day 034
2021.12.10 -
[TIL] 엘리스 SW 엔지니어 트랙 Day 033
[TIL] 엘리스 SW 엔지니어 트랙 Day 033
2021.12.09