[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (모르겠어요) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 이제 백엔드 개발자로 취업한 새내기 입니다. 제가 학생이 아니라 인텔리제이 유료버전을 사용해서 스프링부트앱을 개발하고자 하는데, 너무 비싸서 회사에서 따로 결제를 해주진 않습니다.. 혹시 그냥 커뮤니티에디션 으로 restapi 구현하는 방식으로 회사 일에 유리하게 가져갈 수 있을까요? 저희 회사는 스프링부트를 백엔드로,프론트는 jsp,jstl 사용중이라 집에서도 한번 해보고 싶은데 커뮤니티 에디션으로는 어려워서요
강의를 보고 궁금한 점이 생겼다가 질문답변 게시판에도 유사 질문은 없는 것같아 gpt에도 물어봤지만 gpt 답변과 조금 다른 것같아 여쭈어봅니다. 11:20초 즈음에 그림에서처럼 8번. 정상 응답 이라고 표현을 하시는데 이것에 대한 기준?같은게 궁금합니다. 아래 코드는 강의의 try catch 코드입니다. try { if (ex instanceof IllegalArgumentException) { log.info("IllegalArgumentException resolver to 400"); response.sendError(HttpServletResponse.SC_BAD_REQUEST, ex.getMessage()); return new ModelAndView(); } } catch (IOException e) { log.error("resolver ex", e); } 먼저 예외가 발생하고 ExceptionResolver 가 넘어온 예외 해결을 시도하는데요. 코드에서 sendError() 로 에러 응답의 상태 코드를 변경하고 메시지를 설정한 후 빈 ModeAndView 를 반환합니다. 이때 찾아본 결과 sendError() 가 있으면 응답은 내부에 완료 표시(커밋)처리를 하기 때문에 reponse에 뷰를 작성?할 수 없어 ModelAndView가 빈 값이던 뷰 값을 주던 상관 없이 뷰 렌더링이 되지 않는다고 하더군요. 이부분 때문에 강의 ModelAndView 지정 부분에서 헷갈렸습니다. 이건 sendError가 없을 경우를 설명하신 것맞나요? 아무튼 본론으로 돌아와서 현재 코드와 과정처럼 최초 발생한 예외를 ExceptionResolver 에서 처리하고 DispatcherServlet 로 넘어간 후 뷰 렌더링을 처리하지 못하고 WAS에 넘기는데요. 이때 비록 뷰 렌더링은 하지 못했지만 ExceptionResolver 에서 상태 코드 등을 설정 후하고 ModelAndView를 반환하면서 에러를 처리하였으므로 WAS에 넘겨도 이것을 정상응답이라고 하나요? 아니면 제가 gpt에서 얻은 답변에서는 ExceptionResolver 가 예외를 처리했더라도 뷰 렌더링을 하지 못하고 WAS에 넘겼으므로 정상 응답으로 보지는 않는다고 하던데.. 정상응답의 기준이 어떻게 되나요? 좀 쓸데 없는 질문 같긴한데 ExceptionResolver 에서 ModeAndView 값 지정에 따른 반환에 대해 궁금해서 찾다가 궁금한점이 여기까지 파생되어 질문드립니다..
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 질문이 생겨 여쭤봅니다. 외래키가 있는 곳을 연관관계의 주인으로 설정하라 하셨는데, 만약 외래키가 없는 두 엔티티가 1대1 관계라면 이때는 랜덤으로 연관관계의 주인을 설정하면 되는 것일까요 ?
getInputStream() 과 getParameterNames() 를 함께 사용 시, 순서 상 뒤에 있는 메서드에서는 출력이 안되는 상황을 발견했습니다 저의 추측으로는 두 메서드 모두 스트림으로부터 데이터를 싹 가져와서 그런 거 같습니다 테스트 해보니 getParameterValues() 메서드 역시 마찬가지고요 질문1) 우선 상기 추측이 맞나요? 이번에는 getInputStream() 과 getParameter() 를 테스트 해봤습니다 역시나 같은 결과였지만 한 가지 의문이 있습니다 username 과 age 두 가지 데이터에 대해 서버로 보냈을 때 서버 측에서는 getParameter(username) 만 해도 age 에 관해서는 getInputStream() 에서 출력되지 않음을 확인했습니다 질문2) getParameter() 를 최초 실행하게되면 스트림에 있는 데이터를 싹 가져와 특정 컬렉션(Map 일까요?)에 담고 이후부터는 컬렉션에서 바로 찾는 식인가요?
안녕하세요. 컬렉션값 명시적 조인에 대해서 select t.members.username from Team t 는 실패하고, select m.username from Team t join t.members m 은 성공한다고 하셨는데, 여기서 해당 jpql을 실행했을때 변환되는 SQL에 대해서 이해가 가지않는 부분이 있어서 구글링을 통해 찾아보면서 아래와 같이 정리해봤는데, 이렇게 이해하는게 맞을까요?? select t.members.username from Team t 형태로 하면 안된다. 대신에 select m.username from Team join t.members m 형태로 해야한다. select m.username from Team join t.members m를 실행하면 SELECT m.username FROM team t JOIN member m ON t.id = m.team _id 쿼리로 변환되서 실행된다. 여기서, 1.t.members가 member로 변환되는 이유는 컬렉션 필드 members의 제네릭 타입이 Member이기 때문이다. t.members는 Team 객체가 갖는 List<Member> 컬렉션이다. 이 컬렉션은 결국 Member 엔티티에 해당하는 테이블 , 즉 member 테이블의 여러 행들을 의미한다. 따라서 JPA는 join t.members를 Member 엔티티 대상으로 join하는것으로 해석하고, SQL에서는 member 테이블로 변환된다. 2.ON t.id = m.team _id가 추가되는 이유는 Team의 members와 Member의 team이 연관관계인 상태이기 때문이다. 3.from 뒤에는 엔티티객체만 적을수 있는데, join 뒤에는 엔티티객체뿐만 아니라 엔티티객체의 연관필드도 적을수 있다. 하지만 이때는 반드시 경로표현식 형태인 .을 통해 나타내야한다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 제가 부트캠프에서 프로젝트를 진행할 때 테스트 코드를 짜긴 했었는데 거의 지식 없이 짰던지라 controller랑 service만 단위 테스트로 짰고 통합 테스트는 안 했습니다. 단위 테스트는 class 단위 어노테이션에 SpringBootTest를 안 쓰는게 맞는건가요? 제가 그렇게 했었거든요. @SpringBootTest는 통합 테스트일 때만 쓰는 건지, 어떤 경우에 쓰는 어노테이션인 지 궁금합니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] AnimalHospitalMainV0의 개 타입 반환 주석 밑에 dogHospital .set( dog );을 또 하는 이유가 있나요? 개 병원 주석 밑에 dogHospital .set( dog );가 이미 있는데 중복이 아닌지..??
예제에서는 equals 함수를 새로 만들어서 person1과 person2를 비교하는 상황이라 true가 나오는 것으로 이해했습니다. 그럼 equals 함수를 따로 만들지 않은 상태에서 person1과 person2를 equals로 비교하면 그 경우에는 true가 나오나요 false가 나오나요?
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/ 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/ 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/ [질문 내용] 여기에 질문 내용을 남겨주세요. 질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/ 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/ 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/ 프로젝트 생성의 13:24의 실행이 되지 않습니다. Cause: class java.util.concurrent.ExecutionException cannot be cast to class java.lang.RuntimeException (java.util.concurrent.ExecutionException and java.lang.RuntimeException are in module java.base of loader 'bootstrap') java.lang.IllegalArgumentException: Could not create problems-report directory '/build/reports/problems' * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org . Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.13/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 55ms 1 actionable task: 1 executed 두가지의 오류가 뜨는데 어떻게 해결해야할까요?
for문에서 i가 14가 되는 순간 널문자를 만나서 for문을 빠져나오게 되는데 메인함수에서 i를 따로 초기화한 값이 없기 때문에 i에 14가 유지되어서 myCar.mode[i] = '\0'; 이 식에 14가 들어가게 되는건가요? for문을 빠져나오는 순간 i는 따로 초기화가 되는 것이 아닌가요?
전에 배웠던 쓰레드 내용과 함께 질문드립니다 사용자로부터 요청이 오면 쓰레드 풀로부터 쓰레드를 할당을 받고 이 쓰레드가 HttpServlet 클래스에 있는 public void service 를 실행하고 그 안에서 수업 시간에 직접 재정의한 protected void service 가 실행된다고 이해하면 될까요? 제일 궁금한 점은 Http 요청이 올 때 서블릿 코드를 수행하는 쓰레드가 처음으로 실행하는 메서드가 무엇인지 입니다
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 현재 주문 기능 테스트에서 JUnit5를 이용하여 테스트 중입니다. 앞선 강의(회원 기능 테스트)에서 JUnit으로 테스트할때 메모리 DB 사용한다고 application.yml 을 test 쪽에 복사해서 사용할때도 url: jdbc:h2:mem:testdb 부분을 주석해도 돌아간다고 했었던 것으로 기억이 납니다. 그래서 TEST 시에는 DB를 연결 안해도 무방하다고 생각하고 있었는데요. 오늘 주문 기능 테스트시 DB 끄고 했더니 에러가 나서 DB 연결했더니 정상적으로 동작합니다. TEST에서도 DB를 연결해주어야 하는 걸까요?