묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결진짜 현업에서 쓰이는 직장인의 실무 엑셀 - 데이터 가공부터 분석까지
Open API로 빅데이터 가져오기
body의 고급편집기에서 함수 적용을 한 후 body가 테이블에서 함수로 변환까지 실습하였습니다. 그러나 표2를 사용자 지정 함수 호출로 적용하려고 하면 아래와 같이 에러가 뜹니다. 영상에서 적용되던 아르헨티나, 짐바브웨 포함... Formula.Firewall: 쿼리 '표2 (2)' (단계 '호출된 사용자 지정 함수')에서 함께 사용할 수 없는 개인 정보 수준의 데이터 원본에 액세스하는 중입니다. 이 데이터 조합을 다시 만드세요. 해결방법이 있을까요?
-
미해결웹 게임을 만들며 배우는 React
로또 질문있습니다.
안녕하세요 제로초님! function getWinNumbers() { console.log("getWinNumbers"); const candidate = Array(45) .fill() .map((v, i) => i + 1); const shuffle = []; while (candidate.length > 0) { shuffle.push( candidate.splice(Math.floor(Math.random() * candidate.length), 1)[0] ); } const bonusNumber = shuffle[shuffle.length - 1]; const winNumbers = shuffle.slice(0, 6).sort((p, c) => p - c); console.log("winNumbers1:", winNumbers); return [...winNumbers, bonusNumber]; } const Memo = () => { const lottoNumbers = useMemo(() => getWinNumbers(), []); const [winNumbers, setWinNumbers] = useState(lottoNumbers); const [winBalls, setWinBalls] = useState([]); const [bonus, setBonus] = useState(null); const [redo, setRedo] = useState(false); const timeouts = useRef([]); console.log("winNumbers2:", winNumbers); console.log("winBalls:", winBalls); useEffect(() => { console.log("useEffect"); for (let i = 0; i < winNumbers.length - 1; i++) { timeouts.current[i] = setTimeout(() => { setWinBalls((prevBalls) => [...prevBalls, winNumbers[i]]); }, (i + 1) * 1000); } timeouts.current[6] = setTimeout(() => { setBonus(winNumbers[6]); setRedo(true); }, 7000); return () => { timeouts.current.forEach((v) => { clearTimeout(v); }); }; }, [timeouts.current]); // 빈 배열이면 componentDidMount와 동일 // 배열에 요소가 있으면 componentDidMount랑 componentDidUpdate 둘 다 수행 useEffect(() => { console.log("로또 숫자를 생성합니다."); }, [winNumbers]); const onClickRedo = useCallback(() => { console.log("onClickRedo"); console.log(winNumbers); setWinNumbers(getWinNumbers()); setWinBalls([]); setBonus(null); setRedo(false); timeouts.current = []; }, [winNumbers]); 강좌와 같은 코드에서 getwinNumbers 함수안에서 winNumbers의 값을(winNumbers1) 콘솔로 한번 찍고 function getWinNumbers() { ...... console.log("winNumbers1:", winNumbers); return [...winNumbers, bonusNumber]; } 이번에는 Memo 안에서 winNumbers를 (winNumbers2)콘솔로 찍어보고 const Memo = () => { const lottoNumbers = useMemo(() => getWinNumbers(), []); const [winNumbers, setWinNumbers] = useState(lottoNumbers); const [winBalls, setWinBalls] = useState([]); const [bonus, setBonus] = useState(null); const [redo, setRedo] = useState(false); const timeouts = useRef([]); console.log("winNumbers2:", winNumbers); console.log("winBalls:", winBalls); 브라우저를 실행하면 이와같이 winNumbebrs1과 2가가 처음에는 두개의 콘솔 모두 같은 값이었다가 useEffect가 실행되고 나서 값이 바뀝니다. 이런 현상은 초기 렌더링이거나 새로고침을 하면 똑같이 일어납니다. 하지만 onClickRedo한번더를 누르면 그제서야 winNumbers의 값이 같게 나옵니다. 왜 처음렌더링하거나 새로고침시 값이 다르게 나오는지 궁급하니다!. 2. 강의 5-2 에서 componenetDidMount () { const {imageCord} = this.state this.interval = setInterval( () => { console.log("hello", this state.imageCord, rspCoords,가위) if (imageCord === repCoords.바위) ....... } } 이코드에서 비동기 함수 바깥에 있는 변수 imgeCord를 참조해서 클로져 에러가 발생한다고 하셨잖아요? const Memo = () => { const lottoNumbers = useMemo(() => getWinNumbers(), []); const [winNumbers, setWinNumbers] = useState(lottoNumbers); const [winBalls, setWinBalls] = useState([]); const [bonus, setBonus] = useState(null); const [redo, setRedo] = useState(false); const timeouts = useRef([]); useEffect(() => { console.log("useEffect"); for (let i = 0; i < winNumbers.length - 1; i++) { timeouts.current[i] = setTimeout(() => { setWinBalls((prevBalls) => [...prevBalls, winNumbers[i]]); }, (i + 1) * 1000); } 그런데 이코드에서 setTimeout 비동기 함수에서 winNumbers와 timeouts도 useState에 있는 변수?(상수)인데 이때는 왜 클로져 문제가 발생하지 않는지 궁금합니다!
-
미해결Slack 클론 코딩[실시간 채팅 with React]
오브젝트 전달관련 질문드립니다.
강의 중 질문이 있어 글남깁니다. 모달 팝업을 열거나 할때, 아래와 같이 하위 컴포넌트에서 스테이스를 전달하여 모달을 닫는 방식으로 되어 있는것을 확인하였습니다. 상위 컴포넌트: const [showCreateChannelModal, setShowCreateChannelModal] = useState(false); <CreateChannelModal show={showCreateChannelModal} onCloseModal={onCloseModal} setShowCreateChannelModal={setShowCreateChannelModal} /> 하위 컴포넌트 : interface Props { show: boolean; onCloseModal: () => void; setShowCreateChannelModal: (flag: boolean) => void; } const CreateChannelModal: FC<Props> = ({ show, onCloseModal, setShowCreateChannelModal }) => { ... 이 방식을 활용하여 아래와 같이 하위 컴포넌트에서 사용자 정보인 IUser를 전달해보고자 했는데 자꾸 set이 안되고 빈 값만 출력이 되는데 어떻게 해야할지를 모르겠어서 문의드립니다. const [User, setUser] = useState({}); <CreateChannelModal show={showCreateChannelModal} onCloseModal={onCloseModal} setUser={setUser} /> 하위 컴포넌트 : interface Props { show: boolean; onCloseModal: () => void; setUser: (u: IUser) => void; } const CreateChannelModal: FC<Props> = ({ show, onCloseModal, setUser}) => { ...
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
이 개념강의를 다듣고 문제를 풀면 되는건가요?
아니면 이건 딱히 상관없고 그냥 각 문제를 풀면서 딸린 해설을 봐야하나용?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
강사님 코드리뷰 부탁드릴게요
function getPresentStudent(mm,product) { let maxMoney = mm[1]; let answer = 0; product.sort((a,b)=> (a[0]+a[1]) - (b[0]+b[1])) for(let i = 0; i < product.length; i++) { let buySaleLeftMoney = maxMoney - (product[i][0]*0.5 + product[i][1]); let count = 1; for(let j = 0; j < product.length; j++) { if(j === i) continue; buySaleLeftMoney -= (product[j][0] + product[j][1]) count++; if(buySaleLeftMoney <= 0) { answer = count; break; } } } console.log(answer); } const budget = [5,28]; const product = [ [6,6],[2,2],[4,3],[4,5],[10,3] ] getPresentStudent(budget,product)
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
셀레니움 csv 오류
안녕하세요. 강의 잘 듣고 있습니다. 기본편 셀레니움 빨리 마치고 실전편으로 넘어가고 싶은데 오류로 넘어가질 못하고 있어요. 제 오류는 csv 를 막상 열어보면 한 줄 밖에 못 가지고 온다는 겁니다. 끝까지 스크롤 된게 보이는데 저장파일을 열면 한 줄 밖에 추출을 못했네요. 에러 문구는 아래와 같습니다. C:\startcoding_crawling>[2548:20056:0320/181443.565:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is disabled, ANGLE is 정말 재미있게 배우고 있어요. 실전편 강의도 기대하고 있습니다. 감사합니다.
-
미해결빅데이터분석기사 실기대비 (R 활용)
실습 데이터 받을 수 있는지요
강의 자료, 기출 문제 와 연습 문제 실습데이터 다운 받을 수 있는지요
-
미해결데이터베이스 중급(Modeling)
PK관련 질문
. 안녕하세요 강의에서 강의개설을 위와 같이 정의하시고, PK를 Seq를 사용하지 않는 이유는 성능상의 문제라고 하셨는데요. 왜 성능상의 문제가 생기는지 궁금하고 PK를 저렇게 굳이 묶어서 써야하는 이유가 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
.h와 .cpp는 어떤 원리로 연결되나요?
안녕하세요, 궁금한 점이 생겨 질문드립니다. a.h와 a.cpp, main.cpp가 있을 때 main.cpp에 #include a.h를 해줬고 컴파일 이후 링킹 과정에서 a.cpp를 링크시킨다고 하던데 이때 과정이 궁금합니다. a.h와 a.cpp의 이름 a를 통해 연결되는 건가요, 아니면 a.cpp안의 #include a.h를 보고 연결시키는 건가요? 감사합니다!
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
프래그먼트 말고 뷰페이저2로 해도 괜찮은가요? 그리고 뚜껑 저렇게 말고 탭 레이아웃으로 하면 될까요?
안녕하세요 궁금한게 있어서 질문 드립니다! 탭에 프래그먼트로 적용했는데 뷰페이저2를 만들고 탭을 만들어서 적용 해도 괜찮을까요 프래그 먼트는 클릭으로 화면 전환 뷰페이저2는 화면을 슬라이스해서 화면 전환 이런 차이로 알고있는데 맞을까요? 그리고 차이가 이거 말고 더 있을까요? 마지막으로 뚜껑을 저렇게 말고 탭 레이아웃을 만들고 적용하면 될까요?
-
미해결홍정모의 따라하며 배우는 C++
0 아니면 다 true라고 하셨습니다.
왜 알파벳 하나 입력 했을때 false가 나오나요? d나 다른 알파벳도 넣으면 false가 나옵니다. 강의 시간 - 18:45 비쥬얼 스튜디오 버젼 2019 16.7.5
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
Toast.makeText 에러 및 getData
Toast가 import 되었음에도 불구하고 makeText메소드 사용시에러가 납니다. 구글링을 한 뒤 this 대신 getApplicationContext()을 해도 에러가 나고 getData를 "${getData}" 해도 String 형이 아니라 null 값이 뜹니다. 이러한 문제 때문인지 여기서도 getData 값을 인식하지 못하는 거 같습니다. 구글링 해도 방법을 잘 모르겠네요..
-
미해결Slack 클론 코딩[실시간 채팅 with React]
배포 관련질문
안녕하세요 제로초님 정말 마지막 질문 드리겠습니다.. 홈페이지 띄우는 것까지 성공했고, 이제 회원가입까지 완료되었는데 회원가입한 아이디로 로그인이 안됩니다. 로그인 요청은 가는데 응답이 false로 돌아옵니다. 혹시 저 같은 사람이있을것 같아 커뮤니티에 배포라고 검색해보니 저랑 똑같은 에러를 겪는 사람이 있더군요 근데 해결방법이 적혀있지 않 아서.. 질문 너무 많이해서 죄송합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
sendQueue에 1개 이상 쌓이는 이유
안녕하세요 선생님 디버깅을 해봤는데 생각한대로 잘되지않아서 _sendQueue 버퍼가 쌓이는 방식이 제가 이해한게 맞는건지 의문이 들어서 질문드립니다. 일단 send()에서 _sendQueue에 버퍼를 넣어주고 _sendRegistered를 true 변경후 RegisterSend()를 호출합니다. 그리고 _sendQueue를 모두 비운후 WSASend까지 성공을하면 send()에서 걸었던 lock이 해제가 됩니다. 그후에는 다른 쓰레드에서 동일한 세션으로 send를 요청할경우 send()를 받고 _sendQueue에 버플 넣을수는 있으나 ProcessSend()에서 _sendRegistered를 false로 변경하지않았을경우 send()에서 RegisterSend()를 호출할수 없습니다. 그후 기존에 send가 진행되고 있던 쓰레드가 실행될경우 ProcessSend()에서 바로 RegisterSend()함수를 호출하게 되고 그때는 _sendQueue에 쌓여있는 버퍼를 볼수있게 됩니다. 제가 이해한게 맞는건가 싶어 질문드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 테이블 생성오류 문의
안녕하세요. 인텔리제이가 아닌 스프링부트로 학습 진행중입니다. 이전 강의에서 진행하였던 member 테이블 생성은 잘되었는데 엔티티 클래스 테이블 생성에서 오류가 나지 않는데 테이블 생성이 안되어 질문 드립니다. h2 처음 세션 설정 : Generic H2 (Server)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2를 실수로 지워버렸는데 복구를 어떻게해야할까요?ㅜㅜ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]실수로 저기remove를 눌러서 h2를지워버렸는데 복구는 어떻게해야할까요?ㅠㅠ.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
19줄에 왜 hello-template로가는 링크가 없는건가요??
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 대로 따라쳤는데 왜 .hello-template로가는 링크가 없는걸까요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
dir눌러보니까 libs파일이 없네요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요. dir을 눌러보니 libs파일이없네요
-
미해결홍정모의 따라하며 배우는 C언어
혹시 자막은 사용못하나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
간단한 궁금증이 생겨 질문 남깁니다!
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. '모던 웹을 위한 다양한 Javascript+ES6 배열 문법 이해2' 동영상 16:10초에 설명하신 filter 함수에 대해 질문드립니다! 맨 처음에 myArray를 let으로 선언하셨는데, myArray 배열은 계산 후에도 변경되지 않는 배열인데 let으로 선언해야 하는 이유가 있을까요? const로 선언해도 결과는 동일하게 나오는 것을 확인했는데 혹시 let으로 선언해야 하는 이유가 있는지 궁금해 질문 남깁니다.