일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- backend
- 자바스크립트
- nodejs
- node.js
- form
- API
- TypeScript
- Mongoose
- JavaScript
- react
- ES6
- DART
- ECMAScript
- CSS
- GRID
- Component
- javscript
- NextJs
- pug
- Flutter
- HTML
- graphQL
- heroku
- Session
- express
- frontend
- CLONE
- MongoDB
- 리액트
- clonecoding
- Today
- Total
목록express (43)
Enjoy Programming
기존 프로필 수정 페이지는 get방식만 있었다 그런데 이제 프로필 이미지 수정이나 이름 수정 , email 수정등을 추가할 예정이라 이제 post방식의 컨트롤러도 하나 만들어 준다. 수정했으니 이제 라우터도 바꿔주자 음 이제~~ 프로필 이미지 변경에 필요한 미들웨어를 하나 만들어 준다. 비디오 업로드와 동일하다~~ 인코딩 타입 정해주고~ 업로드 파일 형식 지정을 해줬다. 그리고 프로필 수정페이지에 들어가면 인풋박스에 벨류값으로 현재 로그인된 유저의 이름과 이메일을 띄워준다. 그리고 postEditProfile 컨트롤러를 만들어주자 먼저 body parser를 통해 이름과 이메일 업로드 파일을 가져오고 만약 파일이 있다면 이전에 저장소에 저장된 파일을 경로를 통해 삭제해주고 또한 함께 db의 avatarU..
하,,,,페이스북은 버렸다.. 다들 욕이 난무한다.. 페이스북은,... ㅋㅋㅋㅋ 노마드코더 2021 업데이트 버전도 페이스북은 빠졌다 ㅋㅋ 그냥 카카오톡 연결하고 넘어가겠다 카카오톡은 살짝 json에서 멍해지긴 했지만 잘 해결했다. 우선 카카오 디벨로퍼 사이트로 가자 https://developers.kakao.com Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 다들 카카오톡 아이디는 있을테니~~ 들어가게 되면 애플리케이션 하나를 만들어주자 애플리케이션을 만들었으면 내가 등록할 싸이트 도메인을 적어주고 redirect URI도 등록해주자. r..
음.. 유튭 클론코딩을 진행하면서 한가지 자꾸 거슬리는 부분이 있는데 multer를 통해 비디오를 db로 업로드 하면 지정한 path에 변환된 fileUrl이 저장되어있다. 문제는 delete키를 눌러 파일을 db에서 삭제를 해도 내 컴퓨터의 path에는 그대로 fileUrl이 저장 되어 있고 삭제가 되지 않았다. 그냥 지우고 싶었다.. ㅎㅎㅎ 그래서 이것 저것 해보던 중 Node.js에서 파일 삭제를 할때 fs모듈(파일시스템)을 이용해 삭제하는 것을 생각했고 deleteVideo 컨트롤러에서 삭제를 진행했다. 우선 fs모듈을 설치: npm install fs 그리고 videoController에 fs를 임포트 해주고 : const fs = require("fs"); 삭제 컨트롤러에서 filePath를..
페이스북 소셜 로그인 연동을 할 차례인데 꽤 어렵다고 한다 먼저 developer.facebook.com으로 들어가서 애플리케이션 등록을 해야한다 난 facebook아이디가 없다.. 먼저 만들어주고 developer사이트로 가서 로그인 해주고 새앱 만들기를 진행했다. 이 화면에서 그냥 일단 잘 모르지만 로그인 권한이 적혀있어서 소비자로 만들어 줬다. 그리고 facebook 로그인 설정을 선택하고 계속 계속~ 그리고 이런 화면이 뜨는데 웹으로 선택하고 사이트 url 적어주고~ 뒤에 나오는 내용은 현재 필요 없으므로 전부 무시하고 완료해주자.. 완료버튼이 없다..ㅡㅡ;; 그리고 설정에서 기본설정으로 이동하면 앱 ID와 시크릿ID가 보인다... 이것들을 복사해주자 깃헙 연동할때 처럼 .env에 환경변수 설정을..
유저 프로필 페이지를 수정을 해줄 건데 약간의 수정사항과 추가사항이 있다. 일단 로그인한 유저의 프로필 페이지로 이동을 하면 기존에는 /:id 를 이용해서 갔는데 userDetail 컨트롤러를 이용해서 id값을 찾아 이동을 했다. 사용자마다 똑같은 user template을 이용하는데 이부분을 바꾼다. 그래서 사용자 프로필 페이지 routes와 컨트롤러를 하나 더만들어준다 헤더 템플릿으로 가서 경로도 다시 설정 해주자 기존 userDetail과 같은 기능을 하지만 다른점은 userDetail은 사용자를 찾는 과정이 필요한데 새로 만든 getMe user를 지금 로그인한 유저인 req.user로 전달한다. 햔재 userDetail은 제 역할을 못하기에 프로필 페이지 접속후 :id부분의 url을 임의로 바꿔..
앞서 인증 정보를 받았을때 토큰과 프로필 cb가 있었는데 토큰은 신경안쓰고 githubId & email & name & avartar 이것들이 중요한 정보이다. 현재 _json형태로 담겨있고 그안에서 정보를 추출하자 cb는 무엇인가 - cb는 passport에서 제공된 callback함수이다. 그리고 passport에서 이 callback 함수는 인증이 성공했을 때 호출이 된다. 이때 두가지 옵션이 있는데 한가지는 cb를 호출 할 때 에러 없이, user를 넣어주는 것, 에러가 없다고 하고 user object를 넣고 함수를 호출 하면 passport는 user ID를 쿠키에 넣어주고 사용자 인증방식으로 인증할 때와 똑같은 process가 진행된다. 만약 user object 없이 에러만 넣어서 cb를..