묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
45강 문제 9번 질문드립니다
문제의 답이 D가 적절하지 않는 이유가 궁금합니다~
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
32강 4번 문제 질문드립니다.
안녕하세요 선생님좋은 강의 잘 듣고 있습니다 감사합니다.질문이 있는데 받아주시면 감사하겠습니다S3, DynamoDB 등은 연결하는 건 게이트웨이 VPC 엔드포인트인 것으로 알고 있어서 햇갈려서 질문드립니다.감사합니다.
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
문제집
안녕하세요!문제를 한번에 풀고 채점하고 싶은데 자료 하나에 합쳐져 있어서혹시 문제집을 문제/해설 각각 pdf 자료로 받을 수 있는 방법은 없을지 문의드립니다.감사합니다.
-
해결됨비전공자도 이해할 수 있는 쿠버네티스 입문/실전
Docker Desktop 설치 관련 질문드립니다!
안녕하세요.자료 내의 URL 통해 Docker Desktop설치를 진행하였습니다! Dokcer Desktop설치 이후 쿠버 공식페이지에서 kubectl 1.35버전 다운로드하니, connectex 오류가 발생하였습니다. Docker Desktop에서 "Enable Kubernetes 활성"-> "kubeadm" 설치하니 kubectl 1.34로 설치되어 정상 확인되었는데, 버전 호환이 따로 있는걸까요?Client Version: v1.35.0Kustomize Version: v5.7.1Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it.
-
미해결실전에서 바로 써먹는 Kafka 입문
kafka 실패 후 재시도 DLT 소비 무한으로 하는 현상이 발생합니다
현상:아래에도 동일하게 이슈 올려주신 분이 있는 것으로 보이는데 postman으로 다음과 같이 요청하였을 때, kafka에서 DLT 소비하는 과정에서 무한 반복하는 현상이 발생하면서 DLT 토픽 자체에 계속 쌓이게 됩니다! @RetryableTopic에 autoStartDltHandler = False 설정을 해주거나, @DLTHandler를 정의 해줘야 DLT 소비를 무한으로 하지 않는 것 같은데 뭔가 설정이 잘못 된게 있을까요? ㅠ 요청 파라미터:{ "from": "sender@naver.com", "to": "fail@naver.com", "subject": "heyyyy", "body": "helloo" }2026-02-01T15:53:25.480+09:00 ERROR 15124 --- [email-send-consumer] [ner#0.dlt-0-C-1] k.r.DeadLetterPublishingRecovererFactory : Record: topic = email.send.dlt, partition = 0, offset = 605, main topic = email.send threw an error at topic email.send.dlt and won't be retried. Sending to DLT with name email.send.dlt. org.springframework.kafka.listener.ListenerExecutionFailedException: Listener failed at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.decorateException(KafkaMessageListenerContainer.java:3014) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2914) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2880) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2790) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2632) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2526) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:2164) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1541) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1479) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1348) ~[spring-kafka-4.0.2.jar:4.0.2] at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na] Caused by: org.springframework.kafka.listener.TimestampedException: Exception thrown at 2026-02-01T06:53:25.480044400Z at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:100) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:49) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2901) ~[spring-kafka-4.0.2.jar:4.0.2] ... 10 common frames omitted Caused by: org.springframework.kafka.listener.ListenerExecutionFailedException: invokeHandler Failed at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.checkAckArg(MessagingMessageListenerAdapter.java:519) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:496) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:425) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:92) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:52) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.invokeDelegateOnMessage(KafkaBackoffAwareMessageListenerAdapter.java:106) ~[spring-kafka-4.0.2.jar:4.0.2] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:97) ~[spring-kafka-4.0.2.jar:4.0.2] ... 12 common frames omitted Caused by: java.lang.IllegalStateException: No Acknowledgment available as an argument, the listener container must have a MANUAL AckMode to populate the Acknowledgment. ... 19 common frames omitted Caused by: org.springframework.kafka.listener.TimestampedException: Exception thrown at 2026-02-01T06:53:25.480044400Z Caused by: org.springframework.kafka.listener.ListenerExecutionFailedException: invokeHandler Failed Caused by: java.lang.IllegalStateException: No Acknowledgment available as an argument, the listener container must have a MANUAL AckMode to populate the Acknowledgment. > Task :com.example.emailsendconsumer.EmailSendConsumerApplication.main() FAILED Execution failed for task ':com.example.emailsendconsumer.EmailSendConsumerApplication.main()'. > Build cancelled while executing task ':com.example.emailsendconsumer.EmailSendConsumerApplication.main()' * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights from a Build Scan (powered by Develocity). > Get more help at https://help.gradle.org. BUILD FAILED in 17s 3 actionable tasks: 2 executed, 1 up-to-date 코드 발생:오류 발생하는 것으로 보이는 consumer 코드는 다음과 같습니다. 우선 강사님 코드와 다른 점은 Backoff 부분인데 이건 라이브러리 버전 문제 인 것 같아서 넘어갔습니다. @Service public class EmailSendConsumer { @KafkaListener( topics = "email.send", groupId = "email-send-group" ) @RetryableTopic( attempts = "5", backOff = @org.springframework.kafka.annotation.BackOff( delay = 1000, multiplier = 2.0 ), dltTopicSuffix = ".dlt" ) public void consume(String message) { System.out.println("Received message: " + message); EmailSendMessage emailSendMessage = EmailSendMessage.fromJson(message); if (emailSendMessage.getTo().equals("fail@naver.com")) { // 잘못된 이메일 주소로 인해 발송 실패 throw new RuntimeException("Simulated email sending failure"); } // 이메일 전송 로직 구현 생략 (예: SMTP 서버를 통해 이메일 전송) try { Thread.sleep(3000); } catch (InterruptedException e) { throw new RuntimeException("Email sending interrupted", e); } System.out.println("Email sent to: " + emailSendMessage.getTo()); } }
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
AWS S3 문제 1번 질문
해답에 (A)가 오답인 이유가Glacier 유형은 법/감사/규정 목적으로 장기 보관해야 되는 경우에만 사용하기 때문이라고 해설이 되어 있는데문제에는 회사의 보안 규정에 스토리지 전략을 따르는 것으로 주어져 있습니다.문제에서의 회사의 보안 규정이 법/감사/규정에 포함되지 않는건가요?
-
미해결비전공자도 이해할 수 있는 Nginx 입문/실전
꼭 conf.d에 default 파일이 있는상태에서 시작해야하나요 ??
저는 설정할때 그냥 conf.d에는 default.conf 는 따로 없는 상태로 availbe 폴더에 설정파일을 만들고 enable로 연결하는식으로 했는데 이렇게했을때 문제될게 잇을까요 ..?
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
deploy.yml작성후 원격에 push불가
강의 13:20초대 나오는데로 원격에 push를 하면 ! [remote rejected] main -> main (refusing to allow a Personal Access Token to create or update workflow .github/workflows/deploy.yml without workflow scope)이런 식으로 Push 불가 멘트가 나옵니다.토큰 발급할때 workflow 권한 잘 체크했는데 push 불가입니다. 깃 액션 보안 강화로 ssh?로 접근해야 하나요? 강의대로는 cicd 불가능한 걸까요?
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
예상 기출 문제 관련 질문
자료에서 제공해주시는 문제들이 강사님께서 수강자들 이해를 돕기 위한 형태로 직접 내용 제작하신건지, 아니면 실제 덤프 문제를 번역해서 강의 및 해설해주시는 건지가 궁금합니다.
-
미해결[2026 NEW] 기초부터 이해하는 쉬운 쿠버네티스 - 리소스편
영상 강의에서 CoreDNS 이론을 설명하는 부분이 누락된 것 같습니다.
안녕하세요.영상 강의에서 CoreDNS 이론을 설명하는 부분이 누락된 것 같습니다. 강의 자료에는 있는데, 영상 자료는 없는 것 같아서요.확인 부탁 드려요. 감사합니다.
-
해결됨[2026 NEW] 기초부터 이해하는 쉬운 쿠버네티스 - 리소스편
51. L7 라우터와 인그레스 실습... 강의 복습 중 ingress 설정과, nginx.conf 파일 내용에 대해서 궁금한 점이 생겼습니다.
안녕하세요 선생님, 강의 복습 중에 조금 헷갈리는 부분이 생겨서 문의드립니다.현재 github 에서 제공해주시는 SUBSMANAER 프로젝트에서 yaml/01-basic/ingress/sm-ingress-domain.yaml파일에 보시면 다음과 같습니다.apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: sm-ingress namespace: subsmanager spec: ingressClassName: nginx rules: - host: subs-manager.com http: paths: - path: / pathType: Prefix backend: service: name: sm-frontend port: number: 80 - path: /users pathType: Prefix backend: service: name: sm-user port: number: 80 - path: /sub pathType: Prefix backend: service: name: sm-subs port: number: 80 - path: /recommend pathType: Prefix backend: service: name: sm-reco port: number: 80그리고 sm-frontend/nginx.conf 파일을 보면 아래와 같이 설정되어 있습니다.server { listen 80; location / { root /usr/share/nginx/html; index index.html; try_files $uri $uri/ /index.html; } # API 요청을 백엔드 서버로 프록시 location /users { proxy_pass http://sm-user:5000; } location /sub { proxy_pass http://sm-subs:5000; } location /recommend { proxy_pass http://sm-reco:5000; } } 여기서 갑자기 헷갈립니다.애초에 ingress 단에서 /sub//recommend , /user 요청에 대한 처리를 중간에 가로채서 처리를 하고 있는데, 굳이 frontend 에서 사용하는 nginx.conf 에도 설정하는 것이 좀 와닿지 않습니다. 이렇게 중복으로 설정해야되는 이유가 뭔지 궁금합니다!
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
시험 빈출 개념 요약본 (PDF) 에 누락된 페이지가 있습니다.
순서상 1p 에 수업자료 목록이 나와야 할 것 같은데 25p에 작성되어 있습니다.25p 에는 ECS, Lambda .. 가 와야할 것 같은데 해당 내용 자체가 pdf 파일에 누락되어 있습니다.
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
RDS 에서 다중 AZ 배포
RDS(MySQL) 다중 AZ 배포 설정 하려고하는데 정책이 바뀐건지 프리티어 계정에서는 수정 모드 들어가서 "가용성 및 내구성" > 다중 AZ 배포 > "대기 인스턴스 생성" 비활성화가 되어 있습니다.
-
미해결[2026 NEW] 기초부터 이해하는 쉬운 쿠버네티스 - 리소스편
gitbash 문제
실습 중에 위와 같이 앞에 이상한 문자가 추가되는데 혹시 해결법을 아실까요? 붙여 넣기 하지 않고 직접 타이핑하고 있는데도 이상한 문자가 앞에 삽입이 되는 것 같습니다. 윈도우 환경에서 git bash 사용하고 있습니다. 안녕하세요. 황현우입니다.강의에 포함된 내용이 아니더라도 강의를 듣다가 궁금하신 점이 생기시면 부담없이 편하게 질문해주세요. 실습에 오류가 발생했거나 명령어가 예상한대로 실행되지 않으신 경우 사용하시는 OS 환경과 화면을 캡처해서 보내주시면 빠르고 자세하게 답변을 드릴 수 있습니다. 질문은 가능한 빠르게 답변 드리겠습니다. 😀감사합니다.
-
미해결비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)
S3 질문 있습니다.
안녕하세요 강의 잘 보고 있습니다.강의에서 구성하신 아키텍처가 아래와 같습니다. 근데 궁금한 부분이 만약에 저기에 S3를 넣는다면 구조가 어떻게 바뀌게 되는건가요?? 클라이언트 - S3 - 인터넷 게이트웨이. 이런 형태가 되는걸까요? 다른 자료에서는 아래와 같이 아키텍처를 구성해서 헷갈리더라구요
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
Volume과 VolumeMount는 왜 나눠놨을까요?
안녕하세요.수업 중 뜬금없이 든 생각인데요.. 마운트 되지 않으면 볼륨을 붙일 필요가 없을텐데 왜 볼륨과 볼륨마운트를 나눠놨을까요?그냥 든 생각은 볼륨은 파드에 할당하고 볼륨마운트는 컨테이너에 할당하는 속성이라서 그런가(?) 생각도 들긴 하는데요.. 혹시 이유가 있을까요?
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
예상 기출 문제 오탈자 제보
제공해 주신 기출문제 PDF에서 오탈자를 발견하여 제보드립니다. p5. "분ㅅ거해" > "분석해"p51. "리로스" > "리소스"좋은 강의에 감사드립니다 : )
-
미해결비전공자도 이해할 수 있는 Nginx 입문/실전
HTTPS 관련 코드 해석하기
안녕하세요. 섹션 7의 "35. Nginx, Certbot이 작성한 HTTPS 관련 코드 해석하기" 강의를 들으면서 궁금한 점이 생겨서 질문 남깁니다. server { # 2. 들어온 요청의 주소의 Host가 jscode.p-e.kr일 경우 (ex. http://jscode.p-e.kr/about) # https://jscode.p-e.kr/...(ex. https://jscode.p-e.kr/about)로 리다이렉트(301) 처리 if ($host = jscode.p-e.kr) { return 301 https://$host$request_uri; } # managed by Certbot # 1. jscode.p-e.kr 주소로 들어온 요청이면서 # 80번 포트(http)로 들어오는 요청일 때 # 이 server 블럭에서 처리하도록 설정 listen 80; server_name jscode.p-e.kr; # 3. 그 이외의 경우에는 404(Not Found)로 응답 return 404; # managed by Certbot } 강의자료에서 제공해주시는 /etc/nginx/conf.d/default.conf 파일의 일부 코드입니다.이미 server_name에서 jscode.p-e.kr 주소로 들어온 요청인지 확인하니깐, if( $host = jscode.p-e.kr) 는 없어도 되는거 아닌가요? 코드가 존재하는 다른 의도가 있는건지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 Nginx 입문/실전
default.conf 파일이 없습니다.
/etc/nginx/conf.d 폴더에 default.conf 파일이 없습니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
CodeDeploy 사용시 registration 요구
CodeDeploy 를 클릭했더니, 이런 문구가 뜨네요.complete your AWS registration 눌러도 콘솔 홈으로 돌아가고,credit card information 을 눌렀더니, 결제 기본 설정 창이 뜨는데, 딱히 문제될 건 없어 보여요.다른 AWS 서비스 사용할 때는 이런 문구 안 떴는데 왜 CodeDeploy만 이럴까요? ㅠㅠ