무료
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
config 로 방식을 바꾸니까 mongodb에 연결이 안됩니다.
안녕하세요. 9번째 수업을 듣던중 config 폴더로 dev, key, pord 파일로 나눠서 mongodb에 연결하는 부분을 진행한 후에 터미널로 연결하려고 하면 ```MongoParseError: Invalid scheme, expected connection string to start with "mongodb://" or "mongodb+srv:/ 라는 에러가 출력됩니다.``` dev.js 코드 module.exports = { mongoURI:'mongodb+srv://아이디:비밀번호@simpleboardcluster.talxb.mongodb.net/test' } key.js 코드 if(process.env.NODE_ENV === 'production') { module.exports = require('./prod'); } else { module.exports = require('./dev'); } prod.js 코드 module.exports = { mongoURI: process.env.MONGO_URI } index.js 쪽 mongoose 코드 const mongoose = require('mongoose') mongoose.connect('config.mongoURI', { useNewUrlParser: true, useUnifiedTopology: true // useCreateIndex: true, // useFindAndModify: false }).then(() => console.log('mongoDB Connected...')).catch(err => console.log(err))
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
현재 강의 중 2강에서 port가 넘어가질 않는 이유..
열심히 따라 오면서 생긴 오류들을 구글링하면서 해결해나가고 여기까지 왔습니다만.. 문제의 해결점을 혼자 찾지 못하여 이렇게 글을 씁니다. app.listen(port, () => console.log('Example app listening on port ${port}!')) 이부분입니다.. 이런식으로 뜨기에 2강에 커뮤니티를 통해 " 이걸 '이걸로 바꾸라는 댓글과 링크를 확인하여 글을 읽어보고 구글링을 해보았으나 해결할 수가 없었습니다.. " 이걸 '이걸로 바꾸라는건 혹시 위에 있는 저 문장인지요? 아니면 package.json에 있는 start를 말씀하시는지요.. 아니면 다른 부분인지요? const port = 5000, 3000, 4000등등 다 해보았으나 결과는 같게 나와서 해결할 수 있는 방법이 있나 여쭤봅니다. 강의 잘 보고 있습니다. 해결이 되어야 다음으로 넘어갈 수 있을 것 같아 문의드립니다. 감사합니다.
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
선생님~
요즘 노드/리액트 기본 강의 쪽은 답변이 어려우실까요 ㅠㅠ 가끔이라도 시간 되실 때 질문 답변주시면 정말 감사드리겠습니다..!!
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
bcrypt compare password 에 관한 질문이 있습니다!
선생님 안녕하세요! bcrypt를 통해 compare password하는 부분에서 문제가 발생하여 질문드립니다. 우선 제 git주소는 아래와 같습니다.https://github.com/Kyu-holic/new-boiler-plate.git postman에서 register 라우터를 사용해서 유저를 만들면 아래와 같이 등록은 잘 됩니다. 그런데, login 라우터를 사용해서 login을 하려고 하면 계속해서 비밀번호가 틀렸다는 메세지가 뜨는데,send를 통해서 보니 사진처럼 "data and hash must be strings"라는 에러 메세지가 발생합니다. 이에 대한 해결책을 찾다보니 아래의 주소에서 나오는 것 처럼 bcrypt를 통해 compare password를 할 때 계속해서 false 메시지가 뜨는 사람들이 꽤 있는 것 같았습니다. https://github.com/kelektiv/node.bcrypt.js/issues/685 그러다 아래 주소의 사이트에서 나온 답변처럼 (6번 문항 solution2에 나와있습니다) https://copyprogramming.com/howto/bcrypt-comparesync-is-always-returning-false bcrypt.compare(plainPassword, this.password ....)에서plainPassword 제일 앞에 백틱을 넣어주니잘 해결이 됩니다. 이건 어떤 이유에서 이런 현상이 발생하는 것인지, 그리고 왜 제 코드는 선생님 코드와 똑같이 했을 때는 안되고, 저렇게 해야만 되는 것인지 궁금합니다. 그 사이에 bcrypt나 node의 버전이 업그레이드 되어 뭔가 변한 것이 있는 걸까요? 확인 부탁드리겠습니다!
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
회원가입 페이지 FAIL TO SIGN UP
회원가입 페이지 강의 들으면서 다 똑같이 코드 작성했는데 왜 fail to sign up이 뜰까요fail to sign up이 뜨긴하는데 몽고db가서 보면 또 입력한 정보가 들어와 있습니다 const onSubmitHandler = (e) => { e.preventDefault(); if(password !== ConfirmPassword) { return alert('비밀번호와 비밀번호 확인은 같아야 합니다.') } let body = { email: Email, name: Name, password: password, } dispatch(registerUser(body)) .then((response) => { if(response.payload.registerSuccess) { navigate('/login') } else { alert('Failed to sign up') } }) } 그전에 혹시 서버쪽 코드가 문제가 있나 싶어 post에서 해봤을때도 정상인데 dispatch쪽에서 에러가 나는걸까요
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
Authentication에서 hoc를 이용하는 방식
선생님 제가 작성한 코드가 redux saga로 처음에 작성을 해서 어찌저찌 이 강의를 보고 hoc방식으로 Auth를 완성했어요. 그런데 nodemon으로 돌렸을 때 로그인 페이지가 살짝 보였다가 / 로 가게되는데 배포하고도 이러는거 아닌지 걱정이 되어요.. 제가 작성한 코드가 비효율적으로 작성해서 느리게 작동하는걸까요? 아니면 배포할 때 속도를 확 줄일수 있는 방법이 있을까요? AWS배포 예정이고 선생님의 docker강의까지 들을 예정이에요!! 항상 감사합니다. 그리고 이 에러가 어떤의미인지 혹시 아신다면 답변 부탁드립니다. 계속 뜨는거는 아니고 한번씩 떠요ㅠ Error: EPERM: operation not permitted, rename 'C:\Users\eunbi\Desktop\MyProject\First_0706\server\sessions\fc5m5xAHkKWmlzodyTnHOmjFpDei5VX4.json.1627197637' -> 'C:\Users\eunbi\Desktop\MyProject\First_0706\server\sessions\fc5m5xAHkKWmlzodyTnHOmjFpDei5VX4.json'
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
pre() 메소드에 관한 질문이 있습니다!
안녕하세요 선생님!덕분에 너무 재밌게 강의 잘 듣고 있습니다. 사실 예전에 듣다가 너무 어려워서 도중에 그만두고다시 기초부터 공부하고 왔더니 이제는 이해가 쏙쏙돼서 너무 재밌네요! 이번 수업에서 mongoose에서 제공하는 pre() 메소드에 대해서 설명해 주셨는데, pre() 메소드에 들어가는 첫번째 인자를 'save'라고 주신 것은 register router에서 user.save() 메소드를 주셨기 때문에 save라고 똑같이 적어주신 건가요? 그리고 User.js에 있는 userSchema.pre()가 어떻게 index.js의 register라우터의 user.save() 메소드 위로 위치하게 되는 것인지 조금 이해가 되지 않습니다. 나중에 다른 라우터에서도 save() 메소드를 사용할 수도 있을텐데 그렇게 여러개의 save() 메소드를 사용하게 되는 경우에는 어떻게 pre()메소드가 딱 register 라우터의 save()메소드 위로 위치하게 되는것인지 궁금합니다. 감사합니다~!
- 해결됨따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
혹시 git add . 하고나서 바로 git push하면 안될까요?
부탁드려요!~
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
로그인 되있을경우 로그인 버튼 none 로그아웃 버튼 on 기능 구현
기본 : 로그인 버튼 로그인 성공 시 : 로그인 버튼 none , 로그아웃 버튼 생성 로그아웃 성공 시 : 로그인아웃 버튼 none, 로그인 버튼 생성 이 기능을 구현하고 싶은데 유저 정보를 담고있는 데이터는 어떤 것을쓰는것이 좋을까요? 그리고 어떻게 props로 받아와야 할까요?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
request url이 올바르지 않은데도 데이터를 정상적으로 받아오는 현상..?
setupProxy.js 만들어주고 실행했더니 데이터를 정상적으로 받아오는 것을 확인할 수 있었습니다. 근데 request url을 보면 포트번호가 3000인데도 api서버로부터 정상적으로 데이터를 받아옵니다. 저희 api서버포트는 5000인데말이죠.. 혹시 설정한 프록시 서버가 api서버의 url을 가려주는 역할을 하는것인가요?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
redux에 값이 안넘어갑니다,,,!
안녕하세요 강사님 강의 잘 듣고 있습니다. redux에 값이 안뜨고 이렇게만 나옵니다,,, 제가 잘못쓴거겠지 해서 처음부터 다시 보면서 했는데도 어디가 문제인지 모르겠어요 ㅠㅠㅠㅠ 깃헙 : https://github.com/aidenli1/react-myTest
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
mongoose의 save메서드가 데이터베이스에 정보를 추가하는 역할을 하는게 맞죠?
sql상에서 insert 구문과 기능적인 면에서 매우 유사해보여서요
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
props.history.push('/')가 안돼서
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. document.location.href="/"로 페이지 이동했는데 이후에 배울 내용에서 딱히 상관이 없겠죠??
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
폴더를 정리하는 과정에서 오류가 난 것 같습니다.
다 설정한 후에 npm start 와 npm backend로 서버를 켜보니 Error: Cannot find module 'C:\Users\박정수\Desktop\coding\boiler-plate\index.js' at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) at node:internal/main/run_main_module:17:47 { code: 'MODULE_NOT_FOUND', requireStack: []} 이런 오류가 뜹니다. 어디선가 index.js를 module로서 찾고 있는건가요? 기존에 boiler-plate에 있다가, 디렉토리를 옮겨서 오류가 난거같은 도저히 원인을 모르겠어요..
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
port에 따라서 오류가 생기는 경우가 있습니다.
안녕하세요. 좋은 강의 잘 듣고 있습니다. 2강에서 express 공식 문서에서 긁어와서 Index.js로 붙여넣는 과정에서 강사님은 port 숫자가 달라도 상관없다고 하셨습니다. 처음에는 강사님 따라서 저도 port를 5000으로 지정했는데 오류가 발생하여 기존 문서에 있던대로 3000으로 지정했더니 잘 작동했습니다. port가 어떤 것을 의미하는지, 왜 3000만 되는지가 궁금하여 질문드립니다. 감사합니다.
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
Auth()를 처리하는 다른방식.
export default Auth(LandingPage, null) 저 같은 경우는 위 코드가 안먹혀서 다른 방법을 생각해봤는데요. auth 부분을 export default function _auth(option, adminRoute = null) { const navigate = useNavigate() const dispatch = useDispatch() dispatch(auth()).then((response) => { console.log(response) //로그인 하지 않은 상태 if (!response.payload.isAuth) { if (option) { navigate("/") } } else { //로그인 한 상태 if (adminRoute && !response.payload.isAdmin) { navigate("/") } else { if (option === false) { navigate("/") } } } }) } 이렇게 수정해주고.. LandingPage 기준으로 Auth(null) 이 코드를 넣어준 후 export default LandingPage 이렇게 export해주시면 정상적으로 작동합니다. 다른 페이지도 같은 방식으로 적용해주시면 돼요!
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
몽구스 에러 원인을 모르겠어요
왜이럴까요?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
user에 대한 에러가 뜨는데 어떤 부분이 잘못되었는지 모르겠습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 화면이 뜨지 않습니다.
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
npx create-react-app . 설치가 안됩니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
로그인에서 막혔네요
강사님 안녕하세요 잘 따라서 하고 있는데요.. 로그인에서 에러가 나서요 한번 봐주실수 있을 까요?? 계정 등록까지는 했는데 등록한 계정으로 로그인시도 하면 아래와 같이 에러가 나는데요.. 도무지 원인을 찾을수가 없어서요 다음 진행을 못하고 있습니다. 한번 봐주시면 감사하겠습니다. MongoDB Connected... isMatch undefined isMatch undefined _http_outgoing.js:561 throw new ERR_HTTP_HEADERS_SENT('set'); ^ Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client at new NodeError (internal/errors.js:322:7) at ServerResponse.setHeader (_http_outgoing.js:561:11) at ServerResponse.header (D:\projects\boiler\node_modules\express\lib\response.js:794:10) at ServerResponse.send (D:\projects\boiler\node_modules\express\lib\response.js:174:12) at ServerResponse.json (D:\projects\boiler\node_modules\express\lib\response.js:278:15) at D:\projects\boiler\index.js:57:20 at D:\projects\boiler\models\User.js:60:30 at D:\projects\boiler\node_modules\bcrypt\bcrypt.js:210:13 at processTicksAndRejections (internal/process/task_queues.js:77:11) { code: 'ERR_HTTP_HEADERS_SENT' }