묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
3.4. 타이머 테스트의 마지막 테스트 질문입니다.
it('연이어 호출해도 마지막 호출 기준으로 지정된 타이머 시간이 지난 경우에만 함수가 호출된다.', () => { const spy = vi.fn(); const debouncedFn = debounce(spy, 300); // 최초 호출 debouncedFn(); // 최초 호출 후 0.2초 후 호출 vi.advanceTimersByTime(200); debouncedFn(); // 두번째 호출 후 0.1초 후 호출 vi.advanceTimersByTime(100); debouncedFn(); // 세번째 호출 후 0.2초 후 호출 vi.advanceTimersByTime(200); debouncedFn(); // 👈 4번째 호출 // 네번째 호출 후 0.3초 후 호출 // 최초 호출 후에 함수 호출 간격이 0.3초 이상 -> 다섯번째 호출이 유일 vi.advanceTimersByTime(300); debouncedFn(); // 👈 5번째 호출 // 다섯번을 호출했지만 실제 spy함수는 단 한 번만 호출 expect(spy).toHaveBeenCalledTimes(1); }); 안녕하세요. 새해 복 많이 받으세요 :)다름이 아니라 위 코드에서 4번째 호출 후 바로 뒤, vi.advanceTimersByTime(300);로 인해 0.3초가 흘렀고 이로 인해 expect(spy).toHaveBeenCalledTimes(1); 이 맞다고 나온 것이 아닌지 궁금해서 질문드립니다.강의에서는 4번째 호출이 아닌 5번째 호출로 인해 호출된다고 하셨는데(최초 호출 후에 함수 호출 간격이 0.3초 이상인 경우는 다섯번째 호출이 유일하다고 하신 것 같아요) 5번째 호출 후에는 0.3초가 흘렀다는 가정 (vi.advanceTimersByTime(300);)이 없고 제가 혼자 테스트 해보며 5번째 호출 후에 vi.advanceTimersByTime(300);를 넣어 0.3초가 흘렀다고 가정을 하니 호출이 2번 되었다고 떠서요.제가 debounce를 헷갈려 했는데 제가 아직 잘 이해하지 못한 부분이 있는 건지 아니면 실제로 잘못 설명된 부분이 있는 건지 모르겠어서 질문 드립니다. 감사합니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
route 오류
route 오류가 떠서요 라우터를 깔았는데 왜이럴까요 ??
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃허브 권한 요청드립니다.
인프런 아이디 : jhj951105@gmail.com인프런 이메일 : jhj951105@gmail.com깃헙 아이디 : jhj951105@gmail.com깃헙 Username : OngNyang 감사합니다 :)
-
미해결처음 만난 리액트(React)
챕터03 화면에 아무것도 안 나와요.
영상보고 코드 똑같이 작성했는데 화면에 아무것도 안 나와요.리액트 버전 18에서 17로 다운그레이드도 했는데 여전히 아무것도 안 나오네요.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
권한요청드립니다.
권한요청드립니다.인프런 아이디 : soongin95인프런 이메일 : soongin95@naver.com깃헙 아이디 : gayoung106깃헙 Username : gazero
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션2 공통원소 구하기 정렬 없이 해봤는데 괜찮을까요??
<html> <body> <script> function solution(arr1, arr2) { const answer = []; const n = arr1.length; const m = arr2.length; let p1 = (p2 = 0); while (p1 < n) { if (arr1[p1] === arr2[p2]) { answer.push(arr1[p1++]); p2++; } else { p1++; } } p1--; while (p2 < m && p1 >= 0) { if (arr2[p2] === arr1[p1]) { answer.push(arr2[p2++]); p1--; } else { p1--; } } return answer.sort((a, b) => a - b); } const arr1 = [1, 3, 9, 5, 2]; const arr2 = [3, 2, 5, 7, 8]; console.log(solution(arr1, arr2)); </script> </body> </html>위와 같이 p1먼저 돌고 그 다음에 p2돌면서 p1을 뒤에서부터 찾았는데 이렇게 하는건 별로 일까요...?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
postman에서 오류가 있습니다
눈동자 모양no enviorment에서 grab-market-mock-server로 전환이 안됩니다
-
미해결몇 줄로 끝내는 인터랙티브 웹 개발 노하우 [초급편]
go live 실시간 크롬
vs code 에서 go live 를 실행하며 코드를 수정할 때 실시간으로 chrome 에서 상태가 변하지 않습니다.f5 를 누르면 새로운 chrome 창이 뜨면서 수정된 코드 상태를 보여주는데 강의 영상처럼 보고 있는 chrome 창을 유지하면서 실시간으로 확인하려면 어떻게 해야하나요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
구조 차이에 대한 문의
안녕하세요.vue cli (@vue/cli 5.0.8)로 프로젝트를 생성하니강의 구조와 다르게 /public/ 에 index.html이 생성되며,<script src="dist/build.js"> 도 없습니다.어떻게 main.js intex.html에 붙는 건지 궁금합니다. 감사합니다.
-
미해결Do it! Node.js 프로그래밍 입문
localhost:3000 응답없음 문제
안녕하세요. 블로그앱 만들 때 localhost:3000을 사용하고 있는데요. 메인 코드 파일을 실행하면 터미널에서는 서버/몽고DB가 실행 중이라고 뜨는데 포트는 응답이 없네요. 8000 등 다른 포트로 바꿔봐도 마찬가지고요.. 이전까지는 문제가 없다가 갑자기 이래서 어떻게 해야할지 모르겠습니다+_+...혹시 시도해볼만한 방법이 있을까요? 알려주시면 감사하겠습니다.
-
미해결Vue 3 시작하기
윈도우 터미널에서 powershell 사용 비추 이유
터미널에서 기본으로 powershell이 설정되어 있는데node -v 나 npm 명령어도 잘 실행됩니다.그런데 이를 사용말고 cmder을 사용하라는 이유가 뭔가요?
-
미해결비전공자의 전공자 따라잡기 - 자료구조(with JavaScript)
let current = this.head 질문 있습니다!
this.head 대신 let current = this.head 처럼 current변수에 할당하여 사용하는 이유가 무엇일까요?ㅠ변수에 할당하여 사용하지 않았을 때 값을 보니 값이 다르게 나와 문의드립니다. li.add(3)이 실행될때 첫번째 노드가 사라짐 정상출력
-
해결됨[코드캠프] 입문자를 위한 Javascript 알고리즘 이론+실습
잡았다 요놈! 풀이
맨 마지막 연습문제인 잡았다요놈!의 reference code에서if (el.time > 0)이 아닌if (el.time > 제일늦은시간)으로 해야 time의 최댓값이 갱신될 것 같습니다.좋은 강의 감사합니다!
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
환경변수 설정 시 Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string 라는 에러가 납니다.
안녕하세요. 환경변수 설정 간 TypeOrmModule.forRoot()를 설정하는 구간에서강의대로 process.env로 .env에 있는 키들을 받아오려 하니 제목과 같은 에러가 납니다.구글링을 해보았는데, forRootAsync를 활용하라는 말 등은 있지만 저 에러가 동일하게 구현된 사례는 없었습니다. 혹시 제가 어떤 잘못을 했는지 궁금하여 질문을 남깁니다. 강의 정말 잘 보고 있습니다. 감사합니다. @Module({ imports: [ TypeOrmModule.forRoot({ type: 'postgres', host: process.env[ENV_DB_HOST], port: parseInt(process.env[ENV_DB_PORT]), username: process.env[ENV_DB_USERNAME], password: process.env[ENV_DB_PASSWORD], database: process.env[ENV_DB_DATABASE], synchronize: true, }), CommonModule, ConfigModule.forRoot({ envFilePath: process.env.NODE_ENV === 'production' ? '.env.production.local' : '.env.development.local', isGlobal: true, }), AuthModule, UsersModule, ], controllers: [AppController], providers: [AppService], }) export class AppModule {} // .env.development.local DB_TYPE=postgres DB_HOST=localhost DB_PORT=5430 DB_USERNAME=123123 DB_PASSWORD=123123 DB_DATABASE=123123 // constants.ts export const ENV_DB_HOST = 'DB_HOST'; export const ENV_DB_PORT = 'DB_PORT'; export const ENV_DB_USERNAME = 'DB_USERNAME'; export const ENV_DB_PASSWORD = 'DB_PASSWORD'; export const ENV_DB_DATABASE = 'DB_DATABASE'; // 에러 메세지 Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
-
미해결리액트(React.js)를 이용한 나만의 유튜브 사이트 만들기 프로젝트
12강 style.scss에 연동할 때 에러가 뜹니다..
css>section>_today.scss파일을 수정하고 style.scss에 @import "section/today";를 하려고 하니 아래와 같이 에러가 뜹니다!! ㅠㅠ
-
해결됨실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
mocking과 spy함수가 헷갈립니다.
mocking과 spy함수가 조금 헷갈립니다. 아래와 같이 정리하면 될까요?- spy 함수 : 빈 함수인데, vitest에서 이 함수를 감지하고 있고 함수가 call 되었는지, 인자는 무엇이었는지 검증하는 가짜 함수.- mocking : 종속성이 있는 라이브러리를 복사해두고, 그 중 사용해야 할 함수나 기능을 spy 함수로 대체하여 call 했는지 검사할 수 있는 프로세스.그러면 mocking 자체는 spy 함수 없이 사용하는 것은 의미가 없다고 보면 될까요?
-
미해결웹 퍼블리셔를 위한 자바스크립트 & 제이쿼리 핵심이론 실전예제(교재, 완성본)
질문드립니다.
강사님의 과목별 강의영상은 거의 다 잘 보고 있습니다.04.제이쿼리실전예제에서22) 가로 슬라이더(이전 다음 버튼, Autoplay 제어 버튼)위의 예제에서 좌우버튼만 있는데 하단 버튼을 할때는 어찌해야 할지 감이 잘 안잡혀서요.슬라이드 이미지가 3~5컷이라면 개수만큼 하단에 작은원형버튼이 있고 버튼을 클릭하면 해당슬라이드 이미지가 슬라이드되게 하려고 합니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
마지막 챕터 - 페이지 구현 , 일기 쓰기 (/new) 파트 40분 경 질문 있습니다.
const [onCreate] = useContext(DiaryDispatchContext) 를 넣자마자 오류가 발생합니다.오류 내용은 object is not iterable 로 뜨고 콘솔의 오류도 저 부분의 에러가 뜨고 있습니다.혹시 뭐가 잘못 되었고 어떤 부분을 체크 해봐야 할까요?
-
미해결타입스크립트 입문 - 기초부터 실전까지
TSLint 확장 프로그램은 현재 지원하지 않는다고 합니다.
TSLint 확장 프로그램 설치를 해야할까요? 2024-02-08 현재 deprecated된 확장이라 우선 설치를 안하긴 했습니다.
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
수정후 리스트 순서가 바뀝니다
감정이나 내용 수정은 잘 되는데 수정완료를 하면 수정한 항목이 list 페이지에 맨 아래로 가는데 어느 부분을 확인하면 좋을까요?그리고 새로고침하면 초기화가 되는데 수정된게 유지가 돼야 하나요?다른 사람들 codesand 박스에 소스를 올리던데 저는 vscode로 작업을 했는데 어떻게 올릴수 있나용? 완성된소스는 따로 볼수 없나요?