묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
에러나서 시간을 많이 잡아먹어요
window용이라서 에러가 나면 검색하느라 시간을 많이 잡아먹어요.기본 1시간 이상 걸리는거 같아요이걸 감내해야되는 건가요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
질문있습니다!
뮤직비디오 문제에서count( ) 함수에서 cnt를 1로 설정하셨는데, 0이 아닌 1인 이유가 궁금합니다!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
안녕하세요 환경 관련 질문드립니다
현재 컴퓨터에 업무로 인한 파일들이 많아 용량으로 인해서 파티션을 나누는 용량을 포함해서 아무리 해도 용량 확보가 어려운 상황에.. 본체에 추가적으로 SSD를 추가할 수 없는 상황인데 혹시 현 상황에서 우분투를 외장 SSD에 설치한 뒤에 학습을 진행하여도 문제가 없을까요 ? 혹은 vm웨어를 통한 가상환경에서도 학습에 문제가 없을지 궁금합니다.
-
해결됨[코드캠프] 훈훈한 Javascript
이해가 안되는 부분..
헷갈려서 질문이 조금 많은데요ㅠㅠ[1] 5:29 대에서숫자 0이 i에 들어가고0 번째 인덱스 값을 가진 요소 1을 갖고 올 수 있고,코드 실행해주고 i(0)이 1 증가되니arr.length = 길이가 5 니까i < 5 를 조건식으로 해석해서i[0] ~ i[4] 까지 인덱스를 기준으로 출력하므로1,2,3,4,5 가 출력 되는게 제가 맞게 이해한 걸까요? [2] for ( let i = 0; i < timeKeys.length; i = i + 1 ) { console.log (timeKeys[i])} 에서 timekeys도 배열이고 똑같이 길이(length) 갖고 있으니까, 길이만큼 반복 하는 거니까 ( 길이 =4 ),timeKeys[0]timeKeys[1]timeKeys[2]timeKeys[3]이렇게 돼서 인덱스 0 부터 인덱스 3까지 출력되는거니까배열의 요소인 remainingDate (인덱스 0) ~ remainingSec (인덱스3) 까지 출력되는게 맞나요? 살짝 헷갈리니 제대로 이해했는지 모르겠어요..ㅠㅠ [3] 객체 접근할 때 쓰는 브라켓 노테이션 원리는 알겠는데console.log(documentObj[docKeys[i]]);이 부분이 잘 이해가 안돼요documentObj 라는 객체를 출력하기 위해 브라켓 노테이션을 사용해서 태그를 접근한 것 같은데,[docKeys[i]] 를 사용한 원리와,documentObj[docKeys[i]] 자체가 태그가 되는 이유를 모르겠어요.. 자세하고 쉽게 알려주시면 감사하겠습니다!
-
미해결Vue.js 시작하기 - Age of Vue.js
<template>과 <script> 간의 데이터 전달
안녕하세요.<template> 안에 <div v-for="(a, index) in aList" .... 라고 구현하고, 여기서 저는 v- for문 안에서 a가 변할 때마다 그것을 감지하여 <script>에서 함수를 구현하고 싶었습니다. v-for안에서 aList를 돌면서 'a 변하기 -> 감지 -> script의 함수에서 로직 실행 -> 화면 출력' 를 반복하고 싶습니다.input, select 형태가 아니라 화면을 출력하기 위한 v-for 문입니다. 제가 생각한 방법은1) v-model이나 v-bind 사용 -> 적절하지 않은 것 같습니다2) a를 script의 지역변수로 넣어서 해당 지역변수를 감지하기 -> 어떻게 하는지 방법을 모르겠습니다.두 방법 모두 다 잘 되지 않아서 방법을 여쭤보고 싶습니다. 감사합니다!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Record 타입 질문
interface IProfile { name: string; age: number; school: string; hobby?: string; } type eee = "철수" | "영희" | "훈이"; type fff= Record<eee, IProfile>;fff가 key가 철수,영희,훈이고 value가 IProfile 인것은 이해하는데, 이게 철수,영희,훈이가 뭔 타입을 말하는 건지 모르겠고,이게 뭔 의미인지도 잘 모르겠어요
-
미해결인터랙티브 웹 개발 제대로 시작하기
left:-400vw 가 아닌 translateZ(100vw); 을 입력하신 이유가 궁금합니다.
벽의 위치를 지정하면서 left:-400vw 가 아닌 translateZ(100vw); 을 입력하신 이유가 궁금합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드려요 ㅎㅎ
const solution2 = (arr, count = 0) => { for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr.length; j++) { const isTop = i === 0; const isBottom = i === arr.length - 1; const isLeft = j === 0; const isRight = j === arr.length - 1; const current = arr[i][j]; (isTop || arr[i - 1][j] < current) && (isBottom || arr[i + 1][j] < current) && (isLeft || arr[i][j - 1] < current) && (isRight || arr[i][j + 1] < current) && count++; } } return count; };
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
이벤트 리스너 달기 질문드립니다.
강의 내용과 같이 적었는데 작동하지 않아서 질문드립니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
EDWIN, 코드리뷰 부탁드립니다.^^ Array.from 을 활용해 봤습니다.
const solution = (arr) => { const resultArr = [ ...arr, ...arr.map((_,location) => Array.from({length:arr.length}, (_,idx) => arr[idx][location])), Array.from({length:arr.length}, (_, idx) => arr[idx][idx]), Array.from({length:arr.length}, (_,idx) => arr[arr.length-idx-1][arr.length-idx-1]) ] return Math.max(...resultArr.map(list => list.reduce((pre, cur) => pre+cur, 0))) }
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
windows .nvmrc nvm use 실행 오류
윈도우에서 개발중입니다현재 Vue .js 3 버전을 사용중이라 Vue 프로젝트 실행시 node 를 12.14.0 버전으로 사용하고 있습니다BackEnd Api 설치 후 Api 프로젝트를 실행시에는 nvm 을 이용해 10.16.3 버전으로 실행하면 정상 실행됩니다하지만 Vue 프로젝트와 Api 프로젝트 두개를 동시에 띄우려고 하니까 node 버전을 하나만 인식하기 때문에 한쪽의 프로젝트에서는 문제가 발생했습니다.위 문제를 해결하기 위해 프로젝트 최상위 경로에 .nvmrc 파일을 생성 후 노드 버전을 명시ex) 10.16.3npm use 를 실행했는데 A version argument is required but missing.에러가 출력됩니다.nvmrc 파일을 제대로 인식하지 못 하는것 같은데 이 문제를 어떻게 해결 가능할까요터미널에서 기본적인 nvm list , nvm --version 등은 모두 인식하며 터미널 재시작 및 컴퓨터 재시작도 해봤지만 동일한 현상입니다nvm 버전은 1.1.11 이며 사용하려는 node 버전은 nvm 을 통해 모두 설치되어 있습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
강의를 다 듣고 어떻게 공부해야 할지 궁금합니다.
Q1. nest.js 같은 라이브러리들을 자유자재로 써야 하나요?Q2. docs를 따로 보면서 사이드 프로젝트를 만들며 공부해야 하나요? 아니면 또 다른 강의를 구매해서 공부해야하나요? 기초적인 지식은 어느정도 감이 잡힌 것 같은데, 세부적인 설정 부분이나 고급 기능들은 어떻게 접근할지 잘 모르겠습니다. 강사님은 어떻게 공부하시나요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
다른 방식으로 풀었는데 이 풀이도 성능이 괜찮을까요?
function solution(n, m) { const answer = []; const DFS = (num, combination) => { if (combination.length === m) { answer.push(combination.slice()); return; } if (num > n) return; DFS(num + 1, [...combination, num]); DFS(num + 1, [...combination]); }; DFS(1, []); return answer; } console.log(solution(4, 2));이전에 배웠던 방식처럼 해당 수를 포함하는 경우와 포함하지 않는 경우로 DFS를 호출하고 combination 배열이 길이가 m이면 answer에 push하도록 했습니다.이 방식으로 풀어도 정답 코드와 성능이 크게 다르지 않을까요?
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
중첩반복문 해결
const solution = (arr) => { let cnt = 1; let rankList = {}; let sort = [...arr].sort((a, b) => b - a); sort.forEach( (point, idx) => point !== sort[idx - 1] && (rankList[point] = cnt + idx)); return arr.map((point) => rankList[point]); };중첩을 결하고자 위와 같이 풀어봤습니다. 평가를 부탁드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
CORS 에러
결제 API를 테스트 하던 중 CORS에러를 발견하여 나름대로 수정을 해보려고 했으나.... 헤매고 있어서 질문 드립니다. 우선 에러 메시지가 아래처럼 나왔습니다.(현재 쓰고 있는 에디터가 webstorm이라 혹시나 해서 vscode로 실행했는데요 결국 동일한 에러가 발생했습니다.)결국 preflight에서 CORS에러가 난건데요.이를 찾아보니... 프론트/백엔드 모두에서 설정해야 해서 다음과 같이 했습니다. Front ---------------------------------------------테스트 해보려고 변수를 하드코딩 했습니다.axios.defaults.withCredentials = true; axios.post( 'http://localhost:3000/graphql', // 쿼리 작성 { query: ` mutation { createPointTransaction(impUid: "imp_12345678", amount: 100) { id impUid amount status } } ` }, // headers { headers: { "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhNmQ3NjU5Yy05NzA2LTQ4MDgtOTA0OC02ZjI4YWY4NmNhN2UiLCJpYXQiOjE2OTQwNzI1MjQsImV4cCI6MTY5NDA3NjEyNH0.Uch2B5ewPc6yVsy4LuyOJzAUXEhnypbTxKmtQt6hRBw", } } ) Backend -------------------------------------------------main.tsimport { NestFactory } from '@nestjs/core' import { AppModule } from './app.module' import { ValidationPipe } from '@nestjs/common' import { HttpExceptionFilter } from './commons/filter/http-exception.filter' async function bootstrap() { const app = await NestFactory.create(AppModule) // cors설정 추가 app.enableCors() app.useGlobalPipes(new ValidationPipe()) app.useGlobalFilters(new HttpExceptionFilter()) await app.listen(3000) } bootstrap() 제가 찾은 방법은 여기까지 인데요.다른 방법을 찾지 못해 질문 드립니다.;;;;
-
해결됨시나브로 자바스크립트
소스파일
js로 쇼핑몰 만드는 강좌에서 github 계정https://github.com/eunjae-lee/sinabro-js 아닌가요?안 열리네요? 혹시 private 인가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
utilty 타입 undefined
interface IProfile { name: string; age: number; school: string; hobby?: string; } type aaa = Partial<IProfile>;aaa에다가 마우스 올려 놓으면type aaa = { name?: string | undefined; age?: number | undefined; school?: string | undefined; hobby?: string | undefined;} 이렇게 뜨는데 저 undefined가 왜 뜬건지 모르겠어요.분명 선생님께서는 안 뜨는데
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드리뷰 부탁드립니다.
<html> <head> <meta charset="UTF-8" /> <title>출력결과</title> </head> <body> <script> function solution(s) { let answer; let stack = []; for (let x of s) { if (x === "+") { stack.push(stack.pop() + stack.pop()); } else if (x === "-") { stack.push(stack.pop() - stack.pop()); } else if (x === "*") { stack.push(stack.pop() * stack.pop()); } else if (x === "/") { stack.push(stack.pop() / stack.pop()); } else stack.push(Number(x)); } answer = stack[0]; return answer; } let str = "352+*9-"; console.log(solution(str)); </script> </body> </html> 위에 같이 풀어도 상관 없을까요? rt, lt변수를 사용하지 않고 그냥 바로바로 pop()한 값들을 계산하여 넣어줬습니다. 가독성이라던가 코드의 질(?) 측면에서 문제점이 있을까요? 감사합니다.
-
미해결처음 만난 리액트(React)
미니 프로제트에서 map의 요소를 왜 찾지 못하는지 모르겠습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 미니 블로그 실습을 진행하던 중 위와 같은 오류를 발견하였습니다. commentList 파일의 map함수를 보았는데, 분명 배열이여서 map함수가 실행이 되어야 하는데 찾이 못하더라구요 import React from "react"; import styled from "styled-components"; import CommentListItem from "./CommentListItem"; const Wrapper = styled.div` display: flex; flex-direction: column; align-item: flex-start; justify-content: center; & > * { :not(:last-child){ margin-bottom: 16px; } } `; function CommentList(props){ const { comments } = props; return ( <Wrapper> {comments.map((comment, index) => { return <CommentListItem key={comment.id} comment= {comment}/> })} </Wrapper> ) } export default CommentList;혹시 힌트를 알 수 있을까요?
-
해결됨처음 만난 리액트(React)
변경된 input 값이 텍스트로 보이지 않습니다.
개발자 도구로 보면 섭씨에 값 입력 시 화씨 input에도 값이 담기고 변하는데 텍스트는 보이지 않습니다...찾아보니 <input value="{props.temperature}"> 대신 <input defaultValue="{props.temperature}"> 를 쓰면 된대서 defaultValue를 쓰면 텍스트가 잘 나옵니다...아래 사진은 <input defaultValue={props.temperature}>으로 수정했을 때 입니다. 왜 <input value=""> 대신 <input defaultValue="">를 사용해야 정상적으로 나오는지 궁금합니다. TemperatureInput.jsxconst scaleNames = { c: "섭씨", f: "화씨", }; function TemperatureInput(props) { const handleChange = (event) => { props.onTemperatureChange(event.target.value); }; return ( <fieldset> <legend>온도를 입력해주세요(단위: {scaleNames[props.scale]})</legend> <input vaule={props.temperature} onChange={handleChange} /> </fieldset> ); } export default TemperatureInput; Calculator.jsximport React, { useState } from "react"; import TemperatureInput from "./TemperatureInput"; function BoilingVerdict(props) { //물 끓음 감지 if (props.celsius >= 100) { return <p>물이 끓습니다.</p>; } return <p>물이 끓지 않습니다.</p>; } function toCelsius(fahrenheit) { //화씨 계산 함수 return ((fahrenheit - 32) * 5) / 9; } function toFahrenheit(celsius) { //섭씨 계산 함수 return (celsius * 9) / 5 + 32; } function tryConvert(temperature, convert) { const input = parseFloat(temperature); if (Number.isNaN(input)) { return ""; } const output = convert(input); //섭씨 or 화씨로 변환 const rounded = Math.round(output * 1000) / 1000; return rounded.toString(); } function Calculator(props) { const [temperature, setTemperature] = useState(""); const [scale, setScale] = useState("c"); const handleCelsiusChange = (temperature) => { setTemperature(temperature); setScale("c"); }; const handleFahrenheitChange = (temperature) => { setTemperature(temperature); setScale("f"); }; const celsius = scale === "f" ? tryConvert(temperature, toCelsius) : temperature; const fahrenheit = scale === "c" ? tryConvert(temperature, toFahrenheit) : temperature; return ( <div> <TemperatureInput scale="c" temperature={celsius} onTemperatureChange={handleCelsiusChange} /> <TemperatureInput scale="f" temperature={fahrenheit} onTemperatureChange={handleFahrenheitChange} /> <BoilingVerdict celsius={parseFloat(celsius)} /> </div> ); } export default Calculator;