묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
gulp src 파일 반영
src 파일 소스 수정하고 gulp 실행 하면 소스파일이 기존껄로 바뀝니다.
-
미해결
Heroku EROFS: read-only file system, mkdir '/client' 오류가 납니다
react와 nodejs를 heroku에 배포할 때 문제가 생겼습니다. push는 성공했지만 해당 페이지에 접속하면 에러가 뜹니다. heroku log --tail을 찍어본 결과 아래와 같은 오류를 확인 할 수 있었습니다. 2022-03-16T12:25:47.734926+00:00 app[web.1]: > node index.js 2022-03-16T12:25:47.734926+00:00 app[web.1]: 2022-03-16T12:25:48.422901+00:00 app[web.1]: us-cdbr-east-05.cleardb.net 2022-03-16T12:25:48.429348+00:00 app[web.1]: /app/node_modules/mkdirp/index.js:91 2022-03-16T12:25:48.429350+00:00 app[web.1]: throw err0; 2022-03-16T12:25:48.429351+00:00 app[web.1]: ^ 2022-03-16T12:25:48.429352+00:00 app[web.1]: 2022-03-16T12:25:48.429353+00:00 app[web.1]: Error: EROFS: read-only file system, mkdir '/client' 2022-03-16T12:25:48.429353+00:00 app[web.1]: at Object.mkdirSync (node:fs:1336:3) 2022-03-16T12:25:48.429354+00:00 app[web.1]: at sync (/app/node_modules/mkdirp/index.js:72:13) 2022-03-16T12:25:48.429354+00:00 app[web.1]: at sync (/app/node_modules/mkdirp/index.js:78:24) 2022-03-16T12:25:48.429355+00:00 app[web.1]: at Function.sync (/app/node_modules/mkdirp/index.js:78:24) 2022-03-16T12:25:48.429356+00:00 app[web.1]: at new DiskStorage (/app/node_modules/multer/storage/disk.js:21:12) 2022-03-16T12:25:48.429376+00:00 app[web.1]: at Function.module.exports [as diskStorage] (/app/node_modules/multer/storage/disk.js:65:10) 2022-03-16T12:25:48.429376+00:00 app[web.1]: at Object.<anonymous> (/app/index.js:57:24) 2022-03-16T12:25:48.429377+00:00 app[web.1]: at Module._compile (node:internal/modules/cjs/loader:1103:14) 2022-03-16T12:25:48.429377+00:00 app[web.1]: at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10) 2022-03-16T12:25:48.429378+00:00 app[web.1]: at Module.load (node:internal/modules/cjs/loader:981:32) { 2022-03-16T12:25:48.429378+00:00 app[web.1]: errno: -30, 2022-03-16T12:25:48.429378+00:00 app[web.1]: syscall: 'mkdir', 2022-03-16T12:25:48.429378+00:00 app[web.1]: code: 'EROFS', 2022-03-16T12:25:48.429379+00:00 app[web.1]: path: '/client' 2022-03-16T12:25:48.429379+00:00 app[web.1]: } 2022-03-16T12:25:48.629426+00:00 heroku[web.1]: Process exited with status 1 2022-03-16T12:25:48.702790+00:00 heroku[web.1]: State changed from starting to crashed 그런데 무엇이 문제인지 모르겠습니다 도움 부탁드립니다.
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
node js 기본 개념 공부를 하고 와야 되는지 여쭈어보고 싶습니다.
안녕하세요 강사님 이번에 할인때문에 강의를 찾아보다가 평소 nest.js에 관심도 있었고 강사님 커리큘럼이 되게 좋으신거 같아서 결제를 했습니다. 그런데 제가 프론트엔드 개발자로 일을 하고 있어서 백엔드 node.js쪽에 대해서는 전혀 모르는데 node.js 기본 공부를 하고 이 수업을 들어야 되나요? 아니면 커리큘럼대로 따라가면 기본적인 node.js 개념을 알려주시는건가요? 이 수업을 듣기전 node js 기본 개념 공부를 하고 와야 되는지 여쭈어보고 싶습니다. (typescript는 현업에서 사용중이라, 개인적으로 공부를 하고 있습니다.)
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
미들웨어 관련 질문입니다.
조현영님 강좌를 보던 중 express와 미들웨어 관련된 강좌를 보고 express를 사용해 서버를 만들던 도중에 막히는 부분이 있어서 질문해봅니다. (단순 에러 해결 질문은 아닙니다.) const axios = require("axios"); const express = require("express"); const path = require("path"); const morgan = require("morgan"); const app = express(); const hostName = "127.0.0.1"; const port = process.env.PORT || 5147; require("./productServer1"); app.use(morgan("dev")); function getInfoWithAxios(key) { if (key === "1") { res.sendFile(path.join(__dirname, "./productOne.html")); } else if (key === "2") { res.sendFile(path.join(__dirname, "./productTwo.html")); } else { res.sendFile(path.join(__dirname, "./productThree.html")); } } app.set("func", getInfoWithAxios()); app.get("/", (req, res) => { res.sendFile(path.join(__dirname, "./expressAPI.html")); }); app.use("/product/:addr", (req, res, next) => { console.log(`you connect on ${req.params.addr}}`); next(); }); app.get("/product", (req, res) => { res.write("<h1>Here is product information</h1>"); res.send(); }); app.get("/product/product1", async (req, res) => { try { const result = await axios.get("http://127.0.0.1:3257"); const productID = String(result.data[0].id); app.get("func"); console.log("Request Type:", req.method); } catch (err) { console.error(err); } }); app.get("/product/product2", async (req, res) => { try { const result = await axios.get("http://127.0.0.1:3257"); const productID = String(result.data[1].id); app.get("func"); console.log("Request Type:", req.method); } catch (err) { console.error(err); } }); app.get("/product/product3", async (req, res) => { try { const result = await axios.get("http://127.0.0.1:3257"); const productID = String(result.data[2].id); app.get("func"); console.log("Request Type:", req.method); } catch (err) { console.error(err); } }); app.use((err, req, res, next) => { console.error(err); res.status(401).send(err.message); }); app.listen(port, () => { console.log(`server is running at http://${hostName}:${port}`); }); 위에 코드를 실행시키면 우선 코드 본문의 내용이 실행됨과 동시에 require()로 productServer1이라는 express를 사용한 상품 데이터 서버가 실행됩니다. (localhost를 사용하고 상품 데이터 서버 포트는 3257)입니다. /product/product(1~3)으로 get메서드를 보내면 같이 실행되는 상품 데이터 서버에서 id값을 받아오고 id값을 getInfoWithAxios(key)함수에 넣어서 html페이지를 id값에 맞게 상품별로 분기하게 됩니다. 이떄 문제는 getInfoWithAxios()함수에 res객체가 없어서 id에 맞게 html페이지를 분기 할 수가 없다는 것입니다. 미들웨어로 처리를 하고 싶지만 방법을 모르겠어서 질문해봅니다. 그리고 app.get() 함수에 있는 각각의 productID를 어떻게 하면 매개변수로 대입 할 수 있는지도 궁금합니다. 요약하자면 함수를 미들웨어로 만들려면 어떻게 작성해야 하고 만든 함수를 접근할때 매개변수는 어떻게 대입할수 있을까요? 조현영님의 이해를 돕기 위해서 전체 프로젝트에 대한 깃 주소를 남겨드리겠습니다. https://github.com/shere1765/node_server/tree/main/small_project 전체 프로젝트에 있는 expressAPI는 문제없이 잘 실행될겁니다. 하지만 제가 원하는 코드는 아닙니다. 그 밖에 문제점이 있다면 피드백 부탁드립니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
비동기 방식에 대해 질문올려봅니다.
안녕하세요. 그랩님 그랩님 강좌를 잘 보고 있는 한 수강생입니다. 다름이아니라 강의 내용과는 별개의 내용이지만 그랩님을 통해 자바스크립트를 배우고 여러가지 배웠기 때문에 그랩님께 질문 남겨봅니다. const getData = async () => { try { const result = await axios.get( "https://b2ef45f8-e166-41d7-bd35-9ad159028fbf.mock.pstmn.io/test" ); const products = result.data.products; console.log(products); console.log(`status:(${result.status}) 통신을 성공했습니다!`); const data = JSON.stringify(products); return data; } catch (err) { console.error(err); console.log("결과를 가져오지 못했습니다."); return err; } }; console.log(getData()); 위에 코드는 프로미스 형식의 axios객체를 async, await을 이용해 then과 catch등을 축약해서 제가 만든 포스트맨 목서버의 데이터를 get메서드로 불러와서 결과값을 확인하는 코드입니다. 실행에는 문제가 전혀 없습니다. 그런데 제가 궁금한 것은 getData 함수 표현식이 async로 감싸져 promise객체를 받아 비동기 처리가 되어서 console.log(getData())가 먼저 실행된 뒤에 getData 함수가 실행된다는것은 알고있습니다. 허나 만약에 비동기 함수에서 리턴값을 받아 출력을 하고 싶을 때는 어떤 처리를 해야 하는지가 궁금합니다. 만약 코드가 실행되면 console.log(getData())가 실행될 때 Promise { <pending> }가 출력이 되었습니다.
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
[강의질문] 안녕하세요 John Ahn님 질문이 하나 있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 John Ahn님 반갑습니다! 혹시 채팅방 어플리케이션에서 라디오 박스를 만들어서 설문조사 할 수 있게 만들 수도 있을까요? 제가 한 번 만들어 보고 싶은데 DB 저장에서 이것 저것 해보다가 MongoDB에도 적용해보고, MySQL에도 적용을 해보고 여러 가지를 시도를 해보았는데 제가 끝맺음이 제대로 안되어서 제대로 마치고 싶습니다ㅎㅎ.. 라디오 박스를 해서 설문조사 처럼 만들어보고 싶은데 배울 수 있을만한 John Ahn님 강의가 있을까요? 감사합니다!!
-
미해결
ts(1005) 에러가 발생합니다
(사진)
-
미해결
npm i error
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.ㅣ이러한 에러가 뜨는데 해결법좀 부탁드립니다..
-
미해결
nodemon관련 에러 npm run start가 안되요 sql연동이 안되는 것 같습니다. m1 맥북
\안녕하세요. 제가 윈도우 환경에서는 모두 완벽히 설치하여 잘 사용하였는데 맥북 m1으로 컴퓨터를 바꾸고 다시 해보려하니까 새롭게 설치도 다시하고 했는데 안되네요,,, 이유를 잘 모르겠어서 질문 남깁니다... 정말 맥북사고 쓰지도 못하고 골치가 아파요.. 한번만 도와주세요 뭐가 문제 일까요?? 이후 다시 새롭게 만들어 해봤더니 sql이 연동이 되지 않고 있는 것 같습니다. sql연동 전에는 npm run start가 되네요
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
스프링클라우드를 이용하여 node.js와도 연동이 가능할까요?
강사님 강의 너무 잘 듣고 있습니다. 강의 들으면서 궁금했던게 하나의 프레임워크로만 운영을 하지 않고 다양한 프레임워크를 섞어서 운영하고 싶은데, 스프링클라우드가 이러한 서비스의 매개체 역할을 할 수 있나요? 아니면 또 다른 서비스를 사용해야 할까요? 만일 할 수 있다면 어떤식으로 해야하는지 간단한 설명이나 키워드좀 부탁드립니다. 예를 들면 node.js < > 스프링클라우드 <> 스프링 이런식으로 구현이 가능할까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
선생님 혹시 수업때 사용하시는 ppt 어디서 볼수있을까요..? 수업때 참고하신 사이트들 찾아보려고 합니다.
선생님 혹시 수업때 사용하시는 ppt 어디서 볼수있을까요..? 수업때 참고하신 사이트들 찾아보려고 합니다. 그리고 혹시 수업중에 npm 사이트 말고 react training , react-create-app 등등 document 찾아가시면서 소스를 가져오는 부분을 보고 제가 개발 하면서 직접 찾아서 가져오지 못할 것같아서 그런데... 저렇게 찾을 수 있는 부분은 어떻게 연습해야 할까용..? 그리고 node.js랑 react개발할때는 보통 npm 사이트랑 react 공식홈페이지 api 문서 말고 또 참고해야할 사이트가 있을까요 ? 항상 좋은 수업 정말 감사 드립니다. 다음수업은 선생님 업로드 하신 쇼핑몰 react+node랑 도커쪽 수업 들을려고합니다. 감사합니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
config 파일
간단한 질문하나 드립니다. config 파일이 생성이 안되어있어 직접 만들었습니다. 문제 소지가 되나요? 선생님과 같은 파일 그림은 없이 그냥 폴더로 직접 만들었습니다...
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
id 값 문제인데 해결을 못하겠습니다.
local host 로 들어가서 축구공위에 마우스를 올리면 아래 products/0 으로 나옵니다.. 물론 클린하면 아무데이터도 나오지 않고 2번쨰 그림을 클릭하면 1번째 상세 정보가 표출됩니다. db값은 id:1 2 3 으로 되어 있으나, localhost 상에는 0, 1, 2 로 표기되있는듯 합니다. 왜 값을 일치 시키지 못하는지 강의를 다시 보면서 문제를 찾아봐도 잘 해결이 되지 않습니다. ㅠ 아직 이해가 많이 부족한듯 합니다. 설명 부탁드립니다. <Switch> <Route exact={true} path={"/"}> <MainPageComponent/> </Route> <Route exact={true} path="/products/:id"> <ProductPage/> </Route> <Route exact={true} path="/upload"> <UploadPage/> </Route> </Switch> app.get("/products/:id", (req,res)=>{ const params = req.params; const {id} = params; models.Product.findOne({ where : { id:id, }, }).then((result)=>{ console.log("PRODUCT : ", result); res.send({ product : result }); }).catch((error)=>{ console.error(error); res.send("상품 조회에 에러가 발생했습니다."); }); }); 그리고... 해당 강의 전의 SQLite 데이터 순서와 현재강의의 데이터 순서가 선생님은 바뀌었는데... 저는 그렇지 않습니다.. ㅠㅠ 이것까지만의 드립니다. app.get("/products", (req, res) => { models.Product.findAll({ order: [["createdAt", "DESC"]], attributes:[ 'id', 'name', 'price', 'createdAt','seller','imageUrl' ], }) .then((result)=>{ console.log("PRODUCTS : ", result); res.send({ products : result }); }).catch((error)=>{ console.error(error); res.send("에러 발생"); }) });
-
미해결iOS/Android 앱 개발을 위한 실전 React Native - Basic
node.js 설치 오류
clang: error: no such file or directory: 'CXX=c++' make[1]: *** [/Users/yijungshik/.nvm/.cache/src/node-v10.15.1/files/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/bio_ssl.o] Error 1 make[1]: *** Waiting for unfinished jobs.... rm 6d716e15b52d9be158bdf428df46b5305ec6e194.intermediate make: *** [node] Error 2 nvm: install v10.15.1 failed! yijungshik@ijeongsig-ui-MacBookPro ~ % node -v zsh: command not found: node yijungshik@ijeongsig-ui-MacBookPro ~ % arch -x86_64 zsh yijungshik@ijeongsig-ui-MacBookPro ~ % nvm install 10.15.1 zsh: command not found: nvm yijungshik@ijeongsig-ui-MacBookPro ~ % nvm install 10.15.1 zsh: command not found: nvm yijungshik@ijeongsig-ui-MacBookPro ~ % nvm install 10.15.1 zsh: command not found: nvm 위와같이 에러나 나오고나서 다른 글을 보니 현재 M1에서는 arch -x86_64 zsh 를 입력한후에 다시 인스톨을 하면 된다고하는데 인스톨 명령어를 넣고 나면 zsh: command not found: nvm 과 같은 메시지가 나옵니다. M1에서는 어떻게 설치를 해야 할까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
npm run start 실행시 ReferenceError: User is not defined
npm run start 실행시 ReferenceError: User is not defined라고 에러가 뜨고 포스트맨에서 send시 표기가 안됩니다.라고 에러가 뜨고 포스트맨에서 send시 표기가 안됩니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
npm run start 실행시 ReferenceError: User is not defined
npm run start 실행시 ReferenceError: User is not defined라고 에러가 뜨고 포스트맨에서 send시 표기가 안됩니다.
-
미해결Node.js에 TypeScript 적용하기(feat. NodeBird)
타입스크립트 에러
models/user.ts 에서 User class 를 default export 하고 불러와서 타입에 할당했는데 다음과 같은 에러가 나타납니다. 혹시 이런에러가 나타났을때 해결을 어떻게해야할까요? (alias) class Userimport User No overload matches this call.Overload 1 of 2, '(fn: (user: User, done: (err: any, id?: unknown) => void) => void): void', gave the following error.Argument of type '(user: import("/home/ywoosang/\uBC14\uD0D5\uD654\uBA74/projects/service/models/user").default, done: (err: any, id?: unknown) => void) => void' is not assignable to parameter of type '(user: Express.User, done: (err: any, id?: unknown) => void) => void'.Types of parameters 'user' and 'user' are incompatible.Type 'User' is missing the following properties from type 'User': id, nickname, email, password, and 34 more.Overload 2 of 2, '(fn: (req: IncomingMessage, user: User, done: (err: any, id?: unknown) => void) => void): void', gave the following error.Argument of type '(user: User, done: (err: any, id?: unknown) => void) => void' is not assignable to parameter of type '(req: IncomingMessage, user: User, done: (err: any, id?: unknown) => void) => void'.Types of parameters 'user' and 'req' are incompatible.Type 'IncomingMessage' is missing the following properties from type 'User': id, nickname, email, password, and 33 more.ts(2769)
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
파일 업로드시 서버 재시작
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 안녕하세요 강의코드를 응용해서 폴더를 받아 폴더안 파일들을 하나씩 axios 로 보내주고 있습니다 다른 파일들은 정상적으로 보내지는데 , config.json, tsconfig.json 파일을 전송할때 서버가 재시작되어 네트워크 오류가 발생됩니다. 업로드는 multer 를 이용하는데, 서버가 재시작되었다는건 스트림으로 config.json 파일을 읽어서 그런것인가요? 이경우 업로드를 하려면 어떻게 해야하나요? (업로드방지 기능을 만들어서 업로드못하게 막는게 맞을까요?) (tsnode 이용해서 node.js + typescript 로 구축했습니다)
-
미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
global객체 공유 질문드립니다.
강의 보고 잠깐 혼동했던 개념이 1.global 객체는 전역으로 공유 된다 2.a.js에서 global.abc = "abc" 라고 하고 b.js에서 console.log(global.abc)라고 했을 때, "abc"가 찍힌다.로 이해했는데 실험을 해보니 undifinded가 뜹니다. ---- 조금더 실험을 해봤는데 아래의 결론이 맞을까요? b.js에 // const a = require("./a");를추가하니까 console.log(global.abc)가 출력됩니다. 제가 이해한 현 상태는 아래와 같습니다. require (해당파일) 해야만 동일한 글로벌 객체를 공유하게 되는건가요?? 강좌에서는 전역 객체이기 때문에 파일 간 global이 공유된다고 하셔서요..