묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
vscode postgresql extension이 실행되지 않습니다.
강사님께서 설명해주신대로 입력해서 vscode extension 설치 후에 진행하려고 하는데 role "postgres" does not exist 라는 오류와 함께 extentsion 진행이 되지 않습니다. 혹시 무엇이 문제인지 알 수 있을까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다.
영상 안 보고 풀어봤는데 while문 하나로만 풀었습니다. 부탁드려요// N일 동안 매출기록을 주고 연속된 K일 동안의 최대 매출액이 얼마인지 구하라. function solution(n = 0, k = 0, arr = []) { let answer = 0; let left = 0; let right = 0; let sum = 0; while (right < n) { // 0~k-1 까지 right로만 움직임. if (right < k) { sum += arr[right++]; answer = sum; } else if (right >= k) { sum -= arr[left++]; sum += arr[right++]; if (sum > answer) answer = sum; } } return answer; } console.log(solution(10, 3, [12, 15, 11, 20, 25, 10, 20, 19, 13, 15])); // 56 // 11 20 25 => 56
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
중복 검사 (메소드 활용)
for문으로 구현하고나서 문득 메소드로 중복검사를 구현할 수 있을 거 같은 느낌이 들었습니다.전체 숫자에서 하나의 값을 저장하고 모든 숫자를 한번씩 검색 하면은 find(map()) 또는 map(find()) 방법으로 구현 할 수 있을까요?아님 find 하나만으로도 구현 할 수 있을까요?
-
해결됨웹 프론트엔드를 위한 자바스크립트 첫걸음
강사님 코드를 똑같이 따라했는데 에러코드로 떠요.
🚨질문 작성법 및 안내사항질문 작성법-'섹션6. 디지털 시계 개발하기 수업' 질문입니다.약 7분 8초 쯤 수업을 따라하고 있는데 setNowDate(month, date, week[day]); }; const setNowDate = (month, date, day) => { dateElement.textContent = `$ {month} 월${date}일 ${day}`; 가자꾸 Uncaught TypeError: Cannot set properties of null (setting 'textContent')오류가 뜨며 아무것도 보여주지 않아 강의 진행에 어려움을 겪고 있습니다. 어떻게 해결을 해야될까요?
-
미해결처음 만난 리액트(React)
챕터 6 Notification 만들기 실습 질문입니다.
Warning: ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createroot교수님 코드르 따라가면서 공부하고 있습니다.Lifecycle method의 호출 확인을 위해 console 창에 들어갔는데 제일 위에 저 경고가 떠있는데 왜 그런건가요??
-
해결됨[JS] Phaser 게임 제작 - 뱀파이어 서바이벌 클론
catnip 이펙트 범위가 이상하네요
디버깅으로 확인했는데, catnip의 써클 범위가 캐릭터가 이동할 때 마다 캐릭터 중심에서 살짝 어긋나는데, 캐릭터의 중심에 고정할 수 있을까요?import Phaser from "phaser"; import Player from "../characters/Player" export default class Catnip extends Phaser.Physics.Arcade.Sprite { // scene의 startingPosition 위치에 데미지 damage와 크기 scale의 Catnip을 생성합니다. constructor(scene, startingPosition, damage, scale) { super(scene, startingPosition[0], startingPosition[1], "catnip"); // 화면 및 물리엔진에 추가합니다. scene.add.existing(this); scene.physics.world.enableBody(this); // Catnip은 static 공격입니다. (플레이어 주변에만 발생하고 몹으로 이동하지 않음) scene.m_weaponStatic.add(this); // 데미지를 멤버 변수로 설정해줍니다. this.m_damage = damage; // 크기, 투명도, depth를 설정해줍니다. this.scale = scale; this.alpha = 0.5; this.setDepth(5); // catnip은 동그랗게 생겼으므로 물리적 영역을 원으로 설정해줍니다. this.setCircle(30); // 애니메이션을 재생합니다. this.play("catnip_anim"); } // 플레이어가 움직이면 Catnip도 따라 움직여야 하므로 move 메서드를 만들어주었습니다. move(vector) { this.x += vector[0] * 4; this.y += vector[1] * 4; } }
-
미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
파일명 짓고 구분하기가 어렵습니다
수업 거의 다 듣고 포트폴리오 만드는 중에 질문드립니다. fetchBoards로 게시판을 불러올때 리턴 객체명을 어떻게 해야할지 모르겠습니다. 예를 들어, board[], paging 값이 두개 리턴이 된다고 했을때 dto폴더에 select-board.output.ts 객체 파일을 만들어주면 될까요? 아니면 board[], paging 형태로 내보내는것은 나쁜 방식일까요? 웬만하면 프론트가 아니라 백에서 처리해서 내보내려고 합니다. 이런식으로 폴더 구분이랑 파일 이름 짓기가 모호한 경우가 많은데 여기에 초점을 맞춘다고 시간을 허비하지말고 구분만 잘해놓는게 좋을까요?
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
혹시 node.js 10.24 버전으로 해도 상관없나요?
10.16 으로 nvm인스톨해도 계속 10.24 로 버전이 채킹이되더라구요
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
VScode postgresql 익스플로러 'Cannot get password' 에러
안녕하세요 강의 잘 보고 있습니다!다름이 아니고 VScode에서 postgres 익스플로러로 DB연결을 해주려는데 자꾸 오른쪽 밑에 'Cannot get password'라는 에러가 발생해서 연결이 되지 않습니다... yaml파일이랑 app.module도 잘 확인했는데 해당 에러때문에 DB 연결이 안됩니다. 확인 부탁드릴게요,, 캡쳐본입니다. post로 바꿔고 해봐서 현재 post입니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드리뷰 부탁드립니다!
// 자릿수끼리의 합이 제일 많은 것을 출력. // 같은 경우 원래 숫자가 더 높은 쪽을 출력 function solution(n = 0, arr = []) { let answer = 0; let max = Number.MIN_SAFE_INTEGER; const splitNums = arr.map((val) => (val + "").split("")); for (let i = 0; i < splitNums.length; i++) { const temp = splitNums[i].reduce((prev, cur) => +prev + +cur, 0); if (temp > max) { max = temp; answer = arr[i]; } else if (temp === max) answer = arr[i]; } return answer; } console.log(solution(7, [128, 460, 603, 40, 521, 137, 123])); // 137 혼자 풀어봤습니다.. for문 안에 배열 메서드가 들어가는게 좀 이상한 것 같은데 이렇게 써도 무방한지 여쭙고싶습니다.혹은 수정할 점이 있다면 조언해주시면 감사하겠습니다!
-
미해결[코드팩토리] [입문] 9시간만에 끝내는 코드팩토리의 Javascript 무료 풀코스
Copy by Value에 대해 질문있습니다!
안녕하세요, Copy by Value 부분이 헷갈려서 질문드립니다.강의 7:19초에서의 그림을 보면, clone는 original 값을 복사하고 서로 다른 주솟값을 가진 것으로 이해했습니다. 이때 clone 값 추가 없는 let original = '안녕하세요'; let clone =original; 상태에서 original === clone을 하면 true가 나옵니다. 서로 다른 주솟값을 가지지만 clone이 original 값을 복사했기 때문에 true인 것으로 이해하면 될까요??혹시 let original2 = '감사합니다'; let clone2 = '감사합니다';의 경우 original2 === clone2가 true인데 이때도 서로 다른 주솟값에 저장되지만 값은 같아서 true인 것일까요?
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
구글 로그인 오류 .
강의와 동일하게 진행을 했음에도 불구하고 오류가 계속 나옵니다 . 어떻게 해야할지 구글링을 해보아도 답을 찾기 힘들어 질문합니다 해결방법을 알려주시면 정말 감사하겠습니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
혼자 푼 것 코드리뷰 부탁드립니다!
// 한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리 function solution(str = "", char = "") { let answer = []; let count = 0; for (let i = 0; i < str.length; i++) { if (str[i] === char) { count = 0; answer.push(count); } else { count++; answer.push(count); } } count = 1; for (let i = answer.length - 1; i >= 0; i--) { if (i > 0 && answer[i - 1] > count) { answer[i - 1] = count; count++; } else { count = 1; } } return answer; } console.log(solution("teachermode", "e")); // 1 0 1 2 1 0 1 2 2 1 0혹시나 반례나 수정할 곳 있으면 조언 부탁드려요!
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
Prettier 적용 안되는 이슈
강의에서 소개해주신 것 처럼 Format on Save 옵션을 적용하였는데도, 저장 시 자동으로 Formatter가 작동하지 않아 서치해보니,Default Formatter 옵션이 위처럼 없음(null)로 설정이 된 경우에는 Prettier로 적용해주어야 정상동작하더라구요.해당 내용 공유드려요 ㅎ
-
해결됨실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
toHaveClass 테스트코드 관련하여 질문 남깁니다!
안녕하세요 현재 섹션2 관련하여 강의 듣고 있는 수강생입니다. 다름이 아니오라, 현재 강의에선 순수 css를 통해 클래스명 테스트 코드를 작성해주셨는데요..! 만약에 css 모듈이나, vanilla-extract 같이 클래스명이 동적으로 생성되는 경우에는 어떤식으로 테스트 코드를 작성해야할까요 ? 예전에 혼자서 vanilla-extract 관련해서 테스트 코드를 작성해보려고 했던적이 있는데, 단순히 toHaveClass로만 하려고하니까, 클래스명이 동적으로 결정이 되어서 에러가 계속 발생하더라구요..! (예를 들어서 클래스명이 header라면, headerhnfgbvds341 이런식) 강의 너무 잘 듣고 있습니다! 읽어주셔서 감사합니다. import React from "react"; import { render, screen } from "@testing-library/react"; import TestComponent from "@/components/TestComponent"; import { testContainer } from "@/components/testComponent.css"; describe("Example Component Test", () => { test("클래스명에 대한 테스트", () => { render(<TestComponent />); const exampleElement = screen.getByText("TestComponent"); expect(exampleElement).toHaveClass(testContainer); }); }); ```
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
answer 변수 없이 풀기
function solution(n) { if (n == 0) return ""; return solution(Math.floor(n / 2)) + String(n % 2); }
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
NodeJS 는 왜 싱글 스레드라고 불리는가요?
안녕하세요! 개발을 시작한지 얼마되지 않은 개발자입니다. 수업의 내용을 조금 인용하면 "nodeJS 는 싱글 스레드 모델이고, 이벤트 룹이 앞단에서 nonBlocking 요청 빠르게 수행하고 만일 Blocking 요청이 들어온다면 워커 스레드에 넘긴다. " 라고 이해했습니다.하지만 워커 스레드를 사용하게된다면 그것이 싱글 스레드라는 이름에 맞는건지 의구심이 듭니다. 단순히 이벤트 룹이라는 특정 스레드가 앞단에서 Blocking 요청과 nonBlocking 요청을 구분해서 처리를 하기에 싱글 스레드라는 말이 나온건가요?그리고 이벤트 룹이 Blocking 요청과 nonBlocking 요청을 나누는 기준 또한 궁금합니다.마지막으로 구글링을 하며 본 정보에 의하면 JavaScript 가 싱글 스레드 기반의 언어이고, NodeJS는 스레드 풀을 미리 생성하여 워커 스레드들을 미리 생성해 둔 뒤, 각 워커 노드에서 JavaScript 를 실행하여 멀티 스레드를 가능하게 한다는 글을 보았는데 이 내용이 맞다면 NodeJS 는 싱글 스레드 기반 프레임워크가 아닌것으로 받아드려도 괜찮을까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
강의자료 압축 풀기 오류
강의자료 압축을 풀고 싶은데 압축 오류가 뜨면서 압축이 안풀립니다 어떻게 해야 하나요??
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이렇게 풀어도 될까요...?
function solution(n = 0, arr = []) { let answer = []; const sortedArr = [...arr].sort((a, b) => b - a); answer = arr.map((val) => sortedArr.indexOf(val) + 1); return answer; } console.log(solution(5, [76, 92, 92, 100, 76])); // 4 2 2 1 4 막 2중 for문을 돌릴지, 돌리게 된다면 동일 점수 사람끼리 같은 등수를 해주는 조건문 이것저것 생각하다가 이렇게 한번 작성해서 돌려봤는데 여러 케이스에 부합하는 것 같아서 여쭤봅니다!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
에러가 뜨네요 수강 강의 내용에도 전체 내용이 없어서 안되네요 전체 코드는 제공이 안되나요??
import { ApolloServer } from '@apollo/server' import { startStandaloneServer } from '@apollo/server/standalone' const typeDefs = `#graphql input CreateBoardInput { writer: String title: String contents: String } type MyResult { number: Int writer: String title: String contents: String } type Query { #fetchboards: MyResult #객체 1개를 의미 fetchboards: [MyResult] # 배열 안에 객체 1개 이상을 의미! } type Mutation { # createBoard(writer: String, title: String, contents: String): String createBoard(createBoardInput: CreateBoardInput!): String }`; const resolvers = { Query: { fetchBoards: (parent, args, context, info) => { // 1. 데이터를 조회하는 로직 => DB에 접속해서 데이터 꺼내오기 const result = [ { number: 1, writer: '철수', title: '제목입니다~~', contents: '내용이에요@@@', }, { number: 2, writer: '영희', title: '영희 제목입니다~~', contents: '영희 내용이에요@@@', }, { number: 3, writer: '훈이', title: '훈이 제목입니다~~', contents: '훈이 내용이에요@@@', }, ]; // 2. 꺼내온 결과 응답 주기 return result; }, }, Mutation: { createBoard: (_, args) => { // 1. 브라우저에서 보내준 데이터 확인하기 console.log(args); console.log("=========================") console.log(args.createBoardInput.writer) console.log(args.createBoardInput.title) console.log(args.createBoardInput.contents) // 2. DB에 접속 후, 데이터를 저장 => 데이터 저장했다고 가정 // 3. DB에 저장된 결과를 브라우저에 응답(response) 주기 return "게시물 등록에 성공하였습니다!!"; }, }, }; const server = new ApolloServer({ typeDefs: typeDefs, resolvers: resolvers, cors: true, // 모든 사이트 허용하고 싶을 때 // cors: { origin: ["https://naver.com", "https://daum.net"] } // 특정 사이트만 지정하고 싶을 때 }); startStandaloneServer(server) // 4000node_modules/@graphql-tools/schema/esm/addResolversToSchema.js:62 throw new Error(`${typeName}.${fieldName} defined in resolvers, but not in schema`); at file:///Users/youssipro/Desktop/project/backend/class/section03/03-06-graphql-api-apollo-server-board/index.js:78:16