일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- TypeScript
- Props
- socket io
- S3
- 카톡
- AWS
- Vue
- 파이썬
- NeXT
- Class
- 채팅
- async
- flask
- SAA
- react
- MongoDB
- dict
- EC2
- SSA
- crud
- pandas
- 튜플
- lambda
- merge
- node
- wetube
- RDS
- git
- 중급파이썬
- Today
- Total
목록전체 글 (421)
초보 개발자

처음 아이디를 생성 할 때 사진파일을 넣을 공간을 안주었다. 프로필을 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..

delete는 정말 간단하다. findByIdAndDelete를 써주기만하면 된다. 먼저 Router와 handler를 추가하자. 이걸로 끝이다 얼마나 간단한가!!! 다음은 search인데 여기서는 정규식을 통해 찾아보도록 하자. 먼저 Router와 handler를 추가하자. let으로 videos = [] 이라는 빈 배열을 만들고 keyword가 있다면 ( input에 title을 검색 했다면 ) videos를 갱신해주자 !!! 여기서 query에서 정규식을 쓰기 위해서는 $regex라는 연산자를 써야한다. regular expression의 약자이다. title : { $regex : new RegExp(keyword, "i") i는 대소문자 구별X 만약 let으로 바깥에다가 선언을 하지 않고 if문..