묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃허브 권한 요청드려요.
인프런 아이디 : wish3111@naver.com인프런 이메일 : wish3111@naver.com깃헙 아이디 : wish31깃헙 아이디 : wish31
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
서버가 안열려요
코드캠프 서버가 안 열려요 실습해야 하는데
-
미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
[ 비동기 상황에서의 Lazy, Strict 기법이 혼합된 평가 ] 에 대한 이해
안녕하세요 11:45초 경의 payment를 평가하는 과정에서 발행하는 과정을 제가 이해한대로 정리해 보았는데 틀린 부분이 있는지 궁금합니다.go() 를 통해 함수들을 연달아 수행하게 한다.그 내부에는 L.range, L.map, L.takeUntil, _.flat이 들어가 있다.L.range, L.map, L.takeUntil은 모두 Lazy 함수이므로, 제너레이터를 생성한다. 즉, next()로 값을 요구하기 전까지는 리턴하는 값이 없다._.flat()은 Lazy 함수가 아닌 일반 함수이다. 따라서 리턴값을 내 놓기 위해 리턴에 해당하는 배열을 모두 채워야 한다.flat이 값을 채우기 위해 takeUntil에 next()를 요청한다.takeUntil은 flat에서 주기 위한 값을 만들기 위해 map 에 next()를 요청함.map도 마찬가지로 range에 next 요청range는 next()를 통해 1을 반환한다.map은 받은 1을 가지고 Impt.getPayments를 실행시키고, 반환되는 promise를 takeUntil에 넘김takeUntil은 받은 프로미스를 해결되면 조건식에 넣어서 판단할 것이라는 새로운 프로미스를 생성하여 리턴값으로 반환함.flat은 takeUntil로 부터 받은 프로미스가 해결되면 그 값을 자신의 결과 배열에 넣을 것이라는 프로미스를 생성하여 반환함.(* 이때 console.log를 찍게되면, 여기서 반환되는 프로미스가 출력되는 것 )잠시후에 프로미스 체인에 연결된 모든 프로미스가 resolve 되고, resolve 된 값은 flat의 결과 배열에 넣어짐. 끝나지 않은 상태이므로 flat은 takeUntil에 또 값을 요청함 ( flat 에서 해결된 프로미스는 (끝나지 않았을 경우) 다시 프로미스를 반환함. 즉, flat이 어떤 조건을 만족해서 더 받아오는 것이 끝나야 비로소 promise가 완전히 resolve 되고, 비로소 res를 리턴할 수 있음 - (* flat~takeAll~take 이므로 FxJS/Strict/take.js 코드 참조 )6~12 번의 반복flat이 takeUntil에 값을 요청했는데, takeUntil이 조건문을 만족하지 못하는 값을 받은적이 있어 false로 마감되었음. 따라서 next()를 해도 반환되지 못하고, 상태는 done임.flat은 더이상 받을 값이 없으므로, 최종 프로미스가 resolve 되고 그 동안 받아서 정리해온 배열을 리턴값으로 반환함
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
db가 이미 존재한다는 오류가 뜹니다
graphql 방식이 아닌 rest로 변경하면서 다시한번 복습중인데 rest의 경우 app.module.ts에서 TypeOrmModule.forRoot({})에서 synchronize: true, 가 되어있을 시 db오류가 나는데 제가 다른 것을 잘못 설정한 것인가요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 풀어도 괜찮을까요?
function solution(target, arr) { let start = 0; let end = arr.legnth-1; let mid = Number.parseInt((start+end)/2); arr.sort((a,b)=>a-b); while(arr[mid]!==target){ if(arr[mid] > target) end = mid-1; else start = mid+1; mid = Number.parseInt((start+end)/2); } return mid+1; } 안녕하세요 강사님 이분검색 문제 풀이 방법에 대해 궁금증이 생겨 질문 남깁니다.문제 설명만 보고 혼자 풀어본건데 혹시 반례가 있을까요..? 이렇게 풀어도 괜찮을까요? 감사합니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
권한 요청드립니다.
인프런 아이디 : tpdud406인프런 이메일 : tpdud406@gmail.com깃헙 아이디 : tpdud406@gmail.com깃헙 Username : tpdud406
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
질문있어요.
setting.jason이 그냥 비어있던데 강사님처럼 똑같이 타이핑 후 3줄을 적어야하나요? 아니면 3줄만 입력하면 되나요?강사님처럼 똑같이 입력해야한다면, 3줄 중 마지막 한줄이 중복되는데 어떻게 하나요?
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.02
질문이 있습니다.
gsap과 관련된 것은 아니지만 수업을 듣다 보니 어떤 차이가 있는지 궁금해서요.수업내용과 노션을 보면 아래처럼 다양하게 사용하시는데 괄호의 유무가 어떤 차이가 있는건가요?const $ = node => document.querySelector(node); const $ = (node) => document.querySelector(node); const $ = (node) => (node = document.querySelector(node));
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청
인프런 아이디 : suzin.jang@samsung.com인프런 이메일 : suzin.jang@samsung.com깃헙 아이디 : susan3722@snu.ac.kr깃헙 Username : suziinee
-
해결됨처음 만난 리액트(React)
훅 실습문제
setCount((count) => count + 1) 여기에서 콜백함수로 집어넣은 매개변수 count는 prevState인거 같은데 이 prevState라는 개념이 실습문제 하기전에 책에서 어디쪽에 나오는 개념인가요?그리고 useCounter 커스텀 훅 내부에 있는 increaseCount 함수와 decreaseCount 함수는 위 사진처럼 연결 되는건가요? 이건 무슨 개념인가요? 구조 분해 할당인가요?구조분해할당은 배열기반과 객체기반으로 나뉘어질텐데 저건 뭔가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
nodejs express에서 type(commonjs,module) 관련 질문
서버작동을 위한 node app.js를 실행할때에 dotenv를 require, import를 하면서 문의점이 발생했습니다. //server.js import { creatApp } from "./app.js"; import database from "./models/database.js"; const startServer = async () => { try { await database; const app = creatApp(); const PORT = process.env.PORT; app.listen(PORT, () => { console.log(`server is listening on ${PORT}👌`); }); } catch (err) { console.log(`Failed server connect❌`); database.destroy(); } }; startServer(); //database.js import { createConnection } from "typeorm"; import dotenv from "dotenv"; dotenv.config(); const database = createConnection({ type: process.env.DB_CONNECTION, host: process.env.DB_HOST, username: process.env.DB_USERNAME, password: process.env.DB_PASSWORD, port: process.env.DB_PORT, database: process.env.DB_DATABASE, }); export default database; 이렇게 진행하면 정상적으로 서버가 정상적으로 작동하지만 database.js에서의 dotenv import 부분을 require방식으로 server.js에 옮겨놓으면 에러가 발생합니다.근본적으로 commonJS(require)방식과 module(import)방식에 대해서 dotenv를 불러올때에 require를 쓰면 server.js에 적용할때는 정상적으로 작동하는데 import를 똑같은상황에서 적용하려면 왜 database.js로 넘어가야하는지 그게 궁금해졌습니다!require와 import를 해올 때 전반적으로는 rquire는 동기적이고 import비동기적인 성질(?)때문이라고 하기에 영향이 있는건지.. 근본적인 이해가 되지 않아서요..ㅠㅜ 도움 부탁드리겠습니다 ㅠㅜ!!!!
-
미해결처음 만난 리액트(React)
chapter_04 시계만들기
시간 부분이 안뜨네요.. Clock.jsximport React from "react"; function Clock(props){ return( <div> <h1>안녕, 리액트!</h1> <h2>현재 시간 : {new Date().toLocaleDateString()}</h2> </div> ); } export default Clock; index.jsimport React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; import Clock from './chapter_04/Clock'; const root = ReactDOM.createRoot(document.getElementById('root')); setInterval(() => { root.render( <React.StrictMode> <Clock /> </React.StrictMode> ); },1000); reportWebVitals();
-
해결됨[JS] Phaser 게임 제작 - 뱀파이어 서바이벌 클론
[참고] 33강 캣닢어택 강화시 버그 관련
재현경로게임 시작레벨 4 도달캣닢 범위 강화몬스터 타격현재결과캣닢 범위는 넓어지나 몬스터에게 데미지가 들어가지 않음. (피격판정 O 데미지 X)기대결과캣닢 범위가 넓어지더라도 몬스터에게 데미지가 들어가야 함.재현빈도Always테스트환경강의자료 최종 레포지토리 강의자료 최종 배포본 상황https://paullabworkspace.notion.site/3-23-d2df6742dd0141d6bcad23902b9c3c20현재 강의 자료에서 공격 이벤트를 추가하기 위해 addAttackEvent()선언 시 아래와 같은 로직으로 캣닢을 m_attackEvents에 담고 있습니다.이후 공격 범위를 증가시키는 로직은 아래와같이 정의되어 있습니다.강의 자료 내에서는 레벨 4에 캣닢 공격의 스케일을 확장합니다. 현상강의 자료 내에서는 레벨 4에 캣닢 공격의 스케일을 확장합니다.이때 catnip이라는 class 구성에는 damage 값이 없어서 문제가 발생합니다. 공격 범위 증가 로직 작동 시 아래의 값이 undefined가 되게 됩니다.scene.m_attackEvents.catnip.damage 캣닢에서의 데미지는 m_damage로 선언되어 있기 때문입니다. 이는 오버레이 등 여러 로직과 엮여있는 컨벤션이므로 건들기 난해합니다.다른 공격 액션 또한 m_damage로 class가 구성되어 있으나, 다른 액션들은 이벤트 등록 시 damage가 있는 객체로 전달해서 큰 문제가 없습니다.결국 damage를 undefined 로 받은 캣닢은 레벨 4 이후 범위를 확장시키면서 데미지가 사라지는 현상이 나타나게 됩니다. 아무리 맞춰도 죽지 않습니다. 뼈를 내어주고 살을 얻습니다.JS인지라 damage가 undefined라고 에러는 나타나지 않지만 버그입니다.첫 강의 소개당시 왕까지 어렵게 가신 가장 큰 이유가 아닐까 싶습니다.해결방법이야 많겠지만 일단 무식하게 damage를 포함한 객체로 전달했습니다.(겸사겸사 동일한 에러를 도출할 것으로 보이는 scale과 repeatGap도 포함합니다.)/attackManager.js이 상태에서는 기존 catnip 자체를 저장하던 때와 비교하여 destroy() 메서드를 사용 할 수 없게 되므로 사이드이펙트 해소를 위해 아래와 같이 수정했습니다.객체에 destroy 함수만 넘길지 고민 많이 되더군요./attackManager.js
-
미해결함수형 프로그래밍과 JavaScript ES6+
안녕하세요 강사님!
fxjs로 프로젝트를 해보려하는데 폴더구조를 어떤식으로 짜고 함수명을 관리해주는게 협업에 도움이 될지 고민이라 질문남깁니다...!!
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
섹션1~12 중에 객체지향 개념이 쓰인 적이 있나요?
간단히라도 알려주시면 감사하겠습니다
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섬나라 아일랜드 문제 (DFS) - 12분 50초 의문
안녕하세요.섬나라 아일랜드 문제 설명 중 12:50 쯤, 브라우저 콘솔에 찍힌 dx,dy 값에 대응되는 좌표를 문제의 보드위에 동그라미 해주셨는데요, 그 순서가 (1,2) 부터 잘못되지 않았나싶어서요.이상입니다. 감사합니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
http://localhost:8080/products적용 시 상품목안뜨는분들 참고하세요
.get("http://localhost:8080/products")로 바꾸고 새로고침하면 상품목록이 안 받아오는데이유가server.js에서 app.use(express.json()); app.use(cors());가 지워졌기 때문이네요.노션에 올라와 있는 코드에 조금 안 맞는 부분이 있어서 카피해서 쓸 경우 제대로 처리하지 못하는거같아요깃헙 소스보니까 아래와 같이 되어 있는걸 보고 알았네요app.use(express.json()); app.use(cors()); app.get("/products", (req, res) => { res.send({ products: [ ..... 결론 깃헙소스와 노션소스가 조금 달라서 전부카피하면 안된다는!깃헙소스가 맞고노션소스가 틀리므로 노션 수정하면 좋겠다는 생각!
-
해결됨비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
카카오맵 API, 윈포윈도우 디폴트값 해제 방법
안녕하세요. 재미있게 수업 수강하고 있습니다.현재 [섹션 5. 카카오맵에 여러개의 맛집 위치를 찍는 방법]을 수강하고 있는데요. 카카오맵에서 인포윈도우를 설정하면 기본으로 div를 생성하고 border에 회색 테두리를 생성하는 것 같습니다. 수업에서 만드는 infowindow 뒤쪽으로, 회색 테두리가 하나 더 보여서요.우리가 만드는 infowindow만 표시되도록 할 수 있는 방법이 있을까요? 카카오에서 생성하는 인포윈도우를 제거하거나, 혹은 해당 css를 제어할 수 있는지 궁금합니다.(저는 테두리가 없이 box-shadow로 표현하려고 시도하고 있습니다.)
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청드립니다.
.
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
context, 최적화 관련 질문
안녕하세요. 강사님완강하고 코드 복습하다가 context 관련해서 헷갈리는 점이 생겨서 질문드립니다.!이전에 간단한 일기장 만들기에서는 state를 핸들링하는 함수들(onCreate, onRemove, onEdit)을 전달하는 DispatchContext에 value Props으로 이 함수들을 넘겨줄 때, useMemo를 사용해서 함수들을 감싼 메모이제이션된 객체를 넘겨줘서state가 바껴서 App 컴포넌트가 재랜더링되어도 최적화가 풀리지 않도록 했던 걸로 기억합니다.이번 감정 일기장에서는 DispatchContext의 value Props로 함수들을 넘겨주실 때 함수를 담은 객체를 메모이져이션하지 않고 넘겨주셨습니다. 1) 이 경우, App에서 data state가 바뀌면 결국 onCreate, onRemove, onEdit 함수가 재생성되고 DispatchContext의 value로 넘겨주는 객체도 재생성되어 Context컴포넌트의 하위 컴포넌트(최적화 안한)도 재랜더링되는게 맞나요?2) 감정일기장에서 이 부분은 최적화 안한 것은 이번에는 그냥 간단하게 진행하시려고 해서 그런건가요?