묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
출력 창이 보이지 않습니다
안녕하세요 출력창이 보이지 않아서 질문 올립니다. 출력창 키고 끄는 방법 알려주시면 감사하겠습니다
-
미해결김대리님 이게 바로 업무 자동화입니다 (엑셀 + 파이썬)
입력된 데이터의 마지막 행 번호를 알 수는 없나요 ?
강의에서 row라고 변수 선언한 부분에 대한 질문입니다. 보통 실무에서 접하는 데이터는 매번 늘어나기 일수 인데요. 엑셀 VBA에서는 지원되는 기능으로 입력된 데이터의 마지막을 추출해서 사용하는데 Python에서도 그런 기능이 있지 않을까 생각되어 질문드려요
-
미해결프론트엔드 개발자를 위한 웹팩
gulp 명령어가 안먹힙니다.
global로 깔았는데 gulp가 안먹힙니당..
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
display에서 max_columns가 안보여요
pd.options.display.max_columns = 10 위 코드를 작성하고 df_first를 실행했는데 그대로 ...으로 칼럼이요약되어 나옵니다. 해결할 수 있는 방안이 있을까요?
-
미해결홍정모의 따라하며 배우는 C++
13.4 클래스 맴버 함수 특수화
다름이 아니라 수업을 듣다가 auto라는 변수선언 하는 방식이랑 Templete를 사용하는 방식의 차이가 갑자기 궁금해서 물어보게 되었습니다. 물론 차이가 있다는걸 알지만 좀더 명확하게 알려 주실수 있는지 확인하고 싶어서 남겼습니다. ex) template<typename T> T getMax(T x, T y) { return (x > y) ? x : y; } 은 되지만 auto getMax(auto x, auto y) { return (x > y) ? x : y; } 는 안되는걸로 아는데 혹시 다른 부분에 있어서 안되는것이 있는지 궁금해서 질문 남겨드립니다.
-
미해결디자인 패턴 with JAVA (GoF)
옵저버 패턴 직접구현하기 부분에 질문있습니다.
안녕하세요 강의 시청 중 궁금한 점이 있어 질문드립니다. 현재 java 1.8 이클립스4.8 로 강의 수강 중인데요. PlayController.java를 구현할 때 The method update(Observable, Object) in the type Observer is not applicable for the arguments (boolean) 오류가 나면서 강사님 처럼 만들어지지가 않습니다. 이클립스의 자동 fix 기능으로는 아래와 같이 만들어집니다. @Override public void notifyObservers() { for (Observer obs : observers) { obs.update(null, play); } } 이게 왜 그런건지 혹시 알 수 있을까요
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
주피터 노트북 타이핑 속도
안녕하세요. 같은 질문을 반복해서 올립니다..ㅠㅠ 이전에 주피터 노트북 타이핑 속도가 느리다고 질문 드렸었습니다. 메모리 최적화 하는 방법을 찾아서 실행했더니 그 때는 일시적으로 타이핑 속도가 괜찮아졌어요. 그런데 다시 하다보니 또 타이핑 속도가 느려졌습니다...ㅠㅠ 저랑 비슷한 시기에 노트북 구입하신 다른 분들은 그런 문제는 느끼지 못한다고 하시네요 아나콘다도 64비트 짜리로 잘 깔아두었습니다. 혹시 노트북 ram을 업그레이드하면 이 문제가 해결될까요?ㅜㅜ 나름대로 인터넷을 찾아봐도 잘 모르겠습니다..ㅜㅠ
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
맥 설정 정보
강의에서 보여주신 맥 설정 정보가 적혀있는 파일은 어디에서 다운로드하나요? 다운로드한 파일에는 해당 정보가 없네요.
-
해결됨[개정판] 파이썬 머신러닝 완벽 가이드
피처 중요도 시각화 plot_importance() 질문입니다.
안녕하세요. 아래와 같이 피쳐 중요도를 시각화하면, 강사님 말씀대로 y축의 피처 명들이 출력되지 않습니다. from xgboost import plot_importance import matplotlib.pyplot as plt %matplotlib inline fig, ax = plt.subplots(figsize = (10, 12)) plot_importance(xgb_wrapper, ax = ax) 그래서 구글링을 해서 찾아보니 set_yticklabels라는게 있더군요. 코드를 다음과 같이 변경하니 피처 명들이 나오긴 하는데, 이게 맞는 방법인지 확신이 안서서 질문드립니다. from xgboost import plot_importance import matplotlib.pyplot as plt %matplotlib inline fig, ax = plt.subplots(figsize = (10, 12)) plot_importance(xgb_wrapper, ax = ax).set_yticklabels(dataset.feature_names)
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
프록시는 실제 배포할 때도 사용하는 건가요? 테스트 용으로만 사용하는 건가요?
실제로 배포할 때도 프록시를 통해서 CORS 에러를 해결하나요?
-
미해결홍정모의 따라하며 배우는 C언어
직접 구현해본 implement_my_strcat/strcmp 입니다.
#include <stdio.h> #include<string.h> void implement_my_strcat(char*str1,char*str2); int main(void) { char str1[100]="First STring"; char str2[]="Second STring"; printf("%ld\n",strlen(str1)); printf("%ld\n",strlen(str2)); implement_my_strcat(str1,str2); printf("%ld",strlen(str1)); return 0; } void implement_my_strcat(char*str1,char*str2) { while(*str1!='\0') { putchar(*str1); str1++; } while(*str2!='\0') { *str1=*str2; putchar(*str1); str1++; str2++; } *str1='\0'; putchar('\n'); } --------------------------------------- #include <stdio.h> int implement_strcmp(char*str1,char*str2); int main(void) { printf("%d\n",implement_strcmp("A","A")); printf("%d\n",implement_strcmp("A","B")); printf("%d\n",implement_strcmp("B","A")); printf("%d\n",implement_strcmp("HELLO","HELLO")); printf("%d\n",implement_strcmp("BANANA","BANANAS")); printf("%d\n",implement_strcmp("BANANAS","BANANA")); return 0; } int implement_strcmp(char*str1,char*str2) { while(*str1!='\0'||*str2!='\0') { if(*str1==*str2) { str1++;str2++; continue; } else{break;} } if(*str1==*str2) { return 0; } else if(*str1>*str2) { return 1; } else if(*str1<*str2) { return -1; } } 질문으로 올린것은 아니고 ,모범답안과는 차이가 나는데, 교수님이 아니더라도 어느분이시던간에 제가 구현해본 코드가 어떤지 평가해주시면 하는 마음에 올립니다.감사합니다!!
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
그래프는 잘 뜨는데 위에 분홍색 상자가 생겨요
C:\Users\KIM\anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py:211: RuntimeWarning: Glyph 50672 missing from current font.h = df_last.hist(bins=10)을 실행했을 때, 이런 문구가 몇개가 좌르륵 분홍색 상자에 뜨는데요, 왜그런 걸까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
[질문] 테스트 이후 DB 조회하기
테스트이후 @Rollback(false)를 설정해 주었음에도 불구하고 자꾸 drop 시켜버립니다. 원인이 궁굼해서 질문드립니다! @SpringBootTest @Transactional @Rollback(false) @RunWith(SpringRunner.class) public class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test @Rollback(false) public void join() { Member member = new Member(); member.setName("test"); Long savedId = memberService.join(member); assertEquals(member,memberRepository.findOne(savedId)); } ... } 2020-05-07 09:29:22.663 DEBUG 12256 --- [ main] org.hibernate.SQL : insert into member (city, street, zipcode, name, member_id) values (?, ?, ?, ?, ?) 2020-05-07 09:29:22.758 DEBUG 12256 --- [ Thread-3] org.hibernate.SQL : drop table member if exists
-
미해결파이썬 라즈베리파이 IoT프로젝트-원격모니터링 자동차
라즈베리파이4 초보자라서요..현재 갖고 잇는 보는 라즈베리파이 4입니다.
라즈베리파이4로 이용하여 지금 강의를 듣고 이용 가능할까요.. 초보자라서요..현재 갖고 잇는 보드는 라즈베리파이 4입니다.
-
미해결페이스북 클론 - full stack 웹 개발
tuple강의 8:00 관련 내용 질문입니다
tuple강의 8:00에 보면 id가 다르다고 하셨는데, print(id(t))로 바꿀 경우 id가 같습니다. 이거는 왜 그런건가요?
-
미해결[라즈베리파이] IoT 딥러닝 Computer Vision 실전 프로젝트
plt. show() 숫자 출력 3값만 나옵니다.
RBP_DL12_openCV_get_image 숫자 7 , 5 ,3 을 3값으로 찾네요. 어디 부분을 확인을 해야 하나요?
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
안녕하세요 ~!! 강사님
저번 강의도 재밌게 듣고있는 와중에 새로운 강의도 결제해서 이전 강의 완강을 하고 들을려고 하고 있습니다. 혹시 이번 강의에 대해서 책 출간 예정이신가요 .. ? 또 궁금한점이 책을 e-book으로는 출간 예정이 있으신지 궁금합니다.
-
해결됨취미로 해킹#3(WebGoat)
파이어폭스에서 로컬호스트로 프록시설정이 안되는것 같습니다.
프록시설정을 했는데도 webgoat는 HTTPHISTORY에 기록되지않습니다. 입력되어 있는 기록은 파이어폭스 기본화면 정보입니다. 파이어폭스 프록시설정을 확인하니 로컬호스트 프록시는 연결되지 않는다고 적혀있습니다. 윈도우에서 직접 프록시설정하는것도 안먹히는거같은데 확인부탁드립니다.
-
미해결React로 NodeBird SNS 만들기
그룹의 게시글의 댓글 질문합니다 ///////
https://www.inflearn.com/questions/33679 전에 답변주신 덕분에 ㅠㅠ ♡.. LOAD_MAIN_POSTS_REQUEST 게시물로드하기 성공했어요~! 그룹에 속한 게시물로 구조를 바꾸어준 후, 댓글 불러오기 LOAD_COMMENTS_REQUEST에 네트워크탭에 Request URL 에 전과 같은 undefined 오류가 나는 것을 확인했습니다 코드수정 후, 네트워크탭에서 성공의 200표시가 떳습니다.! 그런데 리덕스 데브툴즈에는 LOAD_COMMENTS_FAILURE가 뜨고 화면에서도 댓글이 보이지않았어요... 타입에러인 것을 확인했습니다, 강의하신 mainPosts의 data구조를 (어느그룹에 속한 게시물인지 데이터를보내기위해) data에 gpostId와 content로 나누어놨었어요 그래서인지 findIndex함수가 작동하지 않는것을 확인하고, 리듀서에서 mainPosts의 배열을 뽑아내기위해 ----> mainPosts.content로 수정했습니다. < post.js / reducers/ front > // 댓글 불러오기 case LOAD_COMMENTS_SUCCESS: { // console.log("state.mainPosts.content",state.mainPosts.content); const postIndex = state.mainPosts.content.findIndex(v => v.id === action.data.postId); // console.log("postIndex",postIndex); const post = state.mainPosts[postIndex]; // console.log("post",post); const Comments = action.data.comments; // console.log("Comments",Comments); const mainPosts = [...state.mainPosts.content]; // console.log("mainPosts",mainPosts); mainPosts[postIndex] = { ...post, Comments }; // console.log("new : ",mainPosts[postIndex]); return { ...state, mainPosts, }; } reducer / console.log ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 이렇게 수정해주니 리덕스 데브툴즈에서도 LOAD_COMMENTS_SUCCESS 가 떳고 네트워크탭에서도 GET 방식으로 댓글이 잘 받아와지는 것을 확인할수있었어요.! 그런데 화면에서는 다른화면으로 넘어가서 원하는 결과가 나오지 않아요...ㅠㅠ 오류또한 발견핧수없었습니다. ^ 결론 : 댓글버튼을 클릭하면 dispatch로 LOAD_COMMENTS_REQUEST가 실행되고 컴포넌트<ContentForm> 에서 { post } 프롭값에 db.Comment 테이블에서 Comments 배열이 불러와졌었는데,, post를 콘솔로 확인해보면 Comments 배열이 불러와지지 않아요,,,, post.Comments로 결과를 화면에 나타나게 했는데 값이 불려와지지 않는게,, 왜그런지 알고싶습니다.ㅠㅠ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// < post.js / sagas / front > // 댓글 불러오기 function loadCommentsAPI(postId) { return axios.get(`/post/${postId}/comments`); } function* loadComments(action) { try { const result = yield call(loadCommentsAPI, action.data); yield put({ type: LOAD_COMMENTS_SUCCESS, data: { postId: action.data, comments: result.data, }, }); } catch (e) { console.error(e); yield put({ type: LOAD_COMMENTS_FAILURE, error: e, }); } } function* watchLoadComments() { yield takeLatest(LOAD_COMMENTS_REQUEST, loadComments); } < ContentForm.js / Component / front > const ContentForm = ({post}) => { const [commentFormOpened, setCommentFormOpened] = useState(false); const [commentText, setCommentText ] = useState(''); const { me } = useSelector(state => state.user); const { commentAdded, isAddingComment, mainPosts } = useSelector(state => state.post); const dispatch = useDispatch(); const liked = me && post.Likers && post.Likers.find(v => v.id === me.id); //댓글창토글 const onToggleComment = useCallback(() => { setCommentFormOpened(prev => !prev); if (!commentFormOpened) { // 댓글창 켤때 불러오기 dispatch({ type: LOAD_COMMENTS_REQUEST, data: post.id, }); } }, []); // 댓글 const onChangeComment = useCallback((e) => { setCommentText(e.target.value); }, []); // 댓글올리기 사이클 const onSubmitComment = useCallback((e) => { e.preventDefault(); if(!me){ return alert('로그인이 필요합니다.'); } return dispatch({ type: ADD_COMMENT_REQUEST, data:{ postId: post.id, content: commentText, }, }); }, [me && me.id, commentText]); // 댓글 성공시, 빈텍스트로 useEffect(() => { setCommentText(''); },[commentAdded === true]); // 댓글삭제하기 const onRemoveComments = useCallback(userId => () => { alert('댓글을 삭제하시겠습니까?'); if(me.id === post.User.id) dispatch({ type: REMOVE_COMMENT_REQUEST, data: userId, }); }); // 댓글 변수선언 var listIndex; // 게시글 삭제 const onRemovePost = useCallback(userId => () => { if(me.id === post.User.id) alert('게시물을 삭제하시겠습니까?'); dispatch({ type: REMOVE_POST_REQUEST, data: userId, }); if(me.id !== post.User.id) alert('다른 사용자의 게시물은 삭제할 수 없습니다.'); }); // 좋아요 토글 const onToggleLike = useCallback(() => { if (!me) { return alert('로그인이 필요합니다!'); } if (liked) { // 좋아요 누른 상태 dispatch({ type: UNLIKE_POST_REQUEST, data: post.id, }); } else { // 좋아요 안 누른 상태 dispatch({ type: LIKE_POST_REQUEST, data: post.id, }); } }, [me && me.id, post && post.id, liked]); return( <> <div className="postbox"> <div className="contBox"> <p>{post.User.nickname} 님의 게시물 - 좋아요 : {post.Likers.length } </p> <PostImages images={post.Images} /> <div>{post.content}</div> </div> <div className="btnsbox"> <button type="button" className="commentBtn" value={commentFormOpened} onClick={onToggleComment} /> { liked ? <button type="button" className="likeBtnred" onClick={onToggleLike} /> : <button type="button" className="likeBtnline" onClick={onToggleLike} /> } <button type="button" className="removeBtn" onClick={onRemovePost(post.id)} /> {commentFormOpened===true && <form className="commentbox" onSubmit={onSubmitComment}> <textarea className="comment" value={commentText} onChange={onChangeComment} /> <button type="primary" htmltype="submit" className="combtn" loading={isAddingComment} >COMMENT</button> </form> } {/* 댓글올라갈부분 */} {commentFormOpened===true && ( <div style={{display:"inline-block", width:"100%"}}> <p style={{marginLeft:"10px"}}>{commentAdded ? '댓글' + post.Comments.length : '댓글'+ '0'}</p> <div className="comline"></div> {console.log("mainPosts.content???: ",mainPosts.content,"post???: ",post)} {(()=>{ if(post.Comments){ listIndex = post.Comments.map((el)=> ( <li style={{listStyle:"none", display:"inline-block", clear:"both"}} > {console.log("el",el)} {el.User.nickname} : {el.content} { el.UserId === me.id ? <button type="button" className="remove" onClick={onRemoveComments(post.id)} > REMOVE </button> : "" } </li> ) ) } return( <ul> {listIndex} </ul> ); })()} </div> ) } </div> </div> </> ); }; ContentForm.propTypes={ post: PropTypes.shape({ User: PropTypes.object, content: PropTypes.string, createdAt: PropTypes.string, }), }; export default ContentForm; < post.js / routes / back > // 댓글불러오기 router.get('/:id/comments', async (req, res, next) => { try { const post = await db.Post.findOne({ where: { id: req.params.id } }); if (!post) { return res.status(404).send('포스트가 존재하지 않습니다........'); } const comments = await db.Comment.findAll({ where: { PostId: req.params.id, }, order: [['createdAt', 'ASC']], include: [{ model: db.User, attributes: ['id', 'nickname'], }], }); res.json(comments); } catch (e) { console.error(e); next(e); } });
-
미해결코어 자바스크립트
null이 Primitive Type이 맞나요?
typeof(null) 했을 때, 'object'로 출력이 되는데, 튜터님의 설명에서는 primitive type으로 되어 있어서 혼란스럽습니다! 어떤게 맞는 건가요 ?_?