묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실무자가 알려주는 Git - 입문편
push --set-upstream 옵션
안녕하세요. push 명령어의 --set-upstream 옵션에 대해 질문드립니다 새로운 브랜치를 따서 작업 후 원격 저장소로 push하려 할 때 그냥 git push를 입력하면 강의에서와 같이 fatal error가 발생하며 push가 실패하지 않습니까? 그래서 강의에서는 메시지에 출력된 대로 git push --set-upstream origin feature/a 와 같이 push하라고 알려주셨는데 그냥 --set-upstream 옵션 없이 git push origin feature/a와 같이 입력해도 정상적으로 push가 되더라구요 이렇게 push 시 --set-upstream 옵션 사용 여부에 따른 차이가 궁금합니다
-
미해결Node.js를 이용해 웹 애플리케이션 만들기
제출버튼을 눌렀을 때 아무 반응이 없습니다 ㅠㅠ
안녕하세요! 코드를 다르게 작성한 것이 있나 아무리 찾아봐도 강의랑 똑같이 친 것 같은데 제출 버튼을 눌렀을 때 아무런 반응이 없습니다 에러가 나는 것도 아니구요 ㅠㅠ 혹시 어떤 부분을 확인해보아야 할까요??
-
미해결스프링 부트 개념과 활용
데이터 바인딩과 conver는 같은걸까요??
데이터 바인딩 배울때 ex) /example/1로 요청이 들어오면 1이 string 타입 인데 민약 public void example(Event event) Event타입으로 바꿀때 배웠는데 여기서 httpMessageConverters에서 데이터가 json타입으로 와서 객체로 변환될때 convert라고 설명해주셨는데 데이터 바인딩이나 컨버트나 같은 의미라고 보면 될까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
이미지 드래그 관련
이미지를 드래그하면, 드래그를 하기 위해 이미지를 클릭한 지점이 어디던지 관련없이, 항상 마우스 포인터가 이미지의 한가운데 지점을 가리키게 되는데 원래 이렇게 작동하는 것이 맞을까요?
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
TOP Earners 해설 관련 질문드립니다!
안녕하세요! 문제 해설 강의를 듣다가 궁금한 점이 있어 질문드립니다! 아래 쿼리에서 COUNT(earnings)가 아닌 COUNT(*) 구문이어야 하는 이유가 있을까요? salary*months를 세는 것인데 COUNT(earnings)가 아닌 이유가 궁금합니다. SQL은 쓴 순서대로 처리되므로 GROUP BY가 뒤에 나오는 관계로 첫 문장인 SELECT 구문에서는 COUNT(*)로 우선 적어야 한다고 이해했는데, 맞을지 궁금합니다. SELECT salary*months as earnings, COUNT(*) FROM employee GROUP BY earnings ORDER BY earnings DESC LIMIT 1 답변 부탁드립니다!
-
미해결[김왼손의 왼손코딩] 파이썬 예제 뽀개기: 파이썬 초중급자를 위한 파이썬 30제
문법 질문
any(c.isdigit() for c in data)에서 any안에 있는 for문과 isdigit가 한줄에 같이 있는데 찾아봐도 이렇게 되있는 부분은 처음 봐서 질문드립니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
container 이미지는 어디서 오나요?
실습하다가 갑자기 궁금한게 생겼습니다..(이 강의 수강 전에, Docker에 대한 사전지식이 없었던 상태였습니다.. 양해 부탁드립니다 ㅠ) 컨테이너 생성하는 yaml에서, kubetm/init은 어디에 있는건가요? 그리고 이 이미지에 대한 속성이나 내용같은거(?) 볼 수 있나요?
-
공공데이터로 파이썬 데이터 분석 시작하기
오류 질문이요
삭제된 글입니다
-
미해결선형대수학개론
2.6 의 Example 2에 나오는 L을 지칭하는 용어가 있는 지 궁금합니다.
L이 R2의 Subspace는 아니지만, 나름 space를 형성하고 있는 것으로 보이는데요. 혹시 이런 것들을 지칭하는 용어가 따로 있는 지 궁금합니다 :)
-
미해결업무 자동화를 위한 파이썬 pyautogui, beautifulsoup 크롤링 기초
GuessedAtParserWarning가 뜨고 r의 타입이 다르게 나옵니다
C:\Users\hyoyi\PycharmProjects\crawling\venv\Scripts\python.exe C:/Users/hyoyi/PycharmProjects/crawling/google.py 무엇을 검색할까요? : 파이썬 <class 'bs4.element.ResultSet'> C:/Users/hyoyi/PycharmProjects/crawling/google.py:13: GuessedAtParserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("html.parser"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently. The code that caused this warning is on line 13 of the file C:/Users/hyoyi/PycharmProjects/crawling/google.py. To get rid of this warning, pass the additional argument 'features="html.parser"' to the BeautifulSoup constructor. soup = BeautifulSoup(html) <class 'bs4.element.ResultSet'> Process finished with exit code 0 오류랑 r타입이 다르게 나오는 것을 어떻게 해결하나요?
-
해결됨남박사의 파이썬 기초부터 실전 100% 활용
GUI Event처리 중...
Process finished with exit code -1073740791 (0xC0000409) 위와 같은 에러메시지가 나타나길래, 구글에서 검색을 했더니, 아래와 같은 해결책을 제시했습니다만.... 잘 이해가 되지 않는 부분이라 질문합니다. def closeEvent(self, event): self.deleteLater() 위 함수를 추가 하라고 하는데, ... 메모리 점유와 관련된 문제일까요??
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
미들웨어 개념이 잘 이해가 안 가요
const loggerMiddleware = ({ dispatch, getState}) => (next) => (action) => { console.log(action); return next(action) } 1. 여기서 applyMiddleware로 loggerMiddleware를 감싸면 알아서 위 applyMiddleware함수가 dispatch나 getState같은 인자들을 넣어주는 건가요? 2. 그리고 next의 역할은 미들웨어를 끝내 는 일을 하는건가요? 3. 미들웨어는 dispatch가 실행될 때마다 일을 하는거고 위의 action은 dispatch가 일어날 그 당시의 action을 말하는건가요? 너무 어려워요..
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
25.Pure CSS 콘텐츠 슬라이더 프로토타입 02 (풀스크린 탭 콘텐츠 슬라이더 응용)
background: linear-gradient(135deg, gold, transparent);대신 background: linear-gradient(135deg, gold, white);로 줬을 때는 왜 아래와 같이 배경색이 이미지를 덮어버리는건가요? opacity를 주지 않으면 이미지를 덮어버려서 보이지 않게 되버리는 이유가 궁금합니다.
-
미해결C 와 C++ 을 동시에 배워보자 - 두들낙서의 C/C++
call-by-reference에 대해서 질문있습니다
call-by-reference를 할 경우에 함수에서 매개변수를 포인터 취급을 했는데 포인터를 배울때 했던 포인터 선언을 하지 않아도 포인터 취급을 할 수 있는건가요?
-
미해결대세는 쿠버네티스 (초급~중급편)
이런경우는 뭘까요?
pod가 현재 describe로 보면 Initialized : true, Ready :False ContainersReady : False PodScheduled : True 인경우는 pod는 스케줄링에 의해서 생성됐지만 내부적으로 container는 재기동문제가 있거나..어떤이유에서 준비가 안된상태라고 보면 되는건가요?
-
미해결파이썬 사용자를 위한 웹개발 입문 A to Z Django + Bootstrap
githun push문제
안녕하세요. 영상에 따라 .gitignore 파일생성후에 제 github에 push를 했는데 .gitignore 파일 뿐만 아니라 venv/폴더와 .idea폴더가 같이 추가가 됩니다. .gitignore파일이 제대로 작동하지 않는것 같은데 어떻게 해결하나요? .gitignore파일을 만들때 add files to git 항목이 뜨지 않았습니다.
-
해결됨모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
kldp.net 설치 파일 관련 문의
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 안녕하세요. 다름이 아니라 apmsetup을 다운받을려고 kldp.net 페이지에 접속하였는데 아래 링크처럼 403에러가 확인 되어 설치파일을 받을 수가 없습니다. 혹시 해당 설치 프로그램을 따로 받을 수 있을까요? http://kldp.net/apmsetup/release/
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
Uncaught TypeError: Cannot read property '0' of undefined 에러가 발생합니다. 해결방법이 있을까요?
강좌 동영상에 같은 에러를 해결하시는 부분이 나오는데 app.js 에 '/posts' 동일한 라우터가 존재해서 삭제후 해결하시는 부분이 나오는데 .. 다른문제로 보입니다. routes/posts.js 파일 include Image 를 넣어주어도 해도 해결이 안되네요.. FRONT pages/index.js import React, { useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import PostForm from '../components/PostForm'; import PostCard from '../components/PostCard'; import AppLayout from '../components/AppLayout'; import { LOAD_POSTS_REQUEST } from '../reducers/post'; import { LOAD_USER_REQUEST } from '../reducers/user'; const Home = () => { const dispatch = useDispatch(); const { me } = useSelector((state) => state.user); const { mainPosts, hasMorePosts, loadPostsLoading } = useSelector((state) => state.post); useEffect(() => { dispatch({ type: LOAD_USER_REQUEST, }) dispatch({ type: LOAD_POSTS_REQUEST, }); }, []); useEffect(() => { function onScroll() { if (window.scrollY + document.documentElement.clientHeight > document.documentElement.scrollHeight - 300) { if (hasMorePosts && !loadPostsLoading) { dispatch({ type: LOAD_POSTS_REQUEST, }); } } } window.addEventListener('scroll', onScroll); return () => { window.removeEventListener('scroll', onScroll); }; }, [ hasMorePosts, loadPostsLoading, mainPosts]); return ( <AppLayout> {me && <PostForm />} {mainPosts.map((post) => <PostCard key={post.id} post={post} />)} </AppLayout> ); }; export default Home; sagas/post.js import { all, fork, put, takeLatest, delay, throttle, call } from 'redux-saga/effects'; import axios from 'axios'; import { LOAD_POSTS_REQUEST, LOAD_POSTS_SUCCESS, LOAD_POSTS_FAILURE, ADD_POST_REQUEST, ADD_POST_SUCCESS, ADD_POST_FAILURE, ADD_COMMENT_REQUEST, ADD_COMMENT_SUCCESS, ADD_COMMENT_FAILURE, REMOVE_POST_REQUEST, REMOVE_POST_SUCCESS, REMOVE_POST_FAILURE, } from '../reducers/post'; import { ADD_POST_TO_ME, REMOVE_POST_OF_ME, } from '../reducers/user'; function addCommentAPI(data) { return axios.post(`/post/${data.postId}/comment`, data); // POST /post/1/comment }; function* addComment(action) { try { const result = yield call(addCommentAPI, action.data); yield put({ type: ADD_COMMENT_SUCCESS, data: result.data, }); } catch (err) { yield put({ // put => dispatch 다. type: ADD_COMMENT_FAILURE, data: err.response.data, }); }; }; function loadPostsAPI(data) { return axios.get('/posts', data); }; function* loadPosts(action) { try { const result = yield call(loadPostsAPI, action.data); yield put({ type: LOAD_POSTS_SUCCESS, data: result.data, }); } catch (err) { console.error(err); yield put({ // put => dispatch 다. type: LOAD_POSTS_FAILURE, data: err.response.data, }); } } function addPostAPI(data) { return axios.post('/post', { content: data }); }; function* addPost(action) { try { const result = yield call(addPostAPI, action.data); yield put({ type: ADD_POST_SUCCESS, // data: action.data, data: result.data }); yield put({ type: ADD_POST_TO_ME, data: result.data.id, }); } catch (err) { console.error(err); yield put({ type: ADD_POST_FAILURE, data: err.response.data, }); }; }; function removePostAPI(data) { return axios.delete(`/api/post/${data.postId}/comment`, data); }; function* removePost(action) { try { // const result = yield call(removePostAPI); yield delay(1000); yield put({ type: REMOVE_POST_SUCCESS, data: action.data, }); console.log('removePost'); yield put({ type: REMOVE_POST_OF_ME, data: action.data, }); } catch (err) { console.error(err); yield put({ type: REMOVE_POST_FAILURE, data: err.response.data, }); }; }; function* watchLoadPosts() { yield throttle(5000, LOAD_POSTS_REQUEST, loadPosts); }; function* watchAddPost() { yield takeLatest(ADD_POST_REQUEST, addPost); }; function* watchAddComment() { yield takeLatest(ADD_COMMENT_REQUEST, addComment); }; function* watchRemovePost() { yield takeLatest(REMOVE_POST_REQUEST, removePost); }; export default function* postSaga() { yield all([ fork(watchAddPost), fork(watchLoadPosts), fork(watchRemovePost), fork(watchAddComment), ]); }; BACK routes/posts.js const express = require('express'); const { Post, User, Image, Comment } = require('../models/'); const router = express.Router(); router.get('/', async (req, res, next) => { // GET /posts try { const posts = await Post.findAll({ limit: 10, order: [['createdAt', 'DESC']], inculude: [{ model: User, attributes: ['id','nickname'], }, { model: Image, }, { model: Comment, include: [{ model: User, attributes: ['id','nickname'], }], }], }); res.status(200).json(posts); } catch (error) { console.log(error); next(error); } }); module.exports = router; 로그인 창도 안뜨고 에러가 떳었는데. include 를 모두 해주니 정상적으로 로그인도 되고 게시글도 등록됩니다. 하지만 등록후 바로 다시 위와 똑같은 에러가 동일하게 뜹니다. PostCard 에 key 관련 에러로 추측됩니다. BACK routes/posts.js const express = require('express'); const { Post, User, Image, Comment } = require('../models/'); const router = express.Router(); router.get('/', async (req, res, next) => { // GET /posts try { const posts = await Post.findAll({ limit: 10, order: [ ['createdAt', 'DESC'], [Comment, 'createdAt', 'DESC'], ], include: [{ model: User, attributes: ['id', 'nickname'], }, { model: Image, }, { model: Comment, include: [{ model: User, attributes: ['id', 'nickname'], }], }, { model: User, // 좋아요 누른 사람 as: 'Likers', attributes: ['id'], }, { model: Post, as: 'Retweet', include: [{ model: User, attributes: ['id', 'nickname'], }] }], }); res.status(200).json(posts); } catch (error) { console.log(error); next(error); } }); module.exports = router;
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
경로 지정 질문드립니다.
밑의 정적 파일의 경로를 매핑하는 경우에는 최상위 루트에서 바로 /resources/ 해서 매핑을 시키는게 가능한데, 위의 jsp를 붙여주는 매핑메서드도 /WEB-INF를 지우고 /views/,jsp 이렇게 해도 되야하는게 정상아닌가요? 어차피 최상위 루트에서 매핑하는 것인데 왜 위의것은 안되고 밑에 것만 되는지 궁금합니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
LEFT JOIN할 때 왜 JOIN한 아이디도 NULL이 나오나요?
강의 중 Customers와 Orders를 LEFT JOIN할 때, Orders에 데이터가 없는 고객의 경우 가장 왼쪽의 CustomerID 부분도 NULL로 뜨는 데, 왜 그렇게 나오는지 궁금합니다. Customers 테이블에서는 CustomersID가 부여되어 있는데, Orders에는 동일한 데이터가 없다는 이유로 NULL이 나오는 것이라면 강의 피피티에서 아래 사진처럼 데이터가 없는 경우에도 id가 3이 나온 건 어떻게 나올 수 있던 걸까요?