confluent-6.1.0\bin\windows\kafka-run-class.bat 파일 안에 rem Classpath addition for release으로 검색하셔서 밑에 코드를 넣으시면 됩니다. rem Classpath addition for LSB style path if exist %BASE_DIR%\share\java\kafka\* ( call :concat %BASE_DIR%\share\java\kafka\* )
포트 포워딩을 통해 mysql을 외부에서 접속가능하게 할려고하는데 PS C:\kubernates\mysql-project> kubectl port-forward pod/mysql-deployment-545cb7c695-dxbm7 3306:3306 Unable to listen on port 3306: Listeners failed to create with the following errors: [unable to crea te listener: Error listen tcp4 127.0.0.1:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions. unable to create listener: Error listen tcp6 [::1]:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions.] error: unable to listen on any of the requested ports: [{3306 3306}] 이런식으로 오류가 떠서 어떻게 해야될지 모르겠어요...ㅠㅠ
안녕하세요, 질문 드립니다. /catalogs 조회하는 api 에서 catalogService.getAllCatalogs();에서 데이터는 디비에서 잘 들고 오는데 ModelMapper만 통과하면 모든 필드가 null로 return 되고 있습니다. 동일한 스팩의 user-service 에서 user 조회 api는 정상적으로 조회가 됩니다... 이유를 모르겠어서 납깁니다.. (created_at 필드는 추가를 하지 않았습니다. 이문제는 아닌 것 같아요)
EC2에서 ECR이미지를 pull하여 실행중에 exec /usr/java/openjdk-17/bin/java: exec format error 해당 오류가 계속발생합니다. dockerimage가 ec2의 arm64와 달라서 그렇다는 글도 있어 docker buildx build --platform linux/arm64 -t kube-ecr . 해당 명령어로 build하여 ECR에 push도 해보고 했지만 여전히 같은 오류가 발생합니다. 어떻게 해결해야할까요??
안녕하세요. calculateLateFee 메서드에 작성해주신 코드 중 아래 부분에 오류가 있는 것이 아닌지 확인 부탁드립니다. private void calculateLateFee(RentalItem rentalItem, LocalDate returnDate) { if (returnDate.compareTo(rentalItem.getOverdueDate()) > 0) { int point = Period.between(rentalItem.getOverdueDate(), returnDate).getDays() * 10; this.lateFee.addPoint(point); //문제 } } 아래처럼 수정되어야 하는 것이 아닌지 질문드립니다. private void calculateLateFee(RentalItem rentalItem, LocalDate returnDate) { if (returnDate.compareTo(rentalItem.getOverdueDate()) > 0) { int point = Period.between(rentalItem.getOverdueDate(), returnDate).getDays() * 10; this.setLateFee(this.lateFee.addPoint(point)); //수정 } } 감사합니다.
보안적으로 민감한 변수를 저장하기 위해 활용한다고 배웠습니다. 그러나 Secret의 작성 방법이 별다른 암복호화 로직없이 configMap과 99% 동일한 것 같아서요. 같은 repository에서 Secret과 ConfigMap가 함께 위치하는 경우 ConfigMap에 접근할 수 있는 사용자는 Secret에도 손쉽게 접근할 수 있을것 같다는 생각이 듭니다. Secret이 ConfigMap보다 어떠한 측면에서 보안상의 이점이 있는지 궁금합니다.
유사한 질문이 있어서 도움이 될 수 있을까 찾아 봤지만 해당 github에 접근할 수 없었고(아마 삭제한 듯), chat GPT를 통해서 답을 얻을 수 있을까 질문을 해 봤지만 해결책이 나오지 않아서 대략 1주일 이상을 헤매고 있었습니다. 그런데 강사님이 다른 분의 질문에 답을 주신 것을 보고 user-service의 SecurityConfig.java 파일에서 .requestMatchers("/**").access( new WebExpressionAuthorizationManager("hasIpAddress('127.0.0.1') or hasIpAddress('172.18.0.5') or hasIpAddress('192.168.0.172')")) // ip address of my pc .anyRequest().authenticated() 위의 코드처럼 나의 pc의 ip address를 포함하니 더이상 403 오류가 발생하지 않더군요. 그래서 결국에는 내 pc의 ip address를 포함해야 하는구나라고 생각했습니다. 그런데 동일한 코드를 다른 pc(이 pc에서도 계속해서 403 오류 발생했었음)에서 구동시켰더니 내 pc의 ip address를 변경시키지 않았음에도 403 오류 발생 없이 잘 동작하더군요. 그동안 무엇이 문제였을까요? 물론 github에 올라가 있는 configuration 파일에서도 gateway의 ip adddress를 172.18.0.5로 지정했고, SecurityConfig.java에서도 위의 코드같이 172.18.0.5를 포함했었습니다.
안녕하세요 강사님! 제가 토이 프로젝트를 진행했을 때 엔티티에 implements Serializable를 하지 않았을 때 오류가 나지 않고 정상적으로 잘 되었는데(스프링 부트 3.2.4 사용 했습니다) 강사님 께서는 앞선 카탈로그 엔티티 및 오더 엔티티에서 둘 다 Serializable를 implements 하셨는데 강의 말씀 하시기를 직렬화 때문에 사용을 하셨다고 말씀해주셨는데 해당과정에서 Serializable을 implements 을 하지 않으면 어떤 부분에서 오류가 나는지 여쭤 볼 수 있을까요?? 어느 부분에서 implements Serializable가 필요한 부분인지 모르겠습니다 ㅠㅠ 보통 일반적으로 스프링에서 Jackson? 으로 직렬화를 자동으로 지원해주어 implements를 따로 해줄 필요가 없다고 알고 있었습니다. 기초적인 질문이었다면 먼저 죄송하다는 말씀 드리면서 질문 드리겠습니다! 감사합니다.
안녕하세요, 강의 잘 보고 있습니다! 정말 감사합니다. ConfigMap, Secret 등 환경 변수 관리 값들을 조절해보면서 나름대로 테스트를 해보고 있습니다. 그런데 갑자기 궁금증이 생겨 문의드려요. 혹시 kubectl apply -f 를 통해 ConfigMap, Secret에 대한 설정을 변경했을 때, Deployment를 재구동하지 않고 실시간으로 반영시킬 수 있는 방법은 없을까요? Deployment가 지금처럼 몇 대 안될 때는 상관 없을 것 같은데 되게 많을 경우에는 재구동하는 것도 부담이 되는 작업일 수도 있을 것 같아서요. ( 제 개인적인 생각 입니다.. )
안녕하세요 강사님! 항상 강의로 재미있게 공부하고 있습니다! 다름이 아니라 ACM으로 SSL 인증서를 적용하면 로드밸런서의 리스너 규칙을 HTTPS 만 허용하고 HTTP 리스너는 404 응답을 보내게 설정해도 되는 걸까요? 로드밸런서 리스너 규칙 HTTPS HTTP 이렇게 하려는 이유는 기존 HTTP 리스너만 있는 상태에서 웹소켓으로 통신을 하려고 하는데, 프론트에서 HTTPS로 웹소켓 연결 요청을 보내게 되면, "Handshake failed due to invalid Upgrade header: null" 이런 에러가 뜨더라고요! 그래서 찾아본 결과 ALB가 리버스 프록시로서 HTTP 요청을 HTTPS로 리다이렉션 하는 과정에서 WebSocket upgrade 헤더 손실이 발생한다고 하더라고요!(이게 맞는 내용일까요..?) 아직 에러를 해결하는 중이라 이게 정답인지 아닌지는 아직 잘 모르겠지만.. 이런 문제로 HTTPS 리스너를 추가해 보려고 합니다! 그리고 하는 김에 보안강화를 위해 HTTP는 404응답, HTTPS 요청만 허용해 보려고 하는데 이렇게 해도 되는 걸까요? + 추가로 이렇게 되면 ALB 보안그룹의 인바운드를 HTTPS를 허용하면 되는 거겠죠?!