묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자의 전공자 따라잡기 - 자료구조(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로 작업을 했는데 어떻게 올릴수 있나용? 완성된소스는 따로 볼수 없나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
CacheModule
app.module.ts에서 redis연결하는데 @nestjs/common에 CacheModule이 없는데요?
-
해결됨[JS] Phaser 게임 제작 - 뱀파이어 서바이벌 클론
npm start 에러코드가 나와 문의드립니다.
3-4 Code Review 챕터에 있는 zip 파일을 다운 받은 후 압축을 풀고 start 시 에러가 나옵니다.에러 로그에 보면 Unexpected character ' '이라고 나오는데수정을 전혀 하지 않은 상태이기 때문에 저런 에러가 나오는 이유를 모르겠습니다. 감사합니다. > phaser3-project-template@1.1.2 start> webpack-dev-server --config webpack/base.js --openi 「wds」: Project is running at http://localhost:8080/i 「wds」: webpack output is served from /i 「wds」: Content not from webpack is served from D:\Apache24\htdocs\game3-2Browserslist: caniuse-lite is outdated. Please run next command npm updatei 「wdm」: wait until bundle finished: /× 「wdm」: Hash: 9cc55ccc66d0b371b405Version: webpack 4.41.2Time: 3283msBuilt at: 2024. 02. 08. 오전 10:36:34 Asset Size Chunks Chunk Namesindex.html 158 bytes [emitted] main.js 18.4 MiB main [emitted] mainEntrypoint main = main.js[0] multi (webpack)-dev-server/client?http://localhost:8080 ./src 40 bytes {main} [built][./node_modules/ansi-html/index.js] 4.16 KiB {main} [built][./node_modules/ansi-regex/index.js] 135 bytes {main} [built][./node_modules/html-entities/index.js] 231 bytes {main} [built][./node_modules/strip-ansi/index.js] 161 bytes {main} [built][./node_modules/webpack-dev-server/client/index.js?http://localhost:8080] (webpack)-dev-server/client?http://localhost:8080 4.29 KiB {main} [built][./node_modules/webpack-dev-server/client/overlay.js] (webpack)-dev-server/client/overlay.js 3.51 KiB {main} [built][./node_modules/webpack-dev-server/client/socket.js] (webpack)-dev-server/client/socket.js 1.53 KiB {main} [built][./node_modules/webpack-dev-server/client/utils/createSocketUrl.js] (webpack)-dev-server/client/utils/createSocketUrl.js 2.89 KiB {main} [built][./node_modules/webpack-dev-server/client/utils/log.js] (webpack)-dev-server/client/utils/log.js 964 bytes {main} [built][./node_modules/webpack-dev-server/client/utils/reloadApp.js] (webpack)-dev-server/client/utils/reloadApp.js 1.59 KiB {main} [built][./node_modules/webpack-dev-server/client/utils/sendMessage.js] (webpack)-dev-server/client/utils/sendMessage.js 402 bytes {main} [built][./node_modules/webpack/hot sync ^\.\/log$] (webpack)/hot sync nonrecursive ^\.\/log$ 170 bytes {main} [built][./src/Config.js] 1.16 KiB {main} [built][./src/index.js] 87 bytes {main} [built] + 25 hidden modulesERROR in ./src/scenes/LoadingScene.jsModule build failed (from ./node_modules/babel-loader/lib/index.js):SyntaxError: D:\Apache24\htdocs\game3-2\src\scenes\LoadingScene.js: Unexpected character '' (244:4) 242 | } 243 | }> 244 | | ^ 245 | at Parser.raise (D:\Apache24\htdocs\game3-2\node_modules\@babel\parser\lib\index.js:6930:17) at Parser.getTokenFromCode (D:\Apache24\htdocs\game3-2\node_modules\@babel\parser\lib\index.js:7638:16) at Parser.nextToken (D:\Apache24\htdocs\game3-2\node_modules\@babel\parser\lib\index.js:7150:12) at Parser.next (D:\Apache24\htdocs\game3-2\node_modules\@babel\parser\lib\index.js:7079:10) at Parser.eat (D:\Apache24\htdocs\game3-2\node_modules\@babel\parser\lib\index.js:7084:12) at D:\Apache24\htdocs\game3-2\node_modules\@babel\parser\lib\index.js:11386:20 at Parser.withTopicForbiddingContext (D:\Apache24\htdocs\game3-2\node_modules\@babel\parser\lib\index.js:10486:14) at Parser.parseClass (D:\Apache24\htdocs\game3-2\node_modules\@babel\parser\lib\index.js:11359:22) at Parser.parseExportDefaultExpression (D:\Apache24\htdocs\game3-2\node_modules\@babel\parser\lib\index.js:11779:19) @ ./src/Config.js 1:0-49 12:10-22 @ ./src/index.jsChild html-webpack-plugin for "index.html": 1 asset Entrypoint undefined = index.html [./node_modules/html-webpack-plugin/lib/loader.js!./index.html] 313 bytes {0} [built] [./node_modules/lodash/lodash.js] 528 KiB {0} [built] [./node_modules/webpack/buildin/global.js] (webpack)/buildin/global.js 472 bytes {0} [built] [./node_modules/webpack/buildin/module.js] (webpack)/buildin/module.js 497 bytes {0} [built]i 「wdm」: Failed to compile. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결Vue 3 시작하기
defineProps, defineEmit, defineModel 차이
부모와 자식 컴포넌트간의 데이터 교환에 있어부모 -> 자식 : props자식 -> 부모 : emit이라는건 어느정도 개념이 잡힌 것 같습니다. 근데, 좀 더 찾아보니 부모자식 컴포넌트 사이에도 model을 지정해서 양방향 바인딩이 가능하다는 예제를 본 것 같습니다. model을 사용하여 props & emit을 대체한다면 복잡한 코드가 좀 더 나아질것 같은데 defineModel을 사용하지 않는 이유가 따로 있는것일까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
40분 30초경 navigate 질문 있습니다
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨질문 하시기 전에 꼭 확인해주세요- 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다)- 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다)- 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢)질문 하실때 꼭 확인하세요- 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X)- 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지)- 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우)- 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. navigate('/',{replace:True})가 일기 작성하는 페이지로 뒤로 가기를 해서 못오게 막는다는 말이 무슨 말인지 이해가 안갑니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
피그마에 css 코드를 볼 수 없어요.
이게 옆으로 옮겨지지 않습니다.검색해보니까 데브모드가 이제 유료화됐다고 하는데어떻게 해결해야할까요?
-
해결됨실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
테스트 코드 파일 위치
안녕하세요! 강의 잘 보고 있습니다. :)다름이 아니라 테스트 코드 파일들의 작성 위치가 궁금한데요, 보니까 그냥 파일 바로 아래에 새로운 테스트 코드 파일이 있는 것 같은데 이게 보편적인 위치일까요?따로 테스트 코드 폴더를 만들거나 하진 않는 건지 궁금해서 문의드립니다.감사합니다 :)
-
해결됨실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
async-await 이 꼭 있어야하는지 질문입니다
안녕하세요. 강의 너무 재밌게 잘 보고 있습니다. 두가지 질문이 있어서 문의글 남깁니다. 질문 1. 테스트코드에서 async, await 가 필요없어 보이는 곳에도 꼭 붙이는 이유가 있나요? 예를들면, 아래 1번 코드에서 async await 이 반드시 필요한 이유가 있는건가요? 저는 2번처럼 async-await을 제거해도 테스트가 정상 통과 되어서요. 특별한 목적이 있어서 붙여야 하는건지 궁금합니다. ! 1) it('총 상품 금액은 "$500.00"로 노출된다', async () => { await render(<TestPayment />); expect(screen.getByText('500.00')).toBeInTheDocument(); }); 2)it('총 상품 금액은 "$500.00"로 노출된다', () => { render(<TestPayment />); expect(screen.getByText('500.00')).toBeInTheDocument(); }); 질문 2. render 함수를 util 로 만들어서 사용하시는데, userEvent.setup의 user 도 함께 들어있는 이유가 궁금합니다. userEvent를 쓰지 않는 테스트코드도 있는데, 꼭 함께 들어있어야하나 하는 생각이 들어서요 ㅎㅎ userEvent를 더 편리하게 사용하기 위함인가요? export default async (component, options = {}) => { const { routerProps } = options; const user = userEvent.setup(); return { user, ...render( <QueryClientProvider client={queryClient}> <MemoryRouter {...routerProps}>{component}</MemoryRouter> <Toaster /> </QueryClientProvider>, ), }; }; 감사합니다!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 한번 봐주실 수 있으신가요?
function solution(arr) { const strArry = arr.split(""); let answer = []; let i = 0; while (i < strArry.length) { if (strArry[i] === "(") { answer.push(strArry[i]); } else { answer.pop(strArry[i]); } i++; } return answer.length === 0 ? "YES" : "NO"; } //console.log(solution("(()(()))(()")); console.log(solution("(((())))"));
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
제 코드도 한번만 봐주실 수 있을까요? ㅠㅠ
function solution(sum, arr) { let left = 0; let right = 0; let add = 0; let count = 0; while (right < arr.length) { if (add >= sum) { add -= arr[left ++]; } else { add += arr[++right]; } if (add === sum) count++; } return count; } console.log(solution(6, [1, 2, 1, 3, 1, 1, 1, 2]));
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
db 컬럼 camel or snake
안녕하세요! 강의 너무 잘 듣고 있습니다. 별건 아니고 혹시 db 컬럼을 평소에도 camel로 쓰시는건가요??보통 db컬럼은 스네이크로 많이들 쓰는걸로 알고 있어서 여쭤봅니다!
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
docker 와 local DB 연결 시 각 폴더는 어떻게 연결되는 건가요?
안녕하세요! nestjs 수강생 입니다!docker 부분에서 질문이 있어서 문의 드리게 되었습니다. 현재 local 과 docker postgres image 가 이렇게 연결되어 있습니다. 알고 있는 점(1) docker-compose up 을 실행하면 두 폴더가 연결되며 docker postgres 의 데이터 폴더를 로컬 폴더와 매핑한다.(2) docker postgres 에서 데이터 손실 시 로컬에서 관리하는 postgres-data 폴더 덕분에 문제 없음(3) 로컬 폴더를 날리고 docker-compose up을 재 실행하면 모든 데이터 날라감. 궁금한 점(1) 개발자는 자신의 로컬 폴더에 있는 데이터만 CRUD 하고 그 결과가 docker postgres 에 반영되는 건가요? 그래서 로컬폴더를 삭제하고 docker-compose up 을 재 실행하면 데이터가 모두 날라가는 건가요?(2) docker-compost up 을 실행하면 처음에는 로컬에서 docker postgres 에 데이터를 가져오는데 그럼 ./postgres-data 폴더가 있을때와 없을때가 다르게 동작하는 건가요? 예를들어 있을때는 로컬에서 docker postgres 로 전송, 없을때는 docker postgres에서 로컬로 전송. 아래는 제가 이해하고 있는 점인데 어떤 부분이 맞고 틀린 지를 알 수 없어서 쭉 적어봤습니다!!처음 docker-compose up 을 실행하면 ./postgres-data 폴더가 없어서 docker postgres의 폴더를 복사해서 가져와 매핑합니다. 매핑 되어있는 폴더 덕분에 우리는 로컬 폴더와 TypeORM 을 사용해서 데이터에 변화를 주고 이러한 CRUD 는 docker postgres 에 반영됩니다.이러한 매핑 덕분에 docker 가 문제가 되어 docker postgres 의 데이터가 삭제되어도 로컬에서 저장된 데이터를 매핑할 수 있어 데이터를 보존할 수 있습니다.로컬에서 ./postgres-data 를 삭제하고 docker-compose up 을 실행하면 docker postgres 는 로컬의 CRUD 중 Delete 상황을 docker postgres 에 반영하여 데이터를 모두 삭제하고 폴더가 없어졌으니 다시 받아오는 작업을 한다. 혹시 잘못된 개념 부분이 있을까요?