수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
sequelize 정의된 테이블가져올때 질문입니다.
시퀄라이저 좀더연습해야되겠다 싶어서 해보던중에 7번 시퀄라이저 예제를 살펴보니까learn-sequelize/routes/users.js 에서는 테이블을 가져올때var User = require('../models').User; 이렇게 가져오고learn-sequelize/routes/comment.js 에서는 테이블을 가져올때var { User, Comment } = require('../models'); 이런방법으로 가져오던데이게 서로 어떻게 다른건지 궁금합니다.무조건 var { 테이블이름 } = require( path ) 이런방식으로 가져와도 상관없을까요??
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
선생님안녕하세요
선생님이 수업하신 SNS서비스만들기를 pug로 하셨잖아요저는 ejs가 편해서 ejs로 바꿔서하는데 가르쳐주신대로 해보니 현재 로그인기능, 패스포트나 회원가입같은 기능은 구현을 제대로 하였는데 문제는 게시글쓰기부분이 문제입니다에러가 나는건 아닙니다.게시글과 이미지 모두 데이터베이스에 잘 저장되고 public폴더에도 이미지 업로드 된 것까지 확인은 하였습니다, 하지만 이걸 브라우져 화면에 띄우려고하니 띄워지지가 않습니다정확하게 말씀드리면 예를들어 글을 5개 썼다고 치면 화면상에 5개의 공간은 생기나글이나 이미지가 보이지 않습니다.ejs문법인 <%= 변수%>를 쓰게되면 화면엔 보이지는 않고 공간만 차지하는걸로 확인했습니다에러는 아니라는 것이죠무엇때문인지 궁금합니다...
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
next() 질문드립니다.
app.use('/', indexRouter);app.use('/users', usersRouter);현재 이렇게 되어있는데요, indexRouter 에서 next() 가없어도 userRouter가 실행되는데 문제없는건가요?? indexRouter 내부에도 next는 없는것 같은데
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
next() 질문드립니다.
질문을 남겼는데 날아간것 같아서 새로 남깁니다.app.use('/', indexRouter);app.use('/users', usersRouter);여기서 보면, indexRouter에서 next()를 해주지 않는데 usersRouter가 실행되는데 문제 없는건가요??
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
webstorm에서 www파일
생성하면 ? 뜨면서 이 파일을 열 때 사용할 앱을 선택하라고 뜹니다.어떻게 수정해야 할까요?
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
강의자님 맥 사용자분들 DB관련 관련해서는 Utf8설정도 알려주세요
저는 그 전에 했던 프로젝트에서 셋팅을 해서 몰랐지만 생각나서 말씀드립니다. 제가 지나쳤는지는 모르겠지만 mysql에서 status로 보시면 latin으로 되어있는 분들 있으실겁니다.ALTER로 utf8로 바꾸시던지 my.cnf상에서 변경하시면 됩니다. https://blog.naver.com/rjs5730/221400543774 블로그글 올려도 될지 모르겠지만 여기 참고하세요 그리고 TABLE 말고 DATABASE로 하세요.
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
카카오 로그인에서 에러가 생겼습니다.
이런 에러가 생겼습니다....
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
팔로우, 언팔로우 할때 쓰이는 함수 질문드려요
팔로우를 하거나 언팔로우를 할때 시퀄라이즈에서await user.addFollowing(parseInt(req.params.id, 10));혹은await user.removeFollowing(parseInt(req.params.id, 10))를 사용해 구현하던데 addFloowing이나 removeFollowing은 시퀄라이즈에 기본으로 제공되는 내장함수인건가요?? 내장함수라면 sns를 만들때 팔로우,언팔로우 기능이 필요할테니 그때 이걸써라 라고 미리 예상해놓고 만든건가요..??그리고 parseInt함수안에 들어간 req.params.id는 팔로우할 사람의 아이디인것같은데 두번째인자로 들어가는 10은 무엇을 의미하는건지 궁금합니다
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
패키지 업데이트전 검사
안녕하세요.패키지 업데이트전 검사를 어떤식으로 하시는지 궁금해서요.예를들어,npm에서 express-session의 버젼 히스토리는 알수있으나,어떤 것들이 업데이트 되었는지 로그에 대해서 못찾겠어요..ㅠㅠ
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
http 모듈 실무에서도 사용하나요?
http모듈이나 익스프레스를 사용해서 서버를 만드는것을 알겠는데실무에서도 웹사이트를 만들때 익스프레스 말고 http 모듈을 사용하는일이 있는지궁금합니다.
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
간단한 미들웨어를 만들어봤는데 에러가 발생합니다.
처음에 root로 접속하면 hello를 응답하고 next()와 if문을 통해 50%의 확률로 다음 미들웨어로 이동하는 간단한 게임을 만들어봤습니다.const express = require('express');var app = express();app.use('/', (req, res, next) =>{ res.send('hello'); next();});app.use((req, res, next) => { if (+new Date() % 2 === 0) { console.log('진행'); res.send('행운은 계속'); next(); } else { console.log('꽝'); res.send('행운은 1까지 입니다 ㅠ_ㅠ'); }});app.use((req, res, next) => { if (+new Date() % 2 === 0) { console.log('진행'); res.send('행운은 계속'); next(); } else { console.log('꽝'); res.send('행운은 2까지 입니다 ㅠ_ㅠ'); }});app.listen(3000, () => console.log(`Example!`))하지만 새로고침을 할 때 마다 Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client이런 에러가 발생합니다.검색해 본 결과 next 이후에는 res.send를 사용할 수 없다는거 같은데 느낌이 잘 와닿지 않습니다.제 코드에 어떤 문제가 있을까요?
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
실무에서 작업하실때 궁금합니다.
라우터를 만들고 db 모델을 만들고 패스포트를 만들고 하는부분들이 적은 양의 코드는 아닌거같은데구현하실때 어느정도는 외우기위해 노력하시는 편이신지 아니면 그냥 코드를 이해만 하고난뒤에 어느정도 뼈대를 만들어서 복붙으로 하시는지... 아니면 작업을 많이하셔서 자연스럽게 외우셨는지 궁금합니다..제로초님 강의를 보면서 드는생각이 코드를 충분히 이해한 뒤에 실제만들거나 할때는 제로초님 코드를 보면서 그때그때 참고하며 해야할지 아니면, 충분히 안보고도 어느정도 쭉쭉 써질정도로 연습을 해놔야할지 궁금합니다
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
위아래 파일 두개중 어떤것 받아야하나요?
(mysql-installer-web-community-5.7.24.0.msi)(mysql-installer-community-5.7.24.0.msi)파일두개중 어떤것받아야하는지와 차이가 궁금합니다.
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
새로운 문법을 배우려니 겁이나서 검색해본후 질문입니다.
google에 pug vs ejs 등등 검색해보다가pug vs ejs vs react 이런 글들이 보였습니다.react는 많이 들어봐서 배우고싶은 생각이 평소에 있었는데react 를 배우면 ejs나 pug 를 사용하지 않아도 되는건가요?아는것이 없어서 질문드립니다.
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
몽고디비연결이 안되어서
몽고디비 만들때 schemas/index.js파일에서요 상단에 몽고디비 연결할때 보면.env 파일에다가 몽고디비 아이디랑 비밀번호 분리 해놓고 불러와서 쓰는 부분에서요const MONGO_URL = mongodb://${MONGO_ID}@localhost:27017/admin;이부분에서 MONGO_PASSWORD부분때문에 계속 몽고디비 연결에러가 떠서요지우고 해봤더니 되기는 하는데혹시 에러의 이유가 몽고디비 설치하면서 비밀번호 설정을 nodejsbook로 안맞춰놔서 그런건가요?다른이유가 있다면 이유가 궁금합니다.
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
req.signedCookies['connect.sid'] 이 값 자체가 이미 암호화된 쿠키 아닌가요?
세션을 유지 하기 위해Cookie : connect.sid=${'s%3A'+cookie.sign( req.signedCookies['connect.sid'], process.env.COOKIE_SECRET )}다음과 같이 헤더부분에 쿠키를 암호화 설정해서 axios로 요청하셨잖아요 근데app.js에서 이미app.use(cookieParser(process.env.COOKIE_SECRET)); 이렇게 쿠키를 암호화 설정를 하였는데굳이 cookie-signature를 이용해 cookie.sign로 쿠키를 다시 암호화를 하는 이유가 궁금 합니다.혹시 제가 무언가 잘못 이해하고 있는 부분이 있다면 찝어주시면 정말 감사드리겠습니다.
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
프론트코드에 const, let 대신 var를 사용하는 이유가 있나요?
프론트코드에 const, let 대신 var를 사용하는 이유가 있나요?
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
왜 방을 처음 만든 사람은 'XXX님이 입장하셨습니다.' 가 안뜨는 이유가 궁금합니다.
방을 처음 만든 사람도 chat.pug가 실행 되어(io.connect('http://localhost:8005/chat'...))아래 함수가 호출 되잖아요. socket.jschat.on('connect', (socket)=>{...socket.join( roomId );socket.to(roomId).emit('join', {user : 'system',chat : ${req.session.color}님이 입장하셨습니다.});...});그럼 위와 같이 roomId에 emit이 호출 되니깐 chat.pug에 설정해둔 socket.on('join', function (data){...}) 이벤트 함수가 호출되어야 될것 같은데 .. 왜 다른 사람(다른브라우저)만 방에 입장 했을 때 socket.on('join')이 호출되는지 모르겠습니다.
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
sessionMiddleware 관련 질문드립니다.
안녕하세요...app.js에서 sessionMiddleware 작성 후 socket.js에서 이를 사용하도록 하신것으로 이해를 하고 있으며, 올려주신 책의 소스를 복사하여 실행보 보았더니 다음과 같이 오류가 발생합니다.D:nodejspracticegif-chatnode_moduleson-headersindex.js:25throw new TypeError('argument res is required')^TypeError: argument res is requiredat onHeaders (D:nodejspracticegif-chatnode_moduleson-headersindex.js:25:11)at session (D:nodejspracticegif-chatnode_modulesexpress-sessionindex.js:219:5)at Array.io.use (D:nodejspracticegif-chatsocket.js:20:9)at run (D:nodejspracticegif-chatnode_modulessocket.iolibnamespace.js:124:11)::오류 발생 위치는 socket.js 에서sessionMiddleware(socket.request, socket.request.res, next);로 res 인자가 필요하다는것이고... socket.request.res에서 세팅되는것으로 이해했었는데... 안되네요....TT여기서 헤매이고 있습니다...^^;; 어떻게 해결할 수 있을지 답변 부탁드리겠습니다.. 감사합니다.
- 미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
nodemon이 재실행될때마다 데이터베이스를 만드는 명령어가 실행됩니다.
선생님이 실행하시는 콘솔창에는 보이지 않는데 저는 아래와 같이 나타납니다. <code class="language-shell">Executing (default): CREATE TABLE IF NOT EXISTS `users` (`id` INTEGER NOT NULL auto_increment , `email` VARCHAR(40) UNIQUE, `nick` VARCHAR(15) NOT NULL, `password` VARCHAR(100), `provider` VARCHAR(10) NOT NULL DEFAULT 'local', `snsId` VARCHAR(30), `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, `deletedAt` DATETIME, PRIMARY KEY (`id`)) ENGINE=InnoDB;<p>Executing (default): SHOW INDEX FROM `users` FROM `nodebook`</p><p>Executing (default): CREATE TABLE IF NOT EXISTS `posts` (`id` INTEGER NOT NULL auto_increment , `content` VARCHAR(140) NOT NULL, `img` VARCHAR(200), `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, `deletedAt` DATETIME, `userId` INTEGER, PRIMARY KEY (`id`), FOREIGN KEY (`userId`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE) ENGINE=InnoDB;</p><p></p> 뒤는 길어서 잘랐습니다만.. 이렇게 계속 디비를 생성하는 게 정상인가요??