묻고 답해요
150만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
다수의 supertest 가 실행될 때 force:true로 인한 DB 초기화 문제
supertest 를 통해서 다른 라우터도 테스트 코드를 생성하려고 했는데요각각의 supertest 파일에서 sequelize.sync({force:true})가 병렬로 실행되니까 전체적인 테스트가 끝나지 않았는데 위 코드로 인해 DB가 초기화 되어버려 테스트를 실패하는 케이스가 발생했습니다.이게 항상 발생하는 것도 아니고 테스트 수행 시간이 달라짐에 따라 결과가 매번 다르더라구요.그래서 이 부분을 어떻게 해결해야하는지 찾아보려고 했으나 검색 키워드를 잘몰라서 도움이 될만한 정보를 찾지 못했습니다.혹시 이런 부분은 어떻게 해야하나요? [제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
npm run dev 에러
npm run dev시 새로운 에러가 발생하여 재질문 드립니다.http://localhost:3090/Login 연결시, 크롬에서 Failed to compile. 가 발생하였습니다.Module not found: Can't resolve '@utils/fetcher' in '/Users/kanghyun/Desktop/study/react/zerocho/sleact/setting/front/layouts' layouts/workspace.tsx터미널 메세지입니다.ERROR in ./pages/Login/index.tsx 17:0-39Module not found: Error: Can't resolve '@hooks/useInput' in '/Users/kanghyun/Desktop/study/react/zerocho/sleact/setting/front/pages/Login'@ ./layouts/App.tsx 7:9-31@ ./client.tsx 9:0-32 12:95-98ERROR in ./pages/Login/index.tsx 19:0-37Module not found: Error: Can't resolve '@utils/fetcher' in '/Users/kanghyun/Desktop/study/react/zerocho/sleact/setting/front/pages/Login'@ ./layouts/App.tsx 7:9-31@ ./client.tsx 9:0-32 12:95-98ERROR in ./pages/SignUp/index.tsx 17:0-39Module not found: Error: Can't resolve '@hooks/useInput' in '/Users/kanghyun/Desktop/study/react/zerocho/sleact/setting/front/pages/SignUp'@ ./layouts/App.tsx 11:9-32@ ./client.tsx 9:0-32 12:95-98ERROR in ./pages/SignUp/index.tsx 23:0-37Module not found: Error: Can't resolve '@utils/fetcher' in '/Users/kanghyun/Desktop/study/react/zerocho/sleact/setting/front/pages/SignUp'@ ./layouts/App.tsx 11:9-32@ ./client.tsx 9:0-32 12:95-98 ㅡtsconfig.json 파일입니다"paths": { "@hooks/*": ["hooks/*"], "@components/*": ["components/*"], "@layouts/*": ["layouts/*"], "@pages/*": ["pages/*"], "@utils/*": ["utils/*"], "@typings/*": ["typings/*"] }ㅡwebpack.config.ts 파일입니다resolve: { extensions: ['.js', '.jsx', '.front', '.tsx', '.json'], alias: { '@hooks': path.resolve(__dirname, 'hooks'), '@components': path.resolve(__dirname, 'components'), '@layouts': path.resolve(__dirname, 'layouts'), '@pages': path.resolve(__dirname, 'pages'), '@utils': path.resolve(__dirname, 'utils'), '@typings': path.resolve(__dirname, 'typings'), // 경로 폴더들 }, },ㅡ현재 터미널 경로입니다/Desktop/study/react/zerocho/sleact/setting/frontts 폴더에서 설정 후, front 라는 폴더명으로 바꾸어서 진행중입니다. 감사합니다
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
서버가 끊어버리는것에 대한 질문
11:00 에 클라가 도배를 하면 서버에서 끊어버린다는 내용이 있어서 질문 드립니다. 서버에서 먼저 끊으면 안된다고 하셨는데,도배나 어떤 악질 유저 같은 경우에는 TIME_WAIT 남더라도 끊어버리는것이 맞나요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
npx webpack 후 에러
강의를 클론 받은 후, /sleact/setting/ts 경로에서 npm i 후 npx webpack을 입력하면 아래와 같이 에러가 나옵니다.다른 컴퓨터로 했을때는 작동 되지만, 제가 사용중인 컴퓨터에서는 작동되지 않습니다.npm i 입력 후 터미널 메세지ㅡup to date, audited 643 packages in 4s74 packages are looking for funding run npm fund for details26 vulnerabilities (3 low, 8 moderate, 12 high, 3 critical)To address issues that do not require attention, run: npm audit fixTo address all issues (including breaking changes), run: npm audit fix --forceRun npm audit for details. npx webpack 명령후 입력후 터미널 메세지[webpack-cli] Failed to load '/Users/kanghyun/Desktop/study/React/zerocho/sleact/setting/ts/webpack.config.ts' config[webpack-cli] SyntaxError: The requested module 'webpack' does not provide an export named 'Configuration' at ModuleJobSync.runSync (node:internal/modules/esm/module_job:387:37) at ModuleLoader.importSyncForRequire (node:internal/modules/esm/loader:427:47) at loadESMFromCJS (node:internal/modules/cjs/loader:1565:24) at Module._compile (node:internal/modules/cjs/loader:1716:5) at Object.loadTS [as .ts] (node:internal/modules/cjs/loader:1826:10) at Module.load (node:internal/modules/cjs/loader:1469:32) at Function._load (node:internal/modules/cjs/loader:1286:12) at TracingChannel.traceSync (node:diagnostics_channel:322:14) at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) at Module.require (node:internal/modules/cjs/loader:1491:12)
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
node 설치 방법이 전혀다르게 바뀐것 같습니다.
[제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://inf.run/Qs2vt0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다. 이번에 컴퓨터를 밀고 처음부터 설치를 하려고 보니 노드 설치 방법이 책과는 너무 달라져서요 혹시 이미 반영이되지 않았다면 어떤식으로 해야하는지좀 알려주실수 있을까요?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
12강 깃허브에 있는 12.7 chat.html 복붙했는데 css오류
이부분에서 <div class="mine" style="color: {{chat.user}}"> 가 오류뜨는데, 속성값예상 at-rule 또는 선택기가 필요함 이라고 복붙했는데 왜이런오류가뜰가요?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
무료/프리미엄 동시 소유 시 질문
다른 분들의 질문에 답변을 달아주신 내용을 보니까 사용자 계정에 등록된 도메인의 0번째에서 type 값을 사용하여 무료/프리미엄을 구분하는 답변을 예시로 준 것을 봤습니다.프로젝트 환경에서 하나의 사용자가 같은 도메인에 무료/프리미엄 비밀 키를 중복하여 발급 받을 수도 있고 비밀 키를 다수 발급받을 수도 있는데요 이 경우 도메인은 여러개가 조회될 것인데 이런 경우에는 어떻게 처리를 해야하나요?헤더에 비밀 키를 담아서 요청을 보내서 어떠한 비밀 키를 통한 요청인지를 특정하는 방법도 생각해봤습니다.서버 비밀 키는 어차피 클라이언트에게는 노출될 우려가 없고 클라이언트 용 비밀 키는 어차피 클라이언트에게 노출될 것을 염두해둔 비밀 키니까 노출이 되어도 크게 문제가 없을거라 생각했었습니다.하지만 이게 보안에 문제가 되는 방법은 아닌지 모르겠어서 검색을 좀 해봤지만 쉽게 판단이 서질 않습니다.아니면 일단 현재 수준에서는 보안 측면까지 이렇게 고민하기 보다 서버/클라이언트용과 무료/프리미엄용을 분리함에 의의를 두고 이런 강의를 진행하는 것이 옳은걸까요?ㅜㅜ[제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
비주얼 스튜디오 코드로 계속 진행해도 괜찮을까요?
여태까지 비주얼 스튜디오 코드로 하시다가 웹스톤으로 바꾸셨던데혹시 비주얼 스튜디오 코드로 계속 진행해도 프로그램 실행에는 문제없을까요?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
10강 cors에러 localhost:4000으로 접속했을때 에러
에러로 의심되는 코드 올릴게요.아래는 nodebird-api 의 routes/index 파일과 middlewares/index.js코드의 corsWhenDomainMaches 모듈인데 뭐가문제인지 모르겠습니다. cors모듈은 사용했는데 말이죠 module.exports = router; exports.corsWhenDomainMatches = async (req, res, next) => { const domain = await Domain.findOne({ where: { host: new URL(req.get('origin')).host }, }); if (domain) { cors({ origin: req.get('origin'), credentials: true, })(req, res, next); } else { next(); } }; const express = require('express'); const { verifyToken, apiLimiter, corsWhenDomainMatches } = require('../middlewares'); const { createToken, tokenTest, getMyPosts, getPostsByHashtag } = require('../controllers/v2'); const router = express.Router(); router.use(corsWhenDomainMatches); // POST /v2/token router.post('/token', apiLimiter, createToken); // POST /v2/test router.get('/test', apiLimiter, verifyToken, tokenTest); // GET /v2/posts/my router.get('/posts/my', apiLimiter, verifyToken, getMyPosts); // GET /v2/posts/hashtag/:title router.get('/posts/hashtag/:title', apiLimiter, verifyToken, getPostsByHashtag);
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
혹시 몽고DB 쓸거면 MySQL 강의 스킵해도 되나요?
프론트엔드 개발자인데 사이드 프로젝트에 백엔드가 없어서, 제가 직접 만들어보려고 Node.js 강의 보고 있어요.MongoDB가 배우기 쉽다고 해서 MongoDB를 쓰려고 하는데 강의에서 MySQL 파트를 스킵해도 괜찮을까요?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
LightSail 실행 중 오류 질문드립니다!
4:47경 sudo dpkg -i mysql-apt-config_0.8.23-1_all.deb 입력시 이렇게 강의와 다른 화면이 나왔었습니다. 또한영상 5:20에서 명령어를 입력했더니 에러가 나면서 비밀번호를 입력하는 화면이 나오지 않아 더 이상 진행하지 못하고 있습니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
RedisStore 사용법 질문
connect-redis 8.0.1 최신버젼을 사용중입니다. 강의 내용도 해보고 깃헙 코드도 참조해서 해봐도 오류나서 connect-redis 공식문서 읽어보았더니const { RedisStore } = require('connect-redis'); const sessionOption = { resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, secure: false, }, store: new RedisStore({ client: redisClient }), //저장소의 기본값: 메모리 }이렇게 사용해야 할 것 같습니다. 그렇게 되면 session객체를 const RedisStore = require('connect-redis')(session); 이렇게 넘겨줄 필요는 없는 걸까요?? 그리고 8.0.1 공식문서에서 말하는대로 해도 괜찮을까요?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
윈도우 파일탐색기 주소창에서 cmd를 입력할 경우 해당 경로로 바로 cmd를 열 수 있습니다.
윈도우 파일탐색기 주소창에서 cmd를 입력할 경우 해당 경로로 바로 cmd를 열 수 있습니다. 중요한건 아닌데 혹시 도움 되실까 싶어서 올려봅니다. (강의 마지막에 cmd를 따로 열어서 직접 경로를 찾아가고 있는데 시간을 단축시킬 수 있습니다)
-
해결됨Slack 클론 코딩[실시간 채팅 with React]
'void' 형식 식의 truthiness를 테스트할 수 없습니다.ts(1345)
안녕하세요. login, singup, workspace 페이지에서 data 가 있는 경우, Redirect 하려는 함수에서 다음과 같은 에러가 공통으로 나타납니다. => 'void' 형식 식의 truthiness를 테스트할 수 없습니다.ts(1345) 어떻게 해야 할까요?
-
해결됨아무도 알려주지 않는 WebRTC를 사용한 P2P통신
진짜 너무 감사드립니다
아래글은 너무 감사해서 남기는 글입니다.정말 취업도 힘들고 프로젝트 하면서 제가 p2p 통신은 어떡해 하는지 노드중심 통심 등등 rtc 등등 어디서 배우는지 정말 궁금했습니다.치지직 통신을 보고 저는 와 이분이 알려주는구나 싶어서 정말 감사한 마음으로 보았지만 생각하는 로직이랑 정말 달라서 조금은 실망 하였지만, 이번 강의는 제가 원하는걸 그대로 볼 수 있는 기회를 얻었던것 같습니다. 정말 감사합니다.전이거 하고싶어서 개발 공부를 했습니다.니콜x스 님의 rtc 따라만들기 나 해외꺼를 봐도 너무 클론코딩 위주라서 젼혀 이해가 안돼었고 브라우저에 따라서 보안적인문제등등 에의해서 화면공유또한 만은 에러가 발생하여 힘들었는데드디어 4년제 + 취업준비기간 2년이상의 원한이풀립니다. ㅜㅜ
-
미해결Slack 클론 코딩[실시간 채팅 with React]
사용자 가입시 에러발생 (TypeError: Cannot read properties of null (reading 'addMembers')
안녕하세요.현재 슬리액트, '회원가입 페이지 만들기' 파트를 듣고 있습니다.회원가입을 누르면,'TypeError: Cannot read properties of null'라는 에러가 발생합니다.DB, users 폴더에는 새로운 회원정보가 잘 드렁가 있습니다.DB에는 잘 저장되는데, 프론트엔드에서 발생하는 에러일까요? 코드는 제가 거의 건든게 없습니다. 현재 제로초님이 Github 에 올려주신 코드에서 '비밀번호가 입력이 잘못되었습니다' 이부분 검증하는 부분은 추가되어 있습니다.
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
shutdown()을 호출하는 이유
클라이언트에서 showdown()을 호출할때연결 종료 4 way handshake가 발생하는것을와이어샤크를 통해서 확인하였습니다. shutdown()을 호출하지 않고 closesocket()으로도연결 종료 4 way handshake가 발생되는데 왜 closesocket() 전에 showdown()을 호출하는 것인가요?
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
프로토콜이 적용된 파일 송신 서버에서 send, recv 질문 있습니다!
안녕하세요 널널한 개발자님! 언제나 강의 잘보고 있습니다.예제 소스 코드 보고 있는데 의문이 생겨서 이렇게 질문드립니다.이전 강의에서 recv와 send는 1:1로 매칭되지 않는다라고 하셨었는데 프로토콜이 적용된 파일 송신 서버 제작 강의 예제를 보면 MYCMD 나 GETFILE 구조체를 recv 함수로 한번씩 읽어오시는것같아서요.혹시 recv로 한번에 읽어오는 데이터의 크기가 GETFILE, MYCMD의 크기보다 작아 한 번 더 읽어야 하는 경우가 발생할 수 있을까요? 해당 코드 구문입니다!
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
"파일 송신 서버 제작" 강의 질문입니다!
안녕하세요!파일 송신 서버 제작 강의 부분중에 궁금한 것이 생겨 질문드립니다. "파일 데이터를 전송할 때 큰 데이터를 한 번에 올리는 것이 더 성능적으로 좋아질 수 있다." 라고 하셨는데, 그 이유가 무엇인지 구체적으로 알고 싶습니다. 제가 생각한 것은시스템 콜 호출 횟수 감소(유저->커널 레벨의 모드 스위치 감소)디스크 읽기 최적화? (한 번에 순차적으로 접근할 수 있는게 많아지는...?)(I/O를 여러 번 하면, 할 때마다 랜덤 엑세스를 해야하니까, 디스크 seek 타임이 많아지는 이유가 맞을까요?) CPU가 접근하는 커널 페이지 버퍼의 캐시 히트율 증가정도인데요. 혹시 다른 이유가 더 있는지 궁금합니다. 감사합니다.
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
대표적인 장애 유현 2
안녕하세요 개발자님 수신측 에서 송신측으로 순서 바뀜 및 패킷 유실에 대한 응답을송신측으로 전달 하면, 송신측에서 재전송을 시도 하는데,송신측에서는 수신측으로 데이터를 전송 할때, 재전송 요청에대해 미리 대비해서 수신측으로 전송 되기전의 패킷을TCP Buffer 에 쌓아 놓고, 전송을 하며,정상적인 응답이 와야 TCP Buffer 에서 비우는 작업을 하는 것인가여?TCP Buffer 에 전송전에 데이터를 쌓아 놓는 것은 맞는 걸까여?수신측에 재전송 요청에 대한 데이터 조회는 TCP Buffer 에서 찾는것은 맞는 걸까여?