HttpSession session = request.getSession();을 하게되면 쿠키가 생성되고, 쿠키의 이름은 JSESSIONID, 쿠키의 값은 랜덤값이라고 이해했습니다. 하지만 이전 강의를 보면 쿠키의 값을 세션id와 동일하게 설정을하고, 쿠키의 값을 통해 세션저장소에서 세션을 조회했는데요. 하지만 코드에서는 session.setAttribute(SessionConst.LOGIN_MEMEMBER, loginMember)로 상수를 세션id(key)로 지정했는데 이렇게 하면 SessionConst.LOGIN_MEMEMBER를 통해 세션저장소에서 세션을 조회해야하지않나요? 쿠키의 value와 세션저장소의 세션id가 동일하지않은데 어떻게 조회할수 있는지 궁금합니다..
안녕하세요 선생님 강의 잘 듣고 있습니다. 강의 수강 중 질문이 생겨서요! user-service는 mvc 기반의 app으로 spring security를 통해 인증을 처리하므로, tomcat의 JSESSIONID 를 기반으로 하여 Security Context에 Authentication 객체의 유무를 통해 인증이 된 사용자인지 안 된 사용자인지 Security Filter Chain에서 체크를 하는 것으로 알고 있습니다. 그런데 gateway에서 설정하신 application.yml 에 따르면 모든 요청 헤더에 존재하는 Cookie를 삭제하고 --> 서버에서 매번 새 요청으로 인식 gateway 는 netty 서버를 사용하고 user-service는 tomcat 서버를 사용하잖아요. 그래서 두 서버 사이 Context가 공유가 안 될것 같아서요... 그래서 gateway에서는 인증을 했다고 요청을 넘기지만 user-service에서는 그 요청을 받았을 때 해당하는 SESSIONID 의 Context에 Authentication 객체가 존재하지 않아 인증이 필요한 url에 접근할 수 없을 거라고 생각했습니다. 어떻게 인증 완료 정보를 두 서비스가 공유할 수 있는 건가요?? 또한 gateway도 이중화 구성이 가능한가요?.. userService를 2,3중화 한 것처럼 gateway도 여러 대의 인스턴스로 기동하면 eureka에서 다중 구성한 서버로 인식해주는 건가요??... 혹시 gateway에도 Spring Security를 적용시키는 경우도 있을까요?.. 권한 별 접근 제어를 구현하기 위해서는 해당 라이브러리를 사용해야 할 것 같아서요! 또한 gateway에서 커스텀 필터를 만들 때, apply 메소드의 return 타입이 GatewayFilter 로 되어있는데, Mono<Void> 타입으로 return을 해도 되는 건가요?... Mono<Void>는 mvc에서 return 타입이 void 인 것과 같은 의미 아닌가요?... 열심히 강의해주셨는데 질문의 너무 많아 죄송합니다..ㅠ 답변 기다리겠습니다! 항상 감사드립니다!!
(node:82558) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (Use `node --trace-deprecation ...` to show where the warning was created) info Starting JS server... /bin/sh: adb: command not found info Launching emulator... error Failed to launch emulator. Reason: No emulators found as an output of `emulator -list-avds`. 강의 보고 따라하면서 npm run android 했는데 `punycode` module is deprecated 이 오류를 어떻게 해야해야 할 지 모르겠습니다 ㅠㅠ
이 예제처럼 클래스 정보를 얻어와 적용해 사용한다는 뜻은 엔진 내부적으로 받은 클래스 정보에 따라 인스턴스를 스스로 만들어 사용한다고 보면 되는 건가요?? AABPlayerController 클래스의 인스턴스를 직접 만들었다면 고칠꺼 고치고 GetClass()를 통해서 넣으면 되는 걸까요? 그리고 TSubclassOf의 효과를 알 수 있을 까요... 찾아보니 지정한 UClass 파생 클래스로만 할당 할 수 있어서 안전하다.. 이런 얘기가 있는데 잘 모르겠네요ㅜㅜ
파이썬 파싱 문의! 파이썬으로, 쿠퐝의 상품상세 정보를 파싱해보려고 합니다. 그런데 requests.get(url) 로 주소를 불러왔는데, 상품상세 정보는 불러오질 않더라구요. 쿠퐝의상품들어가서 아래에 상품상세/상품평/상품문의 메뉴가 있는데 이걸 requests로 파싱할수 있나요? 셀레니움밖에 답이 없나요?
1강 강의 대로 PlayerController를 변경한 후 캐릭터 조작이 안되는 문제를 겪고 있습니다. 1강 언리얼 엔진 게임 제작 기초 강의 그대로 따라하고 있었는데요. 23:21 부분 따라한 이후 부터는 캐릭터 뿐만 아니라 카메라도 이동이 되지 않고 있습니다. 재컴파일도 해보고 아예 새 프로젝트부터 다시 만들어보기도하였는데요. 동일한 현상 때문에 애를 먹고 있습니다. 어떻게 해결하면 좋을지 여쭤보고 싶습니다. 아래는 조작이 안되는 상태 스크린샷입니다. (키보드나 마우스 움직여도 캐릭터가 움직이질 않음)
go env set GOBIN=C:\go_study\bin set GOROOT=C:\Program Files\Go set GOPATH=C:\go_study PS C:\go_study\src\section1> go run main cannot find package "main" in any of: C:\Program Files\Go\src\main (from $GOROOT) C:\go_study\src\main (from $GOPATH) 관련된 에러가 나고 있습니다. 이유를 잘모르겠습니다. PS C:\go_study\src\section1> go mod init main go: creating new go.mod: module main go: to add module requirements and sums: go mod tidy PS C:\go_study\src\section1> go mod tidy PS C:\go_study\src\section1> go run main helloworld.go:1:1: expected 'package', found pakcage visual studio일 경우에는 어떻게 해결하나요?
안녕하세요. [순수JS1] 폴더구조 편에서 npx 로 웹서버 띄우고 localhost:3000 켜고 크롬에서 개발자도구로 네트워크 보면 store.js 로딩하는데 404에러가 나오는데 이유가 뭘까요? 그리고 강사님처럼 console.log 로 로그를 찍어도 크롬 개발자도구 console 탭 보면 아무것도 안나오는데 이유가 뭘까요 ㅠㅠ?
제가 섹션4까지 듣고 카운트다운 코드를 다시 보며 복습하고 있는데 style.display = flex가 이 섹션 4까지의 코드에서 어떤 맥락으로 사용됐는지가 이해가 잘 가지 않아 이 부분을 여쭤보고 싶습니다. 자바 스트립트 관련 여러 문서들을 참고하니 자바스크립트에서 flex의 의미는 css에서와 크게 다르지 않게 요소의 display 속성(인라인or블록 요소인지 등등)을 설정한다는 것을 이해했습니다. 그러나 아래의 코드 부분을 보다가 의문이 생겼습니다. if (remaining <= 0) { container.style.display = 'none'; messageContainer.innerHTML = '<h3>타이머가 종료되었습니다.</h3>'; messageContainer.style.display = 'flex'; setClearInterval(); return; } else if (isNaN(remaining)) { container.style.display = 'none'; messageContainer.innerHTML = '<h3>유효한 시간대가 아닙니다.</h3>'; messageContainer.style.display = 'flex'; setClearInterval(); return; } display:none은 요소를 숨겨준다는 의미로 이해하기 쉬웠지만 display = flex의 뜻을 알고 보니 messageContainer.style .display = flex는 어떤 의미로 사용된 것인지 감이 잘 안 잡힙니다 ㅠㅜ. 위에 innerHTML에 값을 할당한 것으로 충분하다고 생각했는데 왜 flex가 선언되는지 이유를 알고 싶습니다!
class Solution(object): def lowestCommonAncestor(self, root, p, q): if root is None: # check whether Node is empty return if root is p or root is q: return root # root 노드가 p 또는 q가 아니면 순회하도록 재귀함수 호출 l = self.lowestCommonAncestor(root.left, p, q) # code 1 r = self.lowestCommonAncestor(root.right, p, q) # code 2 # p와 q 조건 검사를 마친 후(모든 노드를 순회하는 것은 아님) if l and r: return root elif l: return l else: return r 먼저 LCA함수를 호출하면 root가 가리키는 노드가 있는지 체크한 다음에 계속해서 p 또는 q 노드가 맞는지 확인을 합니다. 만약 p 또는 q 노드가 아니면 재귀함수를 호출해서 자식 노드로 더 깊이 순회하도록 만듭니다. 역시 자식 노드들도 p 또는 q 노드가 맞는지 검사한 후 맞으면 l 또는 r에 그 노드를 저장합니다. 여기서 궁금한 점은, 자기 자신이 공통 조상이 될 때인데요. 이렇게 되면 더 깊이까지 탐색하지 않아도 elif l: return l 에 의해서 왼쪽만 탐색했으니까 시간복잡도가 O(logN)인가요? 아니면 다른 케이스들도 고려해서 최악의 경우 모든 노드를 탐색해야되니까 O(N)이 되는건가요?