묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
try로 감싸는 범위가 궁금합니다.
try로 res.writeHead 부분은 안 감싸도 상관 없나요? 감싸는 기준이 await이면 await 한 줄만 감싸도 상관이 없는 건가요?
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
drop 질문합니다
안녕하세요. 선생님. 강의 정말 유익하게 듣고 있습니다! 질문이 있습니다. 분명 주피터노트북이랑 같은 코드를 입력했는데, 왜 drop이 안먹힐까요? 콘솔에 찍히는 값을 보면 2020행이 그대로 나옵니다. df = pd.DataFrame({ "년도": ['2000', '2010', '2020'], "미국": [2.1, 2.2, 2.3], "한국": [0.4, 0.5, 0.45], "중국": [10, 13, 15] }) df = df.set_index('년도') df.drop(['2020']) print(df) ''' 미국 한국 중국 년도 2000 2.1 0.40 10 2010 2.2 0.50 13 2020 2.3 0.45 15 '''
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
선생님 강의 관련하여 질문있습니다
안녕하세요 현재 졸업작품을 opencv를 활용한 어플리케이션 만들기로 하고 있는데요, DB연결, 파이어베이스로 로그인 구현, 실시간으로 opencv로 영상처리는 tensorflow lite를 이용해서 하고자합니다. 큰 규모는 아니고 이 다음 코스의 커뮤니티 앱 만들기 정도의 규모입니다. 다만 다음 강좌까지 전부 다 듣고 앱 제작을 시작할지 아니면 초급 코스인 이 강좌만 듣고 바로 시작할지 고민이 많이 되어서요. 제작기간은 약 2달 정도인데, 졸업 작품만 만드는게 아니라 다른 전공과목들도 같이 공부하는 중이라 어디까지 공부하고 앱을 만들어야할지에 대해 감이 잘 잡히질 않습니다. 선생님의 조언을 듣고 싶습니다. 좋은 강의 만들어주셔서 감사합니다.
-
미해결기초부터 따라하는 디지털포렌식
예제파일에 대해서
강의에서 사용되고 있는 예제파일(UBS.E01)등은 어디에서 다운받을수 있나요
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
ServletRequest에 대해 궁금한 점이 생겼습니다!
안녕하세요 강의를 듣다 ServletRequest에 대해 궁금한 점이 생겨 질문드립니다! ServletRequest, ServletRequest를 보니 인터페이스 였습니다. 그 후 HttpServletRequest도 보니 ServletRequest를 상속받고 있지만 이 또한 interface 였습니다. 혹시 구현은 어디서 하길래 인터페이스로 선언이 되어 있는 것인가요??
-
미해결Do it! 자바 프로그래밍 입문 with 은종쌤
짝수 홀수 개념이 이해가 안가요 ㅠㅠ
(num%2)==1 2로 나눴을 때 나머지가 1 (num%2)==0 2로 나눴을 때 나머지가 0 (num%2)==0 나머지가 0이 되는게 짝수인가요 ?
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
operation not permitted, rename 에러에 대해 질문드리고 싶습니다
강사님 안녕하세요 비동기 함수와 await을 조합해서 아래의 소스코드를 실험해봤는데, 이해가 어려운 부분이 있어서 질문드리고 싶습니다 const fs = require('fs'); const path = require('path'); function func(){ fs.open(`.\\b.txt`, 'w', (err, fd)=>{ if(err) { //실패한 경우 throw err; }//성공한 경우 }); fs.rename(`.\\b.txt`, `.\\c.txt`,(err,data)=>{ if(err) { throw err; } }); fs.writeFile(`.\\c.txt`, `Hello `, (err)=>{ if(err) { console.log(err); } }); } func(); 터미널에서 실행시켰습니다 이렇게 c.txt가 잘 만들어졌습니다 이번엔 18행부터 24행의 주석을 풀었습니다 그러자, 이번에는 같은 소스코드인데도 실행결과가 성공이 나오기도 하고, 실패하기도 했습니다 실행 성공 했을 때는 c.txt 에도 Hello 가 잘 적혔습니다 주석을 해제한 소스코드를 디버깅 모드에서 한줄씩 실행할 때는 무조건 성공이었는데 터미널 또는 vscode에서 한번에 실행시키면 이렇게 실행결과가 복불복이 나와서 혹시 그 이유가 궁금해서 질문드리고 싶습니다읽어주셔서 감사합니다
-
해결됨실습으로 배우는 OAuth 2.0 개념 원리, 그리고 해킹과 보안
SQL 쿼리 오타 정보공유
friends 사이트 회원가입 할때 에러나서 가입이 안되길래 계속 확인해봤는데 \apache2\htdocs\friends_website\joinAction.php 파일에 아이디 중복 검증 SQL 쿼리에 오타가 있어서 그랬었네요. $query = "select user_id from users where id='{$id}'"; where절 다음 컬럼명을 user_id로 수정해야 제대로 진행이 됩니다. $query = "select user_id from users where user_id='{$id}'"; 질문 글 올리려다가 마지막으로 확인해보니 보이네용 ㅎㅎ, 다른 분들도 참고하셨으면 좋겠습니다.
-
미해결예제로 배우는 스프링 입문 (개정판)
IoC 컨테이너 안에 있는 객체들끼리만 의존성 주입
IoC 컨테이너 안에 있는 객체들끼리만 의존성 주입을 할 수 있다고 말해주셨는데 그말은 즉슨 Bean으로 등록되지 않은 class 안에서 생성자 주입이든 다른 주입방법들을 사용해서 DI 해줄 수 없다는 말씀이신가요?
-
미해결홍정모의 따라하며 배우는 C언어
get_integer 함수에서 return input이 있는 것과 없는 것의 차이점이 무엇인가요?
int get_integer(void) { int input; char c; while (scanf("%d", &input) != 1) { while ((c = getchar()) != '\n') putchar(c); printf(" is not an integer. \nPlease try again."); }// 숫자를 입력 받을 때까지 반복 //return input; // 이거 입력 안하면 3누르면 1 2 3 4 5 6 해서 38 39 40까지 나옴 교수님이 작성해주신 부분에서 다른 부분은 동일하고 int get_integer(void)에서 return input만 주석처리를 해보니까 메뉴에서 c를 누르고 숫자 3을 입력하니까 1~40까지 줄바꿈을 하면서 출력이 되고 다시 메뉴가 나왔습니다. return input을 안하더라도 scanf로 입력을 받아서 출력이 되는 것같긴 한데, return input;을 해주는 것과 안하는 것과의 정확한 차이점이 무엇일까요?
-
미해결예제로 배우는 스프링 입문 (개정판)
ExampleRepository exampleRepository = new ExampleRepository()
ExampleRepository exampleRepository = new ExampleRepository() 해당 코드같이 인스턴스를 생성 시킨다면 DI가 아니라고 해도 무방할까요? 만약 이것이 DI가 아니다라고 하신다면 해당 코드를 설명할때는 단지 인스턴스를 생성한다 라고 설명해도 무방한가요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
대소문자 구분 관련
1) 최종 실습에서 소리 재생시 PlaySound로 하면 재생되는데... playsound로 하면 재생이 안됩니다. 이런 것들을 어떻게 구분할 수 있죠? 2) 역시, 동일하게 winsound.SND_FILENAME에서 SND_FILENAME가 꼭 대문자여야 하는 이유가 있나요?
-
미해결FreeRTOS 프로그래밍
프로세스 종료 관련
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 예제 관련 강의들을 보고 따라하고 있습니다. 진행 중에 디버그모드 -> 종료 후에도 콘솔 창에서는 계속 실행이 되고 있어 문의 드립니다. 강사님 아래 이미지 확인 부탁드리겠습니다. 감사합니다.
-
미해결
작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지 강의 듣고있는데 오류 해결좀 알려주세ㅇ
작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지 강의 듣고있는데 오류 해결좀 알려주세요 ProjectApp 구현 이 강의에서 오류가 나서 아직도 해결이 안되네요 몇일전부터 질문을했는데 아직도 강사님이 답변을 안해주네요 성공 하시는분들 알려주세요 사진안보이면 새탭이미지 열기 하면 사진 잘나와요
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
LEFT 조인 질문
FULL OUTER JOIN을 보고 직접 실습해보려다 LEFT JOIN을 해보았는데요, CustomerID가 왜 NULL이 되는지 이해가 안가서 질문드립니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
test_size 및 random_state 질문드립니다.
1. 강의에서 train 및 test 의 비율을 결정하는 인자라고 설명해주셨는데, 예제에서 iris_data.data의 경우 feature 값만 가지고 있고 iris_data.target의 경우 target 값만 가지고 있는데 비율을 나누는게 어떤 의미가 있는지 잘 이해가 가질 않습니다. 또한, test_szie를 높이거나 줄였을 때 어떤 효과가 있는지도 알려주시면 감사드리겠습니다. 학습 효과를 높이기 위해 test size를 줄이면 학습이 더 잘 되어서 나중에 예측(predict)를 수행 하였을 때 더 좋은 결과를 예측할 수 있는건가요?2. random_state는 동일한 학습/테스트 용 데이터를 생성하기 위한것이라고 이해 했습니다. 입력하는 수치는 어떤 기준에 의해서 정하면 좋을까요?어떤 값을 입력 하던지 상관 없으며 단순히 선생님이 입력한 값과 임의의 사용자가 동일한 값을 출력 하기 위해서 같은 값을 입력한것으로 이해해도 될까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
쿠키 와 OAuth 관련 질문입니다!
[질문 내용] 안녕하세요. 클라이언트의 로그인 요청 이후 서버에서는 Set-Cookie 헤더에 session id 를 넣어주고 이후 cookie 의 session id 를 DB와 비교하여 체크하는 점 잘 배웠습니다! Oauth인증방식에서도 이런 매커니즘이 동일하게 적용되나요? 즉, 서버에서 액세스 토큰을 Set-Cookie 헤더에 넣어주고, DB에도 저장하여 이후 클라이언트 요청에서 Cookie의 액세스토큰과 DB의 액세스토큰을 비교하여 인증 여부를 체크하는 것이 맞을까요?.. 강의내용와 조금 관련성이 떨어지는 것 같기도 하지만(죄송합니다...) 강의 수강중 궁금증이 생겨 질문남깁니다!
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
에러를 해결 못하겠습니다
댓글 작성 후 submit을 누르면 이런 에러가 뜨는데 이유를 모르겠습니다. 댓글 목록도 가져오지 못하는 것 같습니다 .ㅠㅠ 이유를 알 수 있을까요? ㅠㅠ routes/comment.js const express = require('express'); const router = express.Router(); const { Comment } = require("../models/Comment"); //================================= // Comment //================================= router.post('/saveComment',(req,res)=>{ const comment = new Comment(req.body) comment.save((err,comment)=>{ if(err) return res.json({success: false, err}) Comment.find({'_id':comment._id}) .populate('writer') .exec((err,result)=>{ if(err) return res.json({success: false, err}) res.status(200).json({success: true,result}) }) }) }) router.post('/getComments',(req,res)=>{ Comment.find({"postId":req.body.videoid}) .populate('writer') .exec((err,comments)=>{ if(err) return res.status(400).send(err) res.status(200).json({success:true,comments}) }) }) module.exports = router; comment.js import React, { useState } from 'react' import axios from 'axios' import {useSelector} from 'react-redux'; import SingleComment from './Singlecomment' function Comment(props) { const videoId = props.postId const user=useSelector(state=>state.user); //redux/state/user 경로 const [commentValue,setcommentValue]=useState("") const handleClick=(event)=>{ setcommentValue(event.currentTarget.value) } const onSubmit=(event)=>{ event.preventDefault(); const variable={ content:commentValue, writer:user.userData._id, postId:videoId } axios.post('/api/comment/saveComment',variable) .then(response=>{ if(response.data.success){ console.log(response.data.result) setcommentValue("") props.refreshFunction(response.data.result) }else{ alert('코멘트를 저장하지 못했습니다.') } }) } return ( <div> <br /> <p> Replies </p> <hr /> {console.log(props.commentLists)} {props.commentLists && props.commentLists.map((comment, index) => ( (!comment.responseTo && <SingleComment refreshFunction={props.refreshFunction} comment={comment} postId={videoId} /> ) ))} <form style={{display:'flex'}} onSubmit={onSubmit}> <textarea style={{width: '100%' , borderRadius: '5px'}} onChange={handleClick} value={commentValue} placeholder="코멘트를 작성해주세요" /> <br /> <button style={{width: '20%', height : '52px'}} onClick={onSubmit}>Submit</button> </form> </div> ) } export default Comment VideoDetailPage.js import React, { useEffect,useState } from 'react' import {Row,Col,List,Avatar} from 'antd' import { FaLaughSquint } from 'react-icons/fa' import Axios from 'axios' //import { post } from '../../../../../server/routes/video' //import { response } from 'express' import SideVideo from './Sections/SideVideo' import Subscribe from './Sections/Subscribe' import Comment from './Sections/Comment' function VideoDetailPage(props) { //const [Comments,setComment]=useState(initialState) const videoId=props.match.params.videoId const variable={videoId: videoId} const [VideoDetail,setVideoDetail]=useState([]) const [Comments,setComments]=useState([]) useEffect(()=>{ Axios.post('/api/video/getVideoDetail',variable) .then(response=>{ if(response.data.success){ setVideoDetail(response.data.videoDetail) }else{ alert('비디오 정보 가져오기 실패') } }) Axios.post('/api/comment/getComments', variable) .then(response=>{ if(response.data.success){ setComments(response.data.Comments) }else{ alert('코멘트 정보 가져오기 실패') } }) }, []) const refreshFunction=(newComment)=>{ setComments(Comments.concat(newComment)) } if(VideoDetail.writer){ const subscribeButton = VideoDetail.writer._id!==localStorage.getItem('userId') && <Subscribe userTo={VideoDetail.writer._id} userFrom={localStorage.getItem('userId')}/> return ( <Row gutter={[16,16]}> <Col lg={18} xs={24}> <div style={{width:'100%',padding:'3rem 4rem'}}> <video style={{width:'100%'}} src={`http://localhost:5000/${VideoDetail.filePath}`} controls/> <List.Item actions={[subscribeButton]} > <List.Item.Meta avatar={<Avatar src={VideoDetail.writer.image}/>} title={VideoDetail.writer.name} description={VideoDetail.description} /> </List.Item> <Comment refreshFunction={refreshFunction} commentLists={Comments} postId={videoId}/> </div> </Col> <Col lg={6} sx={24}> <SideVideo/> </Col> </Row> //</div> ) }else{ return( <div>...loading</div> ) } } export default VideoDetailPage
-
미해결스프링 핵심 원리 - 고급편
lambda 사용관련하여 질문이 있습니다
강의 매우 잘 듣고 있습니다. 전략패턴 강의를 듣다가 V1 ... V4로 리팩토링 하는 과정에서 람다를 사용하신 것을 보았습니다. 저는 강의를 들으면서 코틀린으로 실습을 진행하고 있는데 ContextV1 context1 = new ContextV1(() -> log.info("비즈니스 로직1 실행")); 코틀린 언어를 사용하는 경우 위와 같이 람다를 사용할 수 없게 됩니다. 물론 저의 코틀린 실력이 부족한 탓이지만 간단한 이슈 때문에 신경쓰여서 다음 강의로 넘어가지 못하고 있습니다 ㅠㅠ 코틀린언어 사용시 위와같은 코드에서 람다를 어떻게 써야하는지 궁금합니다.
-
미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
감사합니다.
감사합니다.