인가서버로부터 code 발급받고 이 코드를 accessToken으로 교환하기 위해 서버에 요청할때 이 순간은 인증을 못받은 상태 아닌가요? accessToken을 발급받아야 클라이언트가 인증을 받은거고 그리고 이때도 클라이언트가 인증을 받아서 authorizedClient 객체가 생기는거지 인증객체가 생기는건 아닐텐데 강의 37분30초쯤에는 code를 accessToken으로 바꿔달라는 요청할때 왜 인증객체가 생성돼있나요? authorization server api를 사용했기때문에 마지막에 위치한 인가서버 필터에 도달하기 위해 다르게 처리되는건가요?
인가서버 설정을 하면서 인가서버에서 accessToken을 받고 이를 검증해야하기 때문에 oauth2ResourceServer api를 jwt로 설정한다고 설명하셨는데 이게 무슨 말인지 잘 모르겠습니다. oauth2ResourceServer 는 말그대로 헤더에 jwt 토큰이 있는 요청이 들어오면 이 jwt 토큰을 인가서버와의 통신으로 검증해서 인증처리를 하는 구조인건데 인가서버 설정에서 이게 왜 필요한건지 잘 모르겠습니다. user info 요청할때 클라이언트가 인가서버로 accessToken을 주면서 유저정보 달라고할때 인가서버에서 이 accessToken을 검증하는데, 이때 리소스 서버를 사용해서 검증한다는건가요? 그럼 oauth2ResourceServer api를 등록안하면 인가서버는 자체적으로 accessToken을 검증할수가 없는건가요? 인가서버와 리소스서버는 서로 다른 개념인거 같은데 인가서버를 위해 리소스서버를 써야한다는게 잘 이해가 가지 않습니다.
30분쯤에 나오는 list반복문 문제에서 리턴값이 result인데 list[0]의 리턴값이 6이면 다음에 list[1]의 값을 구할때는 result 값을 0이 아니 6으로 적용해야하는거 아닌가요?? list[1], list[2],list[3],list[4] 다 result 값 0으로 적용하고 계산하나요???
카카오, 네이버같은 소셜로그인이 아닌, 자체 로그인을 통한 검증을 구현하려고 하는데 프론트가 react 이므로 jwt 토큰을 사용한 검증을 진행하려고 합니다. 그러면 이를 구현하기 위해서 jwt 토큰을 발급하는 oauth2 authorization server와 발급한 jwt토큰을 검증하는 oauth2 Resource Server와 자체적으로 만든 시큐리티 인가서버에 code와 토큰을 요청하는 oauth2 client api를 전부 사용해야하는건가요? 즉, jwt를 통한 자체로그인 검증기능을 구현하려면 지금까지 학습한 oauth2 client + oauth2 Resource Server + oauth2 Authorization Server 3개 api를 전부 사용해 구현해야 하는건가요?
상속하고 업캐스팅 시 자식 생성자 부분에서 자식 기본 생성자 안에 파라미터가 하나 있는 자식 생성자를 this(a)해서 부르고 그 생성자 속에 super가 있는 경우에는 처음에 자식 생성자 처음 실행되기 전 부모 기본생성자를 안 부르더라구요. 그니까 일단 자식이 태어나기 전에 부모 생성자부터 부르고 보는게 아니라, 자식 생성자 쪽에 super가 있는지 확인해야 하는거죠?
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 질문 1. 오류 처리 흐름을 아래와 같이 이해하였는데 맞는지 여부 BasicErrorController를 활용한 오류 처리 흐름 WAS(여기까지 전파) ← 필터 ← 서블릿 ← 인터셉터 ← 컨트롤러(예외 발생) WAS(/error) → 서블릿 → BasicErrorController에서 오류 처리 → View or JSON 반환 ExceptionResolver를 활용한 오류 처리 흐름 ExceptionResolver(response.sendError() 처리) ← 필터 ← 서블릿 ← 인터셉터 ← 컨트롤러(예외 발생) WAS(/error) → 서블릿 → BasicErrorController에서 오류 처리 → View or JSON 반환 질문 2. ExceptionResolver 관련 설명을 아래와 같이 이해하였는데 맞는지 여부 예외 발생 시 서블릿 컨테이너까지 예외가 전달되지 않고, 스프링 MVC의 ExceptionResolver 에서 예외를 처리한다. -> response.sendError() 가 아닌 예외(Exception)이 WAS에 전달되지 않는다. WAS 입장에서는 정상 처리된 것이다. -> response.sendError() 는 WAS 입장에서 정상 처리 된 것으로 인지한다.
집계함수sum을 group by가 없는데도 사용이 가능한건가요? 질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산) 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산) 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
public class MainClass { public static void main(String[] args) { A b = new B(); b.paint(); b.draw(); } } class A { public void paint() { System.out.print("A"); draw(); } public void draw() { System.out.print("B"); draw(); } } class B extends A { public void paint() { super.draw();_____________________________________________>이 부분이 없다면 부모A paint를 호출하게 되는지 궁금합니다 System.out.print("C"); this.draw(); } public void draw() { System.out.print("D"); } }
업캐스팅 문제 예시 8에서 A b = new B(1); b.paint(); b.draw(); b.specialDraw(); // 여기는 어떻게 될까? 이 부분에서 업캐스팅의 경우 부모클래스에 specialDraw 메서드가 정의 되어있지 않아서 오류가 난다는 것 까지 이해했습니다. 그러면 메인에서 A b = new B(1); 업캐스팅 부분을 B b = new B(1)로 바꾸면 어떻게 출력되나요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 아래의 흐름이 맞는지 확인해보고 싶어 질문드립니다. 정리: 일반적인 예외: Spring MVC가 처리되지 않은 예외를 감지합니다. Spring MVC는 이 예외를 WAS에게 전달합니다. WAS는 기본적으로 500 Internal Server Error를 설정합니다. Spring Boot 환경에서는 BasicErrorController가 호출되어 최종 에러 응답을 생성합니다. HandlerExceptionResolver에서 빈 ModelAndView 반환: Spring MVC는 예외가 처리되었다고 간주합니다. 만약 resolver 내에서 response.sendError()를 호출했다면: WAS는 요청 처리 완료 후 에러 상태를 감지합니다. WAS는 에러 처리 메커니즘을 시작합니다. Spring Boot 환경에서는 BasicErrorController가 호출됩니다. sendError()를 호출하지 않았다면, 일반적인 응답으로 처리됩니다. HandlerExceptionResolver에서 null 반환: Spring MVC는 다음 resolver로 예외 처리를 계속 시도합니다. 모든 resolver가 null을 반환하면, 예외는 처리되지 않은 것으로 간주됩니다. 처리되지 않은 예외는 WAS에게 전달됩니다. WAS는 500 Internal Server Error를 설정합니다. Spring Boot 환경에서는 BasicErrorController가 호출됩니다.
redirect 는 실제 클라이언트(웹 브라우저)에 응답이 나갔다가, 클라이언트가 redirect 경로로 다시 요청 한다. 따라서 클라이언트가 인지할 수 있고, URL 경로도 실제로 변경된다. 반면에 forward 는 서버 내부에서 일어나는 호출 이기 때문에 클라이언트가 전혀 인지하지 못한다. 라고 설명해주셧는데 redirect 같은 경우는 HTTP강의에서 영구적인 경우는 흔히 웹 사이트 주소가 바뀔때 유저가 예전 URL로 접근할시 새로운 URL로 연결해주는 역할을 할대 ㅅ ㅏ용하고 일시적인 경우 주문 후에 새로 고침으로 인한 중복 주문 방지로 주로 쓰인다고 했는데 FORWARD는 언제 사용하는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] *************************** APPLICATION FAILED TO START *************************** Description: Web application could not be started as there was no org.springframework.boot.web.servlet.server.ServletWebServerFactory bean defined in the context. Action: Check your application's dependencies for a supported servlet web server. Check the configured web application type. 이런오류가 발생합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니요 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] @Data는 getter, setter, toString, EqaulsAndHashcode등을 포함한 어노테이션으로 알고 있습니다. Dto는 전달 객체이기 때문에 Setter를 쓰셔도 된다고 하셨는데 그렇다면 @Data 어노테이션을 실무에서 사용 해도 무방하나요? 혹은 Dto 객체에는 @Getter, @Setter 정도로만 사용하나요?
class Parent{ Parent(){ //1 System.out.println("Parent Constructor"); } } class Child extends Parent{ Child(){ //2 System.out.println("Child Constructor"); } } class Main { public static void main(String[] args) { //3 Child c = new Child(); //4 } } 이 코드에서의 실행 순서를 묻는다면 3-4-2-1 인가요 3-4-1-2 인가요?