묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
입력값 길이 질문드립니다.
안녕하세요강의를 보면서 문제를 푸는중에 입력값에 제한이 주어져 있는 문제들이 몇명 있었습니다코딩테스트에서 입력값의 제한은 따로 두지 않아도 되는건가요?백준 코딩테스트에서만 입력값의 제한이 있을때 안해도 되는걸까요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
스토어 모듈화를 시키면 TodoList.vue가 보이지 않는 현상
modules로 따로 모듈화 시키지않고store.js에 state, getters, mutations을 바로 적용하면정상작동이 되는데store.jsimport Vue from "vue" import Vuex from "vuex" import todoApp from "./modules/todoApp"; Vue.use(Vuex); export const store = new Vuex.Store({ modules : { todoApp : todoApp } });module/todoApp.jslet storage = { fetch(){ const arr = []; if (localStorage.length > 0){ for (let i=0; i< localStorage.length; i++){ let JsonStr = localStorage.getItem(localStorage.key(i)) arr.push(JSON.parse(JsonStr)); } } return arr; } }; const state = { headerText : "TODO it!", todoItems : storage.fetch() }; const getters = { getheaderText(state){ return state.headerText; } }; const mutations = { addTodo(state,obj){ //obj -> {completed: false, item: value} //JSON.stringify 하는 이유는 값을봤을때 obj라 떠서 정보를 모름 localStorage.setItem(obj.item, JSON.stringify(obj)); state.todoItems.push(obj) }, clearAll(state){ localStorage.clear() state.todoItems = [] }, removeTodo(state, payload){ // payload -> {obj: obj, index: index} console.log(payload.obj.item, payload.index, state.todoItems) localStorage.removeItem(payload.obj.item); state.todoItems.splice(payload.index,1) }, toggleComplete(state, obj){ //해당 객체 체크하기 obj.completed = !obj.completed; //해당 객체 LocalStorage갱신 //체크 전 삭제 뒤 체크 후로 다시 추가 localStorage.removeItem(obj.item); localStorage.setItem(obj.item, JSON.stringify(obj)) } }; export default { state : state, getters : getters, mutations : mutations }TodoList.vue<template> <section> <transition-group name="list" tag="ul"> <li v-for="(todoItem,index) in this.$store.state.todoItems" v-bind:key="todoItem.item" class="shadow"> <i class="checkBtn fas fa-check" v-bind:class="{checkBtnCompleted: todoItem.completed}" aria-hidden="true" v-on:click="toggleComplete(todoItem)"></i> <span v-bind:class="{textCompleted: todoItem.completed}">{{todoItem.item}}</span> <span class="removeBtn" @click="removeTodo(todoItem, index)"> <i class="far fa-trash-alt" aria-hidden="true"></i> </span> </li> </transition-group> </section> </template> <script> export default { //props : ["propsdata"] methods : { removeTodo(obj, index){ //this.$emit("removeTodo", obj, index) const payload = { obj : obj, index : index } this.$store.commit("removeTodo", payload) }, toggleComplete(obj){ //this.$emit("toggleComplete", obj) this.$store.commit("toggleComplete", obj) }, } } </script> <style scoped> ul { list-style-type: none; padding-left: 0px; margin-top: 0; text-align: left; } li { font-family: 'DynaPuff', cursive; font-family: 'Karla', sans-serif; display: flex; min-height: 50px; height: 50px; line-height: 50px; margin: 0.5rem 0; padding: 0 0.9rem; background: white; border-radius: 5px; } .checkBtn { line-height: 45px; color: #62acde; margin-right: 5px; } .removeBtn { margin-left: auto; color: #de4343; } .list-enter-active, .list-leave-active { transition: all 1s; } .list-enter , .list-leave-to{ opacity: 0; transform: translateY(30px); } .textCompleted { text-decoration: line-through; color: #b3adad; } .checkBtnCompleted { color : #b3adad } </style>왜 module로 따로 모듈화 시키고store.js에 state, getters, mutations을 todoApp으로 등록하면TodoList.vue에서 보여지지 않는걸까요?모듈화만 시켰을 뿐인데 왜 차이가 나는걸까요?밑 이미지는 mutations들도 정상작동이 되는데 TodoList에서 보여지지 않는 현상 첨부입니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
test 디렉토리에서 h2 연결 종료 & application.yml 파일을 지울 경우의 DB
안녕하세요.h2 콘솔에서 연결을 끊은 상태에서,test.resources에 있는 application.yml 파일을 지우고, 테스트 메서드들을 실행시켰을 때 아래의 결과가 나왔습니다.h2 연결이 끊겼고, 별도의 설정이 없었기때문에 메모리 모드로 돌려질 거라고 생각했는데왜 jdbc:h2:tcp://localhost/~/jpashop 인건지 궁금합니다..!
-
미해결다양한 사례로 익히는 SQL 데이터 분석
fetch first 5 rows 관련 질문
안녕하세요 선생님:) 질문이 있어 글을 올립니다.제가 배운 바로는 상위 5개 결과값을 뽑아줄 때, limit 5를 쓰는 것으로 알고 있었습니다.그런데 fetch first 5 rows는 처음 들어봐서 혹시 이 기능에 대해 조금 더 설명해주실 수 있을까요?감사합니다
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
Java에서 Array와 LinkedList 메모리 영역
Java의 경우 배열이나 List와 같은 객체의 경우 모두 Heap 영역에 저장되는 것으로 알고 있는 데 설명하신 부분은 운영체제의 관점(c++와 같은 언어)에서 이루어 진다고 이해하면 될까요?
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
Vue.js 스타일 가이드 문서가 안나옵니다
Vue.js 스타일 가이드 문서페이지가 사라졌어요 ㅠㅠ
-
해결됨이미지 관리 풀스택(feat. Node.js, React, MongoDB, AWS)
onSubmit 이미지 업로드에서 업로드 성공 또는 에러 메세지가 발생되지 않습니다
일단 저는 node.js 서버 환경이 아닌 Springboot 서버 환경이고 front에서 http://localhost:8080/images api로 이미지를 잘 전달 합니다! 그런데 한 번 전달하게 되면이미지 성공 toast알림이 뜨지 않고 또한 다시 초기화를 해주는 쪽 블럭으로 넘어가지 않는 것 같습니다코드는 강사님꺼 그대로 가져다 사용하였고 server쪽 url 호출시 cors문제가 있어서 package.json에 proxy 설정해주었고 백엔드 서버에 1번은 제대로 가져오는 것까지 확인하였습니다. < 이게 백엔드에서 file에 대한 정보 찍어봤을 때 나온 결과값입니다.import React, { useState } from 'react' import { toast } from "react-toastify" import axios from 'axios'; ... [생략] const onSubmit = async (e) => { e.preventDefault(); const formData = new FormData(); formData.append("image", file) console.log(formData); try { const res = await axios.post("http://localhost:8080/images", formData,{ headers: { "Content-Type" : "multipart/form-data" }, onUploadProgress: (e) => { setProgress(Math.round(100 * e.loaded/e.total)); }, }); toast.success("success!! 이미지 업로드 성공"); setTimeout(() => { setProgress(0); setFileName(defaultUpload); setFileUrl(null); }, 3000); } catch (error) { toast.error(error.message); setProgress(0); setFileName(defaultUpload); setFileUrl(null); console.error(error); } }왜 try 부분에서 성공시/에러시에 대한 아웃풋을 넘겨주지 않는지 잘 모르겠습니다 ㅠ 답변 부탁드릴게요현재까지 수강중인 내용은 db를 통해 이미지 정보 저장하기까지 들었습니다
-
해결됨블렌더 처음 시작부터 로우폴리 3D 애니메이션 까지
boolean 툴
boolean 툴 사이드바에 추가하려고edite_preference_bool검색_ 체크박스 체크_경로 view 3D > siderar > edite tool 까지 똑같이했는데사이드바에 edite 창은 생겼지만, 불툴이 안뜨는데요.위 preference 다음에 뭐 따로 눌러야하는게있나요? (하얀체크박스말고)
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
강의순서 질문드립니다.
안녕하세요스프링입문스프링 핵심원리 기본편http위 세개를 수강한 상태인데9월부터 스프링을 사용해 웹 어플리케이션을 개발해야 하는 학교 졸업작품 프로젝트가 있습니다. mvc1,2로 넘어갈지 야생형코스로 가야할지 모르겠어서 질문드립니다.정답이 없는거 알고있지만 제 상황을 봐주시고 괜찮은거 말씀해주시면 감사하겠습니다.
-
미해결홍정모의 따라하며 배우는 C++
정적변수 질문
dosometihng 내에서 선언된 정적변수는 메모리를 할당 받은 후 dosomething 함수가 종료될때 메모리를 반납했다가. 다시 함수를 만날때 이전 기록을가지고 메모리를 할당받는건가요?아니면 메모리를 반납을 아예 안하는건가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
빠른 응답 속도의 이유
안녕하세요.비 연결성의 특징에서일반적으로 초 단위 이하의 빠른 속도로 응답가 있었는데요.비연결성을 사용하면, 서버 자원을 효율적으로 사용할 수 있도록 하는 건 이해가 가지만,빠른 속도로 응답이 가능하다는 건 그 이유를 잘 모르겠습니다.왜 그럴까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
log.info()
아래와 같은 코드에서 log.info("mapping-get-v2")인데 mapping-get-v2대신 mappingGetV2를 써도 되는 건가요?저 안에 들어가는 것의 기준이 뭔가요?? @GetMapping(value="/mapping-get-v2") public String mappingGetV2() { log.info("mapping-get-v2"); return "ok";
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
@Repository 확장
안녕하세요@Repository와 직접 관련된 내용은 아니지만 질문 올려봅니다MSA같은데서 만약 간접적으로 DB 또는 다른 시스템의 로직을 구현하고 있고, 만약 API통신 중 Rollback 해야하는 상황이 발생한다면 보상로직 구현을 위해 @Repository와 같은 Custom Annotation 을 사용해도 되는지요? 물론 AOP를 사용하기 위해 컴포넌트 스캔 범위 또는 annotation 을 정하고 용도에 맞게 써야할 거 같긴 하지만요(물론 @는 extends 안되는건 알고 있습니다)MSA를 깊게 겪지 않아서 질문드려 봅니다. 강의와는 직접 연관되는 부분은 아니라 죄송합니다.
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
로컬스토리지에서 값 가져올 때 App 함수블럭 밖에서 하는 이유가 따로 있나요?
localStorage에 있는 todoData를 가져올 때 App 밖에서 하는 이유가 있나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello-mvc?name=spring!! 실행시 웹페이지 창에 뜨지 않는 오류가 발생합니다
우선 다음과 같이실행을 하고edge를 통해서 localhost:8080/hello-mvc 를 진행하면위와 같은 화면이 실행이 되고localhost:8080/hello-mvc에 ?name=spring!!를 붙여서 실행을 해도다음과 같이 페이지가 출력될 뿐 강사님과 같은 화면을 출력할 수가 없습니다.ㅠㅠ
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
상세페이지 가격크롤링
가격 크롤링할때 상세페이지에서 바로 크롤링 하려고 아래처럼 했는데 안됩니다. ㅠㅠ뭐가 잘못된 걸까요?
-
미해결웹 게임을 만들며 배우는 React
useEffect 부분 질문 있습니다.
useEffect(() => { // componentDidMount, componentDidUpdate 역할 interval.current = setInterval(changeHand, 100); ----> 1번 코드 return () => { // componentWillUnmount 역할 clearInterval(interval.current); ----> 2번 코드 } }, [imgCoord]);위 코드에서 조금 찝찝한 부분이 있어서 질문(Q1, Q2, Q3) 드립니다.처음 RSP 함수 컴포넌트 코드가 실행되고 컴포넌트가 생성되면, 1번 코드가 실행됨0.1초 후 changeHand 함수가 실행돼서 state가 바뀜state 의 변화로 RSP 함수 컴포넌트 코드가 재실행되기 전에 2번 코드가 실행된 후 기존 RSP 컴포넌트가 소멸됨함수 컴포넌트 코드가 재실행되면서 컴포넌트가 생성되면, 1번 코드가 다시 실행됨 === (1번 과정)(2번 과정으로 다시 반복)Q1. 그러면 componentDidMount 랑 componentWillUnmount 인 상황만 반복될 뿐, class 컴포넌트 라이프사이클에서의 componentDidUpdate 와 동일한 역할을 하는 상황은 Hooks에서는 만들어지지 않는 건가요?Q2. 강의 설명에 '두 번째 인수 배열에 넣은 값(예제에서는 imgCoord)들이 바뀔 때 useEffect가 실행됨' 이라고 나와있는데, 처음 컴포넌트가 생성되었을 때 useEffect의 componentDidMount가 실행되는 것을 보면 두 번째 인수 배열에 넣은 값들이 바뀌지 않아도 useEffect는 반드시 실행되어야 하는 것 아닌가요?또한 class 컴포넌트에서는 비동기 함수 외부에서 선언한 변수를 함수 내부에서 사용할 때 함수 내부의 변수의 참조값이 변하지 않는 문제가 생겼었는데, 함수 내부에 변수를 선언해 줌으로써 해결했던 걸로 기억합니다.Q3. 여기서도 마찬가지로 useEffect의 두 번째 인수 배열은 외부에서 선언한 변수를 useEffect 함수 내부로 가져와서 참조관계를 그때그때 바꾸기 위한 용도로 사용된 것 아닌가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberServiceTest - 회원가입() 시 에러가 납니다.
[영상 5분 30초]Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'memberRepository' for bean class [jpabook.jpashop.repository.MemberRepository] conflicts with existing, non-compatible bean definition of same name and class [jpabook.jpashop.MemberRepository]에러내용은 위와 같습니다.찾아보니 [jpabook.jpashop.repository.MemberRepository]에 있는MemberRepository의 bean 이름과[jpabook.jpashop.MemberRepository]에 있는 MemberRepository의 bean의 이름이 중복돼서 나는 에러라고나오는데, [jpabook.jpashop.MemberRepository] 의 MemberRepository 는 이미 삭제된 상태인데도 위와 같은 에러가 뜨는 이유를 모르겠습니다.ㅠ
-
미해결파이썬 텍스트 분석 입문 - 데이터 수집부터 분석까지
문의드립니다.
안녕하세요 문의드립니다.Mecab 설치 오류가 나서 파이썬, 아나콘다를 모두 삭제하고 재설치했습니다.pdf 에 나온 anaconda.com으로 접속해서 다운 받고 설치했습니다.아나콘다 네비게이터를 켠 뒤 쥬피터 노트북 launch를 누르면exit code1 이라는 오류가 뜹니다.그런데 쥬피터는 일단 설치가 되어 있고 실행도 됩니다.이후 cmd에 말씀하신 conda create –n py37 python=3.7.9 anaconda 를 입력하면 아래와 같은 창이 뜹니다.가상 환경 설치가 안 되었는데 어떻게 해야 하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
[4분 30초] Run하면 패키지 이름이 좀 다른데 이유가 무엇인가요?
->이것은 제가 만든 패키지입니다.저는 default package로 되어있는데선생님께서는Test Results라고 되어있어요혹시 제가 어디서 잘못한걸까요?