묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
강의를 보며 작업한 코드를 개인 깃허브에 올려도 되나요?
강의를 보며 작업한 코드(실습코드, 일기장 등)를 깃허브 공개 레포에 올려도 되나요?
-
미해결처음 만난 리액트(React)
(실습) Context를 사용하여 테마 변경 기능 만들기 에서 테마 변경이 안 돼요.
테마 변경 버튼을 눌러도 테마 색 변경이 안 됩니다. 이전에 카드 만들기 실습에서도 색이 안 나오는 걸 보면 제 습관적인 실수인데... 제 실수를 못 찾겠습니다...
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
혹시 테스트 결제 잘 되나요??
여러 방면으로 시도 중인데,error_code: "NOT_READY"error_msg: "등록된 사용자가 아니거나, 아임포트 관리자 페이지에 설정된 PG정보가 없습니다."해당 에러가 뜨면서 계속 실패하네요;;혹시 하신 분들은 어떻게 성공하셨는지 궁금합니다.일단 제가 예상한 것으로는 강의 화면이랑 제 구 관리자콘솔의 시스템 관리 탭이 다른 점에 눈이 가는데, 이걸 어떻게 처리해야되는지 어디를 찾아봐도 안나오네요...강의에서는 여러 탭이 있는데 저는 두 개의 탭 밖에 보이지 않습니다. 해결 방법을 찾고 싶어도 어디서 찾아야 되는 지 감이 안잡히네요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
포스트맨 실습 진행 시 undefined 오류
같은 코드를 이용해 포스트맨 호출 시, 다음 에러가 발생합니다.TypeError: Cannot read property 'moneyService' of undefined at buyProduct (file:///home/xxx/%EB%B0%94%ED%83%95%ED%99%94%EB%A9%B4/codecamp-backend-online/class/12/12-01-express-with-DI-IoC/mvc/controllers/product.controller.js:11:31) at Layer.handle [as handle_request] (/home/xxx/바탕화면/codecamp-backend-online/node_modules/express/router/layer.js:95:5) at next (/home/xxx/바탕화면/codecamp-backend-online/node_modules/express/lib/router/route.js:144:13) at Route.dispatch (/home/xxx/바탕화면/codecamp-backend-online/node_modules/express/lib/router/route.j4:3) at Layer.handle [as handle_request] (/home/xxx/바탕화면/codecamp-backend-online/node_modules/express/router/layer.js:95:5) at /home/xxx/바탕화면/codecamp-backend-online/node_modules/express/lib/router/index.js:284:15 at Function.process_params (/home/xxx/바탕화면/codecamp-backend-online/node_modules/express/lib/routedex.js:346:12) at next (/home/xxx/바탕화면/codecamp-backend-online/node_modules/express/lib/router/index.js:280:10) at jsonParser (/home/xxx/바탕화면/codecamp-backend-online/node_modules/body-parser/lib/types/json.js:7) at Layer.handle [as handle_request] (/home/xxx/바탕화면/codecamp-backend-online/node_modules/express/router/layer.js:95:5)이 때, app.post 미들웨어 함수 부분에 bind()로 엮어주어야만 정상 작동하는데 이유가 무엇일까요?코드는 아래 첨부합니다.import express from "express"; import {ProductController} from "./mvc/controllers/product.controller.js"; import {CouponController} from "./mvc/controllers/coupon.controller.js"; import {CashService} from "./mvc/controllers/services/cash.service.js"; import {ProductService} from "./mvc/controllers/services/product.service.js"; import {PointService} from "./mvc/controllers/services/point.service.js"; const app = express(); app.use(express.json()); const cashService = new CashService(); const productService = new ProductService(); const pointService = new PointService(); // 상품 API const productController = new ProductController(cashService, productService); app.post("/products/buy", productController.buyProduct) app.post("/products/refund", productController.refundProduct) // 쿠폰 구매하기 const couponController = new CouponController(pointService); app.post("/coupons/buy", couponController.buyCoupon); app.listen(3000, () => { console.log("3000번 포트에서 연결 중..."); })index.jsexport class ProductController { constructor(moneyService, productService) { // DI (IoC) this.moneyService = moneyService; this.productService = productService; } buyProduct(req, res){ // 지불 금액 검증 const hasMoney = this.moneyService.checkValue(); // 재고 검증 (재고 있으면 구매) const isSoldOut = this.productService.checkSoldOut(); // 상품 구매 코드 if (hasMoney && !isSoldOut) { res.send("상품 구매 완료"); } } refundProduct(req, res){ // 재고 검증 (재고 없으면 환불) (구매 코드와 중복) const isSoldOut = this.productService.checkSoldOut(); // 환불 코드 if (isSoldOut) res.send("환불 완료"); } }ProuductControllerexport class CouponController{ constructor(moneyService) { this.moneyService = moneyService; } buyCoupon(req, res){ const hasMoney = this.moneyService.checkValue(); // 쿠폰 구매 코드 if (hasMoney){ res.send("쿠폰 구매 완료"); } } }CouponControllerexport class ProductService{ checkSoldOut(){ console.log("판매 완료 검증."); // 재고 검증 } }ProductServiceexport class PointService{ checkValue(){ console.log("포인트 검증."); // 지불 금액 검증 } }PointServiceexport class CashService{ checkValue(){ console.log("현금 검증.") // 지불 금액 검증 } }CashService
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청 드려요
인프런 아이디 : ehana0210인프런 이메일 : ehana0210@gmail.com깃헙 아이디 : ehana0210.dev@gmail.com깃헙 Username : ehana0210-dev
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
npm i 및 npm install 등 npm 관련 명령어를 실행할 때마다 에러가 뜹니다
강의 그대로 진행해서 노드 버전까지 다운그레이드하여 node -v 했을 때 v10.16.3으로 잘 만들어놓았는데,npm i에서 오류가 났네요..이 질문 게시판에서 package.json 파일에 "type":"module", 도 작성했는데 여전히 에러가 납니다. 어떻게 해결해야 할까요
-
미해결자바스크립트로 알아보는 함수형 프로그래밍 (ES5)
거르기 함수 중 compact 질문드립니다.
compact 함수를 선언하면 TypeError: _compact is not a function라고 나오는데 이유를 알 수 있으ㅡㄹ까요? const compact = filter(_identity)console.log( _compact([1, 2, 0, false, null, {}]));// 2. compact
-
해결됨[코드캠프] 훈훈한 Javascript
setInterval 질문입니다.
안녕하세요. setInterval강의에서 setInterval(counerMaker, 1000)을 하면 1초 뒤에 실행이 되기 때문에 0일 0시간 0분 0초가 1초 실행되고 그다음에 제대로 실행이 되는데,이것을 고치기 위해서 counterMaker함수를 자체적으로 한번 실행한다.. 하셨는데 왜 자체적으로 한번 실행해야 고쳐지는지 설명해주실 수 있을까요?
-
해결됨[코드캠프] 시작은 프리캠프
싸이월드 2탄 코드가 없는 것 같습니다.
안녕하세요.싸이월드 2탄 코드가 없는 것 같습니다. 2탄이 1탄 코드와 동일한 것 같네요.강사님, 설명해주신 <div class="wrapper__right"> 관련된 코드가 전부 없네요.노션 페이지 업데이트 부탁드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Connection 부분 질문
따라하고있는데 Connection부분이 저렇게 줄이 찍 가져있고 사용되지않음으로 표시된다고 뜹니다. import부분도 그렇구요. 무엇때문에 이럴까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드리뷰 부탁드리겠습니다.
function solution(str, list) { let mustWord = str.split(''); // c, b, a let fullWord = list.split(''); while (fullWord.length !== 0) { if (mustWord[mustWord.length-1] === fullWord[fullWord.length-1]) { mustWord.pop(); fullWord.pop(); } else { fullWord.pop(); } } return mustWord.length !== 0 ? "NO" : "YES";
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
상태변화 이후 렌더링에 대해서
안녕하세요 🙋♂️-State, 9분 32초즈음State가 변화할 때 마다 그 컴포넌트가 계속 호출되어 새로운 요소(혹은 DOM)를 반환하는 것은 알겠습니다.그러나, 함수가 호출되어, return을 꾸준히 해준다 하더라도,App.js에서, import를 한번만 한다면, 변화 내용은 업데이트 되지 않을 것입니다. 또, index.js에서 변화한 App.js를 다시 import를 해야겠죠즉 State의 변화에 따라서 import도 계속해줘야 업데이트가 반영될 것입니다.우리는 import를 꾸준히 동작하도록 코드를 작성한 적이 없는데 불구하고, 업데이트가 반영되고 있습니다.어떻게 이것이 가능한 건지 궁금합니다.
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
git 내부에서 secret.js 삽입 후 node index.js 에러
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 현상은 다음과 같이 나오고 있습니다. secret.js에는 다음과 같이 잘 들어가있습니다. 저의 git에도 database라는 js파일이 존재합니다.왜그럴까요! 에러메세지 첨부합니다.root@ip-172-31-85-206:/home/ubuntu/FoodMap/back# node index.js internal/modules/cjs/loader.js:818 throw err; ^ Error: Cannot find module '../../back/config/database' Require stack: - /home/ubuntu/FoodMap/back/src/controllers/indexController.js - /home/ubuntu/FoodMap/back/src/routes/indexRoute.js - /home/ubuntu/FoodMap/back/config/express.js - /home/ubuntu/FoodMap/back/index.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15) at Function.Module._load (internal/modules/cjs/loader.js:667:27) at Module.require (internal/modules/cjs/loader.js:887:19) at require (internal/modules/cjs/helpers.js:74:18) at Object.<anonymous> (/home/ubuntu/FoodMap/back/src/controllers/indexController.js:1:18) at Module._compile (internal/modules/cjs/loader.js:999:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Module.require (internal/modules/cjs/loader.js:887:19) { code: 'MODULE_NOT_FOUND', requireStack: [ '/home/ubuntu/FoodMap/back/src/controllers/indexController.js', '/home/ubuntu/FoodMap/back/src/routes/indexRoute.js', '/home/ubuntu/FoodMap/back/config/express.js', '/home/ubuntu/FoodMap/back/index.js' ] }
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
FETCH_LIST 함수가 프로미스를 반환하고 있는 이유가 뭔가요?
저는 강사님과는 다르게 return문을 fetchList 앞에 안 붙였는데도 스피너가 동작하길래 한번 콘솔을 찍어봤는데actions의 FETCH_LIST({commit}, pageName){ // api - index.js fetchList(pageName) // mutation "SET_LIST" .then(({ data }) => { console.log(4) commit("SET_LIST", data) }) .catch(console.log) },이 함수는 return문이 생략되어 있으니 undefined를 반환할 거라 예상했습니다ListMixin.jscreated(){ bus.$emit('start:spinner') // 'start:spinner' 이벤트 보낸다 App.vue로 setTimeout(()=>{ console.log(this.$store.dispatch('FETCH_LIST', this.$route.name)) this.$store.dispatch('FETCH_LIST', this.$route.name) .then((res)=>{ console.log(5) console.log(res) console.log('fetched') bus.$emit('end:spinner') // 데이터 불러오고 나면 end:spinner }) // actions의 FETCH_NEWS의 return response를 받음 .catch(console.log) },3000) },근데 여기서 확인해보니 this.$store.dispatch('FETCH_LIST', this.$route.name)이 promise 객체던데 왜 그런건가요?
-
미해결Node.Js 활용하기
최신 mysql 에 node.js 가 연결되지 않는 문제 해결 방법(session 9 - session store-mysql)
"mysql -u root -p"해서 mysql을 들어가고, 다음과 같은 명령어를 실행해봅니다.ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '0000'그리고 app_session_mysql.js를 다시 실행하면 session table이 만들어진 것을 확인할 수 있습니다."왜 최신 mysql에서 저렇게 해야 sessions table이 자동으로 만들어 지는가?"는 인터넷에 찾아보면 나와있습니다!
-
미해결함수형 프로그래밍과 JavaScript ES6+
return 있고 없고 차이 질문드립니다...!
const reduce = curry((f, acc, iter) => { if (!iter) { iter = acc[Symbol.iterator](); acc = iter.next().value; } else { iter = iter[Symbol.iterator](); } return (function recur(acc) { let cur; while (!(cur = iter.next()).done) { const a = cur.value; acc = f(acc, a); if (acc instanceof Promise) acc.then(recur); } return acc; })(acc); }); const go = (...args) => reduce((a, f) => f(a), args); go( 1, (n) => Promise.resolve(n + 10), (n) => n + 100, log );위와 같이 acc.then을 리턴하지 않는 경우 log에 값이 깨져 보여서 설연휴 동안 계속 왜이런지 고민해서 내린 답인데 글이 길지만 한번 제가 내린답이 맞는지 틀렸다면 어디부분이 잘못됐는지 확인좀 부탁드립니다...! 길어서 댓글로 남기겠습니다.
-
미해결애플 웹사이트 인터랙션 클론!
pageYOffset || scrollY
안녕하세요-!선생님께서 pageYOffset을 사용하셨는데, 그 이유가 IE에서도 호환되기하기 위함이 맞을까요?IE를 고려하지 않는다면 scrollY를 사용하는게 맞는지 궁금합니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
GITHUB 권한 요청 드립니다.
GIST에서 권한신청했는데 404 에러로 접근이 안되네요확인부탁드립니다.인프런 아이디 : jb.hwang인프런 이메일 : jb.hwang@htpchem.com깃헙 아이디 : jb.hwang@htpchem.com깃헙 Username : hwang802
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
상품업로드 화면 구현 시 이미지 업로드 시점 관련
안녕하세요. 수업 잘 듣고 있습니다!수업관련 질문은 아니지만 일반적인 구현방법도 이런가해서 문의 남겨봅니다^^이미지 업로드 화면에서업로드 할 사진을 선택하면 서버측으로 먼저 이미지를 전송하는 방식으로 구현하셨는데 이미지 선택 시에는 로컬(클라이언트PC)의 이미지로 보여주고 [상품 등록하기] 버튼을 눌렀을 때 서버로 업로드 하면서 DB에 등록하는 것이 어떨까해서요.이미지를 계속 변경하면 서버에 업로드가 되는 듯 하여...문의한번 해봅니다^^ 다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요.2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다!3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요!
-
미해결처음 배우는 리액트 네이티브
styled-components 에러
스타일드 컴포넌트를 설치했는데 이렇게 에러가 뜨는데 어떤 에러일까요?깃 주소 : https://github.com/jjunseokk/react-native