묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
하노이 탑에서 A, B, C의 위치가 왜 계속 바뀌는 건가요??
A, B, C가 어떠한 원리로 바뀌게 되는건지 이해가 잘 안갑니다ㅠㅠ
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
함수 선언과 정의를 동시에 해도 되나요?
//함수 선언 void p(int num); int main(void) { int num = 2; p(num); return 0; } void p(int num) //함수 정의 { printf("num은 %d입니다.\n",num); } 이것이 책 본문에 나와 있는 내용입니다.함수 선언따로 정의 따로 되어있는데요.혹시 아래와 같이 선언과 정의를 동시에 해도 되나요?//함수 선언 및 정의 void p(int num) { printf("num은 %d입니다.\n",num); } int main(void) { int num = 2; p(num); return 0; }
-
해결됨모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)
gitignore 파일이 없어요
강사님, 안녕하세요.올려주신 자료에 gitignore 파일이 없습니다ㅠㅠ첨부 부탁드립니당..!
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
Packet으로 만든다는 표현에 관하여
선생님 안녕하세요.나날이 선생님 수업을 듣고 지식이 풍부해지고 있습니다.우선 질문을 들이기 전에 현재 네트워크 공부 상태는 L3 파트를 다 들었고 다시 한번"이해하면 인생이 바뀌는 TCP/IP 송수신 구조" 강의를 들으면서 질문이 2개 생겼습니다.우선 L3 파트까지 진행하는 동안 "Packet으로 만든다"는 표현을 많이 들었고 이 부분에 관해 의문점이 생겼습니다.데이터는 최종적으로 L1~L2를 거쳐서 Internet 망으로 나가게 되는데 그럼 최종적으로 데이터가 포장되는 형태는 Frame입니다.그럼 L3 부분에서 설명이 이뤄지면 "Packet으로 만든다"라는 표현을 사용하는게 맞다고 생각합니다. 그리고 데이터가 Internet 망으로 나가게 되면 L2 -> L1을 거치면서 나가고 L2 ~ L1에서는 Packet을 Encapsulation 한 Frame의 형태로 유통이 됩니다.질문1근데 강의에서 Internet 구간에서 정보가 유통될 때는 "Packet의 형태로 유통된다"고 말씀하시는데 Internet망을 논하는 단계면 최종적으로는 데이터가 Frame 형태로 Internet망에 유통이 되었다는건데 왜 L3단계에서 이야기해야하는 "Packet의 형태로 유통된다"고 말씀하셨는지 이해가 가지않습니다.질문2강의에서 Packet을 만드는 걸 택배 포장에 비유하셨고 택배를 실은 트럭을 Frame에 비유하셨습니다. 그리고 "Packet 이라는건 그나마 유지가 되는데 Frame은 유통 과정에서 트럭을 계속 갈아탄다"라는 표현을 사용하셨고 최종적으로는 "Frame은 수시로 트럭이 바뀐다"라는걸 강조하셨습니다. Frame안에 Packet이 들어가있는데 Frame이 수시로 바뀐다는 말은 Decapsulation 되어 Frame이 벗겨졌다가 다시 Encapsulation되어 Frame이 씌어지는 과정이 Internet망에서 일어나는건가요?
-
해결됨Verilog FPGA Program 1 (Arty A7-35T)
안녕하세요 i2c master 부분에 관련하여 질문있습니다.
reg scl_o;always @(posedge mclk or negedge reset)beginif(~reset) scl_o <= 1'b1;else scl_o <= s_idle ? 1'b1 :s_start_runw ? ((srw_cnt1==period2) ? ((srw_cnt2==5'd20) ? 1'b0 : ~srw_cnt2[0]) : scl_o) :s_runw ? (( rw_cnt1==period2) ? ((rw_cnt2 ==5'd19) ? 1'b0 : rw_cnt2[0]) : scl_o) :s_stop_runw ? ((prw_cnt1==period2) ? ((prw_cnt2==5'd19) ? 1'b0 : ((prw_cnt2>=5'd20)&&(prw_cnt2<=5'd22)) ? 1'b1 : prw_cnt2[0]) : scl_o) : s_start_runw ? ((srw_cnt1==period2) ? ((srw_cnt2==5'd20) ? 1'b0 : ~srw_cnt2[0]) : scl_o) :s_runw ? (( rw_cnt1==period2) ? ((rw_cnt2 ==5'd19) ? 1'b0 : rw_cnt2[0]) : scl_o) :이 부분에서 ~srw_cnt2[0] 부분과 rw_cnt2[0]부분을 왜 이렇게 설계하신건지 알수있을까요?
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
강사님 강의 잘 듣고 있습니다!
강의 관련 질문은 아니고 혹시 운영체제와 컴퓨터 구조를 좀 더 심도있게 공부하려고 할 때 참고할만한 서적이 뭐가 있을까요?전공서적 급이어도 괜찮습니다!
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
내가 만든 쿠키~
너를 위해 넣었지~
-
미해결처음 만난 리액트(React)
빨간줄이 왜 싱기는지 모르겠습니다.
빨간줄은 뜨는데 왜 빌드는 되는건가요..??
-
해결됨스프링 시큐리티 OAuth2
모바일앱의 인증을 위해 자체 인가서버와 소셜로그인을 함께 사용하는 경우
우선 좋은 강의 감사하다는 말씀드립니다. 올려주신 강의 2편 모두 잘 보고 있고 실무에서 많은 도움을 받고 있습니다.강사님께 배운 내용을 토대로 인증시스템을 구성해보려던 중 질문 사항이 있어 질문드립니다. 강의에서는 웹애플리케이션 기반 인증에 비중을 두고 설명을 잘 해주셨는데, 모바일 애플리케이션에 대상으로 인증을 구성을 해보려하니 조금 헷갈리는 부분이 있네요.요구사항은 아래와 같은데요,추후 내부 리소스를 외부서비스에 제공하기 위한 자체 OAuth2.0인가 서버 구성모바일 애플리케이션에서 JWT기반 인증을 할 수 있는 인증 및 회원 가입 API자체 OAuth2 인가서버와 연계하여 구성되는 리소스서버 구성소셜로그인 기능인증 시스템을 구성하기 위해 아래와 같은 방법을 생각하고 있습니다.자체 인증 시스템을 통한 로그인의 경우 자체 모바일앱에 별도의 web view를 생성하고 싶지 않으므로 API로 로그인 정보를 바로 받아서 내부적으로 Resource Owner Password Flow 처리하여 토큰 반환유저가 모바일앱 UI에 OAuth2 인가서버 계정정보(ID/PASSWORD)를 직접 입력로그인 버튼 클릭 시, 서버가 계정 정보를 API로 직접 전달받아 내부적으로 Resource Owner Password Flow를 통해 검증하고 토큰 및 인증 필요 정보를 클라이언트에 반환소셜로그인의 경우, 안전한 인증을 제공하기 위해 모바일 UI에 별도의 webView를 띄우고 Authorization Code Grant방식으로 인증진행webView를 통해 외부서비스에 대한 Authorization Code Grant 흐름이 진행.최종적으로 서버가 리다이렉트 주소를 통해 code를 전달받아 소셜 인증이 완료되는 경우(최초 회원인 경우 가입 처리하고), 서버는 자체 리소스서버에서 검증할 수 있는 Access Token을 따로 발급하여 응답하고 이를 모바일앱이 수신하여 인증처리. 질문은 아래와 같습니다.OAuth2.0 인가서버를 운용하는 경우 자사 모바일 앱의 자체로그인을 Resource Owner Password Flow로 직접 처리하는 것이 일반적인 방법인지? 더 좋은 방법은 없는지?외부 소셜 로그인의 경우 패스워드 없이 가입처리를 해야하는데 자체인가서버의 회원과 어떻게 일괄적으로 관리가 가능할지?외부 소셜 로그인의 경우라도 최종 발급되는 토큰은 자체 리소스서버에서 검증가능하도록 자체로그인과 일괄된 방법으로 JWT 발급이 되어야 할 것 같은데, Spring Authorization Server를 통해 효율적으로 구성이 가능할지?소셜로그인의 경우 서버가 리다이렉트 주소를 통해 code를 받아오더라도 OAuth2AuthorizedClient까지만 확인하고 세션에 인증정보를 저장하고 싶지 않은데 어떻게 효율적으로 custom 가능할지?oauth2Client API 및 OAuth2AuthorizedClientManager를 통해 토큰을 받아오는 것을 생각하고 있는데 더 합리적인 방법은 없을지?긴 질문 읽어주셔서 감사합니다. 질문가지수가 많아서 죄송하네요. 답변 주실 수 있는 부분까지만 주셔도 괜찮습니다.혹시 제가 구상하는 방법에서 개선되어야 하는 부분이나 혹시나 제가 잘못 생각하고 있는 부분은 없을 지 이런 부분도 조언해주시면 너무 감사하겠습니다.
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
새 일기 작성 시 새 일기가 작성되지 않음
새 일기 작성이 되지 않아서 강의 따라서 해보고다른분들이 같은 문제로 올린 곳에서 문제해결 하신분들 코드를 가져와서 해봤는데 안되서 올립니다.https://github.com/lhs0698/emotion_Diary
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
Failed to compile [./src/App.js 12:35-41 문제 원인 좀
어디 쪽에서 문제가 발생 하는지 모르겠습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[2-A] 2차원 동적배열(포인터) 전역선언 vs 지역선언
안녕하세요 큰돌님.2-A 문제 푸는중에 런타임 에러(Double free)가 발생하였습니다.우선 문제를 풀긴했는데, 오류 발생한 코드와 정답을 맞춘 코드의 차이가 아래의 2차원 포인트를 어디에 선언했냐에 따라 달라졌습니다.int** adj = new int* [N];int** visited = new int* [N]; 질문1) 2차원 동적배열(포인터) 지역선언 혹은 전역선언에 따라 해제(delete)의 영향을 받을 수 있는지 궁금합니다.틀린코드에서 디버깅할때 항상 2차원 포인터 해제에서 문제가 발생하였습니다.delete[] adj;delete[]visited; 질문2(기타질문) 비쥬얼 스튜디오에서 scanf()를 사용할 시, #define CRTSECURE_NO_WARNINGS 구문을 넣어줘야하는데, 실제 시험에서도 해당 구문을 넣어도 문제가 안되는지 궁금합니다. [틀린 코드]http://boj.kr/dcf6622717a34c72be6ec24d2b179a8c[정답 코드]http://boj.kr/55b2a222039740d1a83dec82eb13576e
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-I질문 답지도 무조건 x를 받거 아닌가요? ㅠㅠ
stark님이 올리신 질문 봐도 잘 이해가 안가네요
-
미해결스프링 배치
스프링 배치 스케일 아웃 관련 문의
안녕하세요. 선생님 강의 들으면서 실무에 Spring Batch를 잘 녹여보고자 노력하고 있는 직장인입니다. 다름이 아니라 부서에서 Spring Batch를 활용해 배치의 성능을 높여야 하는 상황이라, 스케일 아웃을 고려하고 있는데요. 문제는 스케일 아웃을 하되 워커(혹은 슬레이브) 서버에서는 DB에 접근을 하지 못하는 상황이라, read-process-write의 구조에서 read/write는 마스터 서버에서 처리 해야 하는 상황입니다. 그래서 처음에는 AsyncItemProcessor/AsyncItemWriter를 활용하여, 마스터 프로세스에서 워커 서버들에 HTTP API를 호출하고 결과를 리턴 받으면 write를 하는 방식을 고려 했는데요.그런데, chunk 단위로 순차적으로 read-process-write를 하다보니 기대보다는 성능이 안나오고 있습니다 😭 사실 기대했던 바는 process를 하고 있을 때 read/write도 동시에 진행되면 어떨까였습니다. (이 부분이 혹시 잘못됐다면 지적해주세요.) 그래서 든 생각이 read-process-write가 chunk 단위로 순차적으로 되는 진행되는 것이 아니라, reader와 processor와 writer가 서로 publisher-subscriber 구조로 개별적으로 동작하는게 어떨까라는 생각이 들었습니다.조금 더 말씀드리면 reader가 파일을 읽어 큐에 넣고 processor는 큐의 데이터를 읽어 처리하고 writer가 보고 있는 queue에 넣으면 writer가 해당 큐를 참조하여 파일 write를 하는 방식입니다. 혹시 이 아이디어에서 제가 잘못 생각하고 있는게 있을까요? 아니면 기존의 chunk oriented tasklet을 손보면 말씀드린 것과 같은 구조를 만들 수가 있나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링 폼태그 form:textarea에 디비에서 불러온 값을 표시하는 방법
안녕하세요.스프링 폼태그를 이용해서 디비에 저장된 값을 textarea에 출력하고 싶습니다.그런데 스프링 폼태그는 태그 사이에 값을 넣을 수 없고, form:textarea에는 value 속성이 없습니다. placeholder에 넣는 방법도 있긴 한데 그건 저 코드와 동일하진 않아서요.HTML로 작성한<textarea rows="5" cols="20" placeholder="내용" name="content">${board.content}</textarea>를 스프링 폼태그로 바꾸려면 어떻게 하는 게 좋을까요?
-
미해결홍정모의 따라하며 배우는 C언어
[3.11] 4바이트 정수 범위에서 왜 유효숫자가 9개인지 모르겠습니다.
-2,147,483,648에서 -2 자리는 모든 숫자 (-3, -4) 이런 건 안 되니까 정밀도로 보장할 수 없고 나머지는 정밀도로 보장이 된다고 하셨는데 -2 자리는 왜 정밀도로 보장할 수 없다는 건지 뭐가 안 된다는 건지 이해가 되지 않습니다. 그리고 정밀도로 보장한다 안 한다의 개념이 무엇인지 좀 더 명확하게 알고 싶습니다. exponent를 저장할 때 음의 지수가 필요- unsigned 형태로 저장을 하고 127을 빼기 8bit 정수는 0 ~ 255까지인데 -127을 하면 -127 ~ 128 범위의 숫자를 표현할 수 있기 때문+) unsigned int 타입으로 저장을 할 때 모든 bit가 0이거나 1인 경우에는 다른 용도로 사용을 한다고 함 일반적으로 -126에서 128의 범위를 가짐 위 설명에서 이해 안 되는 점 1. 컴퓨터가 지수를 저장할 때 왜 음의 지수가 필요한지2. 다른 용도라는 게 무엇을 말하는 건지3. 앞에 음의 지수를 나타내는 방법 설명하실 때는 0~255 범위에서 -127을 하니까 -127~128 범위를 가진다고 하셨는데 왜 추가적으로 설명한 부분(모든 bit가 0이거나 1인 경우)에서는 -127~128이 아닌 -126~128의 범위를 가지는지답변 해주시면 감사하겠습니다.
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
안드로이드 스튜디오 자바 코틀린 혼용
강의 외 내용입니다만..안드로이드 스튜디오에서 자바랑 코틀린 코드를 같이 사용 할 수 있는 방법이 없을까요?구글링해도 중간 과정 생략된 방법들이랑 저의 플러그인 속에서는 코틀린이 installed 되어있는거 같은데 버전 확인도 안됩니다..상대는 자바 전 코틀린으로 프로젝트 진행하려고 했는데같은 프로젝트에서 자바랑 코틀린 같이 사용 할 수 있는지 궁금하고 가능하면 방법도 궁금합니다.. 6시간 넘게 찾고 있는데 다 안되거나 과정 생략이네요..코틀린에 있는 var : 이런거랑 자바에서 쓰이는 ; 세미콜론 같은걸 하나의 액티브 클래스?파일에서 사용가능한지 궁금합니다윗줄 var : 어쩌구아랫줄 자바 어쩌구 ; 이 가능한지요
-
미해결실전! 웹사이트제작! Step by Step! (대방산업_InteractiveWeb)
Splitting / 텍스트가 빠르게 올라는게 아니라 천천히 느리게 올라오게 하려면 어떻게 수정하면 될까요?
Splitting / 텍스트가 빠르게 올라는게 아니라 천천히 느리게 올라오게 하려면 어떻게 수정하면 될까요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
For반복문 예제
안녕하세요, 선생님블로그에 선생님 강의 내용에서 예제를 따라치면서 정리하는 과정에 궁금증이 생겨서 여쭤봅니다. 증감연산자의 위치가 여러 예제문에서 헷갈리는데요. (sold++;)int max = 30; int noShow = 15; int sold = 0; for (int i = 1; i <=50 ; i++) { System.out.println(i+"번 손님 나왔습니다"); if(i==noShow){ System.out.println(i+"번 노쇼로 넘어갑니다"); continue; } sold++; if(sold==max){ System.out.println("금일 영업종료"); break; } 위의 코드에서 sold++위치를 아래와 같이 바꿀 경우에 for문 중괄호 안에는 들어가 있어서 가능할 거 같은데 결과는 32번 손님까지 이어지네요. 비슷한 예제로 while문에서는 증감연산자의 위치가 break뒤에 위치한 경우 결과값이 올바르게 나오는데 확실하게 증감연산자의 위치를 구별 할 수 있는 방법이 있을까요?int max = 30; int noShow = 15; int sold = 0; for (int i = 1; i <=50 ; i++) { System.out.println(i+"번 손님 나왔습니다"); if(i==noShow){ System.out.println(i+"번 노쇼로 넘어갑니다"); continue; } sold++; if(sold==max){ System.out.println("금일 영업종료"); break; } sold++; } ------------------------------------ //while문 -break int index = 1; //손님 대기번호 , for와 달리 변수가 필요함(중요) while(index <= 50){ System.out.println(index+"번 손님 주문하신 치킨 나왔습니다"); if(index == 20){ System.out.println("금일 재료가 모두 소진되었습니다"); break; } index++; }
-
해결됨카프카 완벽 가이드 - 커넥트(Connect) 편
질문있어요!
mySQL과 카프카 연결로 강의해주셨는데요아직 일부만 수강한 상태입니다.debezium이 차후에는 싱크 커넥터들을 데이터베이스 상관없이 지원할거같기도해서mySQL말고도 강의를 참고해서오라클 SQL, MSSQL에도 카프카를 연결하고 싶습니다.이때 접근방향이나 차이점등이 궁금한데 혹시 경험해보신적있다면 조언받고 싶습니다. 감사합니다