묻고 답해요
140만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
npm run start 실행시 ReferenceError: User is not defined
npm run start 실행시 ReferenceError: User is not defined라고 에러가 뜨고 포스트맨에서 send시 표기가 안됩니다.라고 에러가 뜨고 포스트맨에서 send시 표기가 안됩니다.
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
몽고디비 Postman으로 api test할 때 질문
안녕하세요 좋은 강의 잘 듣고 있습니다. Postman으로 회원 정보를 localhost:5000/register api에 test하는 부분에서 send를 누르고 200 Ok가 뜰 때 User 회원정보가 몽고디비에 insert된건지, 아니면 postman에서 임시로 테스트하는 것이므로 insert가 된 것이 아닌지 궁금합니다. 만약 유저가 insert가 이루어졌다면 몽고디비 클라우드에서 User 명단을 어디서 조회할 수 있을까요? + 추가로 github에 commit할 때 index.js에 몽고디비 비밀번호가 그대로 실릴텐데 이걸 따로 .gitignore파일에 담게할 수는 없을까요? 클러스터 비밀번호는 강의랑 똑같이 하여 지금은 상관없을 듯 한데, 나중에 개인프로젝트 같은 걸 할 때 어떻게 할지 궁금합니다 감사합니다!
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
mongodb ObejctID Error
Update with ObjectID를 하던 중 아래와 같은 에러가 발생하였습니다. 강의와 동일하게 수행하였다고 생각하는데 뭐가 문제 일까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
npm run start, start error..
npm run start를 실행하면 start라는 script가 없다고 뜨면서 실행이 안되네요ㅠ
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
안녕하세요. 질문이 있습니다.
안녕하세요! 좋은 강의 감사드립니다 :D mongodb의 index 관련 수업을 듣고나니까 드는 생각이 mongodb는 NoSQL 인데도 불구하고, RDB 못지않은 굉장히 뛰어난 indexing 기능 (ex. secondary, compound 등)을 갖고 있다라는 생각이 드는데요. 현업에서 만약 여러 NoSQL DB를 고려한다고 가정했을때, mongodb는 다른 NoSQL에 비해 뛰어난 indexing 기능을 제공한다는 것이 차별점이 돼서 선택기준이 될 수 있을까요??
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
boilerplate 다운로드 및 npm install 시 에러
아직 root 폴더에서 npm install 하는 단계입니다. 에러를 구글링하다보니 windows-build-tools 를 설치해야한다고해서, 관리자권한으로 powershell 실행해서 잘 설치했는데 해결되지 않아서요..ㅠㅠ 어떻게 해야할지 알려주실 수 있을까요? ++ 에러메시지 아래 추천으로 npm config set python 을 실행해봤지만 해결되지 않았습니다. node-pre-gyp WARN Using needle for node-pre-gyp https download node-pre-gyp WARN Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.8/bcrypt_lib-v3.0.8-node-v83-win32-x64-unknown.tar.gz node-pre-gyp WARN Pre-built binaries not found for bcrypt@3.0.8 and node@14.16.0 (node-v83 ABI, unknown) (falling back to source compile with node-gyp) gyp ERR! find Python gyp ERR! find Python Python is not set from command line or npm configuration gyp ERR! find Python Python is not set from environment variable PYTHON gyp ERR! find Python checking if "python" can be used gyp ERR! find Python - "python" is not in PATH or produced an error gyp ERR! find Python checking if "python2" can be used gyp ERR! find Python - "python2" is not in PATH or produced an error gyp ERR! find Python checking if "python3" can be used gyp ERR! find Python - "python3" is not in PATH or produced an error gyp ERR! find Python checking if the py launcher can be used to find Python 2 gyp ERR! find Python - "py.exe" is not in PATH or produced an error gyp ERR! find Python checking if Python is C:\Python27\python.exe gyp ERR! find Python - "C:\Python27\python.exe" could not be run gyp ERR! find Python checking if Python is C:\Python37\python.exe gyp ERR! find Python - "C:\Python37\python.exe" could not be run gyp ERR! find Python gyp ERR! find Python ********************************************************** gyp ERR! find Python You need to install the latest version of Python. gyp ERR! find Python Node-gyp should be able to find and use Python. If not, gyp ERR! find Python you can try one of the following options: gyp ERR! find Python - Use the switch --python="C:\Path\To\python.exe" gyp ERR! find Python (accepted by both node-gyp and npm) gyp ERR! find Python - Set the environment variable PYTHON gyp ERR! find Python - Set the npm configuration variable python: gyp ERR! find Python npm config set python "C:\Path\To\python.exe" gyp ERR! find Python For more information consult the documentation at: gyp ERR! find Python https://github.com/nodejs/node-gyp#installation gyp ERR! find Python ********************************************************** gyp ERR! find Python gyp ERR! configure error gyp ERR! stack Error: Could not find any Python installation to use gyp ERR! stack at PythonFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:307:47) gyp ERR! stack at PythonFinder.runChecks (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:136:21) gyp ERR! stack at PythonFinder.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:225:16) gyp ERR! stack at PythonFinder.execFileCallback (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:271:16) gyp ERR! stack at exithandler (child_process.js:315:5) gyp ERR! stack at ChildProcess.errorhandler (child_process.js:327:5) gyp ERR! stack at ChildProcess.emit (events.js:315:20) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) gyp ERR! stack at onErrorNT (internal/child_process.js:465:16) gyp ERR! stack at processTicksAndRejections (internal/process/task_queues.js:80:21) gyp ERR! System Windows_NT 10.0.19042 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\김하영\\STUDY\\react\\react_study_2\\boilerplate-mern-stack-master\\node_modules\\bcrypt\\lib\\binding\\bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=C:\\김하영\\STUDY\\react\\react_study_2\\boilerplate-mern-stack-master\\node_modules\\bcrypt\\lib\\binding" "--napi_version=7" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v83" gyp ERR! cwd C:\김하영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\bcrypt gyp ERR! node -v v14.16.0 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\김하영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\bcrypt\lib\binding\bcrypt_lib.node --module_name=bcrypt_lib --module_path=C:\김하영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\bcrypt\lib\binding --napi_version=7 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83' (1) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (C:\김하영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\node-pre-gyp\lib\util\compile.js:83:29) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:315:20) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1048:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5) node-pre-gyp ERR! System Windows_NT 10.0.19042 node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\김하영\\STUDY\\react\\react_study_2\\boilerplate-mern-stack-master\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd C:\김하영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\bcrypt node-pre-gyp ERR! node -v v14.16.0 node-pre-gyp ERR! node-pre-gyp -v v0.14.0 node-pre-gyp ERR! not ok Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\김하영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\bcrypt\lib\binding\bcrypt_lib.node --module_name=bcrypt_lib --module_path=C:\김하 영\STUDY\react\react_study_2\boilerplate-mern-stack-master\node_modules\bcrypt\lib\binding --napi_version=7 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83' (1) npm WARN react-redux@5.1.2 requires a peer of react@^0.14.0 || ^15.0.0-0 || ^16.0.0-0 but none is installed. You must install peer dependencies yourself. npm WARN react-redux@5.1.2 requires a peer of redux@^2.0.0 || ^3.0.0 || ^4.0.0-0 but none is installed. You must install peer dependencies yourself. npm WARN react-boiler-plate@1.0.0 No repository field. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.12 (node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.12: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! bcrypt@3.0.8 install: `node-pre-gyp install --fallback-to-build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the bcrypt@3.0.8 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\jerem\AppData\Roaming\npm-cache\_logs\2021-04-26T00_37_15_758Z-debug.log
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
안녕하세요! 질문있습니다.
안녕하세요. 좋은 강의 감사드립니다 :) 몽고디비 index 관련해서 궁금한 사항이 생겨 질문드립니다. mysql 같은경우에 index를 통한 조회는 disk로 부터 하나의 data block을 fetching하는 single block I/O가 발생하기 때문에 전체 데이터에서 조회하고자 하는 데이터가 많을 경우에는 index를 통한 조회가 full scan보다 오히려 성능적으로 악화되는 구간이 존재하므로 무조건 index를 거는것이 성능에 이점을 주지 않을수도 있다고 알고있는데요. 몽고디비의 index도 동일하다고 생각하면 되는 걸까요?
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
질문있습니다!
안녕하세요! 좋은 강의 감사드립니다 :) 강의를 들으면서 mongodb의 data 저장에 대해 한가지 의문사항이 생겨 글 남깁니다! mongodb 같은 경우에는 { _id: ... content: ... user: ... } 와 같은 형태로 data를 저장하는데요. 이럴 경우 해당 collection의 모든 document에서 _id, content, user 값이 즉, key에 해당하는 값이 중복되어 저장되는 구조인가요? (예를 들어, 위와 같은 형식의 document가 10000개 저장된다면 _id, content, user 값 또한 10000번 중복되어 저장) 만약 그렇다면, mongodb는 저장하는 data 형태의 특성상 저장 공간을 효율적으로 사용하지 못한다는 단점을 가지고 있다고 생각해도 되는 걸까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
504 에러 발생
Failed to load resource: the server responded with a status of 504 (Gateway Timeout) Uncaught (in promise) Error: Request failed with status code 504 이 2개의 콘솔 에러가 발생합니다 어떻게 해결해야 하나요?
-
미해결Vue로 Nodebird SNS 만들기
노드버드 데이터베이스
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 1회독을하고 복습차 직접 노드버드를 다시 만들고 있는 중에 질문이 생겼습니다 1. 저는 몽고디비를 쓰는 것을 선호하는데 만약 디렉터리를 (model: mysql) (model2: mongodb) 이렇게 만들고 백엔드에서 import sqldb from "./model" , import mongodb from "./model2" 이렇게 2가지를 병해해서 쓸수도 있나요..? sql은 게시물 , mongo는 사용자 이런식으로.. 2. 만약 쓸 수 있다면 mysql 과 mongo가 서로 참조(?) 를 할 수 있나요? 예를들어 mysql 게시물 스키마에 mongodb user를 칼럼으로 넣을 수 있는지..
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
이미지나 동영상 예제
저번에도 말씀드렸지만 이미지나 동영상 예제 올려주실 수 있나요? 물론 몽고DB 강의에 범주를 넘어가는것은 알겠으나, 아예 없다고는 생각하지 않아서요. 애매하게 중간에 걸친 것 같은데 혹시 예제를 올려주실 수 있나해서요? 아니면 참고할만한 사이트 부탁드립니다. 늘 친절한 답변 주셔서 감사합니다. ps: 앗!!!! 미니 강의 올려주신다 하셨네요. 그럼 강의도 좋은데 실무에서 사용하고 있는 저장 관련 모듈 사이트 알려주시면 감사하겠습니다. ^^ 찾다가 보니 아래와 같은 자료가 있어서 남깁니다. 그런데 제가 궁금한게 Streams 를 많이 사용하나요? Multer는 생각보다 안 사용하는 것 같네요. 생각해보니 mongodb 보단 nodejs범주인것 같긴하네요. 그래도 강사님은 어떤걸 더 추천 하시나요? multer 보니깐 데이터 저장된 파일이 이상한 문자로 나오던데 이 파일을 저장하는건 괜찮은 방법 같습니다만 .... 실무에서 어떤걸 쓰는지 궁금하네요. 제일 궁금한건 Streams인데 범주를 넘어서면 굳이 대답안해주셔됩니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
카카오 로그인하기 도중 에러 질문입니다.
E:\프로그래밍\Nodejs_Master_Project\9.Express로SNS서비스만들기\node_modules\passport-oauth2\lib\strategy.js:83 if (!options.clientID) { throw new TypeError('OAuth2Strategy requires a clientID option'); } ^ TypeError: OAuth2Strategy requires a clientID option at Strategy.OAuth2Strategy (E:\프로그래밍\Nodejs_Master_Project\9.Express로SNS서비스만들기\node_modules\passport-oauth2\lib\strategy.js:83:34) at new Strategy (E:\프로그래밍\Nodejs_Master_Project\9.Express로SNS서비스만들기\node_modules\passport-kakao\dist\Strategy.js:33:31) at module.exports (E:\프로그래밍\Nodejs_Master_Project\9.Express로SNS서비스만들기\passport\kakaoStrategy.js:7:18) at module.exports (E:\프로그래밍\Nodejs_Master_Project\9.Express로SNS서비스만들기\passport\index.js:27:5) at Object.<anonymous> (E:\프로그래밍\Nodejs_Master_Project\9.Express로SNS서비스만들기\app.js:38:1) at Module._compile (internal/modules/cjs/loader.js:1063:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) at Module.load (internal/modules/cjs/loader.js:928:32) at Function.Module._load (internal/modules/cjs/loader.js:769:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) [nodemon] app crashed - waiting for file changes before starting... npm start로 실행하면 다음과 같이 passport-oauth2에서 오류가 난다고 하는데, 강의에서는 이번에는 accessToken, refreshToken 와 같은 oauth2에 관련된 것은 사용하지 않는다고 들었습니다. 해당 오류는 어떻게 해결해야 하나요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기
회원가입이 안되는데 어떻게 수정해야될까요?
console 창 가져온건데 서버-클라이언트 코드가 달라 변경도 해보았는데 안되서 어떻게 해야할지 모르겠습니다ㅠㅠ 도와주세요ㅜㅜ 서버쪽코드 const request = axios.get(`${USER_SERVER}/auth`) 클라이언트코드 router.get("/auth", auth, (req, res) => {
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
req.session.color를 찾을수없다고 나오네요
12장 웹소켓 채팅을 구현중인데 req.session.color를 못찾는다고 나옵니다. node 버전은 v14.15.4이구요 TypeError: cannot read property 'color' of undefined 가 나옵니다. 강의처럼 {} 처리도 해보았는데 도 안되네요 문제가 되는 소스 첨부리며 `${req.session.color}님이 입장하셨습니다.` 위에 부분에서 오류가 발생합니다. const SocketIO = require('socket.io'); const axios = require('axios'); const cookieParser = require('cookie-parser'); const cookie = require('cookie-signature'); module.exports = (server, app, sessionMiddleware) => { const io = SocketIO(server, { path: '/socket.io' }); app.set('io', io); const room = io.of('/room'); const chat = io.of('/chat'); io.use((socket, next) => { cookieParser(process.env.COOKIE_SECRET)(socket.request, socket.request.res || {}, next); sessionMiddleware(socket.request, socket.request.res || {}, next); }); room.on('connection', (socket) => { console.log('room 네임스페이스에 접속'); socket.on('disconnect', () => { console.log('room 네임스페이스 접속 해제'); }); }); chat.on('connection', (socket) => { console.log('chat 네임스페이스 접속'); const req = socket.request; const { headers : { referer } } = req; const roomId = referer .split('/')[referer.split('/').length-1] .replace(/\?.+/, ''); socket.join(roomId); socket.to(roomId).emit('join', { user: 'system', chat: `${req.session.color}님이 입장하셨습니다.`, }); socket.on('disconnect', () => { console.log('chat 네임스페이스 접속 해제'); socket.leave(roomId); const currentRoom = socket.adapter.rooms[roomId]; const userCount = currentRoom ? currentRoom.length : 0; if (userCount === 0) { // 접속자 수가 0명이면 방 삭제 const signedCookie = req.signedCookies['connect.sid']; const connectSID = cookies.sign(signedCookie, process.env.COOKIE_SECRET); axios.delete(`http://localhost:8005/room/${roomId}`, { headers: { Cookie: `connect.sid=s%3A${connectSID}`, }, }) .then(() => { console.log('방 제거 요청 성공'); }) .catch((error) => { console.error(error); }); } else { socket.to(roomId).emit('exit', { user: 'system', chat: `${req.session.color}님이 퇴장하셨습니다.`, }); } }); }); };
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
MongoDb version update???
안녕하세요. 현재 몽고디비 버젼이 4.4인데 저는 예전에 깔아 놓은 거라 현제 제 몽고디비 버젼은 4.2.8 입니다. 예전에 다운 받은 거라 npm 으로 받았는지 아님 매뉴얼로 받았는지 기억이 잘 안나네요. 혹시 4.4버젼으로 업그레이드 시켜야 되는지 궁급합니다. 그리고 업그레이드 자료를 봤는데 솔직히 너무 복잡한데 좀 업그레이드 하는 방법을 그르쳐주시면 감사하겠습니가. 전 mac pro 16 big sur을 쓰고 있으며, 터미널은 zsh 을 쓰고 있습니다. 제가 아직 많이 잘 몰라서 이런것 여쭤보게 되어 죄송합니다.
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
Nesting schema 질문요???
안녕하세요. 저번 질문의 답변 감사합니다. 각각 방법을 비교하여 펴포먼스 테스트로 많은 이해가 되었습니다. 그런데 궁금한게 혹시 그럼 예를 들면 blogSchema에 commentSchema를 nesting 하여 퍼포몬스를 증가 시켰는데 어찌보면 제일 좋은 방법인데 그럼 blogschema에 user 키에도 userSchema를 네스팅 하면 안되나요? user 키에는 Type.ObjectId만 설정 되오있는데 그냥 이것도 comment 처럼 user: [userScehma] 로 하면 되는지 궁금합니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
Cannot read property 'split' of undefined 에러가 나옵니다...
코드 작성 후 정상적으로 실행이 되었는데 갑자기 재실행을 하면 8005 번 포트에서 대기 중 몽고디비 연결 성공 chat 네임스페이스에 접속 C:\Users\juren\OneDrive\바탕 화면\Node\chapter12\gif-chat\socket.js:29 .split('/')[referer.split('/').length - 1] ^ TypeError: Cannot read property 'split' of undefined at Namespace.<anonymous> (C:\Users\juren\OneDrive\바탕 화면\Node\chapter12\gif-chat\socket.js:29:8) at Namespace.emit (events.js:315:20) at Namespace.emit (C:\Users\juren\OneDrive\바탕 화면\Node\chapter12\gif-chat\node_modules\socket.io\lib\namespace.js:213:10) at C:\Users\juren\OneDrive\바탕 화면\Node\chapter12\gif-chat\node_modules\socket.io\lib\namespace.js:181:14 at processTicksAndRejections (internal/process/task_queues.js:75:11) [nodemon] app crashed - waiting for file changes before starting... 이런 에러가 나오면서 실행이 되지않습니다.. 그리고 저 에러가 나고 나서?? 채팅방에 사용자가 0명일때 채팅방이 삭제되는 부분도 삭제는 정상적으로 되는데 새로고침을 해줘야만 삭제된상태로 나옵니다.. 왜 그런걸까요 제로초님..
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
동영상이 아닌 사진 저장
동영상이 아닌 사진으로 올리려고 하는데 사진 사이즈를 바꾸고 렌더 시키고 싶어서 ffmpeg의 screenshot의 옵션 이용했는데 썸네일이 저장이 안되네요 ㅠ 혹시 사진 사이즈를 바꾸고 렌더시킬 수 있는 방법이 있을까요?
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
passport-naver
passport-naver을 이용해보려 하는데 porfile.displayName 값이 계속 undefind여서 nick값에 들어가지가 않습니다... naver 앱등록할때 권한도 다 설정 해줬는데 왜 정보를 받아오지 못할까요 제로초님 ㅠㅠ const passport = require('passport'); const NaverStrategy = require('passport-naver').Strategy; const User = require('../models/user'); module.exports = () => { passport.use(new NaverStrategy ({ clientID: process.env.NAVER_ID, // 네이버에서 발급받을 ID clientSecret: process.env.NAVER_SECRET, callbackURL: '/auth/naver/callback', // 네이버로부터 인증결과를 받을 라우터 주소 }, async (accessToken, refreshRoken, response, done) => { // 네[이버에서 인증 후 Token 과 profile을 보내준다. console.log('naver profile', response); try { const exUser = await User.findOne({ // 기존의 User가 있는지 조회 where: { snsId: response.id, provider: 'naver' }, }); if(exUser) { // 기존 User의 정보가 있다면 User정보를 done과 호출하고 전략을 종료 done(null, exUser); } else { // 기존의 User정보가 없다면 회원가입을 진행 const newUser = await User.create({ email: response.emails[0].value, nick: response.id, snsId: response.id, provider: 'naver', naver: response._json }); done(null, newUser); // 사용자 생성 후 done함수 호출 } } catch (error) { console.log(error); done(error); } })); }; 이렇게 작성했습니다 naver profile { provider: 'naver', id: '60727489', displayName: undefined, emails: [ { value: 'juren528@gmail.com' } ], _json: { email: 'juren528@gmail.com', nickname: undefined, profile_image: undefined, age: undefined, birthday: undefined, id: '60727489' } } 가져온 결과 콘솔로 확인해보니 이렇게 나오구요 좀더 공부해보려다 안되서 막막합니다 ㅠㅠ 혹시 이유를 아실까요 ㅠㅠ
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
deserializeUser findAll()실행시 로그인 성공 후 화면이 그대로입니다.
로그인을 하면 세션까지는 올바르게 잘 넣어집니다. 그런데 deserializeUser를 실행할때 findOne을 findAll로 실행하면 req.user까지만 되고 나머지 user.id user.nick 등이 받아와지지 않습니다. findAll 과 findOne에 id를 조건으로 입력하면 같은 결과가 나온다고 생각했는데 왜 안되는지 혹시 알려주실수 있나요 ㅠㅠ