일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- wetube
- Props
- docker
- 파이썬
- S3
- socket io
- 중급파이썬
- pandas
- Vue
- 카톡
- 튜플
- 채팅
- dict
- node
- merge
- RDS
- git
- SSA
- NeXT
- crud
- flask
- async
- AWS
- Class
- SAA
- react
- MongoDB
- EC2
- TypeScript
- lambda
- Today
- Total
목록분류 전체보기 (422)
초보 개발자

이번에 해볼 것은 User의 model 속에 Video의 id들(여러개)을 집어넣어 자기가 올린 영상을 추적할 수 있도록 한다. 반대로 Video의 model 속에 User의 id를(한개) 집어넣어 이 영상을 올린 주인을 추적할 수 있도록 한다. mongoose는 정말 편리한 것 같다!!! 각 model들은 생성될 때 고유의 id를 하나씩 가지고 태어난다. 지금은 서로 User모델과 Video 모델이 연결되어있지 않지만 고유한 id값을 이용하면 된다. User.js type이 특이하다. id값을 이용하기 위하여 ObjectId로 설정해줘야 한다. ObjectId만 적어주면 안되고 꼭 저렇게 설정해야한다. 그리고 우리가 참조할 Model을 ref명령어를 통해서 적어주어야하는데 우리는 저 videos에 Vi..

처음 아이디를 생성 할 때 사진파일을 넣을 공간을 안주었다. 프로필을 Edit할 때 선택적으로 집어 넣을 수 있도록 말이다. Userschema에서 avataUrl을 추가하고 edit-profile.pug 우리가 파일을 업로드하기 위해서는 multer라는 미들웨어가 필요하다. 설치를 먼저 해주자 npm i multer multer를 쓰려면 form을 multipart/for-data으로 만들어주어야한다. enctype="multipart/form-data" 이게 파일을 업로드하기 위한 유일한 조건이다. middleware.js avatarUpload와 videoUpload를 만들어준다. dest를 설정하여 서버 어디에 저장할 지 지정해주고 limits를 활용하여 파일의 크기를 제한할 수 있다. mildd..

우리가 로그인이 되어있지 않은 상태로 로그아웃을 하거나 반대로 로그인 되어 있는 상태로 또 다시 로그인을 한다면 안될 것이다. 이런 경우에 middleware를 사용하여 사전에 차단할 수 있다. 로그인 되어있는 상태일때만 접근 할 수 있는 forLoggedUser와 로그인 되어있지 않은 상태일때만 접근 할 수 있는 forPublic 이 두개의 middleware를 만들었다. 사용법은 간단하다. handler앞에 적어주기만 하면 끝이다. route()를 통해 get,post메서드를 같이 받고 있는 상태라면 all()을 사용해 한번에 처리할 수도 있다. 다음으로 user edit handler를 만들어 보도록 하겠다. 먼저 router와 handler, 그리고 pug가 필요하다 이렇게 퍼그를 해두고 logg..

2021.09.27 - [RECAP - WETUBE] - Github Login - oAuth Github Login - oAuth 2021.09.27 - [이것 저것] - OAUTH OAUTH WEB2 - OAuth 2.0 : 1.수업소개 - YouTube 모든 내용은 생활 코딩님의 OAUTH강의를 바탕으로 만들어졌습니다. 3가지의 주체가 있다고 가정해봅시다. 우리를 Cli.. taehyeki.tistory.com 이전에 포스팅 한 글이있습니다. 못보신 분들은 한번 보고와주세요 !! 우리가 적어둔 redirect URL 뒤에 code가 하나 딸려온 것을 알 수 있는데요이건 authorization code이라고 합니다. 1. code 2. client_id 3. client_secret 를 모..

2021.09.27 - [이것 저것] - OAUTH OAUTH WEB2 - OAuth 2.0 : 1.수업소개 - YouTube 모든 내용은 생활 코딩님의 OAUTH강의를 바탕으로 만들어졌습니다. 3가지의 주체가 있다고 가정해봅시다. 우리를 Client라고하고 우리의 서비스를 사용 taehyeki.tistory.com oAuth의 인증절차에 대해서 다뤄봤던 글이 있다. 생활코딩님이 설명해주신 내용을 바탕으로 정리해두었다. 이 글을 먼저 보고오면 어떤 원리로 인증이 되는지 알 수 있을 것이다. GitHub Apps GitHub: Where the world builds software GitHub is where over 65 million developers shape the future of s..

WEB2 - OAuth 2.0 : 1.수업소개 - YouTube 모든 내용은 생활 코딩님의 OAUTH강의를 바탕으로 만들어졌습니다. 3가지의 주체가 있다고 가정해봅시다. 우리(서버)를 Client라고하고 우리의 서비스를 사용하는 사람(사람)을 Resource Owner 그 정보를 가지고 있는 다른 사이트(카카오,google..)를 Resource Server라고 합시다. Authorization Server라는 것도 있지만 편의상 합쳐서 Resource Server만 사용하기로 한다. client가 리소스 서버를 이용하기 위해서는 리소스 서버의 승인을 사전에 받아놓아야한다. 나는 깃허브를 사용해보려고 한다. New OAuth Application (github.com) GitHub: Where ..

session data가 쿠키안에 저장되지 않는다. session id만 저장되고 session data는 서버쪽에 저장된다. 즉 우리는 session id는 쿠키에 저장하지만, 데이터 자체는 서버에 저장된다. default session storage는 MemoryStore이고 실제 사용하기 위해서 있는건아니다. 따라서우리는 세션을 DB에 저장해야한다. connect-mongo는 세션을 mongoDB에 저장한다. 그래서 만약 우리가 서버를 재시작하더라도 세션은 database에 저장되더 있기 때문에 누군가 로그인 되어있어도 잊어버리지 않을 것이다. (현재는 세션을 메모리에 저장해놓기 때문에 서버가 재시작 하면 메모리가 사라져버린다) npm i connect-mongo session 미들웨어에서 opti..

먼저 join handler를 만들어 보겠다. 여기서 새로운 Model인 User모델을 만들고 bcrypt를 활용해 비밀번호를 해시하여 암호화 시킬 것이다. getJoin getJoin을 통하여 /join url로 들어왔을 때 join.pug를 보여주도록 한다. join.pug form을 만들고 그 안에 id를 뜻하는 iden와 password, email, name 등을 post방식으로 보낼 것이다. postJoin req.body로 먼저 정보들을 받아온 뒤에 iden, email이 기존의 것과 중복이 되는 지의 여부를 확인하고 중복이 된다면 status(400) (bad request)를 보내준다. 안보내면 아이디와 비밀번호를 저장할 것인지를 브라우저가 물어보는데 이것은 자동적으로 status(200..