묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
GlobalException 클래스 설정 관련 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요.영한님 강의를 듣고 한 가지 궁금한 점이 있습니다.강의에서 "보다 디테일한 예외가 잡힌다"고 설명해주셨는데,혹시 @Order(0) 설정을 하지 않으면 GlobalExceptionHandler에서만 예외가 처리가 잡히는데요,즉, 예외 처리 클래스를 여러 개로 분리했다면 @Order를 지정하지 않으면 세부 예외 처리 핸들러가 아닌 글로벌 핸들러로만 잡히는 이유가 클래스 분리 때문인지 궁금합니다. @RestControllerAdvice @Order(0) public class BoardExceptionHandler { /** * 게시판을 찾을 수 없을 때 발생하는 예외 처리 */ @ExceptionHandler(BoardNotFoundException.class) public ResponseEntity<ErrorResponse> handleBoardNotFound(BoardNotFoundException ex) { ErrorResponse response = ErrorResponse.builder() .code("BOARD_NOT_FOUND") .message(ex.getMessage()) .status(HttpStatus.NOT_FOUND.value()) .timestamp(LocalDateTime.now()) .details(Collections.singletonList("게시판 ID를 확인해주세요.")) .build(); return ResponseEntity.status(HttpStatus.NOT_FOUND).body(response); } /** * 게시판 수정 / 삭제 권한이 없을 때 발생하는 예외 처리 */ @ExceptionHandler(BoardPermissionDeniedException.class) public ResponseEntity<ErrorResponse> handleBoardPermissionDenied(BoardPermissionDeniedException ex) { ErrorResponse response = ErrorResponse.builder() .code("BOARD_PERMISSION_DENIED") .message(ex.getMessage()) .status(HttpStatus.FORBIDDEN.value()) .timestamp(LocalDateTime.now()) .details(Collections.singletonList("해당 게시글에 대한 권한을 확인해주세요.")) .build(); return ResponseEntity.status(HttpStatus.FORBIDDEN).body(response); } }@RestControllerAdvice public class GlobalExceptionHandler { /** * 글로벌 예외 처리 */ @ExceptionHandler(Exception.class) public ResponseEntity<ErrorResponse> handleGenericException(Exception ex) { ErrorResponse response = ErrorResponse.builder() .code("INTERNAL_SERVER_ERROR") .message("서버에서 오류가 발생했습니다.") .status(HttpStatus.INTERNAL_SERVER_ERROR.value()) .timestamp(LocalDateTime.now()) .details(Collections.singletonList(ex.getClass().getName())) .build(); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(response); } }
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:block th:each의다른 예가 없는지 궁금합니다.(지금의 예로는 사용하는 이유를 모르겠습니다.)
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. th:block이라는 태그를 통해 하는 것을 보았습니다. 근데 들으면서 이렇게 하면 th:block 없어도 될 것 같다는 생각이 들어서, 코드를 고쳐서 해보았습니다.이렇게 코드를 넣어봤고, 결과는 사진과 같이 똑같이 나왔습니다.(하나 추가 한게 무슨 이유인지 모르겠지만, 사용자 나이 밑에 br태그없이 span을 쓰면 붙여서 나와서 br태그를 씀) 그래서 솔직히 th:block 태그 보다는 div에 th를 넣고 아래에 방법 처 할것 같은데. th:block의 다른 예가 없는지 궁금합니다.답변 부탁 드립니다.
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
전략적 침투: Spring Boot Application 실행에대해서
./gradlew bootRun --args='--spring.batch.job.name=systemTerminationSimulationJob'위에 코드로 터미널에서 실행하는데 System.out.println로 출력해둔 건 나오지않고 스프링부트 로그만 뜨고 끝나버리더군요 AI에게 물어봤더니 그럴경우 강제적으로 하는방법이 있다고해서 ApplicationRunner를 주입시켜서 해봤는데 또 잘나옵니다. ApplicationRunner를 계속 둘수도 없는거라 ApplicationRunner없이 안나오는경우에는 어떠한 설정문제일까요? 일단 AI가 해보라는데로 다해봤지만 실패했습니다.
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
각파일들의 디렉토리 위치가 없는데 임의적으로 해야하나요?
각파일들의 디렉토리 위치가 없는데 임의적으로 해야하나요?예를들어 BatchConfig파일을 어디에 생성해야하는지 안보이는거 같아요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
400번대 에러 응답이 모두 404.html로 됩니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]1. resources/templates/error/4xx.html 만 존재할 때localhost:8080/error-404 -> 4xx.html 응답localhost:8080/error-400 -> 4xx.html 응답resources/templates/error/4xx.html, resources/templates/error/404.html 이 모두 존재할 때localhost:8080/error-404 -> 404.html 응답localhost:8080/error-400 -> 404.html 응답 -> 여기서 4xx.html이 응답해야하는거 아닌가요? 파일 경로에는 문제가 없는데 페이지 소스를 봐도 404.html이 맞습니다.
-
해결됨프로덕션 레벨 실시간 채팅 서버 구축: 분산 처리부터 성능 최적화까지 (Kotlin & Spring)
그레이스풀 셧다운과 데몬 스레드의 관계 질문
안녕하세요 강사님 좋은 강의 잘 듣고 있습니다강의에서 말씀하신 그레이스풀 셧다운과 데몬스레드의 관계까 제가 이해한 의미와 조금 달라서 여쭤봅니다.저는 그레이스풀 셧다운을 진행 중인 작업을 마무리하고 안전하게 종료하는 것으로 이해하고 있는데 데몬 스레드는 JVM 종료 시 작업이 중간에 끊길 수도 있다고 알고 있습니다. 그래서 “레디스 이벤트 처리 과정이 백그라운드에서 알아서 들어가기 때문에 데몬 스레드를 사용하면 자연스럽게 그레이스풀 셧다운이 된다”라는 설명에서 레디스의 백그라운드 이벤트 처리 방식과 데몬 스레드 사용이 어떤 식으로 연결되는지를 조금 더 구체적으로 알고 싶습니다. 또, 메시지를 소비하는 도중에 애플리케이션이 종료된다면 메시지 손실 가능성은 없는지도 궁금합니다. 그리고 실무 환경에서도 보통 이런 방식(데몬 스레드 기반)으로 Redis Pub/Sub 리스너를 구성하는지 아니면 다른 종료 처리 방식을 더 선호하는지도 알고 싶습니다.좋은 강의 잘 듣고있습니다! 감사합니다.
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
21강 생성자에서 의존성 주입과 관련하여 질문 있습니다.
생성자에서 필드에 의존성 주입하면예를 들어 컨트롤러 생성자를 만들때 서비스 필드에 의존성 주입해주면 그때는 @Autowired가 자동으로 존재한다고 했는데 이 @Autowired 는 생성자의 파라미터를 전부 빈으로 등록시켜주는건가요?만약 그렇다고 한다면 생성자의 파라미터가 객체가 아닌 경우는 어떻게 되는건가요?혹시 객체 타입 파라미터만 빈으로 등록시켜주고 객체가 아닌 파라미터는 빈으로 등록시켜주지 않나요?
-
해결됨가장 쉽고 깊게 알려주는 Kafka 완벽 가이드 [ By. 비전공자 & Kakao 개발자 ]
일부 영상들에 스크립트가 누락되었어요 ㅠㅠ
강사님 안녕하세요!스크립트가 2분부터 약 10분간 누락되었네요 ㅠ이번 영상 말고도 다른 영상들에도 누락된게 있는 것 같아요.개인적으로 영상을 2번 시청하는데 두번째는 스크립트로 보면서 하는 편이라 인프런 측에 요청 부탁드려도 될까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
섹션2 -타임리프 기능 : 14.반복(html: border 부분 수정 해야 할까요? 아니면 계속 써야 할까요?)
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.궁금증이 생겨서 질문을 드립니다.반복 강의에서 each.html을 복사하고 붙여놓기를 하였는데요.<table border="1"> 이 부분에서 border부분이 흰색 취소선 칠해져 있다는것 을 발견하였습니다. 그래도 뭐 일단 돌려보기는 하였는데 잘나오는데. 뭔가 찜찜해서.. 그 보더에 마우스를 대보니 사진 처럼 이런 글이 나와서 구글에 이 나오는 글을 복사하고 해보았더니이렇게 사진처럼(80%로 측소) 나왔는데 사진에 나오는 글처럼 <table style="border: 2px solid black;"> 이렇게 바꾸는게 나을까요?아니면 그냥 계속 <table border="1"> 이런 방식으로 써야 할까요?w3schools도 살펴 봤지만 전체 적용 하는 것들만 있어서 모르겠네요.답변 부탁 드립니다.
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
20강 강의 내용중 Interface 만드는 부분에서 질문이 있어요
Interface 만드는 중에 메서드 정의할때 public은 추상 메서드라면 지우셨는데 추상 메서드는 public을 왜 지워야 하나요? 아니면 안 지워도 되는데 어떤 이유로 인해 지운건가요?
-
미해결실전! 스프링 데이터 JPA
순수 JPA 리포지토리 코드 수정부분
[질문 내용]메소드 이름으로 쿼리 생성 챕터의 첫 예제 코드에서JPA로 직접 작성한 findByUsernameAnd... 메서드 내부createQuery 부분에서 Member.class 를 파라미터로 같이 전달해야 할 것 같아서 글 작성합니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
html 변경하는 부분 적용 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]html을 templates로 옮겨 타임리프를 이용한 경로 수정에서 app을 다시 실행하고 웹을 새로고침해도 바로 적용되지 않고 Gradle를 refresh해야만 적용이 되는데 혹시 프로젝트 생성 초기 intelliJ 설정할 때 Gradle 프로젝트에서 빌드 및 실행은 IntelliJIDEA로 바꾸는 것에서 영향이 간건지 아니라면 gradle refresh 자동화를 할 수 있는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
의존관계 순서
코드에서는 NetworkClient 객체를 생성하고 setUrl을 통해 의존관계 주입 후 해당 객체를 return하는데 return 함과 동시에 스프링 컨테이너에 key : networkClient, value : 의존관계 주입이 완료된 싱글톤 객체이렇게 되는 건가요?그니까 즉 스프링 컨테이너에서 빈으로 관리 되려면 의존관계 주입이 끝나야만 관리 되는지 궁금합니다.그리고 의존관계 주입이 끝났기 때문에 afterPropertiesSet함수가 자동으로 호출되는 건지도 궁금해요
-
미해결스프링 핵심 원리 - 기본편
의존관계 트리거
객체 생성 후 의존관계 주입이 일어나잖아요?코드에서는 setUrl함수를 이용해서 의존관계 주입을 해주는데 afterPropertiesSet 함수는 어떤 걸 보고 의존관계 주입이 완료되었구나라고 인식 후 메소드가 실행되는건가요? 그냥 클래스의 필드들(수업자료에서는 String url)의 값이 할당되면 실행되는건가요?그렇다기엔 setUrl을 주석처리하니 그래도 afterPropertiesSet 함수가 실행되는데
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
강의를 듣다가 알림전송 관련 궁금한 점이 생겨 질문드립니다!
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 5-15. 비동기 처리 - 대표적인 사례 (22분~23분)여기까지 이해하신 내용은 무엇인가요? 여러개의 알림을 전송 할 때 비동기로 알림을 전송하게 된다면 n개의 알림을 1개의 알림을 전송하는 시간과 같은 시간으로 전송할수 있다. 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?100만개의 알림을 1개의 알림 전송 시간으로 보내려면 어떻게 해야하나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요? 제 생각에는 메세지 큐를 중간에 두어서 100만개의 알림을 일단 메세지 큐에 넣고 알림 서버의 리소스를 고려해서 토픽?을 주면 될거 같은데 맞나요?갑자기 궁금해져서 질문드립니다! 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
한글 깨짐
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.콘솔창이 깨지는데 관리자 옵션으로 beta체크도 해보고 gradle.properties도 해보고 build.gradle에 넣어보라는거 전부 넣어보고 코드 명시로도 해봤는데 안됩니다. 어떻게 해야 할까요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
GetMapping -> newItem 에서 @modelAttribute 가 있는 이유가 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.@GetMapping("/items/new") public String newItem(@ModelAttribute ItemForm form){ return "item-form"; }이부분에서 @ModelAttribute 로 itemForm 을 받아오는데, 왜 ModelAttribute 가 있는지 모르겠습니다. html 에 보면 item-form 도 ModelAttribute 에서 받아온 값을 안쓰는 것 같은데 따로 사용하는 이유가 있을까요
-
미해결스프링 핵심 원리 - 기본편
MemberRepository 타입의 빈이 2개 이상 있다고 뜹니다.
AutoAppConfig를 만들고 필요한 곳들에 @Autowired를 지정하는데MemberRepository (AppConfig.java)memoryMemberRepository (MemoryMemberRepository.java) 강의에선 해당 에러가 뜨지 않는데 저는 이렇게 두개가 해당 타입 빈이 2개가 있다고 뜹니다. https://drive.google.com/file/d/1TuILr869FHhisS-IJEQHxtfNldO9fhjg/view?usp=sharing
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
메서드 추출에 대해서 궁금한게 있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================FrontControllerServletV5 코드에서 메서드 추출을 많이 하셨는데 실제 프로젝트를 진행할 때도 이런 형식으로 많이 진행을 하나요? 아직 공부만 하고 실제 프로젝트를 진행해보지 않아서 잘 모르겠습니다.. getHandler와 같은 메서드는 짧은 코드인데도 추출을 해서 신기한 마음에 여쭤봅니다. ..그리고 어떤 기준으로 메서드를 추출하는 것이 좋은건지도 궁금합니다!!!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Item객체안에 UploadFile과 MultipartFile이 공존할수는없나요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. Item객체를 처음에 만들때 강의에 있는 4가지 파라미터 이외에 ItemForm에 있는 MultipartFile과 List<MultipartFile>을 Item클래스 안에서 같이 사용할 수는 없는걸까요?? html의 form에서 받아오는 item 과 실제 repository에 저장되거나 가져오는 역할을 하는 item을 구분하기 위해 ItemForm 과 Item이 나눠졋다고 생각하면 맞을까요??