수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
초기 프로젝트 구조
안녕하세요 강사님. 강의 잘 듣고 있습니다.Node API 서버를 만들 때 Best Practice 삼을만한 프로젝트 구조가 있을까요? 다양한 폴더 구조가 있는 것 같은데 강사님이 추천하시는 구조가 있는지 궁금합니다!참고할만한 Node API 서버 보일러 플레이트https://github.com/MoathShraim/Nodejs-rest-api-project-structure-Expresshttps://github.com/EQuimper/nodejs-api-boilerplate
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
서버 하나에 여러개의 사이트를 돌릴수 있을까요?
서버(클라우드)는 하나만 하고가벼운 사이트 여러개를 돌릴수 있을까요??보통 도메인 지정할때 포트별로 지정도 가능한가요??
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
질문
passport 를 socket.js 에 적용해서 로그인 한 유저면 req.user 가 생성되도록 하고 싶은데..io.use 안에 어떤 코드를 써주어야 할까요?
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
vultr 라는 서버에 배포 테스트를 한번 해봤는데요
아마존 말고 vultr 라는 클라우드 서비스에서 우분투를 설치하고테스트 겸 배포를 한번 해봤습니다.로컬에서 정상 작동 다 했는데요 서버에 올리니까 그냥 접속이 안되더라구요 ㅠㅠ선생님께서 하신 내용이랑 동일하게 했는데 말이죠 어흑 ㅠ아마존 서비스와 차이점이 있는걸까요??pm2 monit 화면인데 혹시 ㅠㅠ 제가 틀리거나 한 부분이 있을까요?? ㅠㅠredis는 일부러 안올렸습니다 app.js 에서도 해당 코드는 전부 주석처리 했구요 ㅠㅠ그냥 아마존으로만 써야 하는건가요?? ㅠㅠ
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
정말 간단한 서버라면 redis 없이 배포도 상관 없나요?
몇명이서 확인용 으로만 사용할 정말 작은 사이트를 만들 예정인데요Redis가 프로세스간 공유 등 성능을 위해 사용되는것 같은데 이렇게 작은 사이트의 경우 레디스 없이 배포해서 사용해도 상관없을까요??
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
sequelize ES 모듈 seed 기능 질문
안녕하세요 영원한 스승 제로초님 sequelize seed 기능 사용 중 에러가 있어 질문드립니다. sequelize db 연결 시 env 변수를 쓸 수 없어 json을 js 파일로 만드는 걸로 알고 있습니다. sequelize가 js 파일을 설정 파일로 쓸 수 있게 지원하는데 seed 기능을 사용하려고 하면 위 와 같은 에러가 발생합니다. json 파일로도 해봤는데 마이그레이션에 js 파일을 지원 안 한다고 하고요. 구글링을 최대한 해보았으나 ES 모듈 환경에서 seed 기능을 사용한 참고 자료가 없어 이렇게 질문을 남깁니다ㅜㅜ
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
로그인 전략에서 궁금한 부분이 있습니다.
해당 부분에서 로그인에 실패했을 때 done 두 번째 인자로 false를 넘겨주는데 null, undefined를 사용할 수 있나요? 만약 사용할 수 없거나, 사용은 가능하나 맞는 표현이 아니라면 이유가 궁금합니다. 만약 done이 함수가 종료될 때 호출 된다면, else를 쓰지 않고 return으로 바로 함수를 반환해도 되나요?
- 해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
npm audit(passport-oauth2) 관련
passport-kakao 디펜던시 중에 passport-oauth2 패키지가 취약점이 존재한다고 나오는데 이 부분 그냥 사용해도 상관 없는건가요?? 깃헙 주소로 들어가보니깐 상관없다고 하긴 하는데, 궁금합니다...!!
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
sequelize-auto 오류
안녕하세요 강의 잘 듣고 있습니다.! 저번에 sequelize-auto 답변 듣고 잘 이용하고 있습니다!ㅎㅎ 여기서 하나 더 질문이 있는데요 외부 테이블을 sequelize-auto로 받아와서 서버를 돌리는데 Error: Invalid Instance definition. Only one autoincrement field allowed. 이러한 애러가 떴습니다. 테이블에 autoincrement가 하나씩만 있어야하는 애러같은데요 sequelize orm에서는 테이블 당 autoincrement설정이 하나씩만 있어야하나요? 이게 아니라면,, 2개의 autoincremnet를 쓰려면 어떤 설정을 해줘야하나요 답변 부탁드려요,,ㅜㅜ
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
회원가입에 인증 절차가 아이디, 비번 외 이메일 인증, 핸드폰 인증을 모두 해야되는 경우
회원가입 중에 아이디, 비번, 핸드폰 인증, 이메일 인증을 모두 완료한 유저만 회원가입 처리를 해주고싶은데 쿠키나 토큰은 회원가입, 토큰 검증, 토큰 재발급 외에는 써본 적이 없어서 여기에 쿠키를 써도 되는지 모르겠어서 질문을 남깁니다 이거 제 생각대로 쿠키를 이용해보면 핸드폰 인증 완료시 쿠키는 탈취 위험이 있기에 사용자 휴대폰 번호가 아닌 임의의 쿠키값을 넣는다handphone(복호화(handphonenodebird))= 이메일 인증도 마찬가지로 완료시 쿠키는 탈취 위험이 있기에 사용자 이메일 번호가 아닌 임의의 쿠키값을 넣는다 email(복호화(emailnodebird)) 이런 식으로 구현하고 회원가입 버튼을 누를 때 쿠키 검증을 하는 식으로 구현해도 괜찮을까요 다른 방법 있다면 솔루션 부탁드립니다
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
sequelize 질문
안녕하세요~! 강의 잘들었습니다. 궁금한 것이 있는데요 강의에서는 sequelize models에서 테이블 정의를 해주고 생성해주면서 실습을 하는데요 혹시 workbench로 데이터베이스와 테이블을 미리 만들어 놓고(models에서 테이블 생성 x) sequelize로 workbench에서 만든 테이블을 가져오고 crud를 해줄 수 있나요>? 가능하면 방법 알고 싶습니다!
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
트랜잭션 질문
안녕하세요 영원한 스승 제로초님 mysql 트랜잭션 사용 중에 궁금한 점이 있어 질문드립니다. 위 코드는 유저 테이블과 유저의 상세 정보 테이블 2개의 인서트 쿼리가 이루어집니다. mysql.createPool에 있는 query를 꺼내서 트랜잭션 하면 작동하지만 인서트 쿼리를 따로 분리해 함수로 사용하면 트랜잭션이 먹질 않습니다. 오래 고민해 본 결과 트랜잭션이 이루어지는 동안 쿼리가 아닌 함수가 실행돼서 그런 거 같습니다. 다중 쿼리를 생각해 봤지만 유저 테이블에 결과값이 유저 상세 테이블에 들어가야 해서 소용없는 거 같습니다. 방법이 있을 거 같은데 쉽게 떠오르지 않아 질문 드립니다ㅜㅜ
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
as 옵션 질문
db.Good.belongsTo(db.User, { as: 'Owner' }); db.Good.belongsTo(db.User, { as: 'Sold' }); 실습코드에는 강의와 다르게 User 테이블에 db.User.hasMany(db.Good , { as: 'Owner' }); db.User.hasMany(db.Good, { as: 'Sold' }); 가 없던데 동일한건가요?
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
책15강 LightSail 사용하기 mysql 생성문제
안녕하세요 제로초선생님 AWS로 배포하기 Lightsail부분 강의에서 MySQL 데이터베이스 생성시도하다가 문제가 생겨서 질문합니다 강의 13분에 나오는 것처럼 ALTER USER ~ 명령어 똑같이 치고 (물론 비밀번호는 제 mysql 비밀번호로 변경했습니다), 다시 돌아와서 데이터베이스 생성하려는데 사진처럼 여전히 ERROR가 뜹니다. 이럴경우에 제가 놓친부분이 혹시나 있을까요? 구원의 손길 부탁드립니다..ㅠㅠ 답변 감사합니다 :)
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
질문
req.ip 는 undefined 이던데 왜 사용하는 건가요?
- 해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
교재 193p 코드 중 질문드립니다.
강사님 안녕하세요, js와 node를 같이 공부중인데요.. 교재에서 궁금한 부분이 생겨 질문드립니다. const parseCookies = (cookie = '') => cookie .split(';') .map(v=>v.split('=')) ..... 상기 코드에서 (cookie='')를 (cookie) 로 넘겨주어도 되던데, 코드에서 (cookie='')로 작성하신 이유가 궁금합니다. 감사합니다.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
Postgresql
안녕하세요 강의 데이터베이스 부분을 하다 궁금한 것이 생겼는데요 혹시 sequelize로 mysql mariaDB sqlite postgresql등을 지원한다고 들었는데 sequelize로 postgresql연동을 하면 mysql과 그 방법이 크게 다를까요?,,pg를 다운받고 config.json에서 형식이 달라지나 해서요 좀 강의와 벗어난 질문이긴하지만 혹시 힌트라도 주실 수 있을까요?..!
- 해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
몽고디비6.0.0버전 mongo.exe파일 없음
안녕하세요^^ 몽고디비6.0.0버전에는 mongo.exe 파일이 없는데 어떻게 해야 할까요?
- 해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
emit 관련 질문 드립니다
채팅 기능 구현 중에 해결이 안되는 문제가 있어서 질문 드립니다. Router 내에서 req.app.get('io').of('/chat').to(chatting_id).emit('chat', message) 방식으로 소켓에 데이터를 전달할 경우 해당 chatting_id 소켓에 연결되어있는 클라이언트들에게 메세지가 전달되지 않습니다. socket.js 안의 on에서 동일하게 chatting_id를 통해서 emit할경우 수신/발신 모두 정상적으로 진행됩니다.. chatting_id 값은 숫자 1로 동일합니다. 콘솔에 req.app.get('io').of('/chat') 까지는 객체가 잘 들어있는것을 확인했습니다.. 강의 내부에서 동작하는것과 똑같이 작성한것같은데 원인이 무엇일까요..? 라우터 파일(별도 파일로 작성 후 router.js에서 사용) exports.createChattingContents = async (req, res, next) => { const chattingContents = req.body.chatting_contents; const chat = req.app.get('io').of('/chatting'); try { const createdResult = await ChattingContentsRepository.create(chattingContents); chat.to(createdResult.chatting_id).emit('chat', createdResult); res.status(200).send({ ok: true, data: createdResult, }); } catch (error) { next(error); } }; Socket의 chat 부분 socket.on('chat', (data) => { const chattingContents = data; socket.to(chattingId).emit('chat', data); });
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
질문
9분7초에 나온대로 res.setHeader('Access-Control-Allow-Origin', 'localhost:4000'); res.setHeader('Access-Control-Allow-Credentials', 'true'); 를 추가했는데도 cors 가 해결되지 않습니다. 버전문제인걸까요?