묻고 답해요
129만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 기본편
수강완료 후 스프링 입문
안녕하세요 선생님 java기본 수강을 완료하고 중급과정을 기다리는 학생입니다.출시전까지 스프링 입문 강의를 듣고 공부를 진행하려고 했습니다. 이에 스프링 입문 강의 part2.스프링 웹 개발 기초까지 들었습니다. 그러나 part 3. 회원 관리 예제부터나오는 <>코드 및 람다코드를 직면하여 아 지금은 스프링을 공부할 때가 아닌가하는 생각이 들더라고요책을 구매하고 자바 관련 다른 강의를 조금 더 듣고 스프링 입문을 보면 좋을지, 아니면 현재 몇가지를 찾으면서 해당 강의를 계속해서 듣는게 맞는 것인지 고견을 여쭙고자 질문드리게 되었습니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
VSCode가 아니고 Atom으로 강의 되는건가요
설치는 VSCode를 설명해주셨는데요
-
미해결C언어 슈팅게임 따라만들기
mac OS 에서 프로젝트 진행 시 라이브러리 없음
맥 혹은 리눅스에서 프로젝트를 진행하려고하는데 <conio.h><Window.h>등 윈도우에서만 가능한 라이브러리들을 어떻게 하면 좋을까요?다른 방식으로 구현할 수 있는 방법이 있을까요?
-
미해결홍정모의 따라하며 배우는 C++
const와 extern
안녕하세요const가 변수의 외부연결을 막는 것 같은 상황이 생기는 거 같아 이렇게 여쭤봅니다. 파일구조는 vars.cpp -> header.h -> main.cpp&test.cpp입니다.vars.cppheader.hmain.cpptest.cpp의도한대로 잘 작동하며 출력화면은 아래와 같습니다.그런데 여기서 vars.cpp에서 nmsp_a변수를 int에서 const int형으로 바꾸고,header.h에서도 nmsp_a를 extern int에서 extern const int형으로 바꾸고 돌려보면아래와 같이 오류가 발생합니다.차이점은 equipe namespace안의 int nmsp_a변수를 그냥 int에서 const int로 바꾼 것 뿐인데 충돌이 일어나는 것처럼 보입니다.const와의 어떠한 문제 때문인 것으로 추측되는데 vars.cpp의 namespace안의 nmsp_a변수에는 extern을 붙이지 않아왔고 nmsp_a를 가져다끌어 쓰는 header.h에서만 extern을 붙여줬는데 아래 사진과 같이vars.cpp의 nmsp_a 변수에 오류를 발생시키던 const를 붙이되 extern또한 추가로 붙여주면 정상출력을 합니다. const를 안 붙이는 상황에선,변수를 정의해두는 vars.cpp에서는 extern를 쓰지않고이를 가져오는 주체인 header.h에만 extern를 붙여도 정상작동했지만 const를 붙이는 상황에선,vars.cpp, header.h 두 곳 모두 각각 변수에 extern을 붙여줘야한다는 결론을 얻었습니다. 말이 좀 복잡한데 정리하자면왜 변수에 const가 없으면vars.cpp에는 extern을 안 붙여도 되고왜 변수에 const가 있으면vars.cpp에도 extern을 꼭 달아줘야하는지그런 차이가 왜 생기는지 궁금합니다. 감사합니다.
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
auto connect
안녕하세요. FPGA를 처음으로 접하게 되어 Lab을 동작하는 초반 강의 영상에서 auto connect를 하는데 연결은 되었지만 왜 아무런 장치가 보이지 않는 것인지 모르겠습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
import할 때 export default로 되있는 페이지들은 중괄호 없이 import하여야 에러가 안납니다.
이걸 몰라서 오류 메시지를 계속 보고 있었네요. 같이 학습하시는분들 참고하셔용.
-
미해결OpenGL 쉐이더 (4) shader 3D 그래픽스 - 좌표 변환, 회전, 가상 트랙볼, VBO, IBO
쉐이더에 연산 코드 선언
안녕하세요..!지금까지 강의를 보고 있는데, 생각보다 쉐이더 파일에 특별한 코딩을 안 하고 있다는 걸 느꼈습니다.막연하지만 41c-rotate3.cpp에서 볼 수 있는 행렬 연산 같은 것들을 쉐이더 쪽에서 처리하지 않는 이유가 있는지 궁금합니다..!
-
미해결Vue.js 시작하기 - Age of Vue.js
다음 단계 강의는...?
완전 초보입니다. vue3 레벨1을 들어야했는데..ㅠㅠ잘 모르고 현재 강의인 vue2 레벨1을 들었네요...업데이트 된 내용이 많아도...뭐 기본적으로 동작원리는 비슷할거라 생각해서 우선 들었는데요.문제는 이 강의를 듣고나서 레벨2는 어떤걸 들어야하나 해서요.vue3의 레벨2를 들어도 상관없을지..아니면 vue3의 레벨1을 다시 듣고 vue3 레벨2를 들어야할까요? 바뀐 부분의 내용을 모르고는 vue3레벨2 강의 따라가기가 많이 힘들까요..?
-
미해결Go Hard to C (feat. Algorithm)
stdio.h 파일을 찾을수 없다고 나오네요.
화면과 같이 진행중인 학습자입니다.cmd 에서 stdio.h 파일을 찾을수 없다고 나오는데, 혹시 추가 설치해야 하는 것이 있나요?
-
미해결GSAP의 ScrollTrigger를 활용한 포트폴리오 제작
header영역 스크룰방향이벤트 제작 강의 에서
header active가 실행하지 않습니다 오타가 있나 아무리 봐도 똑같이 코딩된 거 같은데 .. 왜그럴까요???
-
미해결
fk가 없는 테이블들의 연관관계 질문입니다.
만약 DB의 ORDERS 테이블이 PRODUCT_ID를 외래키가 아닌 일반 컬럼으로 가지고있다면,위 사진처럼 ORDERS와 PRODUCT ENTITIY를 @ManyToOne과같은 어노테이션으로 연관시키면 안되는건가요? 그냥 pivate String productId 이런식으로 써야하는걸까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안에 제시된 string - split()의 효율성 관련 질문드립니다.
안녕하세요, 큰돌님!교안에서 제시된 내용을 기반으로 알고리즘 문제를 풀다가 궁금한 부분이 생겨 질문드렸습니다.교안에서 제시된 문자열 - split 함수는 아래와 같습니다.vector<string> split(string input, string delimiter) { vector<string> ret; long long pos = 0; string token = ""; while((pos = input.find(delimiter)) != string::npos) { token = input.substr(0, pos); ret.push_back(token); input.erase(0, pos + delimiter.length()); } ret.push_back(input); return ret; }저는 위 함수를 응용하거나 문제를 해결하는데, 오늘 백준의 5430번 문제를 해결할 때도 위와 같은 로직의 코드를 작성하여 문자열 split을 시도하였습니다.// I-2. 각 테스트 케이스의 첫째 줄에는 수행할 함수 p가 주어진다. cin >> _p; // I-3. 다음 줄에는 배열에 들어있는 수의 개수 n이 주어진다. cin >> _n; // I-4. 다음 줄에는 [x1, ... xn]과 같은 형태로 배열에 들어있는 정수가 주어진다. cin >> _x; string origin = _x.substr(1, _x.size() - 2); vector<string> vs_x(_n); if(origin.empty()) { } else { int pos = 0; int cycle = 0; while((pos = origin.find(',')) != string::npos) { string tmp = origin.substr(0, pos); vs_x[cycle++] = tmp; origin.erase(0, pos + 1); } vs_x[cycle] = origin; } 코드에 대해 부연설명을 드리자면, 입력을 통해 문자열을 받게 되면, 해당 문자열의 첫번째와 마지막 인덱스를 제외한 문자열을 origin에 저장한 후, 이 문자열 origin을 컴마(,)를 기준으로 split 하였습니다. 예를 들어, [1, 2, 3]이라는 문자열을 입력(_x)으로 받았다면, 변수 origin에 1,2,3을 저장한 후 컴마를 기준으로 문자열을 split할 수 있습니다.하지만, 위 코드와 함께 문제를 해결하고자 할 때, 지속적으로 시간 초과 문제가 발생하였습니다. 따라서 split 함수를 다음과 같은 로직으로 변경한 후 답안을 다시 제출하였으며, 그 결과 시간 초과가 발생하지 않고 문제를 해결할 수 있었습니다.// I-2. 각 테스트 케이스의 첫째 줄에는 수행할 함수 p가 주어진다. cin >> _p; // I-3. 다음 줄에는 배열에 들어있는 수의 개수 n이 주어진다. cin >> _n; // I-4. 다음 줄에는 [x1, ... xn]과 같은 형태로 배열에 들어있는 정수가 주어진다. cin >> _x; string token = ""; vector<string> vs_x(_n); int cycle = 0; for(int j = 0; j < _x.length(); ++j) { if(isdigit(_x[j])) { token += _x[j]; } else { if(!token.empty()) { vs_x[cycle++] = token; token = ""; } } } 제가 궁금한 것은 위에 제시된 split에 대한 두 개의 로직이 왜 효율성 차이가 나는지 잘 모르겠습니다.. origin.erase(0, pos + 1)이 O(n)의 시간 복잡도를 요구하면서, 첫 번째 로직은 O(n^2)의 시간 복잡도와 두 번째 로직은 O(n)의 시간 복잡도를 필요로 할 수도 있겠다는 생각이 들기도 하지만, 정확하게 어떤 부분이 큰 차이를 불러 일으키는지 잘 모르겠습니다. 감사합니다!
-
해결됨[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
댓글화면 레이아웃 디자인
안녕하세요 강의를 다 듣고 스스로 프로젝트를 개발하는중에 질문이 생겨서 질문드려요 저 댓글창부분을 android:layout_alignParentBottom="true"을 사용해서 하단에 고정시키려하는데 저 코드를 작성해도 고정이 안되는것같습니다. 리사이클러뷰를 적용하면 댓글창이 하단에 고정이 안되는것같습니다그리고 댓글창을 제외하고 나머지부분을 스크롤뷰로 감싸서 댓글창 빼고 다 스크롤뷰로 스크롤될수있게 적용했는데 오류가 있는지 디자인 미리보기 화면이 아얘 사라져? 버립니다..뭐가 문제인지 한번 봐주실수있을까요? <?xml version="1.0" encoding="utf-8"?> <layout xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="25dp" android:orientation="horizontal"> <ImageView android:id="@+id/backbutton" android:layout_marginStart="30dp" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/back_button"/> <ImageView android:layout_width="120dp" android:layout_height="25dp" android:layout_marginStart="100dp" android:src="@drawable/community_name"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="25dp" android:orientation="horizontal"> <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" app:srcCompat="@drawable/circle" /> <TextView android:id="@+id/nickname1" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_weight="4" android:text="닉네임" android:fontFamily="@font/bmjua_ttf" android:textSize="20sp" android:textColor="@color/black" android:gravity="center_vertical"/> <ImageView android:id="@+id/threedot" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:src="@drawable/threedot"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="80dp" android:layout_marginTop="15dp" android:orientation="vertical"> <TextView android:id="@+id/title1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="제목" android:textSize="15sp" android:textStyle="bold" android:textColor="@color/black" android:layout_marginStart="30dp"/> <TextView android:id="@+id/content1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="30dp" android:layout_weight="1" android:text="내용" android:textSize="12sp" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:orientation="horizontal"> <ImageView android:id="@+id/favorate1" android:layout_width="20dp" android:layout_height="20dp" android:layout_weight="1" android:layout_marginStart="30dp" android:src="@drawable/heart1" /> <TextView android:id="@+id/favorateText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="center_vertical" android:layout_marginStart="5dp" android:textColor="@color/black" android:textSize="15dp" android:text="7" android:fontFamily="@font/bmjua_ttf"/> <ImageView android:id="@+id/comment1" android:layout_width="20dp" android:layout_height="20dp" android:layout_weight="1" android:layout_marginStart="20dp" android:src="@drawable/comment1" /> <TextView android:id="@+id/commentText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="center_vertical" android:layout_marginStart="5dp" android:textColor="@color/black" android:textSize="15dp" android:text="5" android:fontFamily="@font/bmjua_ttf"/> <TextView android:id="@+id/time1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginStart="220dp" android:layout_gravity="center_vertical" android:fontFamily="@font/bmjua_ttf" android:textSize="10dp" android:text="2024.02.13" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="3dp" android:layout_marginTop="35dp" android:background="@color/bottomgray"/> <androidx.recyclerview.widget.RecyclerView android:id="@+id/commentRV" android:layout_width="match_parent" android:layout_height="680dp" android:layout_marginTop="30dp"/> </ScrollView> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentBottom="true"> <LinearLayout android:layout_width="wrap_content" android:layout_height="60dp" android:layout_alignParentBottom="true" android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:layout_marginBottom="10dp" android:background="@drawable/button_radius_green_stroke"> <EditText android:id="@+id/commentArea" android:hint="댓글을 작성해주세요" android:layout_marginLeft="10dp" android:layout_width="310dp" android:layout_height="match_parent" android:background="@android:color/transparent"/> <Button android:id="@+id/commentBtn" android:layout_width="60dp" android:layout_height="45dp" android:layout_gravity="center_vertical" android:background="@drawable/button_radius_green" android:fontFamily="@font/bmjua_ttf" android:text="등록" android:textColor="@color/white" android:textSize="15dp" android:layout_marginEnd="8dp" /> </LinearLayout> </RelativeLayout> </LinearLayout> </RelativeLayout> </layout>해당 레이아웃 전체코드입니다
-
해결됨홍정모의 따라하며 배우는 C언어
함수 선언부와 정의부가 다른 파일에 있어도 빌드가 되는 원리.
안녕하세요,강의에서main.c 파일 안에 #include "my_print_fucntions.h"를 통해 my_print_functions.h를 main파일에 인클루드해주면, 함수의 선언부만 main.c에 복붙이 됩니다. 선언부는 main.c안에 놓이는거겠죠.그런데 이 때, #include "my_print_fucntions.c" , 함수의 바디가 정의되어있는 my_print_fucntions.c 파일을 main.c 안에서 인클루드해주지 않아도 되는 이유는, 링커가 알아서 함수를 찾아 연결해주기 때문이고, 그렇게 되는 이유는 헤더파일의 함수 선언부에서 extern 키워드가 생략되어있어서 그렇다고 봐도 될까요?( (extern) void print_hello(); 이렇게요.) 감사합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
id의 중복 사용 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에서는 Member의 필드에 id와 name이 있고, 이를 다시 Map으로 묶어서 사용하고 있습니다. save()가 정상적으로 처리되면 Map에는 key의 id값과 Member필드의 id값이 서로 같은 값으로 중복 저장되게 되는데요, 이렇게 설계하신 이유를 알고 싶습니다.
-
미해결IT보안을 위한 와이어샤크 네트워크 패킷 분석 실전
패킷 다운로드 안 됨
안녕하세요, 퀴즈 풀이 2탄은 제대로 다운로드가 되는데, 1탄은 코드가 감염되어 소유자만 다운 받을 수 있다고 뜨네요.. ajouunihospitalrn@naver.com으로 보내주시면 좋겠습니다.항상 잘 보고 있습니다. 감사합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
클래스 필드의 접근 제어자 설정 기준
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]클래스, 클래스의 필드나 메서드의 접근 제어자를 설정해줄 때, 어떤 것들을 private로 하고 어떤 것들을 public으로 설정하는 것이 바람직한지를 알고 싶습니다. 일관적인 기준이 있나요?예를 들어, MemoryMemberRepository는 public이고 store는 private으로 설정해주셨는데, 그 이유를 알고 싶습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Dispatcher과 웹 mvc의 동작 과정 질문 있습니다,
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]질문1.DispatcherServlet는 따로 프레임워크에서 구현하지 않아도 되나요? 예를 들어, 1)DispatcherServlet이 모든 웹 브라우저로부터의 요청을 받는다.2)DispatcherServlet은 HandlerMapping으로 부터 주어진 request를 처리할 수 있는 Handler객체를 가져온다. 이렇다면, 사용자가 따로 DispatcherServlet를 구현할 필요 없이 스프링 프레임워크 자체에서 DispatcherServlet를 구현 + HandlerMapping을 받을 클래스들을 빈으로 만들어서 관리함.그래서 @RequsetMapping 같은 URL 요청이 들어오면 해당되는 클래스에게 요청을 넘긴다.이렇게 이해하면 옳게 이해한 것이 맞나요? 질문 2.저는 아래와 같이 웹 MVC 동작 과정을 이해 했습니다. 옳게 이해한 것이 맞나요?1.클라이언트가 서버에 요청을 하면 DispatcherServlet 클래스가 요청을 받음2.@Controller 어노테이션을 이용해 빈으로 등록한 컨트롤러를 찾아 매핑된 컨트롤러가 존재하면 @RequestMapping을 통해 요청을 처리할 메소드로 이동함.3.컨트롤러는 해당 요청을 처리할 @Service 클래스를 찾아 로직을 수행함.4.서비스는 DB에 접근하여 요청을 수행하고 DTO를 통해 데이터를 컨트롤러에게 전달한다. 5.그 후 컨트롤러는 DTO를 통해 받은 데이터를 DispatcherServlet에게 다시 전달하고, DispatcherServlet는 응답과 함께 URL(view)를 반환해준다. 질문 3제가 위와 같이 이해를 했을 때, DTO가 Model이라고 이해를 하면 되는건가요? 감사합니다.
-
미해결AWS 클라우드 서비스 인프라 구축 이해와 해킹, 보안
특강 자료는 따로 없나요?
특강 자료는 전체 강의 자료에 없는거 같습니다.혹시 따로 제공되는 자료는 없을까요?
-
미해결다양한 사례로 익히는 SQL 데이터 분석
데이터 분석 SQL Fundamentals 강의 할인 문의
안녕하세요 강사님데이터 분석 SQL Fundamentals 할인 계획이 있을까요?