묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 핵심 원리 - 기본편
log-demo 페이지로 들어갔을 때 404에러가 뜹니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.core코드 전체: https://drive.google.com/drive/folders/1AI5Fsayi4Exge6nyVABAneWwkaY10HHs?usp=drive_link분명 잘 따라한 것 같은데 log-demo페이지에 접속했을 때 404 에러가 뜹니다. 스프링 3버전을 사용해서 javax가 아닌 jakarta를 사용하고 있는데, 이부분이 문제가 될 수도 있나요?
-
해결됨스프링 핵심 원리 - 기본편
안녕하세요. 필드DI에 대해 질문드립니다.
https://www.inflearn.com/questions/340767/%ED%95%84%EB%93%9C-%EC%A3%BC%EC%9E%85%EC%9D%98-%EB%AC%B8%EC%A0%9C%EC%A0%90%EC%97%90-%EB%8C%80%ED%95%B4-%EA%B6%81%EA%B8%88%ED%95%9C%EA%B2%8C%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4<테스트 코드 때문에 필드DI를 지양해야 하는 것 이 맞는가?>안녕하세요 담당자님.위 링크에 적힌 내용에 이어서 질문을 드립니다.위 링크를 읽어본 결과 필드 DI를 지양해야 하는 이유 중 하나는 테스트 할 때 순수 자바환경에서 구현 불가능한 방법이기 때문이라고 이해했습니다.하지만 위와 같은 이유로 필드DI를 지양한다는 것이 이해가 안됩니다.실제 어플리케이션 코드에서는 필드DI를 하고, 스프링 없는 테스트 환경에서는 생성자든 setter든 직접 객체를 넣어주면 아무 문제 없지 않을까요?물론 설명해주신 필드DI의 단점은 좀 더 있지만, 테스트 코드 때문에 필드DI를 지양해야 하는 것 이 맞는가에 대한 의문이 들어서 질문드립니다.감사합니다.
-
미해결Practical Testing: 실용적인 테스트 가이드
ApiResponse에 대해 질문있습니다.
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. ApiResponse클래스에 HttpStatus와 code를 같이 보내게 되는데 사실 ResponseEntity.ok().body(ApiResponse~~~)이런 식으로 보내게 된다면 httpstatus가 HTTP 메시지의 바디에도 있고 헤더에도 있게 되는데 굳이 바디에 한 번 더 보내시는 이유가 있으신가요??실무에서는 어떻게 하시는 지 궁금합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
pdf의 Exception 자바 직접 실행 부분에서 궁금한 점이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]아래는 pdf에 나온 설명입니다. Exception(예외)자바 직접 실행 자바의 메인 메서드를 직접 실행하는 경우 main 이라는 이름의 쓰레드가 실행된다. 실행 도중에 예외를 잡지 못하고 처음 실행한 main() 메서드를 넘어서 예외가 던져지면, 예외 정보를 남기고 해당 쓰 레드는 종료된다. 자바 문법책으로 공부할 때 try catch 없이 예외가 터지면 프로그램이 종료되고,try catch 없더라도 throws를 통해 메서드를 호출한 곳으로 떠넘기면, 그곳에서 try catch를 하거나, 아니면 또 계속 떠넘겨서 main 메서드에서도 throws를 통해 JVM이 예외를 처리하는 방법도 있다고는 알고 있습니다. 강의 자료 pdf에 나온 "실행 도중에 예외를 잡지 못하고 처음 실행한 main() 메서드를 넘어서 예외가 던져지면" 이 의미는 throws 키워드를 사용해서 계속 떠넘겼다는 의미인가요? 아니면 throws를 안 쓰더라도 저런 식으로 예외가 넘어간다고 생각하면 되는 건가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의를 들어보면 loginV3메소드 파라미터에 HttpServletRequest request를 선언하고 HttpSession session = request.getSession(); 을 통해 세션을 생성하는 것을 볼 수 있었습니다.하지만, 저는 프로젝트를 진행할 때 세션이 사용되는 메서드에 파라미터를 HttpSession session을 사용했습니다.그래서, HttpSession session = request.getSession(); 이와 같은 코드 없이 세션을 생성하거나 삭제하였습니다. 둘의 차이가 있을까요? 굳이 HttpSession session = request.getSession(); 를 작성할 필요가 있나요?아래는 저의 코드입니다.
-
미해결스프링 핵심 원리 - 기본편
gradle 빌드 로그를 어떻게 없앨 수 있나요?
강의 영상에는 이렇게 코드 결과 값만 나오는데 제 인텔리제이 화면에는 이렇게 나옵니다. 알고리즘 코드를 만든후에 수정을 돌리면 위 화면처럼 결과값만 나오는데 스프링 프로젝트를 실행하면 gradle 빌드 로그가 뜨는데 이걸 수정하는 방법이 있을까요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
트랜잭션 및 커밋 질문드립니다.
1. "자동커밋모드에서 수동커밋모드로 변환하는것" 을 트랜잭션을 시작한다라고 표현하는것일까요? 아니면 "수동커밋모드로 작업을 하는것" 을 트랜잭션을 시작한다고 표현하는것일까요?2. 강의 14분경에, memberRepository.update() 코드에서 "트랜잭션이 없어서 auto commit된다" 라고 말씀하셨습니다. 여기서 "트랜잭션이 없어서 auto commit 된다" 는게 무슨의미인지 잘 모르겠습니다. 2-1. 트랜잭션이 없다는게 트랜잭션을 시작하지 않았다는것일까요? 2-2. 수동커밋모드가 아니라서 트랜잭션이 없고 트랜잭션이 시작하지않은것일까요?2-3. 트랜잭션이 없으면 무조건 auto commit일까요?3. 트랜잭션이라는것이 수동커밋모드로 하고나서, 쿼리를 실행하고, commit이나 rollback을 하는 과정을 의미하는게 맞을까요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
트랜잭션 및 커밋 질문 드립니다.
0
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의 오디오 안들림
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의를 듣는 도중 오디오가 잘 나오다가 갑자기 안 나오더니 그때부터 모든 강의 소리가 안들리는데 왜그런지 알 수 있을까요?.. 노트북 오디오는 잘 작동합니다.
-
미해결스프링 핵심 원리 - 기본편
Service를 Interface로 먼저 만드는 이유가 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]Service를 Interface로 먼저 만들고 구현체를 따로 만드는 특별한 이유가 있나요?Interface를 굳이 만들어야 하는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
AutoAppConfig 클래스 사용 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영한님 안녕하세요! 강의 듣다가 궁금한 점이 생겨서 질문 남깁니다. 이번 강의 내용에서 AutoAppConfig 클래스를 사용하는 이유를 잘 모르겠어서요.. 스프링 입문 강의에서는 별도의 Config 클래스 없이 @Service, @Repository와 같은 어노테이션으로 빈을 등록하고 @Autowired로 의존 관계를 주입했는데, 이번 강의에서는 Config 클래스를 사용하셔서요. 제가 이해한 것이 맞는지 확인 부탁드립니다!!자동으로 빈을 등록하고 의존 관계를 주입할 경우에는 별도의 Config 클래스가 없이 @Component만 붙여줘도 실행하는데는 문제가 없을까요? Config 클래스를 사용하는 이유는 스프링 컨테이너를 통해 빈을 조회하기 위해 사용하신 것이 맞을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Getparameter
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Request.getparameter에서 매개변수를 “username”이라던지 ”age”이렇게 받잖아요 이렇게 스트링으로 어떻게 파라미터를 전달받는지 궁금해요 http 또는 request에서 username이라는 스트링이ㅜ있으면 스트링으로 변환하는 건가요?아 그리고 grtWriter는 뭐하는 거고 write는 뭔지 궁금합니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Index.html
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]처음에 인텔리제이를 시작할 때 localhost8080을 가면 바로 index.html화면이 나오는데 왜 그런 건가요?따로 설정을 해야ㅜ하는 건가요?
-
미해결3. 웹개발 코스 [Enterprise Architecture(EA) X 전자정부프레임워크]
MainMapper.xml 파일에 프로시저 관련하여
{ call sp_myproc(#{myid,mode=IN},#{myid,mode=IN},#{out_state,mode=OUT,jdbcType=INTEGER,javaType=INTEGER} )}실제 db에서 생성한 프로시저는 in_userid, in_userpw, out_state 이렇게 3개로 작성하였는데 xml에서 call할때는 myid만 2개인 이유가 궁금합니다paramMap.put("myid", userid); paramMap.put("out_state", -1);MainServiceImpl.java 에서도 paramMap에 2개만 전달하는 이유도 궁금합니다
-
미해결토비의 스프링 6 - 이해와 원리
정적 팩토리 메서드
안녕하세요 토비님 😄 강의 맛있게 잘 보고 있습니다.마이너 한 질문인데, 테스트에 Clock 을 이용한 테스트에서 6.50 초 쯔음 아래 와 같은 fixed <- 의 유형 ? 을 정적 팩토리 메서드라고 하셨는데 객체를 반환하기 위해 static 키워드를 사용해야 정적팩토리 메서드가 아닌지 여쭤봅니다@Bean public Clock clock() { return Clock.fixed(Instant.now(), ZoneId.systemDefault()); }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트코드 회원가입정보를 h2에넣고싶은데 테스트코드 통과해도 h2에 안 들어가요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.이렇게 했습니다.
-
미해결PZM기반 실무중심 백엔드 부트캠프(프리트레이닝)
section 9 78강을 하던 도중에.. 문의드립니다
29-Jun-2024 16:47:09.258 INFO [mysql-cj-abandoned-connection-cleanup] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading 불허되는 접근: 이 웹 애플리케이션 인스턴스는 이미 중지되었습니다. []을(를) 로드할 수 없습니다. 디버그 목적 및 불허되는 접근을 발생시킨 해당 쓰레드를 종료시키기 위한 시도로서, 다음 스택 트레이스가 생성됩니다. java.lang.IllegalStateException: 불허되는 접근: 이 웹 애플리케이션 인스턴스는 이미 중지되었습니다. []을(를) 로드할 수 없습니다. 디버그 목적 및 불허되는 접근을 발생시킨 해당 쓰레드를 종료시키기 위한 시도로서, 다음 스택 트레이스가 생성됩니다. at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1328) at org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:960) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.checkThreadContextClassLoader(AbandonedConnectionCleanupThread.java:123) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:90) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833)이런 메시지가 나오면서 404 에러가 뜹니다.
-
미해결Practical Testing: 실용적인 테스트 가이드
DocsTest와 @WebMvcTest로 만든 테스트를 왜 통합하지 않는지 궁금합니다!!
안녕하세요. 박우빈 강사님. 강의 너무 잘 듣고 있습니다 ㅎㅎㅎ강의를 보고 생각을 하다가 의아하다고 느낀 점이 있어서 질문드립니다.이전에 만든 Controller 테스트와 이번 강의에서 만들었던 DocsTest가 결국 controller를 테스트한다는 점은 동일하고, 문서를 만든다는 개념만 다를 뿐인데, 기능의 중복으로 보이는데 서로 따로 만드는 이유가 있을까요??기존에 Controller 테스트에서 @WebMvcTest를 삭제하고, 필요한 클래스와 mock을 정의한 뒤, API당 하나의 테스트 메서드에만 .andDo(document()를 작성하면 controller 테스트도 수행할 뿐더러 REST Docs를 출력까지 하니 더 좋지 않나 라는 생각이 들었습니다.@WebMvcTest와 이번 강의에서 작성한 DocsTest코드가 .andDo(document()를 이용한 테스트코드내용 출력 기능을 제외하고는 결국 중복된 코드로 보이는데, 기존에 controller test와 DocsTest를 하나로 합쳐서 관리해도 되는 것일까요?요약 : 이번 강의에서 만든 DocsTest로 이전에 만들었던 Controller 테스트를 대체할 수 있을 것으로 보입니다. 실무환경에서는 어떻게 관리되는지 궁금하고, 만약 두개의 테스트코드로 나눠서 관리된다면 굳이 왜 나눴는지가 궁금합니다!!!!우빈 강사님. 강의에서 정말 많이 배워갑니다 감사합니다!!! ㅎㅎㅎㅎ
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
프록시 객체의 this
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요! 이번 강의 내용 중에 자바 언어에서 메서드 앞에 별도의 참조가 없으면 this라는 뜻으로 자기 자신의 인스턴스를 가리킨다는 this.internal() 이 되는데, 여기서 this 는 자기 자신을 가리키므로, 실제 대상 객체(target)의 인스턴스를 뜻한다.라고 설명이 되어 있는데 지금 까지 알던 개념은 CallService(부모), CallServiceProxy(자식)관계가 존재한다면 CallServiceProxy 입장에서는 this는 자기 자신의 주솟값을 가리킨다. super는 부모 즉 CallService의 주솟값을 가리킨다 입니다 여기서 this는 그럼 프록시 자기 자신의 객체 주솟값이 아닌(부모의 주솟값 == super == trarget )를 가리킨다고 이해하면 될까요? 그렇다고 하면 해당 프록시 객체는 자기 자신의 참조 주솟값은 스택 프레임에서 가지지 않는 걸까요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
IDENTITY 전략을 사용할 시 Application 레벨에서 ID 값이 보장되나?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]회원 서비스 개발 강의에서 3분 40초 ~ 4분 30초 사이에서 강사님 말씀 중에 DB에 들어가지 않아도 PK인 ID 값이 애플리케이션에서 보장된다고 말씀해 주셨는데 시퀀스 전략일 경우에는 확실히 가능하다고 생각하지만 IDENTITY 전략을 사용할 경우에도 ID 값이 보장되는지 궁금합니다.제가 생각하는 것은 IDENTITY 전략은 ID의 생성이 쿼리가 DBMS에 도달해 저장되는 시점에 할당되는 것으로 유일한 값을 보장해주는 것이고, 애플리케이션에서는 그 값을 저장하기 전까지는 알 수 없다는 것으로 알고 있는데 이 로직대로라면 ID 값이 보장될 수 없지 않나라고 생각합니다.