묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
WebServerCustomizer 클래스에 @Component?
@Componentpublic class WebServerCustomizer implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> { @Override public void customize(ConfigurableWebServerFactory factory) { .... }} ebServerCustomizer 클래스의 @Component를 붙여서 자동으로 빈으로 등록하고나서 이 빈을 주입해서 사용하는 코드가 없는데도 잘 호출되네요..제가 알기론 보통 빈으로 등록하고 해당 빈을 주입해서 사용하는걸로 아는데 이렇게 빈으로 등록만 했는데도 스프링이 필요할때 자동으로 사용할 수 있나요? 제가 잘못 알고있는건가요..?아님 이게 업무 로직 빈이 아니라 공통 기술을 처리하는 기술 지원 빈 그런거라서 가능한 건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
repository 생성이유
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 좋은강의 감사합니다!! 다름이아니라, MemberRepository를 따로 만드는 이유에 대해서 아직 궁금증이 안풀려서요! MemberRepository 인터페이스에서 메서드를 꺼내서 쓰는 것 보다는 MemoryMemberRepository(implement로 인터페이스 구현을 하지않고) 메서드를 직접 쓰는게 낫지 않나 해서요! 결론적으로 굳이 repository 인터페이스를 만드는 이유에 대해서 궁금합니다!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Elvis vs No Operation 차이
안녕하세요. 데이터가 null 일 시 Elvis vs No Operation 둘의 차이를 알고 싶습니다. <span th:text="${data}?: 'Null 입니다.'"></span> <span th:text ="${data}?: _ ">Null 입니다.</span> 위와 같이 있을 시 아래 No Operation은 처리하지 않는다 라고 하였는데, 처리하지 않는다는 건 곧 랜더링할 시 No Operation이 처리속도가 빠르다라고 생각하면 되는걸까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로직이 필요한 검증의 경우
애플리케이션 로직이 필요한 검증같은 경우는 어디서 처리하는게 좋은지 궁금합니다. 예를 들어 회원가입시 비밀번호와 비밀번호확인이 일치해야 하는데 이러한 로직이 필요한 검증은 bean validation으로 처리를 못할것 같은데 이런 경우는 서비스 계층에서 해결해야 하는 것인가요?? 실제 실무에서는 어떤식으로 처리하는지 궁금합니다.! 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
??page.addItem_ko_KR?? 관련 질문 드립니다.
따라하던 중 위 이미지 처럼 ??page.addItem_ko_KR?? 라고 출력되는 현상이 발생되어 질문 드립니다. addForm.html messages.properties 위처럼 작성하여 따라하던 중 정상적으로 반영이 안되는 것 같아서 질문 드립니다. 항상 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
클릭해서 해당 클래스로 이동
강의 7분50초처럼 다른 곳에서 클래스를 클릭할때, 해당 클래스로 이동하는 설정은 어떻게 하는 것인가요? 윈도우 사용중인데 안 되어서 질문 드립니다. 단축키는 ctrl+B인것을 아는데 클릭해서 가는건 어떻게 하는지 모르겠네요 ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
test 부분에 대하여 질문 드립니다!
안녕하세요! 좋은 강의 감사드립니다. test 부분에서 메모리에 기록이 남아 있어서 afterEach method를 작성하여서 이전 기록을 지우는 걸로 이번 강의에서 배웠는데 동일한 이름을 가진 기록("spring1", "spring2") 때문에 에러가 발생하는 걸까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
혹시 강의에 자막은 없을까요?
안녕하세요 다름이 아니라 강의에 따로 자막 기능은 없을까요? 혹은 추가 할 수 있는 방법은 없을까요?ㅠ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
어느 정도까지 이해해야 이해했다고 할 수 있을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이런 답이 없는 질문하는 게 제일 싫은 질문인 거 알지만 너무 망망대해에 떨어져있는 기분이라 여쭤봅니다 .. 저는 일단 자바를 배우고 바로 스프링으로 넘어와서 김영한님 강의로 스프링을 입문한 상태고, 이해가 되지 않는 부분은 강의 끝나고 코드 따라 계속 이동해보면서 이해가 될 때까지 보고 있습니다. 그러면서 코드가 왜 이렇게 작성됐는지, 흐름이 어떤지 정도는 이해가 되는데 솔직히 다 지우고 저한테 다시 작성하라고 하면 진짜 못할 것 같아요.. 컨트롤러 v2까지는 쉬웠는데 v3은 정말 혼자서 작성은 못할 것 같습니다. 스프링도 어렵지만 자바도 이제 갓 걸음마 뗀 상태라 더 그렇게 느껴지는 것 같구요. 무조건 최대한 학습할 수 있으면 제일 좋겠지만, 강사님이 이 강의를 만드셨을 때 목표한 학생들의 최소 성취 수준이 어느 정도인지 궁금합니다.. 제 목표는 김영한님 DB2편까지 듣고, JPA 다 들은 다음에 뭔가 만들어보는 건데, 일단 조금 난해한 부분이 있더라도 계속 따라가면서 흐름을 읽는 정도로 배우는 게 맞는건지 지금 고작 이 수준에서도 혼자서 작성 못하겠다고 하면 작성할 수 있을 때까지 멈춰서 복습을 해야하는 건지.. 궁금합니다 ㅜ 답이 없는 주관적인 질문 죄송합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
httpsession.setAttribute()가 response에 JSESSIONID 값을 전달해주는 역할도 하나요?
// 로그인 성공 처리 //세션이 있으면 있는 세션 반환, 없으면 신규 세션 생성해줌 HttpSession session = request.getSession(); //서버의 세션에 로그인 회원 정보 보관 session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember); return "redirect:/"; 로그인을 하는 코드인데 session.setAttribute()가 httpsession에 해당 키와 value를 저장하고나서 response header에 전달되는 JSESSIONID의 값을 랜덤으로 생성해서 보내주는건가요? 아니면 누가 JSESSIONID를 response header에 보내주는 건가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
[자문자답] helloMessage() 에러 참고하세요
expected 가 "hello"일 경우 자신의 기본 OS가 en일 가능성이 있습니다. System.out.println(Locale.getDefault()); 를 통해 기본 Locale 설정을 확인해볼 수 있습니다. 강의 코드를 그대로 따라 치려면, 테스트 메소드 내부에 Locale.setDefault(Locale.KOREA); 를 추가하면 기본 Locale을 한시적으로 ko_KR로 변경 가능합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
stream
안녕하세요! 6:40초 쯤에 보면, 이 코딩이 이해가 잘 가지않아 질문을 드리게 되었습니다. 이 부분이 stream + 람다식 문법을 사용한게 맞을까요? 아래처러머 제가 이해한 게 맞는지 궁금합니다 ㅠㅠ.. store라는 참수변수의 value(값)을 stream을 통해 읽고, filter()를통해 데이터를 걸러내고 마지막 최종연산으로 findAny()로 name을 찾아낸다.. 가 맞을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Redirect 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요, redirect 부분에서 질문이 있어 문의 남깁니다. ControllerV1~V4 까지는 view 이름(String)을 반환하여 그에 맞는 view 를 찾아 모델을 넣는것으로 이해했습니다. 하지만 이번강의와 저번강의에서 나온 redirect 가 이해가 되지 않습니다. redirect 가 붙은경우, view 를 찾는것이 아닌 url 로 가게 되는것인가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 데이터 JPA 메서드 두 번 호출 이슈
리파지토리에 스프링 데이터 JPA를 적용하고 AOP를 실습해본 결과 리파지토리 메서드들이 두 번 호출되고 있습니다. 이유를 찾고자 구글링도 해봤는데 명확한 답을 못찾았네요.. 원인과 이유를 찾을 수 있는 디버깅 방법을 알 수 있을까요? Service Join 호출 로그
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JDBC 강의 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 인텔리제이나 h2 콘솔에서 에러가 뜨지는 않습니다. 그런데 localhost8080에 접속하여 수강 목록에 들어갔을때 새로운 창으로 넘어가지 않고, 가입창에서 입력을 했을때도 데이터베이스에 저장이 되거나 홈화면으로 리다이렉트되는 등의 조치가 시행되지 않습니다.. 무엇이 문제인지 궁금합니다. 감사합니다. https://drive.google.com/file/d/1j3y1a2OuGRsjAHbAITL-iFoAPqClJgbr/view?usp=sharing
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
쓰레드를 사용한다는 게 request response 때마다 썼다 풀렸다 하는 건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 이제 막 네트워크 배우고 넘어왔는데 HTTP 연결은 계속해서 이어지는 게 아니고 rquest를 받은 뒤 response를 보내면 연결을 끊고 request를 다시 받으면 다시 연결하고 이런 걸로 알고 있는데요 쓰레드도 계속 이런 식으로 동작하는 건가요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@ModelAttribute 생성자
1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. ModelAttribute 사용시, 객체를 생성한후 프로퍼티바운딩을 해준다고 배웠는데, Item 클래스에는 기본생성자가 없어서 객체를 어떻게 만드나 궁금해서 soutm을 찍어보니 Item(String name, Integer price, Integer quntity) 생성자를 호출해 주더라고요, 그리고 Item 클래스에 Item() 생성자를 만들어주면 ModelAttribute이용시에 Item()생성자를 호출하는것을 확인했습니다. 여기에서 질문하겠습니다. ModelAttribute 사용시 객체를 생성할때, 여러생성자가 있다면, 어떤 생성자가 호출되는지 메커니즘이 있나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
message body에 "ok"를 넣은 후, 리다이렉트시 Content-Length
[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] message body에 writer.pringln("ok"); 를 작성한 상태로, 리다이렉트를 하지않고 http://localhost:8080/response-header 를 접속하면, Response Headers에 Content-Length가 prinln을 포함하여 3으로 나오는데, http://localhost:8080/basic/hello-form.html로 리다이렉트시, http://localhost:8080/response-header의 Response Headers의 Content-Length가 0으로 나옵니다. 3으로 나와야하는 것 같은데 왜 0으로 나오나요? 0으로 나오는 이유가 궁굼합니다. HTTP 강의도 들었는데, 302는 리다이렉트시 요청 메서드가 GET으로 변하고 본문이 제거될 수 있음(MAY)라고 알고있습니다. 여기서 본문이라함은, 메시지 바디이며 메시지 바디가 제거된 것, 즉 본문이 제거된 경우라고 이해하면 될까요? 아니면 다른 이유가 있거나, 제가 잘못 이해하고 있는지 궁굼합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
리턴 값을 받지못함.
이렇게 계속 못잡아주고있습니다 이럴 때는 어떻게 해결해야하나요 ㅜ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
프로젝트 열 때, build.gradle 을 생성하는 이유
안녕하세요, 먼저 수업 정말 잘 듣고 있습니다 :) https://www.inflearn.com/questions/394903 저도 비슷한 에러를 겪었는데 (저는 빌드는 되는데 sonarlint 라고 코드 에러를 리뷰해주는 프로그램에서 비슷한 warning 메시지를 주었습니다) 조언해주신 대로 프로젝트를 열 때 build.gradle 을 열어서 해결했습니다. 저는 프로젝트 작업을 할 때, recent project 로 주로 꺼내오는(?) 편인데요 (혹은 인텔리제이를 닫지 않고 계속 작업하기도 합니다) 프로젝트를 가져올 때, build.gradle을 open 하는 것과, open 프로젝트 폴더 이름 혹은 open recent project 하는 것의 차이가 있는지 궁금합니다.