inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

config.js 에서 username값 질문

해결됨

Slack 클론 코딩[실시간 채팅 with React]

mysql 실행할 때 프롬프트에서 mysql -h localhost -u root -p 로 입력한 사용자 명이랑 config.js 파일에서의 username값과 일치해야 하나요? 그리고 프롬프트로 들어가지 않고 그냥 MySQL 8.0 Command Line Client 파일을 클릭해서 실행시키면 바로 비번입력하는게 나오던데 이렇게 들어가도 상관없나요?

  • react
  • 웹팩
  • typescript
  • socket.io
  • babel
  • 클론코딩
roider2316 댓글 1 좋아요 0 조회수 426

setting/ts에 설정한후 폴더생성 및 추후작업

해결됨

Slack 클론 코딩[실시간 채팅 with React]

이전수업을 setting/ts에서 따라해보면서 쫒아왔는데요! github에서 받은것은 완성본이라고 하셨는데, 폴더생성 및 추후 페이지작업 프론트작업도 setting/ts에서 진행해도될까해서 질문드립니다.

  • react
  • 웹팩
  • typescript
  • socket.io
  • babel
  • 클론코딩
sehun910124 댓글 2 좋아요 0 조회수 532

9장 프로젝트 구조갖추기부분

해결됨

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

컨트롤러스 page.js 에서 이부분 객체로 만든건가요? exports.renderProfile=(req,res,next)=>{}

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
Hongsun1 댓글 1 좋아요 0 조회수 360

back 서버 오류

해결됨

Slack 클론 코딩[실시간 채팅 with React]

강의 수강중에 에러가 발생했는데, 이를 찾지 못하겠습니다. 회원 가입으로 axios 해서 넘어가는거는 알겠는데... 위의 캡처 긍르 보면 api.js에서 addMembers를 호출하는데 에러가 나고 있습니다. 에러는 Cannot read properties of null (reading 'addMembers')라는데 이 부분에서 에러가 왜 나는지 잘 모르겠습니다. 분명 같은 이메일로 로그인 시도시 "이미 있는 사용자입니다"하는 response를 받고 있는 상황입니다.

  • react
  • 웹팩
  • typescript
  • socket.io
  • babel
  • 클론코딩
seonjun Moon 댓글 1 좋아요 1 조회수 447

회원가입시 cors 오류 납니다

미해결

Slack 클론 코딩[실시간 채팅 with React]

어느부분을 봐야할까요?

  • react
  • 웹팩
  • typescript
  • socket.io
  • babel
  • 클론코딩
bizpeer001 댓글 1 좋아요 0 조회수 336

BrowserRouter 은 JSX 구성 요소로 사용할 수 없습니다.

미해결

Slack 클론 코딩[실시간 채팅 with React]

-코드- import 'core-js/stable'; import 'regenerator-runtime/runtime'; import React from 'react'; import { render } from 'react-dom'; import { BrowserRouter } from 'react-router-dom'; import axios from 'axios'; import App from './layouts/App'; axios.defaults.withCredentials = true; axios.defaults.baseURL = process.env.NODE_ENV === 'production' ? 'https://sleact.nodebird.com' : 'http://localhost:3090'; render( <BrowserRouter> //오류발생구간 <App /> </BrowserRouter>, document.querySelector('#app'), ); -오류내용- ERROR in ./client.tsx:15:4 TS2786: 'BrowserRouter' cannot be used as a JSX component. Its instance type 'BrowserRouter' is not a valid JSX element. The types returned by 'render()' are incompatible between these types. Type 'React.ReactNode' is not assignable to type 'import("C:/Users/LG gram 15/node_modules/@types/react/index").ReactNode'. Type '{}' is not assignable to type 'ReactNode'. 13 | 14 | render( > 15 | <BrowserRouter> | ^^^^^^^^^^^^^ 16 | <App /> 17 | </BrowserRouter>, 18 | document.querySelector('#app'), sleact (webpack 5.74.0) compiled with 1 error in 9547 ms 백엔드 서버를 킨 상태에서, npm i 실행하였고 npm run build를 실행하게되면 위에 오류가 발생됩니다.

  • react
  • 웹팩
  • typescript
  • socket.io
  • babel
  • 클론코딩
sehun910124 댓글 3 좋아요 0 조회수 2027

회원가입 로직시 controller\auth 랑 localStrategy

미해결

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

controller\auth 랑 passport\localStrategy에서 로그인 post를 보낼때의 경우가 service로 보내서 비즈니스로직을 돌고 컨트롤러에 return값을 보내주는 방식으로 passport\localStrategy가 Service역할을 한다고 생각해도 괜찮나요?

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
dch3030 댓글 1 좋아요 0 조회수 475

tsconfig-for-webpack-config 초기설정 파일 질문있습니다

해결됨

Slack 클론 코딩[실시간 채팅 with React]

영상을 보면서 진행하다보니 packge.json 스크립트에 TS_NODE_PROJECT가 추가되어있어 깃허브 setting으로 가서 확인을 해보니 tsconfig-for-webpack-config 파일이 추가되어있더라구요 근데 깃허브 package.json에는 "dev": "webpack serve --env development", "build": "cross-env NODE_ENV=production webpack" 이렇게 되어있는데 TS_NODE_PROJECT 스크립트와 tsconfig-for-webpack-config.json 파일에 대해서 설명을 추가로 부탁드릴 수 있을까요? 또한 영상과 달리 npm run dev에서는 cross-env가 빠져있는데 그부분도 빠져도 상관없는지 궁금합니다

  • react
  • 웹팩
  • typescript
  • socket.io
  • babel
  • 클론코딩
grs0412 댓글 1 좋아요 0 조회수 370

8.6.1 다시질문!

해결됨

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

mongoose.connect 콜백함수 수정했고 다만들고 실행했는데 Operation users.find() buffering timed out after 10000ms MongoServerSelectionError: connect ECONNREFUSED ::1:27017 mongod연결했는데 이렇게 에러 뜨네요 ㅜㅠ schemas/index.js에서 콜백함수 수정한 코드입니다 혹시 제가 잘못수정한건가요? const mongoose = require("mongoose"); const connect = () => { if (process.env.NODE_ENV !== "production") { mongoose.set("debug", true); } mongoose .connect("mongodb://root:nodejsbook@localhost:27017/admin", { dbName: "nodejs", useNewUrlParser: true, }) .then(() => { console.log("몽고디비 연결 성공"); }) .catch(() => { console.log("몽고디비 연결 에러"); }); }; mongoose.connection.on("error", (error) => { console.error("몽고디비 연결 에러", error); }); mongoose.connection.on("disconnected", () => { console.error("몽고디비 연결이 끊겼습니다. 연결을 재시도합니다."); connect(); }); module.exports = connect;

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
Hongsun1 댓글 1 좋아요 0 조회수 921

8.6.1절에 connect

해결됨

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

connect에 콜백 이제 안된다고해서 코드를 promise로 썻는데 잘작성이안되네요 어떻게 쓰면될까요? ㅠㅠ

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
Hongsun1 댓글 1 좋아요 0 조회수 365

IpConfigSample 예제 NIC free 개선 필요합니다

해결됨

Windows 소켓 프로그래밍 입문에서 고성능 서버까지!

IpConfigSample 마지막 부분에 free 개선이 필요합니다. pNicInfo가 NULL 이므로 free 는 do nothing 중입니다. while(pNicInfo != NULL){ /* Do somethings */ pNicInfo = pNicInfo->Next; } // while loop 벗어난 시점이므로 pNicInfo == NULL free(pNicInfo); // pointer 가 NULL 이므로 free 는 donothing

  • socket.io
  • udp
  • iocp
  • tcpip
신길수 댓글 1 좋아요 3 조회수 450

req 에서 user 데이터를 못 받아와서 api 서버 로그인 후 화면이 안뜹니다ㅠ

해결됨

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

[제로초 강좌 질문 필독 사항입니다] 질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다. 도움이 되는 질문을 하는 방법을 알려드립니다. https://www.youtube.com/watch?v=PUKOWrOuC0c <로그인 누른 후의 화면> <localStrategy.js> 안녕하세요 제로초님 강의 잘 듣던 중 로그인이 안되서 이렇게 순차적으로 콘솔을 찍어보면서 경로를 확인해보고 있었는데 /auth/login Post 요청까지는 성공적으로 되서 컨트롤러/index.js 의 renderLogin 함수를 보면 req.user가 안 떠서 문의 드립니다. 갑자기 데이터가 사라질 리는 없기에 같은 강의를 계속 돌려보면서 제로초님과 저의 코드 차이를 봤는데 없어서 이유를 몰라 문의드립니다ㅠ

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
윤동석 댓글 1 좋아요 0 조회수 454

Ctrl-C 구현 내용 중 return True; 에 관하여

해결됨

Windows 소켓 프로그래밍 입문에서 고성능 서버까지!

exit(0); 다음에 return TRUE; 까지 도달하지 못 할텐데, 이건 업계의 코딩스타일 관행같은 건가요? 아니면 제가 수업중에 졸은걸까요 ㅜㅜ

  • socket.io
  • udp
  • iocp
  • tcpip
pagokun 댓글 1 좋아요 0 조회수 457

화면에 아무것도 안보입니다

미해결

Slack 클론 코딩[실시간 채팅 with React]

깃헙에서 소스파일 받고 alecture 에서 npm -i 이후에 npm run dev localhost :3090에서 아무것도 안보입니다.. 뭐가 문제일까요?

  • react
  • 웹팩
  • typescript
  • socket.io
  • babel
  • 클론코딩
댓글 1 좋아요 0 조회수 395

socket.io 실행

미해결

안녕하세요 채팅을 구현하기위해 socket.io를 썼는데 통신이 안되는 것같습니다 io에 주소를 제대로 넣었고 서버 on 마다 클라이언트에서 emit으로 작성했는데 작동하지 않습니다 이유가 무엇일까요? // server 파일의 코드입니다 require('dotenv').config(); const { createApp } = require('./app'); const { appDataSource } = require('./models/index'); const startServer = async () => { const app = createApp(); const PORT = process.env.PORT; await appDataSource .initialize() .then(() => { const server = app.listen(PORT, () => { console.log(`🟢server is listening on ${PORT}🟢`); }); const io = require('socket.io')(server, { cors: { origin: true, credentials: true, }, }); const { socketMessage } = require('./middlewares/socket.io'); socketMessage(io); }) .catch((err) => { console.log(`❌Failed server connect❌`); appDataSource.destroy(); }); }; startServer(); // server의 socket 파일의 코드입니다 const jwt = require('jsonwebtoken'); const chatDao = require('../models/chatDao'); const { catchAsync } = require('../utils/error'); const socketMessage = (io) => { io.use((socket, next) => { const token = socket.handshake.headers.authorization; if (!token) { return next(new Error('Authentication error')); } jwt.verify(token, process.env.SECRET_KEY, async (err, decoded) => { if (err) { return next(new Error('Authentication error')); } userId = decoded.userId; next(); }); }); io.on('connection', (socket) => { console.log('A User Connected.'); socket.on( 'create_room', catchAsync(async (postId, callback) => { const room = await chatDao.createRoom(userId, postId); socket.join(room.raw.insertId); callback(room.raw.insertId); }) ); socket.on( 'enter_room', catchAsync(async (roomId, callback) => { socket.join(roomId); callback(roomId); }) ); socket.on('new_text', async (content, roomId, callback) => { await chatDao.createChat(userId, content, roomId); socket.to(roomId).emit('new_text', content); callback(content); }); socket.on('disconnect', () => { console.log('접속이 해제되었습니다', socket.id); clearInterval(socket.interval); }); socket.on('error', (error) => { console.error(error); }); ​ socket.on('send', (data) => { console.log(data); socket.emit('reply', { data, }); }); socket.interval = setInterval(() => { socket.emit('news', 'Hello Socket.IO'); }, process.env.SOCKET_INTERVAL || 1000); }); }; module.exports = { socketMessage }; ​ // client 코드입니다 import React, { useState, useContext } from 'react'; import io from 'socket.io-client'; import './chat.css'; import { MenuContext } from '../../components/Nav/MenuProvider'; const Token = localStorage.getItem('accessToken'); const socket = io.connect('http://192.168.0.194:4000', { withCredentials: true, extraHeaders: {Authorization: `Bearer ${Token}` } appDataSource.destroy(); }), }); socket.on('connection', () => { console.log('Connected to server'); }); const Chat = () => { const [roomId, setRoomId] = useState([]); const [searchData, setSearchData] = useContext(MenuContext); const handleCreateRoom = event => { event.preventDefault(); socket.emit('create_room', searchData, ({ searchData, roomId }) => { console.log(`Joined room ${roomId}`); setRoomId(roomId); }); }; const handleJoinRoom = roomId => { socket.emit('enter_room', roomId, roomId => { console.log(`Joined room ${roomId}`); setRoomId(roomId); }); }; const handleNewText = content => { socket.emit('new_text', content, roomId, content => { console.log(`Sent message: ${content}`); }); }; const handleNewText = content => { socket.emit('new_text', content, roomId, content => { console.log(`Sent message: ${content}`); }); }; const onCheckEnter = e => {if (e.key === 'Enter') { handleNewText(); } }; return ( <div className="h-screen pt-36"> <button onClick={handleCreateRoom}>테스트</button> <button onClick={() => handleJoinRoom(roomId)}>테스트2</button> <input id="input-text" type="text" onKeyDown={onCheckEnter} /> <button onClick={handleCreateRoom}>제출</button> </div> ); }; export default Chat;

  • react
  • javascript
  • socket
  • socket.io
  • node.js
bin 댓글 1 좋아요 0 조회수 745

테스트 코드 깃헙

해결됨

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

안녕하세요 혹시 테스트 코드나 service 코드는 깃헙에 따로 올라와있지는 않나요? https://github.com/ZeroCho/nodejs-book/tree/master/ch11/11.1/nodebird 여기에는 안 보여서 질문합니다!

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
je 댓글 1 좋아요 0 조회수 596

members 404 에러.. channels/undefined

미해결

Slack 클론 코딩[실시간 채팅 with React]

안녕하세요.. 제가 members로 채널정보가 처음엔 제대로 불러와지는데 추후 일정한 간격으로 요청이다시 시작되고, 그 뒤로 404 에러가 뜹니다.. 코드를 보면서 문제점을 찾으려고 해보아도 되지않아서 글을 올립니다 ㅠㅠ.. 아직 채널 페이지를 완료하지 않아서 생긴 문제일껄까요..? https://github.com/nuring9/react-SWR-SlackClone_front 제 깃허브 주소입니다..

  • react
  • 웹팩
  • typescript
  • socket.io
  • babel
  • 클론코딩
Nuri Park 댓글 1 좋아요 0 조회수 426

npm run dev 를 실행할시 webpack error 가 발생합니다!

미해결

Slack 클론 코딩[실시간 채팅 with React]

aleecture 폴더로 이동한뒤 npm run dev 를 실행할시 이렇게 오류가 발생하여서 webpack 설정이 잘못된것 같아서 구글링을 통해 재설치를 하여도 이렇게 오류가 발생하여서 질문 남깁니다! 오류 텍스트 [webpack-cli] Failed to load '/home/kang/Desktop/sleact/alecture/webpack.config.ts' config [webpack-cli] webpack.config.ts:5:38 - error TS2307: Cannot find module 'webpack-bundle-analyzer' or its corresponding type declarations. 5 import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer'; ~~~~~~~~~~~~~~~~~~~~~~~~~

  • react
  • 웹팩
  • typescript
  • socket.io
  • babel
  • 클론코딩
강동휘 댓글 1 좋아요 0 조회수 637

ES6 Sequelize.sync error

미해결

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

안녕하세요 현재 cjs 가 아닌 es6 로 nodejs 코드를 작성하고 있습니다. 9-2 강의 진행 중 강사님 깃헙 리포지토리 9-2 폴더 중 app.js 20번 줄에서 sequelize.sync is not a function 이라는 오류가 나옵니다. 구글 검색을 해본 결과 일부 블로그에서 es6 에서는 해당 함수를 사용이 불가하다는 글을 보았습니다. 그리고 models/index.js 파일에서 fs.readdirSync(__dirname) .filter(file=>{ return file.indexOf('.') !== basename && file.slice(-3) === '.js'; }) .forEach((file) =>{ import(path.join(__dirname,file)) .then((obj) => {console.log(obj.name); obj(sequelize, Sequelize.DataTypes); db[obj.name] = obj; obj.initiate(sequelize);}) .catch(err => console.log(err)); //const model = require(path.join(__dirname, file)); //console.log(file,model.name); //db[model.name] = model; //model.initiate(sequelize); }); 주석 처리한 부분은 cjs 스타일이고 변경한 부분은 동적 import 를 사용해서 구현해보았습니다. 구글 검색 후 obj(sequelize, Sequelize.DataTypes) 구문을 삽입하면 해당 오류가 해결이된다고 했으나 해결이 되지 않습니다. 오류설명이 구구절절 길었으나 제 질문을 정리하자면 해당 함수(sequelize.sync)가 es6에서는 사용이 안되나요? 사용이 안되다면 전면 cjs 로 바꿔 코드 작성을 해야하나요? 입니다. es6 코드 작성을 연습하고자 코드를 변경해가며 진행중인데 난관을 겪었습니다. 질문 유의사항을 잘지켜야지 하며 적었는데 가독성이 있을지는 모르겠습니다. 감사합니다.

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
Jaesimin 댓글 2 좋아요 0 조회수 702

슬랙방에 들어가지지 않습니다

미해결

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

선생님 안녕하세요 슬랙방 링크를 클릭하니 이런 페이지가 뜹니다.

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
댓글 1 좋아요 0 조회수 476

인기 태그

인프런 TOP Writers

주간 인기글