묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
npm run dev 동작 에러
Failed to parse source map from 'C:\Users\user\Desktop\boilerplate-mern-stack-master\client\node_modules\mutationobserver-shim\dist\mutationobserver.map' file: Error: ENOENT: no such file or directory, open 'C:\Users\user\Desktop\boilerplate-mern-stack-master\client\node_modules\mutationobserver-shim\dist\mutationobserver.map' [1][1] ERROR in ./node_modules/antd/es/version/index.js 2:15-22[1] Should not import the named export 'version' (imported as 'version') from default-exporting module (only default export is available soon)이런 에러가 뜨는데 어떻게 해결하나요...도와주세요
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
npm run dev 동작 에러
ERROR in ./node_modules/antd/es/version/index.js 2:15-22[1] Should not import the named export 'version' (imported as 'version') from default-exporting module (only default export is available soon) 이런 에러가 뜨는데 어떻게 해결하나요...
-
미해결Do it! Node.js 프로그래밍 입문
에러 도와주세요
6:26 기준 똑같이 따라했는데 TypeError: Cannot use 'in' operator to search for 'pluralization' in undefined at Mongoose._model (/Users/leooh/Desktop/doit-node-main/myContacts/node_modules/mongoose/lib/mongoose.js:612:43) at Mongoose.model (/Users/leooh/Desktop/doit-node-main/myContacts/node_modules/mongoose/lib/mongoose.js:581:27) at Object.<anonymous> (/Users/leooh/Desktop/doit-node-main/myContacts/models/contactModel.js:20:26) at Module._compile (node:internal/modules/cjs/loader:1376:14) at Module._extensions..js (node:internal/modules/cjs/loader:1435:10) at Module.load (node:internal/modules/cjs/loader:1207:32) at Module._load (node:internal/modules/cjs/loader:1023:12) at Module.require (node:internal/modules/cjs/loader:1235:19) at require (node:internal/modules/helpers:176:18) at Object.<anonymous> (/Users/leooh/Desktop/doit-node-main/myContacts/controllers/contactController.js:2:17) 오류가 나옵니다 무엇이 문제일까요??
-
미해결Do it! Node.js 프로그래밍 입문
status 작성 이유가 궁금합니다
controller1을 참고하라고 하셔서 혼자 코드를 작성한 후 코드를 봤는데 원래는 없는 status함수가 추가 되어 있습니다 서칭을 해본결과 status(200)은 request가 완료된 것을 알리는 상태 코드라고 하는데 그 목적으로 사용한 것인가요? status 함수 없이 작성해도 상관없던데 추가하신 이유가 궁금합니다!
-
해결됨[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
toLowerCase is not a function 오류
코드를 동일하게 작성했는데 왼쪽과 같은 오류가 발생했습니다. toLoewrCase를 작성하기 전까지는 모두 정상 동작하였습니다.인터넷을 찾아보니 해당 함수가 붙는 변수를 문자열로 변환하면 된다 라는 글이 있기에 console.log, typeof를 통해 todo.content와 search가 문자열이 아닌가?? 하고 보려고 했지만 console.log구문을 어디에 넣어도 오류가 발생하여 확인을 할 수 없었습니다.이 오류에 대한 이유를 알 수 있을까요??
-
해결됨[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
Date Picker로 날짜를 찍으면, 이전 날짜가 나옵니다..
그래서 콘솔에 찍어봤는데, 날짜를 넣으면 애초에 전날 날짜로 입력이 되는 것 같아요.어떻게 해야할까요?ㅜㅜ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
첫 로그인 후 req.user.id 사용이 어텋게 가능한지 궁금합니다.
..// user.js router.post("/login", isNotLoggedIn, (req, res, next) => { passport.authenticate("local", (err, user, info) => { // ... return req.login(user, async (loginErr) => { if (loginErr) { console.error(loginErr); return next(loginErr); } const fullUserWithoutPassword = await User.findOne({ where: { id: req.user.id }, // ... }); return res.status(200).json(fullUserWithoutPassword); }); })(req, res, next); }); // index.jsconst passport = require("passport"); const local = require("./local"); const { User } = require("../models"); module.exports = () => { passport.serializeUser((user, done) => { done(null, user.id); }); passport.deserializeUser(async (id, done) => { console.log(`deserializeUser`) try { const user = await User.findOne({ where: { id } }); done(null, user); // req.user안에 넣어줌 } catch (error) { console.error(error); done(error); } }); local(); };첫 로그인 할 때는serializeUser만 실행되고,그 이후 요청 부터 deserialzeUser가 실행되어req.user에 db 테이블에 user객체가 저장되는 걸로 이해했습니다.첫 로그인 할 때는 deserializeUser가 실행이 안되어서 req.user가 저장이 안된 상태일텐데 어텋게req.user.id로 fullUserWithoutPassword 에 값을 할당할 수 있는지 궁금합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
[도메인 연결하기] 로그인 완료 후에 getServerSideProps 실행되지만,회원정보가 null 이 표시 되는 이유를 몰라서 질문드립니다.
React로 Nodebird sns를 시청하고 나서 개인 프로젝트를 만들고 나서 배포하는 과정에서 막히는 부분이 있어서 질문드립니다. 기존에 localhost:3060 에서 로그인 완료후 메인화면으로 이동시 메인화면 서버사이드 렌더링이 실행됩니다.export const getServerSideProps = wrapper.getServerSideProps(async (context) => { const cookie = context.req ? context.req.headers.cookie : ''; axios.defaults.headers.Cookie = ''; if (context.req && cookie) { axios.defaults.headers.Cookie = cookie; } context.store.dispatch({ type: LOAD_MY_INFO_REQUEST, }) context.store.dispatch(END); await context.store.sagaTask.toPromise(); })그래서,const dispatch = useDispatch(); const { me } = useSelector((state) => state.user); me에 데이터가 들어있습니다. [도메인 연결하기] 영상 시청후Route 53, 가비아 주소, 탄력적 ip 주소를 사용하여 백엔드/ 프론트 서버를 실행하였습니다. 회원가입 후 로그인하고 나서 메인 화면으로 이동되면 쿠키가 저장되는 것을 확인했습니다 하지만로그인 후 메인 화면으로 이동하면, 메인page에 서버사이드 렌더링 코드(getServerSideProps)가 실행하고, export const getServerSideProps = wrapper.getServerSideProps( async (context) => { const cookie = context.req ? context.req.headers.cookie : ""; axios.defaults.headers.Cookie = ""; if (context.req && cookie) { axios.defaults.headers.Cookie = cookie; } context.store.dispatch({ type: LOAD_MY_INFO_REQUEST, }); context.store.dispatch(END); await context.store.sagaTask.toPromise(); } ); const dispatch = useDispatch(); const { me } = useSelector((state) => state.user); 이때 로그인한 사용자의 데이터 정보가 null로 표시됩니다.[back logs]왜 me가 null 인지 ? 무엇이 문제인지 모르겠어서 질문드립니다. 진행 순서[로그인 화면]: 아이디와 비밀번호 를 입력하고 확인 버튼을 누른다. 메인화면에서 서버사이드 렌더링 코드부분 실행하여 회원정보를 불러온다. (LOAD_MY_INFO_REQUEST) export const getServerSideProps = wrapper.getServerSideProps(async (context) => { const cookie = context.req ? context.req.headers.cookie : ''; axios.defaults.headers.Cookie = ''; if (context.req && cookie) { axios.defaults.headers.Cookie = cookie; } context.store.dispatch({ type: LOAD_MY_INFO_REQUEST, }) context.store.dispatch(END); await context.store.sagaTask.toPromise(); }) export default Blog;const dispatch = useDispatch(); const { me } = useSelector((state) => state.user); 3. [메인화면] 회원정보를 불러와 회원정보가 null 이여서 로그아웃 버튼으로 변경되지 않습니다. (me 정보가 null 여서 버튼이 변경되지 않습니다.) 쿠기는 유지되어서 로그인 화면으로 가서 로그인 할시 "로그인하지 않은 사용자만 접근 가능합니다" 안내창이 나옵니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
React나 Vue 사용 시 렌더링 질문
서버 사이드 렌더링은 넌적스나 도그스 보니까 이해가 됩니다.React,Vue를 원래 실무에서 사용한다는 뜻은 혹시 클라이언트 사이드렌더링에 관점에서 말씀하신건지 궁금합니다. 서버사이드렌더링 처럼 데이터를 넣어서 static 파일 전달하는 형태를 말씀하신거라면 방법이 궁금합니다 !
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
localstorage.setItem 위치 질문
수업에서는 '카운트다운 시작' 버튼 눌러서 Starter 함수가 실행되면 로컬 스토리지가 setInterval 함수로 인해 비워지기 때문에, CounterMaker 함수 내에 if문을 작성하여 해결하고 있습니다.저는 이 방법 말고 사진처럼 starter 함수 내부에서 setInterval 함수(clearTimer라고 작성한..) 호출 위치를 조정하여 해결하였는데, 이 방법에 문제가 있을지 궁금합니다!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
404 오류 관련 질문
05-05-dynamic-routing-board-mutation05-05-dynamic-routing-board-mutation-moved 계속해서 대조해보지만 게시글 등록하기를 누르고 moved 페이지로 넘어갈 때 404 오류가 뜹니다. catch에서 잡히지 않는걸로 보아 데이터 전송에서 문제가 있는건 아니지 않을까 싶은데, 아무리 봐도 해결책이 보이지 않아 질문 남깁니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
db 시퀄라이즈 관계 설정 및 백엔드 요청 질문입니다!
안녕하세요 제로초님, 강의 잘듣고잇습니다!!! db시퀄라이즈 관계 설정? 질문좀 드리려고요. 강의듣고 블로그를 만들어보려고 백/프론트 구상하고 있는데요, db table설정?을 어떻게 해야할지 헷갈려서요. 메인 페이지는 전체 post를 카테고리(메뉴)별로 나눠서 보여줍니다.메뉴[ study / TIL / portfolio ]를 클릭하면 해당 categories로 저장한 게시글을 보여줍니다 (노란화살표)포스트 작성할 때는 하나의 categories를 선택합니다. 각 게시글은 하나의 카테고리만 가집니다! 헷갈리는 부분은메뉴탭을 눌러서 study / TIL 로 이동했을 때, 전체 post를 가져오는 게 아니라 해당 categories의 post만 가져오고 싶은데, db를 활용해야 하는건지, 백엔드에서 필터링 과정을 해야 하는건지, 헷갈립니다이때 categories를 관계형 테이블?로 만들어서 해당 카테고리로 post를 가져올 수 있나요????백엔드가 전체 db에서 post를 findAll로 가져와, 카테고리로 필터링해서 프론트로 넘겨줘야 하나요?서버에서 전체 post를 받아서 프론트에서 필터링해서 각 컴포넌트에서 사용해야 하나요?? 흠. 뭔가 여러 방법이 떠오르긴 하는데 아직 시도해보지는 않았고 ㅎㅎㅎ 효율적인 방법이 뭔지 알고싶어요!! 제로초님이라면 어떤 방법을 사용하시나요?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
노드 비동기 동작 질문
0. 대부분 무거운 연산이나 오래걸리는 일들을 비동기로 보내는 것으로 이해했습니다. 그런데 결국 비동기요소들이 Background 대기 후 Task Queue으로 이동 후 Stack이 비었는지 확인 하고 Stack에 이동하여 진행되는 것일 텐데 이것들이 동시에 처리되는 것이라고 볼 수 있나요 ? 아니면 Background에 있는 동안 Promise와 같은 비동기 요소들이 백그라운드에서 동시에 Logic이 처리되고 Queue로 resolve혹은 reject의 값이 Stack으로 넘어가나요 ? 구체적인 동작방식이 궁금합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
도메인 연결 후 게시글 작성..
안녕하세요 도메인 연결 후 로그인과 로그아웃이 잘 되고, 새로고침 시에도 유지가 되는데요~게시글이 작성은 안됩니다 ㅠㅠ 회원가입은 되구요!이 다음 강의 S3를 연결하면 게시글이 작성이 되는게 맞을까요? 아니면 현재 오류가 있는건가여..
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
넌적스로 {% include .html} 시 template not found 오류
안녕하세요, 변수에 할당되는 값에 따라서 html 파일을 다르게 include 하고 싶은데,template not found 오류가 뜹니다. 처음에 변수에 값을 넘기고 app.js에서 렌더링할 때 하기와 같이 설정했습니다. 그 뒤, index.html 에해당 코드를 추가하여 viewAlimtalk에 값이 있다면 test.html을 include할 수 있도록 하였습니다. 그런데 오류는 index 템플릿을 찾을 수 없다고 뜹니다. Error: template not found: index at Object._prettifyError (C:\alimtalk\node_modules\nunjucks\src\lib.js:32:11) at C:\alimtalk\node_modules\nunjucks\src\environment.js:464:19 at eval (eval at compile (C:\alimtalk\nodemodules\nunjucks\src\environment.js:527:18), <anonymous>:22:11) at C:\alimtalk\node_modules\nunjucks\src\environment.js:471:11 at eval (eval at compile (C:\alimtalk\nodemodules\nunjucks\src\environment.js:527:18), <anonymous>:16:11) at createTemplate (C:\alimtalk\node_modules\nunjucks\src\environment.js:238:11) at next (C:\alimtalk\node_modules\nunjucks\src\lib.js:260:7) at handle (C:\alimtalk\node_modules\nunjucks\src\environment.js:267:11) at C:\alimtalk\node_modules\nunjucks\src\environment.js:276:9 at next (C:\alimtalk\node_modules\nunjucks\src\lib.js:258:7) index.html에 {% include "test.html" %} 코드를 지우고 실행하면 해당 오류는 없이 index.html이 잘뜨게됩니다 .. 파일구조는 views index.htmltest.html로 되어있고, 넌적스 configure도 views 파일로 설정하였습니다. 왜이런 오류가 뜨게 되는걸까요?? if 값에 따라 html을 동적으로 삽입할 수 있는 다른 방법이 있을까요? 혹은, 버튼 클릭 시 router 을 통한 render가 아닌 바로 넌적스 변수를 변경할 수 있는 코드를 작성할 수는 없을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
파일명 짓고 구분하기가 어렵습니다
수업 거의 다 듣고 포트폴리오 만드는 중에 질문드립니다. fetchBoards로 게시판을 불러올때 리턴 객체명을 어떻게 해야할지 모르겠습니다. 예를 들어, board[], paging 값이 두개 리턴이 된다고 했을때 dto폴더에 select-board.output.ts 객체 파일을 만들어주면 될까요? 아니면 board[], paging 형태로 내보내는것은 나쁜 방식일까요? 웬만하면 프론트가 아니라 백에서 처리해서 내보내려고 합니다. 이런식으로 폴더 구분이랑 파일 이름 짓기가 모호한 경우가 많은데 여기에 초점을 맞춘다고 시간을 허비하지말고 구분만 잘해놓는게 좋을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
백틱 적용이 안 돼요..
위 화면과 같이 백틱으로 감싸서 사용할 때, 적용이 안 되는데, 서칭을 해보면 Browser 호환 문제라는 말들이 있습니다. 영상에서와 같은 Chrome을 통한 Console창에서 실습 중인데 무엇이 문제일까요?
-
해결됨네이버(치지직)에서 대용량 채팅 TPS 처리를 위한 웹소켓 통신에 대해 알아보고 학습하기
소켓 서버의 수평적 확장 및 무중단 배포에 대해 질문드립니다!
안녕하세요, 소켓 서버의 수평적 확장 및 무중단 배포에 대해 궁금한 점이 있어 질문드립니다. 🙂state를 갖고 있는 소켓 서버의 특징으로 인해 수평적 확장이 쉽지 않을 것 같은데요, 하지만 scale up 자체는 한계가 있기 때문에 강의의 주제처럼 대용량의 소켓 서버를 만드려면 결국 여러 대의 소켓 서버를 활용해야 할 것으로 예상됩니다.그렇다면 실무에서는 어떤 방식으로 소켓 서버를 scale out 하게 되는지 궁금합니다! go 혹은 node 서버 진영에서 사용되는 프레임워크나 방식이 있을까요? 또한, 강의에서 보여주신 소켓 서버 예시는 connection를 메모리에 들고 있기 때문에 서버를 종료하게 될 경우, 기존의 소켓 채널이 모두 닫히게 될 것 같아요! 혹시 소켓 서버의 무중단 배포를 하고 싶다면, 어떤 식으로 작업을 구성하게 되는지도 궁금합니다.감사합니다! 🙏
-
해결됨[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
Prettier 적용 안되는 이슈
강의에서 소개해주신 것 처럼 Format on Save 옵션을 적용하였는데도, 저장 시 자동으로 Formatter가 작동하지 않아 서치해보니,Default Formatter 옵션이 위처럼 없음(null)로 설정이 된 경우에는 Prettier로 적용해주어야 정상동작하더라구요.해당 내용 공유드려요 ㅎ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
학습 로드맵
안녕하세요. 좋은 강의 만들어주셔서 감사합니다.이번에 강의 업데이트가 된 김에 미뤄왔던 공부를 하려고 하는데요.가지고 있는 강의는 이정도가 있고,리액트 훅 정도는 알고 사용할 수 있는 정도인데, 공부 순서를 어떻게 하면 좋을까요? [보유 강의]따라하며 배우는 노드, 리액트 시리즈 - 기본 강의따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기따라하며 배우는 노드, 리액트 시리즈 - 챗봇 사이트 만들기따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기 (리뉴얼)따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기 (리뉴얼)따라하며 배우는 TDD 개발 (리뉴얼)따라하며배우는 도커와 CI환경 (리뉴얼)