묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (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으로 되어 있어서 혼란스럽습니다! 어떤게 맞는 건가요 ?_?
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
pytube 임포트 에러
파이튜브 사용 강의를 듣던중 임포트 에러가 발생하여 글을 씁니다. 아나콘다 프롬프트는 관리자 권한으로 실행하였고 아래 그림은 conda list 입니다. atom 명령어로 에디터를 실행하여 강의의 소스를 똑같이 입력하였지만 import에러가 발생하여 오타가 있을수도 있기에 간단한 출력문을 작성하여도 아래 그림과 같이 import 에러가 발생합니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
최대거리 지정할 때 질문입니다.
영상에서는 그냥 최대값을 max를 기준으로 하셨는데 1이랑 9일 때 기준으로 1과 9사이의 거리는 7이니까 그냥 max - min - 1로 해도 상관없나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요. 화면 경로 오류에 관한 질문입니다.
안녕하세요. 강의 한 번 쭈욱 듣고 이제 하나씩 실습하고 있는데요. 화면 경로를 못 찾는것 같아서 질문 드립니다. 우선 서버를 띄우면 Cannot find template location: classpath:/templates/ (please add some templates or check your Thymeleaf configuration) 이런 메세지가 뜨고, url에 localhost:8080/hello 를 입력하면 There was an unexpected error (type=Internal Server Error, status=500). Error resolving template [hello], template might not exist or might not be accessible by any of the configured Template Resolvers org.thymeleaf.exceptions.TemplateInputException: Error resolving template [hello], template might not exist or might not be accessible by any of the configured Template Resolvers 메세지가 뜹니다. 검색해서 해결하려고 했는데도 되질 않아서 질문드립니다. 감사합니다!
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
렌더링 과정에서 질문입니다.
Render()함수에서 ConsoleColor prevColor = Console.ForegroundColor; 이렇게 임시저장 해줬다가 Console.ForegroundColor = prevColor; 이렇게 이전 상태를 복원한다고 하셨는데 복원을 한다는게 정확히 무슨 뜻인가요? 이렇게 복원을 하지 않으면 무슨 문제가 있나요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 챗봇 사이트 만들기
entity
엔티티를 등록하고 진행해야하나요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
저 아직 문제가 해결이 안되서여
걍 첨부터 다시하는게 좋을까여? 감사합니다 ~!
-
미해결코알못도 누구나 쉽게 따라하는 웹, 앱 만들기 (기초부터 실전 활용까지)
실습후 디플로이 취소
안녕하세요 조코딩님 덕분에 재밌게 공부하고 있습니다 넷플리파이에 디플로이를 하는 실습을했는데요 이후에 지우려면 어디서 하면 될까요? 찾아봤는데 눈에 안띄어서요.. 감사합니다^^