인가서버로부터 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을 검증할수가 없는건가요? 인가서버와 리소스서버는 서로 다른 개념인거 같은데 인가서버를 위해 리소스서버를 써야한다는게 잘 이해가 가지 않습니다.
https://velog.io/@yuki_go/%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A9-CSS-4 위 사이트 참고해서 코딩을 짜보고 있는데 같은 이름의 클래스는 여러개를 생성할 수 있다고 알고 있는데요 만일 a라는 1억개의 태그나 클래스(뭐든 상관없음)에 각각 텍스트가 다르게 지정되어 있는 경우 예를 들어 <div class="a"> 사과 </div> <div class="a"> 배 </div> <div class="a"> 귤 </div> <div class="a"> 바나나 </div> <div class="a"> 익은 사과 </div> <div class="a"> 덜 익은 사과 </div> ... 엄청나게 많은 a라는 class가 있을때 제가 사과라는 텍스트가 포함된 a 클래스에만 찾아서 빨간색으로 style을 주고 싶을때 직접 사과라는 줄에 font를 넣지 않고 <style> </style> 이용해서 css로 일괄 적용한다고 하면 class 내의 텍스트를 찾는 코딩을 뭘 이용하면 좋을까요 계속 공부하고 있는데 어렵네요
동영상 음성이 너무 작습니다. 매번 따로 조절해줘야하는 번거로움이 있습니다. 파이썬 문법보다는 실전적인 내용에 충실하시려는 의도는 느껴지지만 Type Hint, Decorator, Class 같은 고급문법 정도는 짚고 넘어가주시면 강의내용이 좀 더 이해가 잘 되지않을까 싶습니다. 강의 초반부에 뒤에서 설명하시겠다고 하고 넘어가는 부분이 자주 있어서 강의 중반부부터 이해가 되지 않습니다. 실무적인 내용도 좋지만 최소한의 이론적인 설명도 명확하게 짚어주시면 어떨까 싶습니다.
이 값은 똑같나요? 강의는 아닌데 이런 문제 헷갈려서 돌아다니다가 너무 궁금해서 여쭤봅니다 참고로 value는 {1,2,3,4,5}입니다. 둘다 후위연산이 우선 적용 되고 후위연산은 주소를 +1 하지만 다음행 부터 적용되고 *p는 값이 1 이니깐 두 문제 다 value는 1이 담겨 있고 다음행부터는 p가 주소 2를 가르키고 있는게 맞나요>?
먼저 강의를 수강한지 오래 되어서 제 기억이 틀릴 수 있습니다. 제가 강의를 들을 때 SSR은 서버에서 랜터링 해서 내려준다. CSR은 최초 모든 것을 랜터링 해서 내려준다 USR은 SSR과 CSR의 장점을 결합한 것이다. 즉, 처음에는 SSR 형식으로 서버에서 랜터링 해서 내려주지만 한번 내려 준것은 CSR처럼 운영되어 다시 서버에 요청을 하지 않는다. 이것이 USR이다. 라고 한 것 같은데... 질문 제가 자료를 찾아보니 USR이라고 생각한 것이 SSR의 기본 동작이라고 하는데 맞나요? USR과 SSG(Static Server Generation)는 동일한 개념인가요? Nuxt3 프로젝트를 빌드 후 배포할 때 nginx 그리고 node.js 서버가 각각 별도로 존재하는 것이 맞나요? 아니면 하나의 서버에 인스턴스를 분리하여 운영하는 것이 맞나요? 질문이 많아 죄송합니다.
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를 전부 사용해 구현해야 하는건가요?
안녕하세요. 현재 intellij 유료버전 사용중인데, 테스트 코드를 수정하고 실행시키면 수정하기 전의 코드가 실행되고, 수정한 코드는 반영이 되지 않는 상황이 생겼습니다. 상황 설명) h2데이터 베이스에 회원 정보가 잘 들어가는지 확인하기 위해서 테스트를 실행했습니다. 수정 전: setName("spring") -> 수정 후: setName("jpa") 실행되는 코드: setName("spring") 결과: 수정하기 전의 코드만 실행되고, 수정 후 코드는 테스트 진행이 되지 않음 => 이전의 setName("spring")의 중복검사만 실행 Annotation 수정도 똑같은 상황입니다..! 수정 전: @Transactional 수정 후: // @Transactional @Commit 결과: @Transactional이 주석처리 되지 않고 코드 실행 (@Commit 반영 x) gradle탭에 Reroad Gradle Project를 실행하면 다시 수정된 코드가 반영이 되어서 정상적으로 테스트가 진행이 되긴 합니다만,, 매번 이렇게 코드를 수정할 때마다 새로고침을 해야하는지,, 궁금합니다. @SpringBootTest // @Transactional class MemberServiceIntegrationTest { @Autowired MemberRepository memberRepository; @Autowired MemberService memberService; @Commit @Test public void 회원가입() { // given Member member = new Member(); member.setName("spring"); // when Long saveId = memberService.join(member); // then Member findMember = memberService.fineOne(saveId).get(); assertThat(member.getName()).isEqualTo(findMember.getName()); } } 테스트 할 때 사용했던 코드입니다!
상속하고 업캐스팅 시 자식 생성자 부분에서 자식 기본 생성자 안에 파라미터가 하나 있는 자식 생성자를 this(a)해서 부르고 그 생성자 속에 super가 있는 경우에는 처음에 자식 생성자 처음 실행되기 전 부모 기본생성자를 안 부르더라구요. 그니까 일단 자식이 태어나기 전에 부모 생성자부터 부르고 보는게 아니라, 자식 생성자 쪽에 super가 있는지 확인해야 하는거죠?
안녕하세요 선생님 🙂 플로이드 와샬 개념문제로 11404번 문제를 풀다가 갑자기 삼항연산자의 개념이 헷갈려졌습니다 ㅠㅠ 구글링해도 기본적인 설명만 있고, 교안도 삼항 연산자 관련 내용이 없어서 질문 드립니다.. http://boj.kr/eefe3db0d7aa4338bfffb83a6233db67 // 입력 부분 dist[a][b] = INF ? min(dist[a][b], c) : c; // 출력 부분 else cout << (dist[i][j] == INF ? 0 : dist[i][j]) << " "; 입력 부분에 ==가 아닌 =가 들어가는 이유를 모르겠습니다. 또, = 대신 ==를 넣으면 안되는 이유를 모르겠습니다. 제가 아는 삼항 연산자는 if (dist[i][j] == INF) 라는 조건을 만족하면 dist[i][j]가 왼쪽이 되고, 만족하지 않으면 dist[i][j]가 오른쪽이 되는 것을 한 줄로 요약한 코드라고 알고 있습니다. 개념이 심하게 헷갈리네요 ㅠㅠ 알려주시면 감사하겠습니다..!!
강의 수강 목적 1. 현재 담당하고 있는 제품에 데이터 분석 적용하기 운영중인 제품에 데이터 분석을 적용하자는 이야기가 나온 뒤, GA 와 앰플리튜드를 붙였음 하지만 데이터에 대해 아는 사람이 아무도 없어 방치되고 있는 상태 직접 데이터 분석에 대한 이해도를 높여, 운영중인 제품의 퍼널 설계부터 해볼 예정 2. 회사에서 데이터 분석이란 무엇인지 가르쳐보기 회사 전반적으로 데이터의 중요성은 알고 있지만, 다들 눈 앞에 놓인 업무에 치여 소홀히 하고 있음 나 역시 마찬가지로, 배워야지 배워야지 하면서 지금껏 미루고 있음 제일 좋은 학습방법은 누군가를 가르치는 것이라고 함 강의를 마치고, 본 강의를 기반으로 회사에 데이터 분석이란 무엇인지 강의해 볼 예정 3. 데이터 기반 사고를 하기 위한 기초 프레임워크 습득 어떤 업무 분야던 좋은 프레임워크를 배웠을 때, 폭발적인 성장을 했던 것 같음 본 강의를 통해 데이터 기반 사고를 할 수 있는 기초를 단단히 다질 예정 어떻게 노력할 것인가 매일 강의를 듣고, 배운 내용을 강의노트로 기록 기록한 강의노트를 보고 한 번 더 요약하여, 나만의 데이터 지식 위키로 만들기 현재 운영하고 있는 제품에 적용할 수 있는 것들은 바로 바로 적용할 것 수강한 뒤 나의 모습 제품을 기획/디자인 할 때 항상 데이터 기반으로 생각한다. 업계 트렌드에 맞게 데이터 기반으로 가설을 세우고, 실험 후 결과를 정량적으로 측정한다.
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 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 입장에서 정상 처리 된 것으로 인지한다.