글 작성자: 망고좋아
반응형

📖 오늘 배운 내용 - 2021.12.10

  • 회원가입 구현
  • Passport.js
  • Session Store
  • 회원과 게시글의 연동
  • CSR로 댓글 기능 구현하기

 

📝 회원가입 구현하기

 

[Node.js] 회원가입 구현하기

🎯 회원가입 구현하기 회원가입 시 다양한 정보를 받기보다는 절차를 간단하게 만들어서 사용자들이 부담 없이 가입할 수 있도록 해야 된다. 📝 회원 정보를 데이터베이스에 저장하기 회원의

lakelouise.tistory.com

 

📝 Passport.js와 로그인

  • Express.js 애플리케이션에 간단하게 사용자 인증 기능을 구현하게 도와주는 패키지이다.
  • 유저 세션 관리 및 다양한 로그인 방식 추가할 수 있다.
 

[Node.js] Passport.js와 로그인

🎯 Passport.js와 로그인 📝 Passport.js란? Express.js 애플리케이션에 간단하게 사용자 인증 기능을 구현하게 도와주는 패키지이다. 유저 세션 관리 및 다양한 로그인 방식 추가할 수 있다. 📝 passport-l

lakelouise.tistory.com

 

📝 Session Store

  • 웹 서버가 클라이언트의 정보를 클라이언트 별로 구분하여 서버에 저장하고 클라이언트 요청 시 Session ID를 사용하여 클라이언트의 정보를 다시 확인하는 기술
  • 클라이언트가 정보를 저장하고, 요청 시 정보를 보내는 Cookie와 대조된다.
 

[Node.js] Session Store 사용하기

🎯 Session Store 📝 Session이란? 웹 서버가 클라이언트의 정보를 클라이언트 별로 구분하여 서버에 저장하고 클라이언트 요청 시 Session ID를 사용하여 클라이언트의 정보를 다시 확인하는 기술 클

lakelouise.tistory.com

 

📝 회원과 게시글의 연동

 

[Node.js] 회원과 게시글의 연동

🎯 회원과 게시글의 연동 📝 PostSchema 수정 author: { type: Schema.Types.ObjectId, ref: 'User', required: true, }, PostSchema에 author 추가 populate를 사용하기 위해 ObjectID 사용 ref를 유저 모델의..

lakelouise.tistory.com

 

📝 CSR로 댓글 기능 구현하기

 

[Node.js] CSR로 댓글 기능 구현하기

🎯 CSR로 댓글 기능 구현하기 📝 CSR을 구현하는 방법 페이지 로드 시 필요한 리소스를 클라이언트에 선언 클라이언트에서 필요한 데이터를 비동기 호출 클라이언트가 전달받은 데이터를 가공,

lakelouise.tistory.com

 

📝 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는 순차적으로 수행됨
  1. 작성자 별 게시글 수를 취합하고
  2. 게시글 수가 10개보다 많은 작성자를 찾아서
  3. 해당 작성자를 회원 collection에서 검색함

 

💡 오늘 깨달은 것

  • 회원의 비밀정보를 저장하기 위한 방법으로 문자열을 되돌릴 수 없는 방식으로 암호화하기 위해서 사용하는 방법 → hashing
  • 예전 프로젝트할 때 회원 비밀번호를 그냥 db에다 저장했었는데 반성합니다ㅠㅠ

 

📌 참고 

반응형