묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결함수형 프로그래밍과 JavaScript ES6+
reduce에 L.range를 사용할 때
안녕하세요.섹션6 - range와 느긋한 L.range 마지막 부분에서 range같은 경우엔 만든 어레이를 다시 이터레이터로 만들고 순회하는데, L.range는 실행됐을때 만들어진 이터레이터 (자기자신)이 있으므로 이터레이터를 만드는 과정을 생략한다고 하셨는데요.reduce 코드의 어떤 부분이 생략되는 건가요?
-
미해결처음 만난 리액트(React)
unmount 질문있습니다.
5:36 부분에setState 를 활용해서 notifications에 들어있던 내용을 지워야만 unmount가 되던데왜 그런건가요??render() 부분에서 더 이상 출력?할 만한 내용이 없다고 판단해서 unmount가 되는건가요?
-
해결됨웹 프론트엔드를 위한 자바스크립트 첫걸음
setBookmarkItem 함수 내 deleteBookmarkItem 함수 선언 방식에 대하여
효빈님, 안녕하세요. 강의를 들으면서 궁금한 점이 있어서 질문 드립니다.북마크 아이템 추가하기 강의에서 setBookmarkItem 함수 내에서 deleteBookmarkItem 함수를 선언할 때 애로우펑션을 사용하는 이유가 있을까요? 그냥 함수를 호출하면 안되는건지 궁금해서요..애로우펑션을 사용했을 때의 이점이 어떤건지 간략하게나마 알 수 있을까요? // 예제 코드 bookmarkDelBtn.addEventListener("click",()=>{ deleteBookmarkItem(item.createAt); }); // 궁금한 코드 bookmarkDelBtn.addEventListener("click", deleteBookmarkItem(item.createAt));
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
비동기를 동기로 처리하는 이유
비동기 함수를 왜 굳이 동기처럼 실행시키기 위해 await을 사용하는 건가요?처음부터 함수를 만들때 동기로 만들면 되는거 아닌가요?동기, 비동기가 잘이해가 안가네요..
-
미해결애플 웹사이트 인터랙션 클론!
scrollLoop 함수 질문
const scrollLoop = () => { prevScroll = 0; // 스크롤값이 다시 0으로 시작하게 for (let i = 0; i < current; i++) { prevScroll += sceneInfo[i].scrollHeight; } console.log('prev', prevScroll) if (currentScroll > prevScroll + sceneInfo[current].scrollHeight) { current++; alert() } console.log('next', prevScroll) if (currentScroll < prevScroll) { current--; } };선생님 여기서 prevScroll에 for문으로 돌때 sceneInfo[i].scrollHeight; 여기서 이미 값을 더해줄텐데 왜 if (currentScroll > prevScroll) { current++; alert() }조건문에 저렇게 하면 작동이 안돼나요 제가 이해를 잘못하고 있는지 ...
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 풀어봤는데, 시간 복잡도가 많이 증가하는 코드 일까요?
(사진)
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
각 세션을 시작하기 위한 소스코드
안녕하세요.강의를 통해 많은 도움 받고 있습니다.일하면서 배우는 중이라 필요한 내용들을 그때마다 찾아서 공부하고 있습니다. 그런데 강의 특성상 각 단계를 차례대로 따라가지 않으면 새로운 세션을 공부하기 위한 베이스 코드가 없기 때문에 어려움을 겪고 있습니다. 혹시 version2의 각 세션을 시작하기 위한 베이스 코드를 제공해주시기는 어려울까요?감사합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다!!
안녕하세요 선생님!강의를 듣기 전에 혼자 풀어보았습니다.이중 for문으로 풀어서 시간복잡도 상으로는 좋지 않을 것 같은데 이것도 괜찮은 코드일까요? function solution(k, arr) { let answer = 0; let sum = 0; let check = 0; for (let i = 0; i < arr.length - 2; i++) { for (let j = 0; j < k; j++) { sum += arr[i + j]; check += 1; } answer = Math.max(answer, sum); sum = 0; check = 0; } return answer; } let a = [12, 15, 11, 20, 25, 10, 20, 19, 13, 15]; console.log(solution(3, a));
-
미해결WEB2 - JavaScript
자바스크립트 세미콜론.
안녕하세요 선생님.자바스크립트 상에서 세미콜론의 경우 모든 문장이 끝나는 경우에 작성해야하나요? 아니라면 어떤 경우에 작성하는건가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
섹션29 10-08 강의 숙제 해설 질문
안녕하세요.섹션29 10-08 강의 약 5:30 부분에서 타입스크립트 에러에 관한 숙제를 내주셨는데요. 해당 숙제와 관련된 해설 및 코드가 있는지 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
섹션22 서버개념에 대한 질문입니다.
안녕하세요? 강의 잘 듣고 있습니다.서버관련해서 몇가지 헷갈리는 개념이 있어서 질문드립니다. 서버가 백엔드만 지칭하는 용어인 줄 알았는데 프론트나 DB에도 서버개념이 있다는 것이 신기했습니다. 단순히 데이터를 제공하는 입장이면 전부 서버라는 용어를 사용해도 되는 것인가요?브라우저와 클라이언트를 같은 개념으로 생각해도 되는지요? 더 나아가 프론트까지? (저는 백엔드 개발을 공부하고 있어서 백엔드입장에서는 브라우저, 클라이언트, 프론트가 전부 같은 포지션으로 생각됩니다.)백엔드서버가 브라우저의 접속도 기다린다고 하셨는데 백엔드서버는 프론트엔드서버하고만 통신하는 것이 아닌가요?예를들어 브라우저(클라이언트?)에서 회원가입창을 클릭하고 프론트서버에서 화면을 보여줍니다.그리고 휴대폰인증번호를 입력한다고 하면, 프론트서버가 그 번호을 받아 백엔드서버로 넘겨줘서 백엔드에서 검증뒤 프론트로 보내주고, 프론트는 인증결과를 브라우저에 표시해줍니다.보통 이런 경우 백엔드는 브라우저가 아니라 프론트하고 교류를 하는 것이 아닌가 생각합니다. 근본적으로 궁금한 것은 클라이언트가 브라우저에서 이런 저런 작업(클릭, 입력)을 했을 때 브라우저, 프론트, 백엔드, DB에서 서로 어떻게 통신을 하는지 내부에서 어떤 작업들이 일어나는지등의 큰 흐름을 알고 싶은데 이건 지금 질문하기보단 강의를 끝까지 들어봐야될것 같네요 ^^;;
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션1-8 일곱난쟁이 문제 질문
안녕하세요. 강의 코드와 결과가 이해가 되지 않아 질문드립니다. for (let i = 0; i < 8; i++) { for (let j = i + 1; j < 9; j++) { if (sum - (arr[i] + arr[j]) === 100) { arr.splice(j, 1); arr.splice(i, 1); } } }중첩 for문 중에서 내부에서 조건문을 사용해서 참일 경우 배열에 splice를 통해 요소를 제거를 해주는 코드에서 의문이 생겼습니다.중첩 for문이기 때문에 외부 for문에서 i=0 으로 시작하여 내부 for문으로 이동j=i+1 이므로 배열의 0번째 인덱스 요소를 기준으로 1번째 인덱스 요소부터 j<9 요소까지 탐색탐색 중 if (sum - (arr[i] + arr[j]) === 100) 조건에 참인 요소가 있다면 splice 메서드를 통해 제거, j<9 요소까지 탐색을 마쳤다면 내부 for문 종료다시 외부 for문으로 이동하여 i=1 로 증감 후 다시 내부 for문 실행..저는 이와 같은 절차를 가진다고 생각하는데요, 3번 절차에서 조건에 참인 요소가 있다면 splice 메서드를 통해 제거가 되므로 21과 19가 제거 되는것은 이해가 되는데 왜 15와 25까지 함께 제거가 되는지 의문입니다! 21과 19가 제거된 상태라면 (sum - (arr[i] + arr[j]) === 100) 조건에 참일 수가 없을 거 같아서요.결론은 중첩 for문인데 21과 19 그리고 15와 25까지 함께 제거가 되는지 의문입니다!감사합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
해당 풀이의 런타임 질문드립니다
안녕하세요.해당 문제와 유사한 문제를 찾아서 복습을 하고 있었는데, 런타임 에러라고 뜨는데요, 무엇이 문제인지 확인 부탁드려도 될런지요.인프런은 아니고 해당 문제와 유사한 문제를 찾아풀고 있던 타사이트라고, 송구스러운데요.참고로 제 브이에스코드를 이용했을 땐 콘솔에 답이 출렵됩니다. 다만 해당 사이트에서 풀때는 런타임에러라고 합니다.강사님 풀이와 동일하게 풀었는데, 제가 무엇을 놓쳤는지 궁금해서 문의드려봅니다.https://leetcode.com/problems/merge-two-sorted-lists/description/ var mergeTwoLists = function(list1, list2) { let answer = []; let n = list1.length; let m = list2.length; let p1 = (p2 = 0); while (p1 < n && p2 < m) { if (list1[p1] <= list2[p2]) answer.push(list1[p1++]); else answer.push(list2[p2++]); } while (p1 < n) answer.push(list1[p1++]); while (p2 < m) answer.push(list2[p2++]); return answer; }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
모듈 의존성 문제
@Module({ imports: [ TypeOrmModule.forFeature([Product, ProductTag, ProductCategory]), UserModule, ProductTagModule, ProductCategoryModule, ], providers: [ ProductResolver, ProductService, ], }) export class ProductModule {}위와 같은 코드에서 ProductService의 실행에 필요한 ProductTagModule과 ProductCategoryModule를 다 import 해주었는데 계속 아래와 같은 의존성 오류가 나왔습니다.Nest can't resolve dependencies of the ProductService (ProductRepository, ?, UserService, ProductCategoryService). Please make sure that the argument ProductTagService at index [1] is available in the ProductModule context.Potential solutions:- Is ProductModule a valid NestJS module?- If ProductTagService is a provider, is it part of the current ProductModule?- If ProductTagService is exported from a separate @Module, is that module imported within ProductModule? @Module({ imports: [ /* the Module containing ProductTagService */ ] }) 그래서 아래와 같이 ProductTagService, ProductCategoryService를 임의로 providers에 넣어주면 또 실행이 됩니다. 해당 모듈을 이미 임포트 해주었는데 왜 서비스를 따로 또 주입해주어야 할까요?@Module({ imports: [ TypeOrmModule.forFeature([Product, ProductTag, ProductCategory]), UserModule, ProductTagModule, ProductCategoryModule, ], providers: [ ProductResolver, ProductService, ProductTagService, ProductCategoryService, ], }) export class ProductModule {} 아래는 ProductTagModule과 ProductCategoryModule 코드입니다.@Module({ imports: [TypeOrmModule.forFeature([ProductTag])], providers: [ProductTagResolver, ProductTagService], }) export class ProductTagModule {} @Module({ imports: [TypeOrmModule.forFeature([ProductCategory])], providers: [ProductsCategoriesResolver, ProductCategoryService], }) export class ProductCategoryModule {}
-
미해결생활코딩 - 자바스크립트(JavaScript) 기본
new 를 안 붙이는 경우 (섹션19)
new를 통해 생성자를 만들어 준다고 하셨는데,아래와 같이 new를 안 붙여주는 경우는 뭔지 궁금합니다!function Func(){ return 'Hello'; }; var p = Func() console.log(p) // Hello
-
미해결몇 줄로 끝내는 인터랙티브 웹 개발 노하우 [초급편]
requestAnimationFrame 질문
선생님 이거 사용하면서 위치값 계속 업데이트해주는걸로 아는데 이걸 사용해서 그러지는 몰라도그 버튼위에 올리면 좀 크기가 나중에 변화되는데 이게 연산을 계속해서 이런문제가 발생 할수도 있나요?
-
해결됨웹 프론트엔드를 위한 자바스크립트 첫걸음
getElementsByClassName 리턴값 질문
querySelectorAll은 nodelist를 리턴값으로 받아서 Foreach로 선언해서 해당 dom을 event handling 한다고 배웠는데 getElementsByClassName도 querySelectorAll과 같이nodelist를 리턴 받아 forEach형태로 event handling을 할 수 있는 지 답변 부탁드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
15-02 API-GateWay 2
안녕하세요 수업을 잘 따라가고 있던 중 오류가 발생하였습니다... docker을 작동 하였고 아래와 같이 나와 도커를 확인 하였습니다.gatway제외한 나머지는 작동이 되는 걸 확인 하였고 gateway만 따로 작동을 하자 아래와 같이 에러가 발생하였습니다... 버전문제 때문에 그런건가요...??
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
함수 동작 원리가 궁금합니다.
function checkmood(mood, goodCallback, bacCallback) { if (mood === "good") { goodCallback(); } else { bacCallback(); } } checkmood("good", sing, cry); function sing() { console.log("sing"); } function cry() { console.log("cry"); } checkmood("good", sing, cry) 이 부분에서 sing이 함수이지만 값으로 들어갔는데, 함수 인자는 값으로만 들어가는걸까요?!
-
해결됨웹 프론트엔드를 위한 자바스크립트 첫걸음
getElementBYId/ClassName과 querySelector의 차이점
요소를 생성하고 추가할때 const parent = document.querySelector("div.today-info");parent.appendChild(seasonElement);querySelector로하면 잘돌아가는데 const parent = document.getElementByClassName("today-info");parent.appendChild(seasonElement);className 으로하면 appendChild에서 에러가 생기는 이유가 궁금합니다. 둘다 className을 반환하는것 아닌가요?