목록분류 전체보기 (174)
그저 내가 되었고

필요 배경 지식 & 개념 * Oauth / Oauth2 웹 사이트를 이용할 때 "네이버로 로그인" 같이 별도의 회원가입 없이 로그인을 제공하는 서비스를 이용한 적이 있을 것이다.. 이때 해당 플랫폼의 아이디가 있다면 외부 서비스에서도 인증을 가능하게하고 그 서비스의 API를 사용할. 수 있다. 이것을 OAuth라고 한다. 내가 만드는 클라이언트 서버에서 다른 서버의 정보(Google, Naver, Kakao 등) 를 가지고 오고 싶을때 안전하게 가지고 오는 플로우를 제시한다. 보통은 구글,페이스북에서 많이 사용하는 Authorization Code Grant 방식을 자주 사용한다. Oauth 기능은 간단히 설명해보면 아래와 같다. 어떤 사용자가 우리의 서비스를 이용하려 한다. 그런데 이 사용자가 정말 올..

1. 데이터베이스(db)의 종류 관계형 데이터베이스 vs 비관계형 데이터베이스 SQL 기반 데이터베이스 vs. NoSQL 기반 데이터베이스 관계형 데이터베이스 vs. NoSQL SQL vs. NoSQL 2. 몽고db NoSQL 기반 db 그러므로 모델끼리의 관계를 직접 설정할 수 없음 하지만 다른 documents들이 서로를 참조할 수 있게끔 설정하기는 가능 SQL에 Join 이 있다면, NoSQL에는 Schema Implant가 있는 것. SQL에서 테이블을 정의할 때 자료형을 정의하듯이, NoSQL에서는 서로 관계를 맺고 싶은 스키마를 다른 스키마에 삽입하면 됨. populate 메소드를 사용할 것. populate method는 몽구스 ODM의 핵심 요소로, 몽고디비 컬렉션 간에 동적 관계 맺어주는..

1. 하고자 한 것: 위처럼 내가 찾고자 하는 조건(위치, 날짜, 시간, 인원)을 한꺼번에 받아서 게시글 필터링 2. 유의미한 구글링 키워드: mongodb overlap find, mongodb document query overlap find 3. 사용한 방법: 쿼리:: 쿼리로 find() 함수 이용하기; find() 함수 기본형에 쿼리를 추가해서 이용하면 다양한 조건으로 검색이 가능함. 쿼리 설명 $eq equals, 일치하는 값을 찾는다. $gt greater than, 지정된 값보다 큰 값을 찾는다. $gte greater than or equals, 크거나 같은 값을 찾는다. $lt less than, 지정된 값보다 작은 값을 찾는다. $lte less than or equals, 작거나 같은..

⚡️ 웹소켓 vs socket.io 웹소켓: 실시간 웹 서비스를 제공하기 위해 만들어진 소켓. 최근 구글닥스 등 여러 협업툴들에서 실시간 공동 편집 기능, 웹 메신저 등을 만들 때 많이 이용하는 기술. 점점 더 빈번히 사용되고 있음. but 모든 브라우저에서 동작하지는 못하기에 모든 사용자를 고려해야 하는 경우 실시간 기능 구현에 어려움이 있음. socket.io: JS를 이용해 웹소켓 사용할 때 가장 많이 쓰는 라이브러리. 위에서 말한 브라우저의 한계에 극복하기 위해 socket.io는 웹소켓을 사용할 수 없는 브라우저는 polling기능(서버에서 데이터를 일정 간격마다 받아옴)으로 실시간 기능을 구현하게 해줌. 결론) 웹소켓 !== socket.io ➜ socket.io: 라이브러리(웹소켓 + 웹소켓..

✓ 설명: 기본적으로 키워드 검색입니다. 그러므로 찾는 게시물의 제목이 ‘롤롤’일 경우 ‘롤’까지 입력해도 ‘롤롤’까지 전부 찾아집니다. 같은 방식으로 찾는 닉네임이 ‘안녕하세요’일 경우 ‘안녕’까지 입력해도 ‘안녕하세요’까지 전부 찾아집니다. 공백 무시하며, 영어 대소문자 무시하고 찾습니다. ✓ 로직: keyword를 params로 받아요. 3layered 기준 routes-posts-services 까지는 여타 API들과 같아요. repositories에서 find를 할 때 regular expression($regex)을 이용합니다. ++$regex? https://www.mongodb.com/docs/manual/reference/operator/query/regex/ For data hosted..