수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
질문 있습니다 ㅠㅠ
여러번 질문드려서 죄송해요 ㅠㅠㅠㅠㅠㅠㅠㅠ 제가 이부분에서 3일째 막혀서 못나가고 있는데(DB 저장된 채팅 내역(chats의 createdAt)을 각자 채팅방에 저장하는 부분) mongoDB에서 mysql로 전환해서 그런지 sort is not function으로 계속 에러가 뜹니다 ㅠㅠ 위 사진은 13장 실시간 경매 routes/index에서 몇몇 부분 수정한 코드인데요 제 생각으론 chat.findAll().sort('createdAt), 으로 선언해주면 될것같은데 계속 오류가 뜨네요 ㅠㅠ DB에 저장된 채팅 createdAt데이터를 소멸되지 않고(새로고침하거나, 서버를 종료했을 시) 계속 채팅방에 남아있게 하려면 어떻게 해야할까요 도움 부탁드립니다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠ!!
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
질문 있습니다!
채팅 방에 들어가는 것까지는 성공했는데, 내용이 DB에 저장이 안되네요 ㅠㅠ 그래서 routes/index에 저렇게 선언해서 실행했는데 이런 에러가 뜹니다 ㅠㅠ 원인이 무엇일까요? (DB에 채팅 내역을 저장하려면 어떻게 해야할지 힌트 부탁드립니다ㅠㅠ)
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
fsreadfile 같은 비동기 함수의 작동방식질문
강좌에서 resolve()까지는 비동기로 진행이 된다고 하셨는데 fs.readfile로 예를 들었을때 fsreadfile에서 resolve를 호출하려면 파일을 읽어온 값이 resolve의 인자로 들어가야하는데 그 다음 resolve가 실행되고 그다음 then이 비동기로 간다고 생각됩니다. 그럼 만약에 (편의상 fs.readfile을 프로미스 방식으로 쓰겠습니다) fs.readFile("somefile").then((data)=>console.log(data))); console.log("Hi"); 라고 코드가 있을때 실제로 Hi가 먼저 출력되는데 fs.readFile에서 실제로 이미 데이터를 먼저 다 읽어오고 resolve()가 호출되어야 Hi가 출력되고 그다음 큐에 있는 then부분의 익명함수 console.log(data)가 호출 스택으로 와서 실행 되는 것인가요? resolve까지 동기로 진행된다고 하셨는데 원래 노드의 장점이 파일같은것을 주고 받는 서버로써 파일 같은 주고받는 작업이 백그라운드에서 진행되어야 한다고 들었습니다,. 그런데 제가 이해한 방식은 메인 쓰레드에서 resolve까지 동기식으로 처리가 되는듯해서 질문드립니다.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
이런 코드는 어떤식으로 동작하나요?
async function f() { console.log("Hei2"); let promise = new Promise((resolve, reject) => { setTimeout(() => resolve("완료!"), 1000); }); let result = await promise; // 프라미스가 이행될 때까지 기다림 (*) console.log(result); // "완료!" console.log("Hei3"); } f(); console.log("Hei"); 위와 같은 코드를 분석중인데요. 처음에 호출스택에 f()가 들어가고 console.log('Hei2'); 가 호츨스택에 실행되어서 나와 출력되고 그 다음 프로미스가 생성되어서 setTimeout()이 호출스택에 들어가서 실행되고 백그라운드에 1초짜리 timer가 올라가고 1초후에 task큐로가서 호출스택에 아무것도 없으면 then이 실행되어 result에 해당 값이 들어가고 console.log(result)와 console.log("Hei3")가 출력된다고 생각되었습니다. 실제 출력 결과는 Hei2 -> Hei -> 완료! -> Hei3 순인데 함수 f는 프로미스가 이행될때까지 pause상태인데 어떤식으로 중간에 Hei가 호출스택에 쌓이고 출력되는 것인지 잘 모르겠어 질문드립니다. 제 추측은 await 밑이 전부 then 함수처럼 처리되어서 백그라운드로가게 되고 f()가 종료되어 호출스택에서 나와서 Hei가 먼저출력되고 그다음 백그라운드에있던 await promise밑 부분들이 테스크 큐로들어와 이벤트루프에 의해 호출컨텍스트로 들어와 최종적으로 실행되는 것입니다.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
질문 있습니다!
방을 새로 만들면 chat네임스페이스로 안넘어가고 메인화면으로 돌아오네요 ㅠㅠ , 방목록은 생기는데 owner가 1로 뜨고 입장을 클릭하면 방생성하는 화면으로 넘어가네요 어제부터 여기서 막혀서 고생중입니다 ㅠㅠㅠㅠㅠㅠ 도와주세요!! 이유를 모르겠습니다
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
질문 있습니다!
안녕하세요! 다름이 아니라 카카오톡 로그인을 연동해서 owner 와 session.color 대신 카카오톡 프로필 닉네임으로 채팅방을 만들고, 이용할 수 있도록 수정보려고 하는데요 혼자서 하고 있는데 많은 어려움을 겪고 있습니다 ㅠㅠ 현재로썬 제가 잘하고 있는지 잘못된 방향으로 하고 있는지 알 수 있는 방법이 없습니다 ㅠㅠ 제가 맞는 방향으로 구현해 나갈 수 있게 힌트를 주시면 감사하겠습니다 ! 도움 부탁드립니다 ㅠㅠ
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
[nodemon] app crashed - waiting for file changes before starting... 에러가 납니다.
npm start 입력시 이렇게 에러가 나오는데 어떻게 고쳐야 할까요?
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
궁금해서 질문 남갑니다
안녕하세요 그냥 듣다가 궁금해서 질문 남깁니다 middlewears에서 isLoggedIn과 isNotLoogedIn를 통해 검사하는데 로그인한 상태에서 회원가입 이나 로그인하는 페이지는 볼 수 없지 않나요? 제가 1차원적으로 생각한건지 싶어서 질문 남깁니다 감사합니다!
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
상속과 속성 관련 질문 드립니다
class Zero extends Human { constructor(type, firstName, lastName) { super(type); this.firstName = firstName; this.lastName = lastName; } sayName() { super.breathe(); alert(`${this.firstName} ${this.lastName}`); } } 이 class 선언에서 질문이 있습니다! 1. 이미 super(type); 으로 type 값을 부모 요소에서 가져오기로 결정했는데, 굳이 생성자에서 argument로 type을 받는 이유가 있을까요? 2. 또, 제가 dart 언어를 공부하다 와서 헷갈리는 부분일수도 있지만, JS에서 class 내의 property를 설정해주기 위해서는 꼭 생성자의 argument로 넘겨주어야 하는 건가요? 3. 이어서 첫번째 질문으로 돌아가자면, class 선언문 내에 const type = super(type); 이런 식으로 property를 설정해주고 생성자에서 super(type);을 빼주면 안될까요? 이상 3가지 질문을 드리고 싶습니다. 좋은 강의 감사드립니다!
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
코멘트 불러와서 프론트에 띄울때..
이번 강좌에서 코멘트를 불러와서 프론트를 띄울때 comments에서 User을 include 하여 가져온 객체 안에 Users라는 정보가 포함되어서 바로 이름을 꺼낼쓸 수 있는 것을 확인했습니다. const res = await axios.get(`/users/${id}/comments`); const comments = res.data; console.log(comments.User.name); 그럼 만약에 시퀄라이저를 쓰지않고하려면 단순히 comments에서 모든 데이터들을 가져온다음에 commenter 컬럼에 있는 정보로 다시 SELECT (name) from Users where id=1 이런식으로 또 가져온다음 이름을 프론트에 띄워 줘야하나요??
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
res 안에 status
const res 객체안에 status 를 jest.fn() 이 아닌 jest.fn(() => res) 를 넣어주는 이유가 뭔가요?? 그리고 안의 res의 의미도 궁금합니다.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
질문 드리겠습니다!
교육을 다듣고 이제 직접 프로젝트를 하나 작업해보려고하는데. nunjucks로 프론트 페이지를 렌더링 할때에는 세션관리가 그냥 되었는데 프론트단과 분리해서 제작을 하게된다면 세션관리를 어떻게 하여야하나요? jwt를 발급해서 매번 클라이언트단에서 헤더에다가 담아서 보내주어야 하나요?
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
스스로 구현하기 게시글 삭제 질문
안녕하세요. 게시글 삭제를 구현중에 어려움을 겪어 질문드립니다. 이게 제 프론트 코드이고, 이게 제 서버 코드입니다. 게시글을 삭제하겠습니까? 라고 묻는 문구까지는 성공적으로 뜨는데, 그 다음에 아무런 반응이 없습니다. 제 생각에는 where: {userId :req.body.id} 에서 , req.body.id를 인식하지 못하는것 같은데 ..어디를 어떻게 바꿔야할지 모르겠습니다. 제로초님의 스스로 해결하기 유튜브영상도 찾아봤지만 잘 모르겠습니다. 도와주시면 감사하겠습니다..!
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
스스로 구현하기 프로필 수정
안녕하세요. 프로필 수정을 구현하고 있는데 어려워서 질문드립니다. 수정할 닉네임을 입력받아서 , 기존 닉네임을 바꾸고 싶은데요. 그래서 edit.html과 edit.js라는 것을 새로 만들었습니다. 아래 사진이 edit.html 과 edit.js 입니다. 표시한 부분에 로그인된 유저의 닉네임만을 가져와서, 제가 만들어 놓은 edit_nick으로 바꾸고싶은데 어떻게 구현해야할지 모르겠습니다. 도움 주시면 감사하겠습니다.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
질문 부탁드립니다
로그인만 구현해볼려고 하는데요 index.js const Sequelize = require('sequelize'); const env = process.env.NODE_ENV || 'development'; const config = require('../config/config')[env]; const User = require('./user'); const db = {}; const sequelize = new Sequelize( config.database, config.username, config.password, config, ); db.sequelize = sequelize; db.User = User; User.init(sequelize); User.associate(db); module.exports = db; user.js const Sequelize = require('sequelize'); module.exports = class User extends Sequelize.Model { static init(sequelize){ return super.init({ number: { type: Sequelize.STRING(11), allowNull: true, unique: true, }, password: { type: Sequelize.STRING(100), allowNull: false, }, birth: { type: Sequelize.STRING(8), allowNull: false, }, provider: { type: Sequelize.STRING(10), allowNull: false, defaultVaue: 'local', }, gender: { type: Sequelize.TEXT(''), allowNull: false, } },{ sequelize, timestamps: true, underscored: false, modelName: 'User', tableName: 'Users', paranoid: true, charset: 'utf8', collate: 'utf8_general_ci', }); } } app.js는 똑같이 했습니다 /Users/yunjin/Desktop/mine/wapeProject/server/models/index.js:17 User.associate(db); ^ TypeError: User.associate is not a function at Object.<anonymous> (/Users/yunjin/Desktop/mine/wapeProject/server/models/index.js:17:6) at Module._compile (node:internal/modules/cjs/loader:1109:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1138:10) at Module.load (node:internal/modules/cjs/loader:989:32) at Function.Module._load (node:internal/modules/cjs/loader:829:14) at Module.require (node:internal/modules/cjs/loader:1013:19) at require (node:internal/modules/cjs/helpers:93:18) at Object.<anonymous> (/Users/yunjin/Desktop/mine/wapeProject/server/app.js:11:23) at Module._compile (node:internal/modules/cjs/loader:1109:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1138:10) [nodemon] app crashed - waiting for file changes before starting... 이렇게 오류가 발생했습니다 그리고 프론트에서 보낸 유저 정보를 어디서 받는지 잘 모르겠습니다 감사합니다!
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
12장 몽고 DB대신 mysql로 사용해보려합니다.
안녕하세요 12장에서 데이터베이스를 몽고DB로 사용하지 않고 mysql로 사용해보려합니다. 카카오톡 연동 로그인 때문인데요(9장) schemas/chat.js room: { type: ObjectId, //ObjectId :명시적으로 ID를 선언할 때, required: true, ref: 'Room', //몽구스가 populate로Room의 Object가 아니라 Room에 대한 정보 객체로 치환 해줌 }, 혹시 이 선언을 mysql로 바꾸려면 어떻게 해야할까요?
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
cli 결과가 콘솔창에 안뜹니다 ㅠㅠ
처음에 cli실행할 때 연결프로그램을 vscode로 설정해놔서 그런지 콘솔창에 cli를 입력하면 console창에 결과가 안뜨고node_cli라는 폴더가 생기면서 index파일이 생깁니다.
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
실행시 메인페이지 오류납니다 ㅠ
실행 시 메인페이지에서 오류납니다 ㅠ
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
방생성시 404에러 출력됩니다 ㅠㅠ
방생성시 뜨는 오류입니다 ㅠㅠ
- 미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
실행 시 결과창에서 한글이 번역이 안돼서 출력돼요
한글이 번역이 안되고 이런식으로 뜹니다. 어떻게 해결할 수 있나요?