게시글
질문&답변
9:03쯤에 프로그램 실행 후 갑자기 브레이크 포인트가 잡히는 이유
12:44까지 보니까 제가 위에 질문드린것을 하셨다기보다, 부팅과정중에 ProvideManager 초기화 과정을 보여주시는것 같은데 맞나요?
- 0
- 1
- 310
질문&답변
20:00 부분에 공격자가 갑자기 어떻게 JSESSIONID를 가지고있는건가요?
답변 감사합니다.인증과 JSESSIONID가 관련이 없다라는걸 답변을 통해서 처음 알게되었고, 추가로 https://inflearn.com/questions/194095 해당 질문이 있는걸 확인하고 더 자세하게 알게 되었습니다. 그러면 처음에 공격자가 받은 JSESSIONID는 Authentication 객체가 없는 Anonymous Role을 가지고 있는 JSESSIONID라고 생각을 해도 되는건가요? 처음에 아무런 인증을 하지 않았을때는 저런 상태에 있다가 사용자가 공격자의 JSESSIONID로 USER라는 Role을 가진 계정으로 인증에 성공하면 Authentication 객체가 서버에 생성이 되고 다음에 똑같은 JSESSIONID로 요청을 하면 해당 Authentication 객체를 가지고 인증여부를 판단하는건가요?
- 0
- 3
- 767
질문&답변
20:00 부분에 공격자가 갑자기 어떻게 JSESSIONID를 가지고있는건가요?
제가 말씀드리는 부분은 공격자라고 가정한 브라우저에서 JSESSIONID를 어떻게 처음에 가지고 있는지에 대한 것을 여쭤보았습니다. 로그인을 하거나 그런 내용이 없고, PPT에 설명이 다 끝나고나서 브라우저 2개가 띄워져 있는데 오른쪽에 갑자기 JSESSIONID가 있는 상태로 있습니다. JSESSIONID는 서버에서 받아와야 하므로 공격자가 서버에 로그인을 했다거나 하는 그런 상황도 같이 껴있어야하는게 아닌가요? 공격자가 서버에 로그인을 해서 JSESSIONID를 우선 공격자 브라우저에 얻어왔다라는 내용이 있어야하는게 아닌가요?
- 0
- 3
- 767
질문&답변
디버깅 방법
https://github.com/spring-projects/spring-security/issues/108225.7.0-M2. 버전부터 Deprecated됬다고 합니다. 근데 이전 버전인 2.x나 3.x버전에도 Deprecated가 적용이 되어있는지는 잘 모르겠습니다. 혹시 원래 가장 최신버전의 어떠한 Feature를 @Deprecated하면 그 이전버전에서 똑같은 Feature도 일일이 @Deprecated를 해주는건가요?
- 0
- 4
- 453
질문&답변
디버깅 방법
저도 같은 현상인데, 저 같은 경우에는 Security 2.7.4 기준으로org.springframework.security.config.annotation.web.configuration.HttpSecurityConfiguration#httpSecurity해당 메소드에 첫째줄WebSecurityConfigurerAdapter.LazyPasswordEncoder passwordEncoder = new WebSecurityConfigurerAdapter.LazyPasswordEncoder(this.context);에서 우선 브레이킹이 걸리네요 강사님 화면처럼은 저도 브레이킹이 안걸립니다. 위에 제가 언급드린 함수 보면 그래도 비슷한 초기화같은걸 하는것 같습니다.강사님 혹시 관련해서 답변 주실수 있으실까요?제가 우선 강사님께 질문드리지 않고 찾아본 결과로는 이정도까지 리서치가 된것같습니다.
- 0
- 4
- 453
질문&답변
Break Point와 Debugging시 단축키
빠른 답변 정말 감사드립니다.해당 답변을 통해서 이제는 강사님의 강의 스타일을 인지한채로 강의를 수월하게 들을 수 있을것 같습니다.네 해당 질문을 남기고 나서도 해당강의 이후의 강의들을 쭉 듣고있는데 사실 제가 여쭤봤던 부분들이 이 수업의 이후에 상당부분 말씀을 해주셔서 해소가 되었습니다.조금 더 제가 강의를 들어보고 질문을 드렸으면 좋았겠다라는 생각이 드네요하지만 이 질문이 질문을 남길당시의 저와 같이 차례로 수업을 들어 이후의 수업을 들어보지 못한 다른 수강생분들께 강사님의 의도와 생각을 파악하는데 도움이 되면 좋겠습니다.이렇게 답변을 통해 알고나니 저도 강사님의 의도에 맞춰서 나머지 수업을 수강할 수 있을것 같습니다.긴 답변 정말 감사드립니다 :D
- 0
- 2
- 527
질문&답변
조인시 SQL 실행 순서에 관한 질문입니다.
안녕하세요. 답변 감사드립니다. 질문한 사람은 아닌데 질문과 답변을 모두 읽고 제가 내린 결론을 좀 확답을 받고싶어서 이렇게 남기게 됬습니다.저도 질문자님과 똑같이 생각을해서 customers, orders, employees, shippers를 where조건을 고려하지않고 우선 모든 컬럼을 가지고 left join을 하고나서 left join이 최종적으로 된 결과테이블을 가지고 where절 Filter를하여 결과를 내어주는것으로 생각을 했는데답변주신것을 읽고나서 생각해보니 Madrid가 아닌게 어차피 최종 결과에서 걸러질건데 Mardrid가 아닌 데이터를 굳이 계속 left join을 함에있어서 끌고갈 필요가 없구나라는걸 알게됬습니다.그리고 customers의 DDL을 확인해보니 city같은 경우에는 Index로 설정되어있지 않은 컬럼이니 만약에 customers에 총 100만개의 Row가 있고, Madrid인 Customer는 100개가 있다고 하면 index가 아닌 Raw Data(생 데이터)를 하나하나 읽어가며 100개를 찾고 그걸가지고 나머지 orders, employees, shippers의 left join을 진행한다라고 이해하면 될까요?정리하자면,where 절에 조건이 있다면 일단 필터링을 한번 하고나서 조인을하고 그게 퍼포먼스적으로 더 좋을 확률이 높다.(Optimizer가 어떻게 내부적으로 동작할지는 너무 다양하다 판단해서 "확률이 높다"라고 표현을 했습니다.)Where절에 있는 컬럼이 Index라면 실제 데이터가 있는 Row까지 접근할 필요는 없고, Index에서만 일일이 찾아서 Join을 수행하고, 그렇지 않다면, 생 데이터를 일일이 찾고 그걸 가지고 Join을 수행한다.이렇게 두가지 결론을 내게 됬습니다. 제 생각이 맞을까요?정말 좋은 강의 감사드립니다. 답변 또한 너무 상세하게 해주셔서 매우 큰 도움이 되고 있습니다. 다시한번 감사드립니다.
- 0
- 2
- 2.8K
질문&답변
7:31초쯤 영속성이 끊긴 멤버 반환
답변 감사드립니다. 저도 강의를 쭉 진행하고나서 open-in-view에 대해서 알게 되었고, 해당 질문과 관련이 있다고 알게 되었습니다. 하지만 제가 질문드린건 영한님이 7:31초쯤에 "영속성이 끊긴 멤버가 반환이 된다"라고 말씀해 주셨는데, 회원 수정 API강의중에는 open-in-view에 대한 어떠한 설정도 없었기 때문에 기본값인 true로 되어있어서 더더욱 "반환되는 멤버는 영속성이 끊기지 않은 멤버"가 아닌가 싶어서 질문드렸습니다!답변도 영속성 컨텍스트의 관리를 받고 있는 객체라고 말씀해주셨는데, 그러면 7:31분쯤에 영한님의 말씀("영속성이 끊긴 멤버가 반환이 된다")이 혹시 틀린건 아닌지 여쭤보고싶습니다.
- 0
- 2
- 479
질문&답변
익스프레스(HTTP)와 웹 소켓(WS)은 같은 포트를 공유할 수 있으므로 별도의 작업이 필요하지 않습니다.
"웹소켓 요청은 실제로 http요청을 먼저 보낸 뒤에 클라이언트와 서버가 동시에 웹소켓 요청으로 업그레이드해서 양방향 통신을 만듭니다." 이 말씀이 웹소켓 통신을 하기위해 우선 클라이언트와 서버가 연결이 되어야하기때문에 http로 우선 connection 요청을 보내고 connection이 된다면 그때부턴 웹소켓 요청으로 업그레이드해서 양방향 통신을 시작할수 있다라는 말씀이신건가요??
- 0
- 2
- 2K
질문&답변
failureRedirect와 successRedirect
빠른 답변 너무감사드립니다 :D
- 0
- 2
- 384