묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
연속부분수열2(Two Pointers Algorithm)
안녕하세요. M = 5let a=[6, 3, 1, 2, 3];혹시 만약 처음부터 배열에 6이 들어가있다면 5보다 큰경우가 될텐데 그럼 rt-lt+1이 때문에 안될꺼같은데 이런경우 어떻게 될까요..?
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.03
ScrollTrigger의 end와 toggleClass
안녕하세요, 선생님.섹션2 Advanced Trigger - practice 예제에서fixedHeader() 함수를 통해 헤더가 pin되어 start 지점부터 fixed 처리가 되잖아요~이와 동시에 fixed 될 때 특정 클래스(toggleClass : "active")를 넣어서 스타일을 다르게 주려고 했거든요.그런데 end 마지막 지점에 스크롤이 닿으면 fixed는 되어있지만 class는 사라지더라고요.혹시 다른 방법이 있을까요? function fixedHeader(){ ScrollTrigger.create({ trigger: '.nav_container', start: 'top top', // endTrigger:'.footer', end: 'max', pin: true, pinSpacing: false, toggleClass : "active" }) }
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
[질문] 토큰 만료에 대한 예외처리 질문
안녕하세요, 현재 강의 를 듣고 있는 수강생입니다.BearerTokenGuard를 작성하고, 토큰 유효기간이 지난 경우에 대해서도테스트 상황을 가정하여 전날 만들어둔 access token을 authorization header에 넣어테스트 해보았습니다. 그런데 verifyToken api에 try,catch문이 없어서 500 코드의 에러가 발생하더라구요.그래서 일단 401 error를 내는게 맞는것 같아서 아래와 같이 작성을 했는데, verify의 결과가 무조건 토큰이만료된 경우 1가지인지 확실치 않아, 잘 작성된 코드인지 모르겠어서 질문 드립니다. 어떻게 예외처리 코드를 작성하면 좋을까요? /* 해당 API는 토큰을 검증하는 API 입니다. */ verifyToken(token: string) { try { const result = this.jwtService.verify(token, { secret: JWT_SECRET, }); return result; } catch (error) { // to-do : 나중에 최적화 throw new UnauthorizedException('만료된 토큰입니다. 재발급해주세요'); } }
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃허브 권한 요청 드립니다.
- 인프런 아이디: renoyar@naver.com- 인프런 이메일: renoyar@naver.com- 깃허브 아이디: skshhj@gmail.com- 깃허브 username: RENOYAR
-
해결됨Vue.js 시작하기 - Age of Vue.js
App.vue 파일 내용 변경 에러
강의를 따라서 helloworld.vue 도 지우고,App.vue 내용도 지우고 진행했습니다.그런데, 계속 오류가 뜨길래 확인해보니 변경사항 경고창이었습니다.VsCode를 껐다가 다시 켜봐도 여전히 저 알림들이 뜹니다.<template>, <script>, <style> 모두요.뭐 때문인지 알수있을까요?
-
해결됨Vue.js 시작하기 - Age of Vue.js
package.json 파일을 찾을수 없는 오류메세지
vs code 알림팝업으로,[ Vetur can't find 'package.json' in 파일경로 ][ Vetur can't find 'tsconfig.json' or 'jsconfig.json' in 파일 경로 ]가 나옵니다.하지만, package.json 파일과 jsconfig.json 파일을 갖고 있습니다.그리고 해당 파일경로는 vue-cli 폴더를 갖고 있는폴더이며, 해당 경로에는 없지만 그 안에 있는 vue-cli 폴더에는 있는데, 왜 인식이 안되는지 모르겠어요.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
유데미 강의와 내용이 동일한가요??
유데미 강의와 동일한 버전인가요??
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
숙제를못하면
숙제를 못하면 샘 숙제를 생각하고 해도못하겟는데 못하면 다음강의 넘기면 안되는걸까요 ???
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
npx create-app reactexam1 에러
PS C:\reactexam1> npx create-react-app reactexam1npm ERR! code ENOENTnpm ERR! syscall lstatnpm ERR! path C:\Users\82108\AppData\Roaming\npmnpm ERR! errno -4058npm ERR! enoent ENOENT: no such file or directory, lstat 'C:\Users\82108\AppData\Roaming\npm'npm ERR! enoent This is related to npm not being able to find a file.npm ERR! enoentnpm ERR! A complete log of this run can be found in: C:\Users\82108\AppData\Local\npm-cache\_logs\2023-11-28T12_12_57_671Z-debug-0.log npx create-react-app reactexam1을 입력했을 때 계속 이런 에러가 뜹니다.폴더 위치를 c드라이브로 옮기는 것도 해보고 node.js를 다시 다운 받는 것도 해보았는데 계속해서 이런 에러가 발생합니다.
-
해결됨시나브로 자바스크립트
reactivity.js 를 proxy로 수정 후 오류
어려워서 겨우 따라가고 있는 학생입니다!현재 02.쇼핑몰만들기3(4/5) 수강중인데요reactivity.js 를 proxy로 수정 후 나오는 에러는 알아서 해결하라고 미션을 주셨지만.. 도통 어떻게 해결해야 할지 모르겠습니다.counter.js의 getTotalCount, getCountByProductId 함수 내부의 getCountMap()을 어떻게 수정하면 될지 힌트라도 요청드립니다! ===========================현재 이렇게 수정했는데, 각 물품 갯수에는 undefined가 뜨고 장바구니 토탈 갯수만 나오고 있습니다.첫 클릭만 undefined고 이후는 숫자가 증가하는데 해당 처리를 어떻게 해야 할까요..? const getTotalCount = () => { let count = 0; Object.values(countMap).forEach((number) => { count += number; }); return count; }; const getCountByProductId = ({ productId }) => { return countMap[productId] || 0; };export function bindReactiveState({ name, defaultValue }){ if (typeof defaultValue !== 'object') { throw new Error("bindReactiveState supports only object as default value."); } let value = new Proxy(defaultValue, { get(target, prop) { return target[prop]; }, set(target, prop, newValue) { const elements = Array.from( document.querySelectorAll( `[data-subscribe-to='${name}'][data-subscription-path='${prop}']` ) ); elements.forEach(element => { if(element.tagName === 'INPUT') { element.value = newValue[prop]; } else { element.innerHTML = newValue[prop]; } }); // target[prop] = newValue; return Reflect.set(target, prop, newValue); } }); return value; }
-
해결됨Javascript ES6+ 제대로 알아보기 - 중급
블로그 안나오네유 ㅠㅠ
강의 보고 나서 블로그 글 쭉 정독 해볼려고 했는데https://gomugom.github.io/is-class-only-a-syntactic-sugar/404 뜨네요 흑흑
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
safari 개발자 도구에 대한 질문입니다
safari 개발자 도구를 이용해서 디버깅하던 중에 vuex를 확인할 일이 있어서 찾아보는데 아무리 봐도 보이지가 않습니다chrome 개발자 도구에서는 vuex를 시각적으로 볼 수 있게 지원하는것 같은데 혹시 safari는 지원하지 않는건가요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 작성해도 괜찮은걸까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결타입스크립트 입문 - 기초부터 실전까지
section 3-1 JSdoc 타입이 추론되지 않아서 다음과 같이 수정했는데 이거 맞나요?
(사진)
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
many to many relations update를 할 경우 질문 드립니다.
안녕하세요. 강의 정말 잘 듣고 있습니다.먼저 좋은 강의 감사드립니다.강의를 듣고 복습을 하던 중에, 기존 tag가 relation된 post를 찾아서 새로운 tag를 추가하는 API는 어떤 식으로 짜야 하는지 궁금해서 질문 드립니다.
-
미해결[코드팩토리] [입문] 9시간만에 끝내는 코드팩토리의 Javascript 무료 풀코스
const 에서
const iveMembersArray = ['안유진','가을','레이','장원영','리즈','이서']; 예시에서 const로 선언된 변수는 값을 변경할수 없다고했는데 iveMembersArray[0] = '코드팩토리'; 라고 선언했을때 왜 값이 바뀌는건가요 ? let을 사용해야하는거 아닌가요 ?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
AccessToken은 잘 만들어지는데 payload에 아무것도 안담겨요
로그인 시 받은 accesstoken을 밑에 /user/test의 헤더에 넣었습니다.처음에는 payload에 값이 담겼는데 갑자기 아무것도 안담기네요ㅜㅜ변경사항이 있었던 건 다 돌려봤는데도 도저히 뭐가 문제인지 모르겠어서 남깁니다.뭐가 문제인지도 모르겠어서 코드도 뭘 보여드려야 할 지 모르겠네요ㅜㅜ accesstoekn은 잘 만들어지는데.. 저 accesstoekn으로 UseGuards(AuthGuard('access')) 이 가드를 통과하는 거 아닌가요?validate()까지 간 거 보면 인가는 됐다고 생각했는데 왜 payload에 아무것도 안담기는지 모르겠네요ㅜㅜ
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.03
Text Effects(2)는 Text Effects(1)영상에 포함돼있는 것 같아요!
Text Effects(1) 의 11분~ 하고 내용이 같아요😄
-
해결됨백엔드 개발자에 의한, 백엔드 개발자들을 위한 프론트엔드 강의 - 기본편
FOO님!! 강의 설명 중 질문있습니다.
FOO님! 안녕하세요!강의 섹션1의 첫번째 파트인 '백엔드와 프론트엔드'에서 0:58초에 HTML이라고 말해야할 부분을 HTTP라고 잘못 말하신게 맞을까요? 물론 별거 아니지만 궁금해서요
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
샘이랑 똑같이쳣는데 왜 입력이 안될가여
함수도 호출햇고 리턴값을 함수로호출햇는데 왜 샘이 랑 똑같이 쳣는지 버튼을 눌러도 숫자가 입력이 안되나여 <!DOCTYPE html> <head> <meta charset="utf-8"> <title>계산기</title> <style> * { box-sizing: border-box } #result { width: 180px; height: 50px; margin: 5px; text-align: right } #operator { width: 50px; height: 50px; margin: 5px; text-align: center } button { width: 50px; height: 50px; margin: 5px } </style> </head> <!-- 계산기 버튼 구현 --> <body> <head> <meta charset="utf-8"> <title>계산기</title> <style> * { box-sizing: border-box } #result { width: 180px; height: 50px; margin: 5px; text-align: right } #operator { width: 50px; height: 50px; margin: 5px; text-align: center } button { width: 50px; height: 50px; margin: 5px } </style> </head> <!-- 계산기 버튼 구현 --> <body> <input readonly id="operator"> <input readonly type="number" id="result"> <div class="row"> <button id="num-7">7</button> <button id="num-8">8</button> <button id="num-9">9</button> <button id="plus">+</button> </div> <div class="row"> <button id="num-4">4</button> <button id="num-5">5</button> <button id="num-6">6</button> <button id="minus">-</button> </div> <div class="row"> <button id="num-1">1</button> <button id="num-2">2</button> <button id="num-3">3</button> <button id="divide">/</button> </div> <div class="row"> <button id="clear">C</button> <button id="num-0">0</button> <button id="calculate">=</button> <button id="multiply">x</button> </div> <script> let numOne=''; let operator=''; let numTwo=''; // 이두개가 왜쓰엿는지는 강의를 들으면서 알아보자 const $operator =document.querySelector('#operator'); const $result = document.querySelector('#result'); // 중복울 제거 햇기떄문에 변수로 넣어줌 const onClickNumber = (number) => // if(operator){ // numberTwo +=number; // } // else{ // numberOne += number; // } // $result.value+=number; //return undefined; /// 반환하니 반환 할놈이 없으니 나오지도 않는다 // 그래서 언디 파인드를 넣지말고 함수를 넣어야 한다 //함수를 리턴해주는거다 // 실행되는것을 함수안으러 넣어주어야 한다 (event) => { if(operator){ numberTwo +=number; } else{ numberOne += number; } $result.value += number; }; // 넘버1 에 클릭이벤트 가 발생햇을떄 함수 실행한다 //$input.addEventListener('input',writing); // 인풋 이벤트가 발생되면 안에 함수를 넣는다 // 넘버 0 인 아이디를 선택하고 클릭이벤트 발생햇을떄 이벤트 리스너를 // 추가한다 // 함수에서 중복이 발생하면 다른 부분들을 매개변수로 뺴라 document.querySelector('#num-0') .addEventListener('click', onClickNumber('0')); document.querySelector('#num-1') .addEventListener('click', onClickNumber('1')); document.querySelector('#num-2') .addEventListener('click', onClickNumber('2')); document.querySelector('#num-3') .addEventListener('click', onClickNumber('3')); document.querySelector('#num-4') .addEventListener('click', onClickNumber('4')); document.querySelector('#num-5') .addEventListener('click', onClickNumber('5')); document.querySelector('#num-6') .addEventListener('click', onClickNumber('6')); document.querySelector('#num-7') .addEventListener('click', onClickNumber('7')); document.querySelector('#num-8') .addEventListener('click', onClickNumber('8')); document.querySelector('#num-9') .addEventListener('click', onClickNumber('9')); // 이런식으로 함수의 중복이 발생이되엇을떄 중복을 함수로 뺴서 중복을 피해라; document.querySelector('#plus') .addEventListener('click', () => {} ); document.querySelector('#minus') .addEventListener('click', () => {} ); document.querySelector('#divide') .addEventListener('click', () => {} ); document.querySelector('#num-1') .addEventListener('click', () => {} ); document.querySelector('#multiply') .addEventListener('click', () => {} ); document.querySelector('#calculate') .addEventListener('click', () => {} ); document.querySelector('#clear') .addEventListener('click', () => {} ); </script> </body> </html>