묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결iOS/Android 앱 개발을 위한 실전 React Native - Basic
node.js 설치 오류
안녕하세요. MAC OS node.js 설치중 오류인데 해결방법이 있을까요? ./configure: line 3: exec: python: not found nvm: install v10.15.1 failed! 7.7.3버전은 python: No such file or directory 라고 나오네요
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
always @(*) 와 관련하여..
안녕하세요, 좋은 강의 해 주셔서 잘 듣고 있습니다. FSM 실습 예제에서 한가지 궁금한 부분이 생겼습니다. fsm_test.v 의 52번 줄에 있는, always @(*) 에서 *가 내부 변수중 하나라도 변화를 하면 동작하게 된다고 하셨는데, 내부 변수가 52번줄 ~ 62번 줄 사이에 있는 always begin~end 안에 기술된 reg타입으로 선언된 c_state 와 n_state만을 이야기하는 것인지요? 제가 asterisk 에 대한 개념이 'everything' 을 의미한다는 어떤 고정관념을 가지고 있어서 그런지, 변하고 있는건 clk도, reset_n 도 변하고 있는데 그 변화에도 반응을 하지 않을까 라는 생각이 들었습니다. 질문 작성하면서 영상 아래의 질답 내용에 verilog 2001 문법에 대한 언급이 있어 찾아보았더니 'Simulation and synthesis will automatically be sensitive to all signals read within the procedure. @* was added in Verilog-2001.' 란 내용이 있는데, 봐도 여전히 명확히 이해되지가 않았습니다.^^; all signals read within the procedure 의 범위가 module 전체 안에서인지, 혹은 always @ begin ~ end 까지를 의미하는 것인지 궁금합니다.
-
해결됨파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
matplotlib 폰트에러
강사님 아래와 같이 한글 폰트 에러가 나는데 해결법은 없을까요?
-
해결됨C 프로그래밍 - 입문부터 게임 개발까지
bottle[randBottle] = 1; 인식
안녕하세요 좋은 강의 감사합니다! c언어 강의를 무엇을 들을지 찾고 있었는데 선생님 강의가 제목부터 딱 저랑 맞는 강의인 것 같아서 바로 수강했습니다. !! 좋은 강의 다시한번 감사드립니다. 이번 프로젝트에서 아래 코드대로 똑같이 코드를 따라 적으면서 실행을 했습니다. 실행 자체는 잘되지만, 살행 결과가 문제가 있었습니다. =================== 아빠는 머머리 게임 ================== > 1번째 시도 : 물약을 머리에 바릅니다. >> 실패! 머리가 자라지 않았어요 ㅠㅠ ... 계속하려면 아무키나 누르세요 ... > 2번째 시도 : 물약을 머리에 바릅니다. >> 실패! 머리가 자라지 않았어요 ㅠㅠ ... 계속하려면 아무키나 누르세요 ... > 3번째 시도 : 물약을 머리에 바릅니다. >> 실패! 머리가 자라지 않았어요 ㅠㅠ ... 계속하려면 아무키나 누르세요 ... 이렇게 실행 결과가 출력 되던군요... 제 생각에는 if (bottle[randBottle] == 0) { bottle[randBottle] = 1; if (randBottle == treatment) { isincluded = 1; } } 이 부분이 실행이 제대로 안되고 건너뛰어져서 for (int k = 0; k < 4; k++) { if (bottle[k] == 1) { printf("%d번 ", k + 1); } } 이 부분도 실행이 안되는 것 같은데 여기서 어떻게 조치를 취해야 할지 몇 시간동안 고민하다가 이렇게 글을 남겨 봅니다. ㅠㅠ (제가 주석을 많이 쓰기는 했는데 애초에 컴파일할 때 주석은 무시해서 별 지장은 안갈 것 같습니다.) 아래는 코드 원문입니다! #include <stdio.h> #include <time.h> int main(void) { srand(time(NULL)); printf("\n\n=================== 아빠는 머머리 게임 ==================\n\n"); int answer; // 사용자 입력값 int treatment = rand() % 4; int cntShowBottle = 0; int prevShowBottle = 0; for (int i = 1; i <= 3; i++) { int bottle[4] = { 0,0,0,0 }; // 4개의 병을 생성 do { cntShowBottle = rand() % 2 + 2; } while (cntShowBottle == prevShowBottle); cntShowBottle = prevShowBottle; int isincluded = 0; printf(" > %d번째 시도 : ", i); for (int j = 0; j < cntShowBottle; j++) { int randBottle = rand() % 4; if (bottle[randBottle] == 0) { bottle[randBottle] = 1; if (randBottle == treatment) { isincluded = 1; } } else { j--; } } for (int k = 0; k < 4; k++) { if (bottle[k] == 1) { printf("%d번 ", k + 1); } } printf(" 물약을 머리에 바릅니다.\n\n"); if (isincluded == 1) { printf(" >> 성공! 머리가 자랐어요!\n"); } else { printf(" >> 실패! 머리가 자라지 않았어요 ㅠㅠ\n"); } printf("\n ... 계속하려면 아무키나 누르세요 ...\n"); getchar(); } printf("\n\n 발모제는 몇 번일까요? : "); scanf_s("%d", &answer); if (answer == treatment + 1) { printf("\n >> 정답입니다!\n"); } else { printf("\n >> 땡 틀렸습니다! 정답은 %d번 입니다.\n", treatment + 1); } return 0; }
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
h2 처음 사용시 몇 가지 의문점
1. h2 사용시 왜 처음 외에는 jdbc:h2:tcp://localhost/~/test 로 접속해야하나요? 그냥 넘어가도 되는 부분이기도 하지만 계속 궁금해서요. 만약 그렇게 하지 않으면 무슨 문제가 생기나요? 2. 그리고 jdbc:h2:~/test 이게 파일로 접근하는 방식이라고 하셨는데요. 이 부분이 잘 이해가 안 갑니다. 예를 들어서 MySQL같은걸 사용하면 데몬서버에 JDBC를 사용하는 클라이언트가 요청을 보내면, MySQL의 엔진과 스토리지 엔진이 돌아가면서 DB에 데이터도 저장하고 읽기도 한다고 알고 있거든요. h2가 아무리 경량이라고 하더라도 DB라면 데몬 프로그램으로 어딘가 떠서 돌아가고 있고, 거기에 H2 콘솔이 JDBC를 사용해서 TCP로 요청을 보내고 응답을 받으며 작업을 해야할 것 같은데... 파일로 접근한다는 개념은 무엇인지 잘 모르겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
GROUP BY
평균 연봉이 3000000 이상인 선수들의 playerID 를 추출하는데 SELECT playerID, AVG(salary) FROM salaries GROUP BY playerID HAVING AVG(salary) >= 3000000 이것이 맞는 코드고 SELECT playerID, AVG( salary) FROM salaries WHERE AVG(salary) >= 3000000 제가 생각한 코드는 이건데 왜 안되는지 잘 모르겠습니다. playerID는 그렇다쳐도 SELECT AVG( salary) FROM salaries WHERE AVG(salary) >= 3000000 이건 나와야 하는게 아닌가 싶습니다! 아마 GROUP BY의 필요성에 대해 제대로 이해를 못한것 같은데 계속 되돌려 봐도 잘 모르겠습니다!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
npm start 시 먹통?
제로초님 아래와 같이 sudo npm start 하면 저러고 진행되지가 않습니다. ㅠㅠ 노드, mysql설치, .env 만들기, 시퀄라이즈는 config.js로 변환해서 db 만든후 다시 ts로 바꿔줬습니다. ip는 도매인 구입후 front,back 탄력적 ip 만들고 레코드에 등록도 해놓았습니다. 2번 다시 인스턴스 만들고 해보았는데 저기서 멈춰버립니다. 로컬에서 dev할떄는 정상작동되는걸 확인했습니다!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
실제 사용 사례를 생각해봤습니다.
안녕하세요. 실제 사용 사례를 생각해보다가 궁금한 점이 생겨 질문 남깁니다! 간단한(level4)메세지를 사용하는 코드나, 복잡합(level1)메세지를 사용하는 코드 모두, 초기에는 다음과 같이 작성되어있을 것으로 생각이 됩니다. bindingResult.rejectValue("simpleMessage", "required"); // 초기의 간단한 메세지 bindingResult.rejectValue("complicateMessage", "required"); // 초기의 복잡한 메세지 여기서 "complicateMessage"에만 복잡한(level1)메세지를 적용하고자 할 것 같은데, required.complicate 를 errors.properties에 작성하는 순간, 위 두 코드 모두 적용이 될 것 같아서요. Q1. 그러면 결국... 코드를 한번 건들여야할 것 같다고 생각이 들고.. Q2. 또, 어떤 메세지는 복잡한 버전을 쓰고, 어떤 메세지는 간단한 버전을 사용하고 싶은 경우가 있으면, 둘을 어떻게 구분할 수 있을 지 궁금합니다(모두 복잡한 버전이 사용되지 않을까 생각됩니다)
-
미해결홍정모의 따라하며 배우는 C언어
putchar() / getchar() 강의 중
// while( (ch = getchar()) != '\n'){ if( ch >= 'a' && ch <= 'z') // 'A' = 65, 'a' = 97 ch -= 'a' - 'A'; else if(ch <= 'A' && ch >= 'Z') ch += 'a' - 'A'; putchar(ch); 위와 같은 코드에서 getchar()로 a 를 받았다면 ch = 'a' - 'a' -'A' 로 되어 ch = -'A' 가 남게 되고 A가 출력되는 것 처럼 보이는데, int main(){ char c = -'a'; printf("%c", c); } 이렇게 새롭게 코드를 작성해서 출력하면 컴파일 오류가 발생합니다. char형에는 문자만 담을 수 있는 걸로 아는데 -는 어떻게 처리되나요? 그리고 getchar()로 c 를 받았다면 ch = 'c' - 'a' -'A' 로 되는데 어떻게 C가 출력되는지 과정이 궁금합니다. 감사드립니다.
-
해결됨Node.js로 웹 크롤링하기
선장님 도와주십쇼!
import puppeteer from "puppeteer"; import axios from "axios"; import fs from "fs"; const botAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36"; const crawlerBot = async () => { try { const browser = await puppeteer.launch({ headless: false, args: ["--window-size=1920,1080"], }); const page = await browser.newPage(); await page.setUserAgent(botAgent); await page.goto("https://unsplash.com"); await page.waitFor(2000); const result = await page.evaluate(() => { const imageArray = []; const image = document.querySelectorAll(".ripi6 img.YVj9w"); if (image.length) { image.forEach((e) => { imageArray.push(e); }); } return imageArray; }); console.log(result); await page.close(); await browser.close(); } catch (err) { console.error(err); } } crawlerBot(); 강의에서 빈값이 들어있는 이유랑 연관이 있는 거 같은데 태그를 찍어봤더니 전부 빈 객체가 들어있습니다.(다른 태그들도 빈 객체) 언스플래쉬 사이트가 철통보안을 쳐놓은 걸까요? 콘솔 태그 결과입니다.
-
해결됨언리얼 엔진4 입문 (C++ 기반)
점프가 작동하지 않습니다.
안녕하세요 jump 구현 부분에서 모든 절차를 동일하게 했는데도 캐릭터의 점프가 작동하지 않습니다. defaultpawnclass 를 AMyCharacter::StaticClass로 설정하면 캐릭터의 점프가 되는데 블루프린트 캐릭터로 설정하면 점프가 안되네요... 강의 영상에서도 블루프린트 캐릭터로 하신것 같은데 이유가 뭔지 모르겠습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
질문이 있습니다.
이 방법의 한계로 이미 만들어진 클래스 대상으로 사용 불가를 이유로 들어주셨는데요 외부 라이브러리를 사용하더라도 헤더파일과 라이브러리가 있기 때문에 외부 라이브러리에서 특정 클래스(Ex. RefCountable)를 상속해서 사용해주세요 가 가능하지 않나요?
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
css불러오기 질문 드립니다.
군대에서 웹의로 코딩을 하고있는 학생입니다. 이틀동안 고민 후 결론이 나오지 않아 이렇게 질문 남깁니다. 처음에 강의를 보며 코드를 작성하고 따라가고 있었는데 처음의로 실행을 하였을때 css가 적용이 되지 않았습니다. 저의 코드가 이상한것 같아 강사님의 코드로 하여도 같은 결과가 나왔습니다. 이곳 저곳 검색을 하며 문제를 찾아 보았는데 <link>태그가 문제일수 있다는 의견이 있어서 <link rel="stylesheet" href="/workspace/html-css/css/style.css" /> 이런식의로 절대주소로 작성도 해보았는데 css태그가 적용이 되지않습니다. 코드를 실행하였을때 나오는 화면에서 f12를 눌렀을때 404에러가 나오고있습니다. 혹시 이럴때 의심가는 부분이 있는지 여쭤보려고 질문올립니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
404 not found
https://github.com/joshua1988/vue-advanced.git 404 not found 나옵니다. 예전에 됐었는데...주소가 바뀌었나요? 아니면, 승인이 해제된건지요? 인프런 아이디 : jnj45 인프런 이메일 : jnj45@hanmail.net 깃헙 아이디 : jnj45@hanmail.net 깃헙 Username : jnj45
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
key 값 할당에 대해 궁금합니다.
강의에서는 useRef 를 사용하면 된다고 하셨는데, 그 이유가 무엇인지에 대한 설명이 없으셔서 let 이나 var 는 불가능한가 해서 테스트해보니 값이 증가하지 않더라구요. 왜 그런지 이유가 궁금합니다. // const dataId = useRef(0); let dataId = 0; const onCreate = (author, content, emotion) => { const created_date = new Date().getTime(); const newItem = { author, content, emotion, created_date, id: dataId, }; dataId += 1; setData([newItem, ...data]); };
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [취업편]
이미 진행중인 대졸 및 자격증 필수 일까요
안녕하세요 강사님. SI회사로 취업해서 7개월째 재직중인 신입입니다 현재 기사 실기를 준비중이며 , 정보처리기사 실기, 컴활1급 실기 획득 후 학기 수료하면 사이버대학 졸업 예정인데요, 기사 실기 시험이 한달 남았는데 .. 지금 서비스 회사로 이직하고 싶은 욕구가 너무 커서 포트폴리오와 코딩테스트 준비 하고싶은 생각에 기사 실기 준비가 잘 안되고 있습니다. 기사 실기를 획득 후에도 컴활1급 실기도 획득해야 졸업인데, 자격증을 취득 후 이직준비를 하는게 맞을지 . 그냥 지금부터 이직준비를 하는게 맞을지 강사님께서 조언을 해준다면 어느 한쪽에 확실히 집중할 수 있을거 같아 문의 드립니다 . 감사합니다
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
% f 질문
print('6f%' %(3.141592)) print('06f%' %(3.141592)) 두개 차이가 있나요?
-
미해결vue.js 실전 프로젝트(트위터 클론)
트윗페이지의 코멘트 관련하여 질문드립니다.
안녕하세요. 트윗페이지의 코멘트 불러오기를 하고 있는데요, 강의와 동일하게 아래처럼 코드를 넣었더니, 코멘트를 작성한 트윗이 아닌 다른 트윗에 가도 작성했던 댓글이 모두 불러와집니다. COMMENT_COLLECTION .orderBy("created_at", "desc") .onSnapshot((snapshot) => { snapshot.docChanges().forEach(async (change) => { let comment = await getTweetInfo( change.doc.data(), currentUser.value ); if (change.type === "added") { comments.value.splice(change.newIndex, 0, comment); } else if (change.type === "modified") { comments.value.splice(change.oldIndex, 1, comment); } else if (change.type === "removed") { comments.value.splice(change.oldIndex, 1); } }); }); 그래서 COMMENT_COLLECTION 뒤에 .where("from_tweet_id", "==", tweet.value.id) 을 추가했더니었더니 해당 트윗에만 정상적으로 나오는 것 같은데요, 위처럼 작성하면 맞는것인지 혹은 다른 방법이 있는지 궁금합니다.
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
내보내는 객체의 콤마, 불러와서 변수를 사용하는 방식에 대해 질문 드립니다!
제로초님 안녕하세요. 강의를 듣고 코드를 실습해보다가 두 가지가 궁금해서 질문 드립니다. 1. 코드를 export로 내보내실 때 객체의 마지막 값까지 콤마를 작성하셨는데 저는 작성하지 않아도 실행이 되더라구요. 혹시 다른 문법적인 이유가 있으신건가요? 코드 예시 : module.exports = { odd, even, }; * 여기서 even 뒤 콤마를 질문드렸습니다! 2. 강의를 듣고 혼자 실습을 해보다가 변수를 조금 다르게 불러와서 사용했는데도 결과가 똑같이 나왔습니다. 저는 모듈에서 불러온 값을 바로 사용했는데, 제로초님께서는 변수에 담아서 사용하셨더라구요! 혹시 변수에 담아서 사용하는 것과 바로 사용하는 것의 차이가 있을까요? (제가 고민해봤을 때는 바로 사용하는 방식은 값을 한 번만 사용할 때 편할 것 같고, 변수에 담는 방식은 값을 자주 그리고 많이 사용하는 경우에 유용할 것 같은데 제초로님 의견이 궁금합니다!) 제로초님 코드 : const value = require('경로'); const odd = value.odd; const even = value.even; 제 코드 : const value = require('경로'); if ~ { console.log(value.odd); }
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
분리 이해가 잘 안 됩니다.
강의를 2번째 돌려보고 있습니다. 처음엔 강사님 코드 따라치고 지금은 프로젝트를 따로 만들어 직접 사용해 보면서 하고 있다 막히는 부분이 있어서 질문 드립니다. 분리를 하라는 것이 View에서 th:object에 담아오는 model 객체를 여러개 만들어 사용하라고 이해를 해서 아래와 같이 했습니다. 1. item1Vo (등록) 2.item2Vo (수정) 두 VO를 만들어주고 하나는 아이템 등록, 하나는 아이템 수정 정보를 받아오게 했습니다. 그 뒤에 itemDto를 만들어주고 Controller에서 itemDto로 item1Vo와 item2Vo를 옮겨서 Service로 보내주는데 이떄, 검증 로직은 item1Vo, item2Vo에 해야 하나요? itemDto에 해야 하나요? (검증 애노테이션은 item1Vo와 item2Vo에 붙였고 등록의 검증 로직은 성공한 상태입니다.) 강사님이 말씀하신 따로 form객체를 만들어서 분리를 하라는 것이 제가 하고 있는 것을 말씀하시는 건가요? ++ 추가 이렇게 검증해야 하는 게 많아지면 supports가 구분을 해준다고 하셨는데 @Overridepublic boolean supports(Class<?> clazz) { return item1Vo.class.isAssignableFrom(clazz);} 위 코드는 item1Vo를 적용한 상태이지만 item2Vo를 적용하려면 어떤 식으로 넣어줘야 할까요?.. 깃허브 다른 분들꺼 찾아보니까 새로 클래스 만들어서 @Overridepublic boolean supports(Class<?> clazz) { return item2Vo.class.isAssignableFrom(clazz);} 이렇게 사용하던데 이렇게 사용하면 supports의 구분 기능이 필요가 없는 게 아닌가 싶어서요.