회원가입시 cors 오류 납니다
미해결
Slack 클론 코딩[실시간 채팅 with React]
어느부분을 봐야할까요?
- react
- 웹팩
- typescript
- socket.io
- babel
- 클론코딩
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
Slack 클론 코딩[실시간 채팅 with React]
어느부분을 봐야할까요?
미해결
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를 실행하게되면 위에 오류가 발생됩니다.
미해결
[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
controller\auth 랑 passport\localStrategy에서 로그인 post를 보낼때의 경우가 service로 보내서 비즈니스로직을 돌고 컨트롤러에 return값을 보내주는 방식으로 passport\localStrategy가 Service역할을 한다고 생각해도 괜찮나요?
해결됨
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가 빠져있는데 그부분도 빠져도 상관없는지 궁금합니다
해결됨
[개정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;
해결됨
[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
connect에 콜백 이제 안된다고해서 코드를 promise로 썻는데 잘작성이안되네요 어떻게 쓰면될까요? ㅠㅠ
해결됨
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
미해결
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
도커 다운받는 링크 복사 할때 공백 생겨서 필요 하신분 쓰시라고 링크 올려 두겠습니다. https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04
해결됨
[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
[제로초 강좌 질문 필독 사항입니다] 질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다. 도움이 되는 질문을 하는 방법을 알려드립니다. https://www.youtube.com/watch?v=PUKOWrOuC0c <로그인 누른 후의 화면> <localStrategy.js> 안녕하세요 제로초님 강의 잘 듣던 중 로그인이 안되서 이렇게 순차적으로 콘솔을 찍어보면서 경로를 확인해보고 있었는데 /auth/login Post 요청까지는 성공적으로 되서 컨트롤러/index.js 의 renderLogin 함수를 보면 req.user가 안 떠서 문의 드립니다. 갑자기 데이터가 사라질 리는 없기에 같은 강의를 계속 돌려보면서 제로초님과 저의 코드 차이를 봤는데 없어서 이유를 몰라 문의드립니다ㅠ
해결됨
[개념반] 배워서 바로 쓰는 Pandas
section1. where 강의자료 문제 16번 풀이에서 첫번째 파라미터에 ':'을 입력해주셨는데 어떤 의미인가요?
미해결
[개정판] 파이썬 머신러닝 완벽 가이드
안녕하세요, 강의 내용을 Colab를 통해서 실습을 하고 있습니다. 다른 코드를 실행 할때는 별 문제가 없었지만, 산탄데르 은행 데이터셋과 사기검출 데이터셋을 실행할때 read_csv를 통해 csv파일을 읽어오면 실행 할때마다(런타임이 바뀔때 마다) read된 결과가 다른데 왜 그런지 알 수 있을까요? 사기검출 데이터의 경우 25838 rows × 31 columns 로 읽히는 경우도 있고, 39702 rows × 31 columns로 읽어지는 경우도 있습니다. 두 데이터셋다 공통적으로 Nan 값도 생기기도 하네요. 런타임을 몇번 초기화 하다보면 운좋게(?) 정상적으로 읽어지는 경우도 있습니다. 왜 실행할때마다 결과가 다르게 나오는지 궁금합니다!
해결됨
[개념반] 배워서 바로 쓰는 Pandas
조건을 주고 그에 맞는 데이터를 필터링하여 보여준다는 점에서 .loc[] 메서드와 .query() 메서드의 기능이 동일한 건가요? 다른 점이 있다면 어떤 부분에서 다른가요?
해결됨
Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
exit(0); 다음에 return TRUE; 까지 도달하지 못 할텐데, 이건 업계의 코딩스타일 관행같은 건가요? 아니면 제가 수업중에 졸은걸까요 ㅜㅜ
미해결
Slack 클론 코딩[실시간 채팅 with React]
깃헙에서 소스파일 받고 alecture 에서 npm -i 이후에 npm run dev localhost :3090에서 아무것도 안보입니다.. 뭐가 문제일까요?
미해결
안녕하세요 채팅을 구현하기위해 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;
해결됨
[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
안녕하세요 혹시 테스트 코드나 service 코드는 깃헙에 따로 올라와있지는 않나요? https://github.com/ZeroCho/nodejs-book/tree/master/ch11/11.1/nodebird 여기에는 안 보여서 질문합니다!
미해결
[리뉴얼] React로 NodeBird SNS 만들기
... Failed! Error: SET PASSWORD has no significance for user 'root'@' localhost ' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters. 구글링도하고 mysql다시깔아서 local password도 다시 설정했는데 자꾸 이 오류가 나오네요.. 혹시 해결 방법이 있을까요?
미해결
파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
강사님 안녕하세요 :) 유익한 강의 잘 듣고 있습니다! 학습 중 궁금한 점이 있어서 질문드립니다. 강사님께서 DFS문제 외에도 코드 시작 부분에 이 코드를 작성하실 때가 종종 있는데 혹시 강사님의 사용 기준이 있는지 궁금합니다. ex) [섹션 8] 회장뽑기(플로이드-와샬) 사용 O vs 위상정렬(그래프 정렬) 사용 X
미해결
Slack 클론 코딩[실시간 채팅 with React]
안녕하세요.. 제가 members로 채널정보가 처음엔 제대로 불러와지는데 추후 일정한 간격으로 요청이다시 시작되고, 그 뒤로 404 에러가 뜹니다.. 코드를 보면서 문제점을 찾으려고 해보아도 되지않아서 글을 올립니다 ㅠㅠ.. 아직 채널 페이지를 완료하지 않아서 생긴 문제일껄까요..? https://github.com/nuring9/react-SWR-SlackClone_front 제 깃허브 주소입니다..
해결됨
직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
GetText 사용법이 감이 잘 안오네요 while과 state없이 GetText()를 실행하면 텍스트 출력이 안되네요.. 파이썬에서 정확한 문법 정의가 어떻게 되는지요?