묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
checked 동작과정 및 th:value의 의미
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 checked 동작과정이 계속 들었지만 잘 이해가 가지 않아서 혹시 간단하게 설명해주실 수 있으신가요..?? 추가로 체크박스 및 라디오 박스에서의 th:value의 정확한 역할이 궁금합니다 !
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
프록시 관련 질문이 있습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요.김영한 선생님. 선생님의 강의를 잘 듣고 있습니다.현재 AOP 적용 부분에서 프록시 부분에 대한 설명을 듣고 있었는데요, 선생님께서는 프록시가 컨트롤러 내부에서 형성되어 그 프록시가 실질적인 서비스 부분으로 요청을 넘겨주고 처리해 줄 것이다. 이런 느낌으로 말씀해주셨던 것 같습니다.여기서 조금 궁금했던 부분이 있습니다. 만약 다른 컨트롤러 파일 내부에서 같은 서비스에 대해서 AutoWired를 통해 의존성 주입을 받게 될 경우, 서비스를 연결하는 프록시가 컨트롤러마다 생길지에 대해서 궁금했었습니다.제가 생각하기에는 다른 프록시가 서로 나올 거 같은데, 로그를 찍어보았을 때는 두 컨트롤러가 같은 프록시를 공유하였습니다.혹시 프록시의 생성 기준은 서비스일까요 컨트롤러일까요? 또한 AOP를 사용하지 않는 경우 해당 파일은 프록시를 전혀 사용하지 않을까요? 그것이 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. resolverException이 빈 ModelAndView객체를 반환하는 이유가 이해가 가지 않습니다. 왜 빈 객체를 반환하는 것인가요? 만약 객체를 반환하지 않으면 어떻게 되는 것인지 궁금합니다. 추가로,package hello.exception.resolver; import com.fasterxml.jackson.databind.ObjectMapper; import hello.exception.exception.UserException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; import java.io.IOException; import java.util.HashMap; import java.util.Map; @Slf4j public class UserHandlerExceptionResolver implements HandlerExceptionResolver { private final ObjectMapper objectMapper=new ObjectMapper(); @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { try{ if(ex instanceof UserException){ log.info("UserException resolver to 400"); String acceptHeader = request.getHeader("aceept"); //헤더를 꺼냄 response.setStatus(HttpServletResponse.SC_BAD_REQUEST); // 상태코드 400으로 변경 if("application/json".equals(acceptHeader)){ log.info("Start to change json"); Map<String,Object> errorResult=new HashMap<>(); errorResult.put("ex",ex.getClass()); errorResult.put("message",ex.getMessage()); String result = objectMapper.writeValueAsString(errorResult); response.setContentType("application/json"); response.setCharacterEncoding("utf-8"); response.getWriter().write(result); return new ModelAndView(); } else{ log.info("Start to text"); return new ModelAndView("error/500"); } } }catch(IOException e){ log.error("resolver ex",e); } return null; } }이렇게 작성하였는데 결과가 자꾸 text.html로 나옵니다. 로그를 찍어보니 if문이 안나오고 else문으로 나오게 됩니다. 포스트맨 출력 결과는 이렇습니다원인을 알 수 있을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. PostMan으로 구동 시 Json으로 반환하지 않고 기존에 설정한 것이 자꾸 불러와집니다. 로그에는 errorpage 500이라고 찍히고 error-page/500이 전달되는데 뭐가 문제일까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
CSR 절차 질문있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]CSR에서 클라이언트에서 자바스크립트 요청을 하고 서버에서 응답으로 HTML 렌더링 코드를 준다고 하셨는데 여기서 "HTML 렌더링 코드"의 의미가 HTML를 자바스크립트로 어떻게 렌더링 하는지 알려준다고 설명해주셨습니다 근데 마지막 4번째 절차에서 자바스크립트로 HTML 결과 렌더링한다고 하셨는데 설명하신거랑 절차가 다른데 어떻게 가능한건가요 ?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
상품 도메인 개발 DTO 사용 관련 질문 드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요.도메인 내용 중 ItemRepository 객체 중 update 메서드의 파라미터를 Item -> ItemDto 객체로 변경하여 사용하려고 합니다. Dto를 적용함으로써 얻는 장점을 이렇게 이해했는데 맞나요?1. 코드의 명확성(역할 분할 - DB연동/Data전달)2. 복잡한 서비스 구축 시, 도메인 객체 변경 최소화를 위해현업에서 Dto 생성 시, Package를 어떻게 구성하여 생성하는지?EX) Dto 패키지를 domain과 관련 없는 경로에 신규 생성?위 내용대로 ItemRepository 내부의 메서드의 파라미터를 변경하게 되면, 결국 도메인 에서 Dto를 참조?의존? 하게 되는건데 올바른 설계 방법인지 궁금합니다.올바르지 않다면 service 부분 등에서만 사용 하는 게 맞는 건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
save()테스트 시 오류 해결 궁금증(재질문)
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용](전 글 링크 - https://www.inflearn.com/questions/1163632/save-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%8B%9C-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0-%EA%B6%81%EA%B8%88%EC%A6%9D)안녕하세요 영한님, 전 글에 답변 남겨주신 것 잘 봤습니다. 감사합니다. 프로젝트 압축 파일 아래 첨부합니다.https://drive.google.com/file/d/1D6CY3wukI8xV2reviLgJrg8OJ5cISP8F/view?usp=sharingtest 코드 - gradle로 설정 후 실행 했을때, 오류 test 코드 - intellij idea로 실행했을 때, 성공
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
MemberFormControllerV2 스펙 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영한님이 V2 강의 막바지에 MemberFormControllerV2는 servlet 메소드를 사용하지 않는데 스펙상 명시해줘야 했다라고 하셨는데 Member List,Save 컨트롤러에서 서블릿 메소드를 사용하기 때문에 부모인 ControllerV2 에서 request와 response를 사용하도록 설계한것인가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트 오류
1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)스프링 데이터 jpa 테스트하면 오류가 뜨네요 뭐가 문제일까요ㅜㅜ
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
BasicErrorController 가 정확히 어디까지 자동으로 해주는 건가요?
pdf19쪽에 Spring에서 자동으로 제공하는 기능이ErrorPage 추가하고 해당 컨트롤러를 만들어준다는 것이라고 적혀있는데요 그럼 내부호출로 에러에 대한 페이지를 요청하는 내부request일때(dispatcherType=ERROR)필터와 인터셉터 재호출을 방지하기 위한 것들은 남겨둬야되는 것인가요? 즉 LogInterceptor와 LogFilter 클래스는 남겨두어야 되는건가요? ps. 그리고 /error 쪽을 찾게 되는 것은 request URL에 대한 controller가 없으면무조건 /error 쪽으로 가서 찾는거 맞나요?즉 존재하지 않는 url에 대한 요청이면 자동으로 /error로 바꿔서 처리하는거 맞나요?
-
해결됨[React 1부] 만들고 비교하며 학습하는 React
디버깅 관련질문이 있습니다.
안녕하세요 선생님 질문이 있습니다.제가 자바, 스프링만 해서 intellij ide 로 디버깅만 해보았는데 이런 react같은 경우는 어떻게 해야하나요?현재는 console.log로 디버깅하였습니다. ps) 혹시나 해서 남겨놉니다. (저는 실수해서)this.element.innerHTML이네요 저는 innerHtml인줄알고 왜 랜더링이 안되지 한참 디버깅하였습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberRepository 구현 시, findAll() 메서드 질문 드립니다.
public List<Member> findAll(){return new ArrayList<>(store.values());} 반환되는 List도 결국 인덱스에 store에 저장된 객체의 주소 값을 저장하기 때문에 해당 list를 통해서 내부 객체를 수정하게 되더라도 store내부에 있는 객체도 수정이 이루어지니깐 다를게 없다 느껴졌는데 store를 직접반환하는 것과 어떻게 다른가요?..
-
미해결[React 1부] 만들고 비교하며 학습하는 React
[순수JS2]탭 3(풀이) 질문있습니다.
안녕하세요 선생님 강의 잘 듣고 있습니다.delegate에 관해서 제가 아래처럼[(1),(2)] 이해하고 있는데 이것이 맞게 이해한것인지 궁금합니다. 1) delegate에서emitEvent에 담기는것은 아직 호출되지 않은 함수인데이게 tabView생성자가 호출되는 시점에 렌더링이 되지않은(?) id =tab-view에 delegate 안의 on 메소드에 의해 바인딩이 됩니다. 2) 이후 id=tab-view에 click 이벤트가 발생하면 그제서야 on에 의해 바인딩되었던 이벤트처리기 (emitEvent)가 호출되어서 실제 bindEvents()에서 바인딩하려했던 handleClick 를 호출합니다. 3) 또 쓰다 보니 궁금한것이 아직 TabView의 show가 호출되기 전이긴 한데 constructor에서는 bindEvents() 메소드 안에서 delegate -> on 메소드에서 target.addEventListener를 호출하고 있는데 id=tab-view는 이미 렌더링 되었다고 표현하는것이 맞나요?감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
WARNING: A Java agent has been loaded dynamically (스프링 통합 테스트에서)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. WARNING: A Java agent has been loaded dynamically (C:\Users\user\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.14.11\f9cb566608fbac6bc7bf54901a7aa11543a989ee\byte-buddy-agent-1.14.11.jar)WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future releaseOpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 스프링 통합 테스트 강의에서 회원가입이나 중복 회원 테스트 실행은 잘 되는데 위의 문구가 나타나서 스프링이 도중에 중단됩니다. 강의 노트를 복붙하고 5분 40초 경에 인텔리제이를 실행했는데 위와 같은 문구가 뜹니다. 중복회원이나 회원가입 테스트는 체크 표시가 떴고 저 문구만 떴습니다. 위의 문구를 안 나오고 강사님처럼 문제없이 실행하려면 어떻게 해야 하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello 오류가 뜹니다ㅜ
java: interface abstract methods cannot have body오류 메세지가 뜨는데 어떻게 해결을 하면 좋을끼요??
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
data jpa로 form 객체 사용 시 정리가 안된 부분 질문드려요..
실전 data jpa를 완강하고 다시와서 듣는 중인데요머리속에 정리가 안되는 부분이 있습니다.. 예를들어Member라는 엔터티가 있고MemberForm이라는 객체를 만들었습니다(뷰템플릿에서 사용자에게 받은 파라미터를 Member로 전환하기 위해) 여기서 제가 정리가 안되는 것은 MemberForm이 Dto의 역활까지 해서 MemberForm 객체를 생성해서 사용 한다면 굳이 MemberDto를 생성, 사용을 안해도 되는 건가요? 즉 서비스계층에서 memberForm을 member로 전환 시켜주는 작업을 한번만 수행하면 되는걸까요? 추가로 서비스계층에서 그 전환과정이 있다면 서비스 계층에서는 Member 엔터티를 노출해도 되는지(Member member= new Member():와 같이) 궁금합니다. 그게 안된다면 Member 엔터티 객체 안에 MemberForm을 매개변수로 받는 생성자를 만들거나 변환메서드를 작성해야하는지 궁금합니다. 감사합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
application.properties: Unused property
spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa apllication.properties 파일 내용입니다. 이게 동작을 안하는 것 같아요. unused property 라는 것을 보아 파일 안에 내용을 작성하였더라도 사용되지 않는 것 같아요. Q1. 구글링, IntelliJ 권장에는 IDEA Ultimate를 설치하라는 얘기가 있던데 기존 설치되어있는 IntelliJ 를 지우고 새롭게 다시 설치해야하는 것인가요 ?? Q2. 질문 1의 방법을 사용하지 않고 이 문제를 해결할 수 있는 방법이 있을까요 ?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:field를 할 경우에 네추럴 템플릿 기능 소실
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 섹션2 입력 폼 처리 강의를 듣고 질문드립니다 ! th:object로 객체를 지정하고 th:field로 해당 객체의 필드를 지정해서 name , id , value속성의 값을 할당할 수 있다는 사실을 알게 되었습니다 ! 그런데 name , id , value값을 지정 안 하고 th:field 하나로 해당 값들을 대체를 했으면랜더링 안 하고 절대경로로 정적인 html 파일을 웹 브라우저에서 그대로 열었을때 th:field 기능이 사용되지 않고 name , id , value 값 또한 없으니 정적인 html을 유지하면서 그 위에 랜더링 시에 th로 지정된 속성의 동적인 html을 출력하는 네추럴 템플릿 기능을 상실하게 되는 것 아닌가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HTTP API 사용 시 MVC 패턴의 V가 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 잘 보고 있습니다! HTTP API로 데이터를 주고 받을 경우 JSON 형태의 데이터만 내려주게 되는데 이럴 땐 MVC 패턴을 사용할 수 있나요 ?MVC 패턴은 SSR 방식에서만 적용되어 VIEW가 타임리프,JSP형태로 내려가는건지 만약 CSR형태도 MVC패턴이 적용된다고 한다면 CSR의 형태일때는 VIEW가 JSON 자체인지가 궁금합니다.번외로 클라이언트 서버 아키텍쳐의 경우 클라이언트가 WS,서버가 WAS로 불러도 되나요 ? 느낌은 비슷한 거 같아서..
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
테스트 결과화면 및 테스트 인코딩 오류?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. 선생님처럼 결과 화면이 안나오는데 어떻게 설정해야 할까요?다른 분들이 질문주신 ?? 의 인코딩을 UTF-8로 바꾸고 재시작 후 해봐도 문제가 해결되지 않습니다 ㅠㅠ