묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue로 Nodebird SNS 만들기
이미지 불러올때 질문있습니다
항상 좋은 강의 감사드립니다 현재 강의를듣다가 문제가 발생하여 질문드립니다. 5-4이미지 저장하기 부분을 진행중이고 현재 저의상화은 로그인 후 글,이미지가 성공적으로 데이터베이스에 저장되고 글목록에 이미지와 쓴글이 뜹니다. 문제는 이미지를 불러올때 에러가 발생합니다. (그냥 글만쓸때는 해당 에러가 발생하지 않습니다) 이미지를 두개이상 업로드시 아래 에러가 발생합니다. 화면상으로는 문제가 없습니다만 아래 에러가 발생합니다. 이런식으로 에러가 발생합니다. 에러가 발생한부분을 추측해보아 store/posts.js라고 생각되어 찾아봐도 문제를 찾을 수 없었습니다. store/posts.js 코드입니다. export const state = () => ({ mainPosts: [], hasMorePost: true, imagePaths: [], }); const totalPosts = 51; const limit = 10; export const mutations = { addMainPost(state, payload) { state.mainPosts.unshift(payload); state.imagePaths = []; }, removeMainPost(state, payload) { const index = state.mainPosts.findIndex(v => v.id === payload.id); state.mainPosts.splice(index, 1); }, loadComments(state, payload) { const index = state.mainPosts.findIndex(v => v.id === payload.postId); // 실수: state.mainPosts[index].Comments = payload.data; Vue.set(state.mainPosts[index], 'Comments', payload.data); }, addComment(state, payload) { const index = state.mainPosts.findIndex(v => v.id === payload.postId); state.mainPosts[index].Comments.unshift(payload); }, loadPosts(state,payload) { state.mainPosts = state.mainPosts.concat(payload); state.hasMorePost = payload.length === limit; }, concatImagePaths(state, payload) { state.imagePaths = state.imagePaths.concat(payload); }, removeImagePath(state, payload) { state.imagePaths.splice(payload, 1); } }; export const actions = { add({ commit, state }, payload) { // 서버에 게시글 등록 요청 보냄 this.$axios.post('http://localhost:3085/post', { content: payload.content, image: state.imagePaths, }, { withCredentials: true, }) .then((res) => { commit('addMainPost', res.data); }) .catch(() => { }); }, remove({ commit }, payload) { commit('removeMainPost', payload); }, addComment({ commit }, payload) { this.$axios.post(`/post/${payload.postId}/comment`, { content: payload.content, }, { withCredentials: true, }) .then((res) => { console.log('addComment'); commit('addComment', res.data); }) .catch(() => { }); }, loadComments({ commit }, payload) { this.$axios.get(`/post/${payload.postId}/comments`) .then((res) => { commit('loadComments', { postId: payload.postId, data: res.data, }); }) .catch((err) => { console.error(err); }); }, loadPosts({ commit, state }, payload) { if (state.hasMorePost) { this.$axios.get(`http://localhost:3085/posts?offset=${state.mainPosts.length}&limit=10`) .then((res) => { commit('loadPosts',res.data); }) .catch(()=> { }) } }, uploadImages({ commit }, payload) { this.$axios.post('http://localhost:3085/post/images', payload, { withCredentials: true, }) .then((res) => { commit('concatImagePaths', res.data); }) .catch(() => { }) } }; 제가 헛다리를 짚는것인지 분명 잘적은것 같은데 에러가 발생합니다. 이 문제를 해결하기위해 도움 부탁드리겠습니다.
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
시작점의 ch
안녕하세요. While문 이전에 Q.push(s)를 통해 시작점을 Q에 넣는데, 시작점 s의 ch[s]=1은 필요 없는지요? for문 안에서 ch[nx]가 5일 때 skip 할 수 있어 보여서 문의 드립니다.
-
미해결스스로 구축하는 AWS 클라우드 인프라 with 테라폼(Terraform) - 기본편
Terraform으로 Virtual Private Cloud(VPC) 구성 질문입니다.
해당 챕터를 학습해보니 vpc.tf를 먼저 apply하여 생성한후 추가로 alb.tf를 다시 apply해야만 정상적으로 실행되는 것을 확인했습니다. 두개의 파일을 동시에 만들고 apply하면 EC2를 찾지 못한다는 에러가 나옵니다. 혹시 2개의 파일을 동시에 만들고 vpc.tf를 먼저 실행하고 이 부분이 완료되면 alb.tf가 실행되도록 하는 순차처리 방법이 있을까요?
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
개인 프로젝트 할 때 참고하려고 하는데 XML에서 ROWBOUNDS가 안되는 것 같습니다..
SERVICE DAO 이렇게 하고 MAPPER에는 아무것도 안건드렸는데 ROWBOUND 가 되지 않습니다.. 혹시 다른 문제가 있을까요?
-
미해결[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]
6:13 코드 질문드립니다.
6:13에서 12월 24일 ~ 31일까지를 holiday로 처리하려면 if (df_data['month'] == 12) and (df_data['day'] == 24 or df_data['day'] == 31)가 아닌 if (df_data['month'] == 12) and (df_data['day'] >= 24 or df_data['day'] <= 31)로 하는게 맞는 것 같아서 질문드립니다.
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기
#8강 중 이해가 안돼는 부분 질문
#8 강의 진행 중, GridCards.js에 if문을 활용하여 props.landingPage 가 true일때 landingpage에서 특정 영화로 넘어가는 부분을 return하고 false일때 특정 영화 페이지에서 출연 배우들로 넘어가는 부분을 return하는 것으로 이해했는데요, 그런데 제 코드에서는 그렇게 하면 landingPage에서 영화 포스터를 클릭해도 넘어가지지가 않고, 현상을 고치려고 노력중 if(!props.landingPage)로 조건문을 뒀더니 정상적으로 작동합니다. 제 생각으론 도저히 이해가 안돼는데 왜 이런 영상과 반대인 현상이 나타날까요? 깃: https://github.com/ParkSeYun98/MovieSiteApp
-
미해결그림으로 배우는 HTML/CSS, 입문!
"셀렉터 기본"강의 듣던 중 질문입니다.
제가 지금 처음으로 이 강의를 통해 프로그래밍을 배우고 있습니다. 현재 "셀렉터 기본"듣는 중입니다. 지금껏 배운 것들로 밑의 사진처럼 만들었습니다. 그러나 제가 원한 것은 클래스 2개(main, imp)를 각각 빨강, 파랑으로 만드는 것이었습니다. 무엇이 잘못된걸까요? +현재 중학교 3학년입니다. 수업 이해하기 정말 쉽고 좋아요. 잘 듣고 있습니다.
-
미해결몇 줄로 끝내는 인터랙티브 웹 개발 노하우 [초급편]
썸네일 예제
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강사님. 수업을 재밌게 듣고 있는 수강생입니다. 저는 썸네일상 (붉은 산 이미지)의 인터랙션 효과를 배워보고 싶어서 이 강의를 구입하게 되었는데 혹시 썸네일 파일도 공유 가능 하실런지요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
저 공식이 만들어진 이유가 뭔가요?
answer = answer * 10 + ( x - 48) 알고리즘을 풀때 위 공식을 세울 수 있는 방법을 알아야 할 것 같은데 미리 세워둔 공식에 대입한 코드를 짠다는것만 보고서는 이 문제를 만났을 때 풀 수 있을 지 모르겠다는 생각이 듭니다. 아스키 코드로 48~57 사이에 있다는건 알겠는데 answer = answer * 10 + ( x - 48) 이걸 하는거죠 라는 말씀이 이해가 안갑니다. 저 공식이 나오게 된 이유를 알고 싶습니다
-
미해결함수형 프로그래밍과 JavaScript ES6+
질문) 질문 있습니다^^
(사진)
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
강의 목록 순서 관련 질문이 있습니다.
안녕하세요, 리액트 공부를 시작한 직장인 입니다. 선생님의 강의가 많이 있어서 어떤 강의부터 시작을 해야할지? 그 순서가 궁금하여 질문합니다. 선생님의 강의에서 제 생각으로 순서를 정해보았는데 이렇게 리액트 학습을 진행해도 되는지? 확인 부탁 드립니다. 1. 리액트 시리즈 - 기본강의 2. 리액트 시리즈 - 유튜브 사이트 만들기 3. 리액트 시리즈 - 영화 사이트 만들기 4. 리액트 시리즈 - 챗봇 사이트 만들기 5. 리액트 시리즈 - 쇼핑몰 사이트 만들기 6. 리액트, 파이어베이스 - 채팅 어플리케이션 만들기 7. 리액트 테스트 이 순차대로 진행하면 괜찮을 까요?? 난이도를 낮은 것에서 시작하여 단계를 높여가며 배우고 싶어서요..!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의에서 사용하는 html예제들을 따로 확인할수 있는지 궁금합니다!!
강의에서 사용하는 html 소스들을 복사해서 사용하고 싶은데 따로 정리한곳이 있는지가 궁금합니다!
-
미해결이미지 관리 풀스택(feat. Node.js, React, MongoDB, AWS)
완료된 소스
안녕하세요 혹시 완료된 커밋 소스는 볼 수 없을까요...?
-
해결됨Spring Boot JWT Tutorial
genericFilterBean
genericFilterBean에 doFilter라는 메소드가 없네요.. ㅠㅠ 이제 바뀐걸까요?
-
해결됨PHP 7+ 프로그래밍: 객체지향
class 폴더에 index.php 를 넣어두지 않으면 에러가 발생하나요?
class 폴더에 두지 않고 만들었더니 이렇게 에러가 발생하더라고요 class폴더에 두어야 에러가 발생하지 않는건가요? 그렇다면.. 왜 그런거죠? 질문드립니다 :)
-
미해결빠르게 git - 핵심만 골라 배우는 Git/Github
새로 pull request를 날릴때,
첫 과정: fork 한 곳을 clone 하고 브랜치를 만들어 그곳에서 코드를 작성(commit) & 나의계정/repository 에 push 한 후, 나의 계정/repository에서 pull request 날리고 이후 branch 삭제 ------------------------------------------------------- 1. 추가로 코드를 작성할 때, branch 를 새로 만들고 그곳에서 기존의 organization/repository 를 fork 한 나의계정/repository 를 clone 한 코드를 기반으로 작성하게 됩니다. 와중에 organization/respository 은 다른 사용자들이 내용을 변경할수록 점점 달라지게 되고, organization/repository 와 처음의 organazation/repository를 fork 한 나의계정/repository 의 괴리는 커질 것 입니다. 추가로 변경된 부분을 알아야 코드를 작성하기 좋을 것 같은데, 그럼 코드를 작성하기 전에 먼저 organization/repository의 내용을 나의계정/repository 을 clone 한 내 로컬저장소에 pull 한 후, 로컬저장소에서 코드작성(commit) 하고 나의계정/repository에 push 한 다음, 나의계정/repository 에서 pull request 날리고, 이후 branch 삭제를 하는 건가요? 2. commit 까지 한 후 organization/repository 가 바뀐다면 현재 브랜치에서 다시 pull 하고 충돌 있으면 해결하고, 다시 코드 작성(commit)하고 나의 계정/repository 에 push 하면 되나요? - 좀 복잡하게 말한 것 같아 이해부탁드립니다.-
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
에러가 나는데 도저히 못찾겠습니다 ㅠㅠ
현재 안되는 부분의 오류입니다. action값을 sagas의 user.js에서 받아서 yield call(signUpAPI, action.data);하는 부분에서 오류가 납니다. 오류 메시지를 타고 가보면 무슨 data가 선언이 안됐다는 뚱딴지 같은 오류를 내보내는데 도대체 이해가 안됩니다. ㅠㅠ signup 하는 데서 오류가 발생한다! 그래서 쭈욱 따라가보니... undefined라는 이상한 오류... 도대체 뭐가 문제일까요? 회원가입시 입력한 값은 다 받아오는데 이제 API를 타고 back에 데이터를 넣어주지를 못하고 잇습니다. sagas 안에 user.js에 console을 제가 찎어봤는데 yield call(signUpAPI, action.data) 이 부분에서 터져버립니다. import { all, delay, fork, put, takeLatest, call } from 'redux-saga/effects'; import { FOLLOW_FAILURE, FOLLOW_REQUEST, FOLLOW_SUCCESS, LOG_IN_FAILURE, LOG_IN_REQUEST, LOG_IN_SUCCESS, LOG_OUT_FAILURE, LOG_OUT_REQUEST, LOG_OUT_SUCCESS, SIGN_UP_FAILURE, SIGN_UP_REQUEST, SIGN_UP_SUCCESS, UNFOLLOW_FAILURE, UNFOLLOW_REQUEST, UNFOLLOW_SUCCESS, } from '../reducers/user'; function logInAPI(data) { return axios.post('/api/login', data); } function* logIn(action) { try { console.log('saga logIn'); // const result = yield call(logInAPI); yield delay(1000); yield put({ type: LOG_IN_SUCCESS, data: action.data, }); } catch (err) { console.error(err); yield put({ type: LOG_IN_FAILURE, error: err.response.data, }); } } function logOutAPI() { return axios.post('/api/logout'); } function* logOut() { try { // const result = yield call(logOutAPI); yield delay(1000); yield put({ type: LOG_OUT_SUCCESS, }); } catch (err) { console.error(err); yield put({ type: LOG_OUT_FAILURE, error: err.response.data, }); } } function signUpAPI(data) { return axios.post('http://localhost:3065/user', data); } function* signUp(action) { try { console.log("뭐가 이상한데1"); console.log("action.data" , action.data); const result = yield call(signUpAPI, action.data); console.log("뭐가 이상한데2"); yield put({ type: SIGN_UP_SUCCESS, }); } catch (err) { yield put({ type: SIGN_UP_FAILURE, error: err.response.data, }); } } function followAPI() { return axios.post('/api/follow'); } function* follow(action) { try { // const result = yield call(followAPI); yield delay(1000); yield put({ type: FOLLOW_SUCCESS, data: action.data, }); } catch (err) { console.error(err); yield put({ type: FOLLOW_FAILURE, error: err.response.data, }); } } function unfollowAPI() { return axios.post('/api/unfollow'); } function* unfollow(action) { try { // const result = yield call(unfollowAPI); yield delay(1000); yield put({ type: UNFOLLOW_SUCCESS, data: action.data, }); } catch (err) { console.error(err); yield put({ type: UNFOLLOW_FAILURE, error: err.response.data, }); } } function* watchFollow() { yield takeLatest(FOLLOW_REQUEST, follow); } function* watchUnfollow() { yield takeLatest(UNFOLLOW_REQUEST, unfollow); } function* watchLogIn() { yield takeLatest(LOG_IN_REQUEST, logIn); } function* watchLogOut() { yield takeLatest(LOG_OUT_REQUEST, logOut); } function* watchSignUp() { yield takeLatest(SIGN_UP_REQUEST, signUp); } export default function* userSaga() { yield all([ fork(watchFollow), fork(watchUnfollow), fork(watchLogIn), fork(watchLogOut), fork(watchSignUp), ]); } 또 심각한점은 여기 network를 보시면 아예 응답 자체가 넘어가지 않고 있는 모습을 확인할 수 있습니다. post가 안되면 post실패다 뭐가 status가 나와야 하는데 아무리 가입하기를 눌러도 그런 모습은 확인할 수 없습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
reference에 있는 값의 주소를보고 싶은데 자꾸 number 주소로 가집니다
포인터는 메모리를 까보면 &pointer 눌러서 확인하면 어떤 메모리주소에 특정 주소가 들어가 있는걸 보수 있잔아요 그런데 저기 reference는 &reference라고 메모리에서 검색하면 자꾸 &number 주소로 가집니다 이게 원래 정상인가요? 이해가 안되는게항목중 하나여서 분명 number 주소따로 있고 reference 주소도 따로 있어야 되는거 같은데 아무리 해도 나오질 않는데 제가 이해한게 맞는지 궁금합니다..... ㅠㅠ number 의 주소가 0x00001 이라고 가정하면 reference 주소도 0x00001 인것으로 일단 이해 하고 있습니다 아니면 reference 주소는 임의 메모리값 0x00003 인데 이게 가르키는 주소가 0x00001 인지 전자가 맞는지 후자가 맞는지 답변좀 부탁드려요 ㅠㅠ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
views 카운터를 올리고 싶은데 어디서 올리면 될까요?
기능 중에 모델에는 views가 있는데 기능 구현에는 views 올려주는게 없어서 일단 구현하려고 하는데 Product.find({ _id: { $in: productIds } }) .populate('writer') .exec((err, product) => { if (err) return res.status(400).send(err) product.views++; product.save(); return res.status(200).send(product) }) 이런식으로 서버단에서 올리려고 하면 save 함수도 에러가 나고 카운터도 올라가지 않아서요 ㅠㅠ
-
미해결Vue로 Nodebird SNS 만들기
fetch와 created
index.vue에서 fetch에 return을 넣어도 새로고침할때 데이터가 불려오지 않았습니다. 그래서 화면이 생기기전 created를 먼저 호출하니까 created에 this.$store.dispatch("post/loadPosts")를 하니까 되더군요. 혹시 두개의 차이점이 있습니까 속도라는지 메모리라든지