묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@ModelAttribute와 html/text에 대하여 질문이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.컨버전 서비스는 @RequestParam, @ModelAttribute, @PathVariable, 뷰 템플릿에 적용된다는 내용에 궁금증이 생겨 질문을 드립니다. @ModelAttribute는 @RequestParam의 기능에서 객체를 생성하고 model에 담는 기능이 추가되었다고 생각했었습니다. 이렇게 객체가 생성될 때 컨버전 서비스가 작용되는 걸까요? 하지만, String을 다른 타입으로 바꾸어 받을 수 있는 @PathVariable이나 @RequestParam과는 달리 객체를 생성하거나 set하는 @ModelAttribute는 컨버전과 관계가 없게 느껴집니다. 어떤 경우 @ModelAttribute에도 컨버전 서비스가 적용되는 것인가요?html/form형식에서 post방식을 통해 http요청의 바디에 데이터가 들어온다고 학습하였습니다. 이때 데이터가 바디에있지만 @ResponseBody가 아닌 마치 get방식처럼 @RequestParam, @ModelAttribute을 이용해야 하는 것은 스프링의 api때문으로 이해하면 될까요?
-
해결됨[R을 R려줘] R 기초다지기
typeof(123)
안녕하세요?혹시 typeof(123)을 하면 왜 integer가 아닌 double을 출력하는지 알 수 있을까요?ㅠㅠ
-
미해결Next + React Query로 SNS 서비스 만들기
모달창 띄울 때 화면 회색빛 뜨는 것 질문
모달창을 띄울 때 배경이 회색빛으로 바뀌는 것은 뭐로인해 적용되는 것인가요? 그냥 하나하나 css를 적용시킨 것인가요?
-
미해결
애니메이션 state 노드에 function bind 하는 것에 대한 질문이 있습니다....
애님 그래프에서 사용하는 노드들을 보면 특정 조건에 콜백 함수를 등록하는 기능이 있는데요.이것에 대해서 궁금한게 몇가지 있어서 작성했습니다.여기에 bind 할 수 있는 함수는 해당 콤보박스로 만든 함수로 밖에 적용이 안되는 것 같은데 맞는 건가요?? ----------------------------------------------------------------------------그리고, 그렇게 만든 블루프린트 함수는 Thread Safe 가 활성화 되어 있어서 여기에 로직 구현 시, 제가 직접 c++로 만든 함수를 호출 할 수가 없는 것 같습니다.혹시 thread safe 활성화된 블루프린트 function에서 c++함수를 호출 하게 하는 방법이 있을 까요??? 참고로 meta 지정자의 "BlueprintThreadSafe" 를 사용하면 호출 할 수 있도록 목록에 뜨긴하는데, 제가 이 함수를 동기화 기법을 사용하지 않은 일반 함수로 구현했어도 그냥 써도 되는걸까요????
-
미해결스프링부트 개념정리(이론)
클라이언트 요청 시 디스패쳐 서블릿 동작에 관해
안녕하세요! 먼저 좋은 강의 해주셔서 감사합니다.다름이 아니라, 강의 마지막 부분의 Spring 동작을 간단하게 설명해주셨는데요. 이 때, 클라이언트로부터 요청이 들어오면 디스패쳐 서블릿이 웹과 관련된 Controller들을 메모리에 올린다고 하셨는데, 스프링부트의 @Controller 어노테이션은 컴포넌트 스캔의 대상이고, 스프링부트 어플리케이션이 로드될 때 Application Context에 등록되는 것으로 알고 있습니다.본 강의에서 말씀해주신 내용과 제가 학습했던 내용에 차이가 있어 질문 드립니다. @Controller 어노테이션을 사용하는 스프링부트의 Controller는 컴포넌트 스캔을 통해 Service, Repository 등과 다른 시점에서 로드되는지말씀해주신 메모리에 올린다는 표현이 Application Context로부터 빈을 주입받는 것을 의미하는건지학습한 지 얼마 안되서 개념에 혼동이 오네요 ㅠ.ㅠ 다시 한번 좋은 강의 감사드립니다!
-
미해결스프링 핵심 원리 - 기본편
필드 주입 질문있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]필드 주입은 외부에서 변경이 불가능해서 테스트하기 힘들다는 치명적인 단점이 있다고 하셨는데, 외부에서 변경이 불가능하다는게 정확히 무슨 의미인가요? 생성자 주입도 변경이 불가능하지 않나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@RequestMapping 질문드립니다.
@RequestMapping만 붙인 기존 상태에서 postman으로 같은 url로 GET, POST 요청을 보내도 동일하게 성공하는 것을 확인했습니다. 근데 GET, POST만 되고, PUT, PATCH, DELETE는 안되더라구요. 혹시 GET, POST만 되는 다른 이유가 있을까요? 7:10 부터 관련 내용입니다!(밑에 AI 답변이 있긴하지만, 다른 질문에 대한 답변을 추천해준 것 같습니다)
-
해결됨WPF (C#, 자막제공)
SQL설치관련
안녕하세요.SQL설치관련 에러가 뜨는데 조치방법이 있을까요?ㅜ
-
미해결화이트해커가 되기 위한 8가지 웹 해킹 기술
virtual머신에서 칼리리눅스
칼리리눅스를 다운받아서그냥 실행하면 문제 없이 화면이 나오는데강의처럼 용량이나 네트워크 둘중 하나만 수정을하면검정화면만뜨고 칼리리눅스로 넘어가지 않아요어떻게 해야할까요
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
물리적인 트랜잭션을 처리하는 부분에 대해 헷갈리는 점이 있습니다.
안녕하세요.항상 강의잘 듣고있습니다!강의를 완강하고 복기하던 중에 궁금한 점이 있습니다. 강의에서는 커밋 또는 롤백을 하는 경우 트랜잭션 메니저로 요청을 보내 물리적인 부분을 처리한다 라고 학습했는데요, 가끔씩 강의를 듣다보면 트랜잭션 매니저 -> 트랜잭션 동기화 매니저 를 통해 물리적인 트랜잭션을 처리한다고 말씀하셔서 (스프링 트랜잭션 전파5 - 외부 롤백 6분 20초경)마지막 물리적으로 처리하는 부분이 트랜잭션 매니저단에서 끝나는지, 트랜잭션 매니저에서 트랜잭션 동기화 매니저를 통해 끝나는지 헷갈려서 질문남깁니다.! 감사합니다!!
-
해결됨홍정모의 따라하며 배우는 C++
선택정렬
void printArray(int array[], int length){for (int index = 0; index < length; ++index){cout << array[index];}cout<<endl;}int main(){int arr[] = { 3,5,2,1,4 };printArray(arr, 5); for (int i = 0; i < 4; i++){int smallest_index = i;for (int current_index = i + 1; current_index <5; current_index++){arr[smallest_index] = (arr[smallest_index]>arr[current_index]) ? arr[current_index] : arr[smallest_index]; }int temp = arr[smallest_index];arr[smallest_index] = arr[i];arr[i] = temp; printArray(arr, 5);}} 다음 코드를 실행하면 제대로 된 오름차순 형태의 선택 정렬이 나타나지 않고3521415214112141111411114이렇게 나옵니다. 숫자가 swap되는 부분이 잘못된 것 같은데 어느 부분을 고쳐야 할까요?
-
미해결예제로 살펴보는 PyQt Tutorial
몇가지 질문이 있습니다.
좋은 강의 감사드립니다. 정말 많은 정보를 얻고 갑니다.아래와 같이, 몇가지 궁금한 것이 있는데 답변해주시면 감사드리겠습니다. QT Designer 활용QT Designer 활용하니 UI를 직접 눈에 보이게 만들 수 있어서 굉장히 편한 것 같습니다. 그러나, UI를 두개 이상 쓸 경우에는 어떻게 ui파일을 load할 수 있을까요??(ui 파일이 2개가 될 것 같은데...) 예를 들어 로그인 이후 메인화면으로 진입한다던지 이런 경우? ui_login = uic.loadUiType("login.ui")[0]ui_main = uic.loadUiType("main.ui")[0] -->이런식으로 두개 ui 파일을 불러오면 될까요?class myapp(QWidget,ui_login,ui_main): --> 이런식으로 ui 인자를 두개를 받아야할까요?def __init__(self): super().__init__() self.setupUi(self)그래프 plot 시 plot된 그래프의 값을 표시할 수 있나요? 그래프의 점에 커서를 갔다 대면 툴팁으로 표기 된다던지, 클릭하면 값이 나온다던지... 다시 한번 좋은 강의 감사드립니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Transactional 과 entityManager 범위에 관해 질문 드립니다.
안녕하세요! 강의 수강 중 질문이 생겨 작성합니다.. 답변 부탁드립니다..!ㅠ.ㅠ -- MemberRepository 입니다. ( @Transactional 키워드 모두 지움 )@Repository public class MemberRepository { @PersistenceContext EntityManager em; public Member findMember( Long id ) { Member member = em.find(Member.class, id); return member; } public Member findMember2( Long id ) { Member member = em.find(Member.class, id); return member; } } -- 위 레파지토리를 호출하는 테스트 코드 입니다. ( 데이터는 미리 넣어둔 상태 입니다. )@SpringBootTest class MemberRepositoryTest { @Autowired MemberRepository mRepo; @Test public void test2() { System.out.println("================================================="); System.out.println(mRepo.getClass()); //when Member found1 = mRepo.findMember(1L); Member found2 = mRepo.findMember2(1L); System.out.println("================================================="); //then assertEquals(found2, found1); } } 1 ) 테스트 코드에서 주입받은 mRepo의 클래스 타입을 확인하면 CGLIB로 생성한 프록시 클래스가 출력됩니다. 위 코드에서 보는 바와 같이 @Transactional 어노테이션은 존재하지 않는데도 실 클래스가 아닌 프록시 객체로 만들어지는 이유가 뭔가요?? 2 ) 테스트 코드에서 test2()를 실행하면 select를 2번 실행합니다. test2()에 @Transactional을 걸면 -> select 1번 -> 너무 당연한데MemberRepo 클래스 레벨에서 @Transactional -> 테스트 코드 실행 시 select 2번MemberRepo 클래스 각 메소드에 @Transactional -> 테스트 코드 실행 시 select 2번 2-1) 위와 같은 결과가 발생하는 이유를 모르겠습니다.. @Transactional을 어떻게 걸든 한 메소드가 종료하고 나면 PersistenceContext 가 닫히는 건가요?.. 2-2) MemberRepo 에서 주입받은 entityManager는 proxy 클래스가 맞는거죠..?@Transactional을 표기해주지 않아도, em을 사용하는 메소드가 호출되고 종료 될 때마다, 매번 proxy 객체 내부의 실제 entityManager 객체가 변경되는 건가요?? 2-3) em.find(Member.class, 1L) 같은 조회성 질의에서@Transactional(readOnly=true) 와 아예 해당 어노테이션을 사용하지 않았을 경우의 결과가 동일하였습니다. 그렇다면 readOnly를 사용하는 이유가 대체 무엇인가요?.. 질문이 많아서 죄송합니다 ㅠㅠ 머리에 정리가 되질 않아서요..답변 부탁드립니다!!
-
해결됨HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
float과 높이 값 질문드립니다
자식요소에 float값이 있으면 부모요소는 높이 값을 잃어버릴때,float : left 와 right 둘 다 있을 때 높이를 잃어버리는건가요?자식요소가 여러 개 있으면 여러 개 모두 float 있을 때 잃어버리는거지요? 혹시 부모요소에 overflow:hidden을 해서 높이 값을 찾아주는 것에 원리가 있을까요?
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
강의 자료를 따로 제공하고 있나요?
PPT 자료를 제공하고 있다면 다운로드 받고 싶습니다.
-
해결됨독하게 시작하는 C 프로그래밍
%zd 관련 질문
안녕하십니까? 강사님.교재 p409에 보면 printf("[%p] %d %s\n" pszNewBuffer, _msize(pszNewBuffer), pszNewBuffer); 로 나와있는데 "동적 할당된 메모리구조와 realloc()" 동영상 내에 있는 예제 파일에는 printf("[%p] %zd %s\n" pszNewBuffer, _msize(pszNewBuffer), pszNewBuffer);로 나와있습니다. 어떤때 %zd를 사용하는지 궁금합니다수고하십시오
-
미해결Kotlin으로 개발하는 Spring Boot Web MVC
@JsonNaming 과 @field:Pattern 이 함께 동작하지 않는 것 같습니다.
... @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy::class) data class UserRequest( ... @field:Pattern(regexp = "^\\\\d{2,3}-\\\\d{3,4}-\\\\d{4}\\\$") var phoneNumber:String?=null, )위와 같이 UserRequest 데이터클래스에서 @JsonNaming 과 @field:Pattern 을 동시에 사용하면 @JsonNaming 의 snake case 적용이 작동하지 않아 PUT 요청의 body 에 phoneNumber 로 요청해야만 정상 작동하고 phone_number 로 요청하면 400 에러가 나지만, 해당 필드에 @field:Pattern 대신 @field:Size 를 사용하면 @JsonNaming 에 기대하는대로 phone_number 로 요청해도 200 응답으로 정상작동 하는 현상을 겪고 있습니다. 왜 Validation 어노테이션을 바꾸었을 뿐인데 그와 상관없어보이는 @JsonNaming 의 작동 여부에 영향을 끼치는지 궁금합니다.
-
미해결[유니티 3D] 실전! 생존게임 만들기 - Advanced
moveposition 문제
move함수에서 다음 프레임까지 움직이는 거리가 0으로 나올때가 있어서 movecheck에서 walk가 true, false 값에서 계속 왔다갔다 하네요. 버그인가요? 수정하는 법 좀 알려주세요
-
미해결홍정모의 따라하며 배우는 C++
선언, 정의 부분 파일을 분리할 때 (1.11강)
안녕하세요.강의 영상 1.11에서 3분 15초 부분의 내용과 관련하여 궁금한 점이 있습니다. // main.cpp #include <iostream> #include <cstdio> using namespace std; int add(int a, int b); int main() { cout << add(1, 2) << endl; return 0; }// add.cpp int add(int a, int b) { return a + b; } 저는 맥 vscode에서 실행하고 있고,강의 영상과 같이 add 함수의 정의와 선언 부분을 분리한 후, main.cpp 파일을 실행하였더니 에러가 떴습니다.add.cpp 내의 add 구현 부분이 링킹이 되지 않은건가 하여 main.cpp파일에 #include "add.cpp"를 하였는데 정상적으로 실행이 되었습니다. 그런데 찾아보니 #include "add.cpp" 자체가 어색하다고 하는데,, 뭔가 다른 방법은 없는지 알고 싶습니다! 어쩔 수 없이 vscode로 따라가다보니 중간중간 어려움이 생기네요..감사합니다.
-
미해결Next + React Query로 SNS 서비스 만들기
port를 80으로 다시 바꿔주셨는데, 궁금합니다!
보너스: 배포 맛보기(과금주의)port를 80으로 다시 바꿔주셨는데, 궁금합니다!최근에 AWS에 관심이 상당히 많이 생겨서 리눅스도 공부하고, 가상머신에 우분투 설치하여 돌려봤습니다. 많이 부족함을 느끼고 있는데, 혹시 aws, docker등 설명해주시는 부분이 있으실까요? node bird에서는 aws section이 있는 것을 봤는데 살짝 아쉽습니다 ㅜㅜ