묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
선생님.....또 질문이요......
선생님 자꾸 질문이 너무 많아서 정말 죄송합니다. 열심히 공부하려다 보니 그렇구나로 이해해주시면 정말 감사하겠습니다. getchar();에 대해서는 이해가 됐습니다. 친절한 설명 정말 감사합니다. 질문 한방에 다 할게요 1. 한글 동시입력에 대해서 답해주셨는데, 말씀하신 다른 부분이란, 제가 어찌 설정할 방법이 없는건가요? 혹여나 설명가능하거나 제가 참고할 만한 글이 있다면 링크라도 달아주시면 정말 감사하겠습니다. 2. 비밀번호 수정에 관한 코드도 정말 감사합니다. 써주신대로 이해가 됐습니다. 하나 더 질문이 있는데, (도통 코드를 짜지 못하겠어서요). 백스페이스바를 계속 입력할수도 있지 않습니까? i=0이 되더라도 말이죠. 그럴때 오류가 안나게하기 위해서는 어떤 코드를 짜면 좋을까요? (그냥 선생님의 정확한 생각으로 코드를 알려주시면 정말 감사하겠습니다.) 3. 줄바꿈 문자 입력에 관한 내용인데요. 선생님께서 첨부해주신 코드를 사용해도 엔터를 입력하면 쓰레기 값이 입력됩니다. 제 코드를 비교해도 다른 점이 없는데 말이죠....... 어떤것이 문제인지 코드 올릴테니 봐주세용 ㅜㅠㅜㅠ #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #define max 1000 // 비밀번호를 입력받아서 // 맞는 경우? 일기를 읽어와서 보여주고, 계속 작성할 수 있도록 합니다. // 틀린 경우? 경고 메시지를 표시하고, 종료합니다. int main_4() { char line[max]; // 불러오기를 했을 때, 불러올 내용을 저장할 곳(변수) char contents[max]; // 일기장에 입력할 내용. char password[20]; // 비밀번호 int c; // getch 함수의 리턴값을 검사할 변수. printf("'비밀일기'에 오신 것을 환영합니다.\n"); printf("비밀번호를 입력하세요. : "); // getchar();와 getch();란? : 한 글자씩 입력하는 함수. 널문자까지 문자로 인식한다. // getchar(); : Enter를 입력해야 동작을 한다. // getch(); : 키 입력만 하면, 바로바로 동작을 한다. int i = 0; while (1) { // for 구문을 써도 된다. c = getch(); // 입력한 문자들이 getch로 바로바로 입력이 되어, 한 글자씩 변수 c에 저장된다. if (c == 13) { // 입력한 문자가 Enter(줄바꿈 : \n)라면. (Enter의 아스키코드가 13이다.) password[i] = '\0'; // i번째에 데이터를 널문자(끝낼수 있도록)를 넣는다. /*참고로, getch():는 한 글자씩 입력하는 함수인데, 응용해서 한 줄의 문자를 입력하는 함수지만, 더 응용해서 여러줄을 입력하기도 한다. 줄바꿈을 할 때 Enter를 입력하고, 여러 줄의 문장을 끝낼 때 ctrl+z를 입력한다. Enter로 줄바꿈을 하면 입력될 데이터는 '\0'이지만, ctrl+z로 줄바꿈을 하면 -1을 리턴값으로 가진다. 그래서 -1을 위해서 int형 변수로 선언해야한다.*/ break; // 비밀번호 입력 종료. } else if (c == 8) { // 백스페이스바를 입력하면, 즉 비밀번호를 지우면 (백스페이스바의 아스키코드가 8이다.) password[i - 1] = '\0'; // i번째에서 Backspace를 입력하는 것이니, 그 전자리인 'i-1'번째 자리의 데이터를 지워야한다. printf("\b \b"); /*\b는 현재 데이터를 입력하는 위치에서 왼쪽(전)으로 커서를 이동시켜주는 변환문자. 그러니, 왼쪽으로 한번 커서 이동후에, 스페이스바를 입력하여 빈칸이 되게 만들어주고, 스페이스바를 입력했으니 다시한번 뒤로 커서가 이동해야한다.*/ i = i - 2; // 'i-1'번째 데이터를 지웠으니, 'i-2'번째 데이터까지만 입력이 완료된다. 44번줄에 i++이 있으니, 이렇게 입력해주는 것이 옳다. } else { // Enter를 입력하지 않으면. password[i] = c; // getch를 써서 계속 입력하여 c에 저장된 글자들이 password 배열에 저장된다. printf("*"); // 입력할 때마다, 비밀번호는 감추고, 대신 '*' 요놈을 출력할 것이다. } i++; } char* fileName = "c:\\Users\\최윤성\\Desktop\\secretdiary.txt"; FILE* file = fopen(fileName, "a+b"); // "a+b"는 파일이 없으면 생성하고, 있으면 append(뒤로 내용을 추가)한다는 의미. printf("\n\n==== 비밀번호 확인 중.... ====\n\n"); if (strcmp(password, "skehzheld") == 0) { // 1. 비밀번호가 맞다면 (strcmp는 문자열 함수를 보면 복습할 수 있다.) printf("==== 비밀번호 확인 완료 ====\n\n"); if (file == NULL) { printf("*****파일 열기 실패*****\n\n"); return 1; } else printf("*****파일 열기 성공*****\n\n"); // 파일 개방. while (fgets(line, max, file) != NULL) { printf("%s", line); } // 파일을 불러온다. 처음 쓰면 아무것도 불러올 것이 없을 것이고, 쓴 문장이 있었다면, 썼던 문장들이 불러오게 될 것이다. printf("\n\n내용을 계속 작성하세요. 종료하시려면 \"끝\"을 입력하세요.\n\n"); while (1) { scanf("%[^\n]", contents); // 줄바꿈(\n)이 나오기 전까지, 모든 문자열을 다 입력한다 뜻의 변환 문자이다. 즉, 한 문장씩 저장을 하겠다는 의미. getchar(); // 입력한 줄바꿈(Enter:\n)을 Flush(버림) 처리한다. if (strcmp(contents, "끝") == 0) { printf("비밀일기 입력을 종료합니다.\n\n"); break; } // 무한반복이니, scanf로 입력하는 모든 문장들은 "끝"이 나오기 전까지, 한 문장씩 전부 기억한다. fputs(contents, file); fputs("\n", file); // 입력된 문장들은 바로바로 저장이 된다. "끝"을 입력하여 종료하기 전까지 계속. } } else printf("==== 비밀번호가 틀렸어요. ====\n"); // 2. 비밀번호가 틀리다면. 틀렸다고 말하고. 바로 밑으로 항해서 int res = fclose(file); if (res != 0) { printf("\n*****파일이 정상적으로 닫히지 않았습니다.*****\n\n"); return 1; } else printf("\n*****파일이 정상적으로 닫혔습니다.*****\n\n"); // 결국 파일이 종료된다. 파일 닫기. return 0; } 엔터 입력마다 다른 현상의 오류가 납니다.
-
미해결React로 NodeBird SNS 만들기
테이블 생성 시 첫 글자가 대문자로 됩니다...
안녕하세요~^^ 제로초님이랑은 다르게 테이블 생성 시 첫 글자가 대문자로 됩니다...참고로 맥 OS이고 MySQL 버전은 5.7.13입니다.
-
미해결블록체인 이더리움 부동산 댑(Dapp) 만들기 - 기본편
계약 완료시 구매수 회수 증가
안녕하세요 강의 잘 보고 있습니다. 강의 내용을 활용해서 dapp 개발해보고 있는데요. 혹시 계약 완료시 sold out 표시가 나타나는 것이 아닌 상품을 파는 것처럼 계약 완료시 구매 횟수가 보여지고 증가하게 만들 수 있을까요? 예를 들면 1번 계약 완료되면 구매횟수 : 1 2번 계약 완료되면 구매횟수 : 2 이런식으로요. 좋은 강의 감사합니다.
-
미해결블록체인 이더리움 부동산 댑(Dapp) 만들기 - 기본편
안녕하세요@_@
전체 소스코드가 혹시 있나요 한번에 만들고 공부하고 싶어요~
-
미해결React로 NodeBird SNS 만들기
db.sequelize.sync()가 동작을 안합니다...ㅜㅜ;
안녕하세요~강의 재밌게 잘 보고 있습니다~^^ DB 접속 시도를 하니 아래처럼 에러가 발생하는데 원인을 잘 모르겠네요...도움 좀 받을 수 있을까요~??
-
해결됨Node.js 교과서 - 기본부터 프로젝트 실습까지
request 작성
https://developers.kakao.com/docs/restapi/tool#user-api#/v1/user/unlink 저 곳 설명에 의하면 https://kapi.kakao.com/v1/user/unlink 로 헤더에 Authorization: Bearer 4S4XZfAsIZ1RFqr9bwWc2N0-qK-lW3ocUMIZUQorDKYAAAFugtugRw 내용을 담아 request요청을 보내라고 하여 if (req.user.dataValues.provider == 'kakao'){ let option = { uri: 'http://kapi.kakao.com/v1/user/unlink', method: 'POST', headers: `Authorization: Bearer ${req.user.dataValues.token}`, } requset(option, (error, respons, body) => { if (error){ console.error(error); return next(error); } else { console.log("카톡 리퀘스트로 됨!!"); req.logout(); req.session.destroy(); res.redirect('/'); } }); } else{ console.log("logout OK"+req.user.dataValues.token); req.logout(); req.session.destroy(); res.redirect('/'); } 이렇게 작성했으나 보내지지 않았습니다 ㅠㅠ 혹시 request에 헤더를 넣어 보내는 법을 알려주실 수 있나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
yml 파일의 H2 연결 설정 반영이 안되는 것 같습니다.
@Test 작성 후에 툴에서는 정상적으로 실행되는 모습이었는데 @Rollback(false) 작성 후에도 H2 콘솔에서 Member가 생성되는 모습을 볼 수가 없길래 뭐가 문제인가 싶었더니 P6SPY 추가 후에 H2 URL이 잘못 연결되고 있는 것을 발견했습니다. yml 파일은 정상적으로 작성했다고 생각하는데 뭐가 문제일까요? 잘못 작성된 게 있나 싶어서 강의자료에서 코드 붙여넣기도 해봤는데 여전히 해결이 안 됩니다. 도움 부탁드립니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
해커뉴스의 포함관계의 댓글 구현시 질문
안녕하세요. 강사님! 해커뉴스의 ask에서 질문을 클릭하면 하나의 질문 item 페이지로 가게 되는데요. 거기서 댓글을 보면 댓글> 댓글> 댓글 이런식의 트리구조가 생기는 걸 볼수 있습니다. json 데이타도 comments > comments > comments... 이런 다차원 배열로 되어있죠. 이부분을 어떻게 itemView.vue에서 <ul><li><ul><li>...포함 구조를 렌더링 할 수 있을지 궁금합니다. 얼마나 깊어질지 모르는 이런 상태에서 v-for를 써야하는지, 아니면 포함관계 태그를 문자열로 만들어 v-html로 넣어야 하는지 만약 그렇다면 어떻게 구현할 수 있는지 궁금합니다. 혹시 강사님이 이부분의 트리구조 댓글을 구현해 놓으신게 있다면 부탁드리겠습니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
Media Offline 에러 메세지
영상 중간에 계속 이런 경고 메세지가 나옵니다. 원인이.. 무었인지..
-
미해결생활코딩 - Linux
CodeoOnweb에서
shell을 선택한후에Loading your terminal에서만 멈춰있네요따로 설정해줘야하는 되는것이 있나요?그리고 clould9는 무료 사이트가아닌가요??
-
미해결웹 게임을 만들며 배우는 React
http://en.pimg.jp/023/182/267/1/23182267.jpg
http://en.pimg.jp/023/182/267/1/23182267.jpg
-
미해결바닥부터 시작하는 STM32 드론 개발의 모든 것
시스템 타임라인 관련 질문드립니다.
시스템 타임라인에서 각 센서 데이터를 받는 과정들마다 시간 측정은 어떻게 이루어지는 건가요? 175us라던가 10.9us들이 어떻게 측정된 값들인지 알고싶습니다!
-
미해결오픈 소스 도구를 활용한 웹 해킹 및 스노트 분석(침해대응)
다음강좌로 안넘어가 집니다.
다음강좌로 안넘어가 집니다.
-
해결됨Javascript ES6+ 제대로 알아보기 - 중급
강의 후반부 질문 있습니다.
안녕하세요. 좋은 강의 잘 듣고 있습니다! 강의 후반부 Q&A에 나온 코드 쳐보니 class A { constructor (a, b) { this.a = a; this.b = b; } } class B extends A { constructor () {} } class C extends B { constructor (a, b, c) { super(a, b); this.c = c; } } const c = new C(1, 2, 3); console.log(c); class B에 constructor를 넣으면 Must call super constructor in derived class before accessing 'this' or returning from derived constructor 에러가 발생합니다. 두 번째에 메소드 테스트 할 때도 마찬가지입니다. 자식 클래스의 constructor에서 super()를 호출하지 않으면 에러가 발생하는거 아닌가요? 강의에 나온 내용 그대로 실행이 원래 잘 되어야 되는건가요?..
-
미해결예제로 배우는 스프링 입문 (개정판)
./mvnw package 수행시 에러
ERROR] Failed to execute goal pl.project13.maven:git-commit-id-plugin:3.0.1:revision (default) on project spring-petclinic: Execution default of goal pl.project13.maven:git-commit-id-plugin:3.0.1:revision failed: A required class was missing while executing pl.project13.maven:git-commit-id-plugin:3.0.1:revision: org/eclipse/jgit/api/errors/GitAPIException [ERROR] ----------------------------------------------------- [ERROR] realm = plugin>pl.project13.maven:git-commit-id-plugin:3.0.1 안녕하세요. 위와 같은 오류가 발생하여서 애를 먹고 있습니다. 현재 자바 버젼은 java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode) 메이븐 정보는 아래와 같습니다. Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-28T00:06:16+09:00) Maven home: /Users/sjlee/.m2/wrapper/dists/apache-maven-3.6.2-bin/795eh28tki48bv3l67maojf0ra/apache-maven-3.6.2 Java version: 1.8.0_131, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre Default locale: ko_KR, platform encoding: UTF-8 OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac" 구글링해봐도 알 수가 없어 질문 남깁니다. 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
업데이트 고견 구합니다.
영한님 안녕하세요~ 오늘도 또 하나의 질문을 들고 왔습니다. 예전 MyBatis 방식에서는 보통 수정 처리의 경우, 업데이트 문 한번으로 처리가 가능했는데요. (내가 수정하고자 하는 일부 항목들만 정의된 Update SQL 문 작성) JPA 방식에서는 Find 를 먼저 하지 않고 바로 업데이트 하기에는 어려움이 있는 듯 합니다. 예를 들어 Member 객체에 패스워드가 포함되어 있는데 패스워드만 수정을 해야 되는 경우라면 MyBatis 방식에서는 별도의 select 없이 패스워드만 update 를 하면 됐었는데 JPA 에서는 Find 를 통해 객체에 초기셋팅을 한번 한 뒤에 @DynamicUpdate 활용해야 Password 만 변경되는 SQL 을 수행시킬 수가 있는 거 같습니다. 즉, Update 를 위해서는 항상 Select 절이 따라 붙어야 한다는 건데 JPA 장점을 위해 이런 부분은 감수해야 되는 부분이라고 생각해야 되겠죠??
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
타깃값의 정규 분포
안녕하세요. 너무나 설명을 잘해주셔서 진도가 쭉쭉 잘 나가고 있습니다. 추가 질문이 있는데요, 회귀에서 타깃값은 반드시 정규분포를 따라야 한다고 하셨습니다. 그 이유가 무엇인지 설명해주실 수 있으신지요? 설명하시기 번거로우시다면 참고할만한 레퍼런스를 알려주셔도 감사드리겠습니다. skewed된 데이터를 log변환하면 정규 분포를 가진다는 것은 알겠는데, 궁극적으로 타깃값은 왜 정규 분포를 가져야 성능이 좋은지가 궁금합니다. 매번 친절한 답변 정말 감사드립니다.
-
미해결스프링 프레임워크 핵심 기술
단축키 질문합니다!
안녕하세요, context.getBeanDefinitionNames();를 드래그하고 어떤 단축키를 누르셨는데, 결과 값을 받을 수 있는 String[] beanDefinitionNames가 앞에 생겼네요! 어떤 단축키 사용하셨는지 알려주실 수 있을까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
select의 리턴값이 리스트이므로 get_text()가 안되는 이유
안녕하세요. 강의 정말 잘보고 있는데 이해가 되지 않아 질문 드립니다. select의 리턴값이 리스트인건 이해를 했는데 리스트이므로 get_text()를 바로 할 수 없어(실제 쓰면 오류 발생 'list' object has no attribute 'get_text') for문으로 다시 돌려서 get_text()를 쓰는데 왜 이렇게 해야 하는건지가 잘 이해가 되지 않습니다. 이 부분을 설명해 주실 수 있으실까요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
안녕하세요 수업 잘 듣고 있습니다.!
혹시 강의에서 사용된 PDF파일을 공유해주실수 있나요? 혼자 공부할때 보려고 합니다.