강의의 시퀀스 다이어그램을 보았을 때, 2가지 정도 질문 드립니다. 1) stateless 요청에서 상태값의 전달 관련 일반적으로 웹과 같이 stateless 한 서비스를 고려했을 때, 비동기 처리로 인해 주문서비스가 고객의 주문요청에 대해 (이후의 수행작업과 상관없이) 즉시 리턴하게 되는 것이 예상되는데요. (위 그림에서는 동기적인 flow 로 주문완료 응답을 end point 유저에게 전달하는 것으로 보이긴 합니다만) 주문 완료 페이지에서 주문한 상품 정보나 결제 수단의 상태값 전/후 를 보여주는건 어떤 식으로 동작하게 될까요? 가령, 실물 상품이 아닌 연속선상의 사이버 재화(ex: 네이버포인트 등)를 지급해야하는 입장에서 주문 이전의 재화 정보와 주문 요청 후(최종적으로 트랜잭션 완료된 후의) 증/감 재화 정보를 유저에게 보여주어야 할 수도 있는데, 뒷단의 비동기 작업(이벤트 subscribe)을 수행하는 스레드랑 최초 주문 요청을 받는 요청스레드가 다른 부분에서 고려해야할 것이 더 있을 것 같은데요. 얼핏 생각했을 때는, 사용자에게 즉시 내려주는 응답 페이지는 PENDING 에 해당하는 페이지 UI 로 (ex: 결제 진행중... 표시) 전달하고, 사용자 PENDING 페이지 (클라이언트)에서 몇초 단위의 주기적인 서버 요청 등으로 완료 이벤트를 조회 하도록 처리하여 완료페이지로 리다이렉션 처리되는 방식이 될까요? 이 때, 중간 상태값은 별도 캐시서버등에 저장을 해야 할 것이고요. (리다이렉션 되는 완료페이지와 PENDING 페이지의 state가 또 다르므로) 2) 메시지 브로커(카프카) 를 쓸 때 고려사항 주제랑 좀 벗어난 걸 수는 있는데요, 보통 메시지 발행의 정확성을 위해 CDC (Change Data Capture) 를 설정하는 것이 일반적인 방식으로 알고 있습니다. 다만, 현재 서비스중인 DB 의 설정이나 부하 이슈로 CDC 를 쓰지 못하는 경우에는 어떤 방식으로 처리가능할지가 궁금합니다.
안녕하세요 강사님. Ingress실습환경을 구축을 위해 아래 Nginx설치 소스가 사용되고 있습니다. (카페 실습자료실 Ingress 페이지의 첫번째 명령문입니다) kubectl apply -f https://raw.githubusercontent.com/k8s-1pro/install/refs/heads/main/ground/k8s-1.27/nginx-1.8.2/nginx-controller.yaml 위 배포파일을 열람해보면 정말 많은 속성들과 쿠버네티스 자원들이 사용되고 있는데요. 이 자원들에 대한 상세한 이해는 건너띄고 학습을 진행하는 것이 도움이 될까요?
7:27 에서 함수 내에서 사용되는 지역 변수 자체는 금방 사라지는데 이러한 값들을 스택이 아니라 힙에 저장하는 것이 유리하다. 라고 설명하셨는데요! 스택이 아니라 힙에 저장 -> 힙이 아니라 스택에 저장 이 맞는 표현인 것 같아서 설명이 잘못된 것인지 제가 잘못 이해하고 있는건지 질문드립니다.
강사님께서 잘 만들어주신 강의 자료를 그대로 실행해서 실습하는 것도 좋겠지만, 하나 하나 최신 버전으로 설치 구성을 해보면서 섹션 19까지 오게 되었습니다. (그래서 버전이 달라서 안되는 부분은 죄송해서 질문도 못드렸어요.. ^^;) 가장 어려웠던 부분은 loki의 promtail이 사라지고 alloy로 바뀌면서 설치 후 구성해주는 부분과 Image Updater가 annotation 기반에서 CRD 기반으로 바뀐 부분 같아요. 강사님께서 알려주신 annotation을 Image updater 1.0 이후 버전에 적용하는 경우 아래의 CRD를 apply 하면 동일하게 동작합니다. 현재 버전: 1.0.4 (name strategy가 alphabetical으로 변경되었어요.) apiVersion: argocd-image-updater.argoproj.io/v1alpha1 kind: ImageUpdater metadata: name: api-tester-2232 spec: applicationRefs: - images: - alias: <alias> commonUpdateSettings: allowTags: regexp:^1.1.1-[0-9]{6}.[0-9]{6}$ updateStrategy: alphabetical imageName: <Username>/api-tester namePattern: api-tester-2232 namespace: <argo namespace>
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네 [질문 내용] 안녕하세요. 영한님 항상 강의 잘 듣고 있습니다. 듣다가 궁금한 점이 생겨서 질문 남깁니다. 람다는 SAM에만 할당할 수 있다고 하셨는데 그 이유가 매서드가 여러개면 어디에 할당할 수 있을 지 알 수 없다고 말씀 하신 것까지는 이해했습니다. 이미 테스트를 통해 안되는 것은 확인했지만 인터페이스에 파라미터의 구성이나 갯수가 다른 함수가 정의될 경우에도 내부적으로 왜 안되는 지 궁금합니다..! public interface NotSamInterface { void run(); void go(int a); } 이런 경우에는 람다식도 달라지게 될텐데 왜 매핑이 어려운 걸까요..? 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] ReentrantLock에 대한 순서 보장에 대해 궁금증이 생겨 질문을 남깁니다. producerCond에서 대기하고 있던 스레드가 producerCond.signal() 호출로 깨어났을 때 ReentrantLock의 lock을 얻기 위한 대기 큐로 들어가는 것으로 알고 있습니다. 근데 이때 signal() 호출로 깨어난 A 스레드가 lock 대기 큐로 들어갔는데 앞에 이미 스레드 B가 있어서 B가 ReentrantLock의 lock을 얻어버렸다고 가정했을 때 A는 다시 producerCond.await() 호출로 producerCond 스레드 대기 큐에 들어가면 맨 뒤로 이동할 것 같습니다. 근데 저는 B는 await()에 넣고 A를 실행하는 순서로 순서를 보장하고 싶은데 이것도 더 세밀하게 구현을 할 수 있는 것일까요?? 제가 질문에 대한 설명을 잘 못해서.. 혹시 이해가 되신다면.. 답변해주신다면 감사하겠습니다!
안녕하세요, 현재 Window 11 환경에서 실습 을 진행하는데 실습 중 문제가 발생하여 문의드립니다. 49. 구독매니저 YAML 구조 강의의 02:09 때 kubectl apply -f . 명령어를 사용한 후에 계속해서 Pod 생성 시에 ImagePullBackOff, CrashLoopBackOff 가 발생합니다. 문제가 발생한 POD 는 다음과 같고, 문제를 일으키는 문제들은 공통적으로 아래와 같은 메시지를 갖고 있었습니다. (kubectl describe 사용)
JPA를 사용하는 강의라고 하지만 QueryDSL에 대한 코드만 딱 보여주고 이게 어떤 dependency를 추가하고 build를 해서 사용해야한다는 등의 설명이 일절 없는것이 아쉽습니다. 강의 교재에도 해당 내용은 기재되어있지 않은데 왜 코드를 실제로 적용하는 부분에 대해서나 테스트 코드 작성에 대해서는 따로 언급이 없으신건가요?
안녕하세요, 강의 들으면서 실습을 따라하던 중에 흐름이 끊기는 부분이 생겨서 문의드립니다. 섹션6 > sm-subs 강의 에서 04:52 에 나오는 python test/api_test.py 를 성공시키려면 일단 sm-user container 를 실행시켜야 하는데, 해당 컨테이너를 run 하는 부분이 섹션6 > sm-user 강의에 없는 거 같습니다. 일단은 아래처럼 명령어를 실행해서 진행하고 있는데 맞을까요? cd sm-user docker build -t sm-user . docker run -d -p 5000:5000 --name=sm-user --network=sm-network -e DB_HOST=sm-db sm-user
학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요! 마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요. 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요. 편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~ dp나 다익스트라 같은 알고리즘은 이번 강의에서는 아예 다루지 않나요? 기존 올인원 강의(파이썬 버전) 같은 경우엔 포함되어있던데, 혹시 자바 버전도 추가 또는 별도 강의 개설할 예정인지 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 좋은 강의로 공부하고 있는 대학생입니다. 이번 영상에서 ItemService 클래스의 updateItem 메서드에서 값을 변경하는 부분을 각 변수에 대해 set 으로 접근하는 방법 대신 item 클래스 내부에서 change() 메서드를 선언 후 사용하는 방법으로 직접 수정해보려고 합니다. 그런데 만약 클라이언트에서 isbn과 author 값을 수정하고 싶다면, item 도메인에서는 두 변수에 대한 선언이 안되어있는데 item 엔터티 구조를 변경하는 방향으로 수정 로직을 작성해야 할지 궁금해서 질문 남깁니다.
안녕하세요, 실습을 진행하던 중 문제가 발생하여 문의드립니다. 미리 말씀드리지만 저는 현재 Window 11 환경에서 실습을 진행중입니다. "서비스와 DNS" 목차에서 03:57 즈음에 알져주시는 명령어를 그대로 입력해봤습니다. 사용 명령어: kubectl run -it --rm --image=devwikirepo/ipbot debug -n hr -- /bin/bash 그랬더니 아래와 같은 에러가 발생했습니다. pod 생성 중에 문제가 생긴거 같아서 kubectl describe 명령어로 상태를 조회해봤습니다. ToastBread → kubectl describe pod debug -n hr Name: debug Namespace: hr Priority: 0 Service Account: default Node: easykube-worker3/172.22.0.3 Start Time: Wed, 31 Dec 2025 14:57:42 +0900 Labels: run=debug Annotations: <none> Status: Pending IP: 10.244.3.4 IPs: IP: 10.244.3.4 Containers: debug: Container ID: Image: devwikirepo/ipbot Image ID: Port: <none> Host Port: <none> Args: /bin/bash State: Waiting Reason: ImagePullBackOff Ready: False Restart Count: 0 Environment: <none> Mounts: /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-pd54v (ro) Conditions: Type Status PodReadyToStartContainers True Initialized True Ready False ContainersReady False PodScheduled True Volumes: kube-api-access-pd54v: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 ConfigMapName: kube-root-ca.crt Optional: false DownwardAPI: true QoS Class: BestEffort Node-Selectors: <none> Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 2m2s default-scheduler Successfully assigned hr/debug to easykube-worker3 Normal BackOff 24s (x5 over 116s) kubelet Back-off pulling image "devwikirepo/ipbot" Warning Failed 24s (x5 over 116s) kubelet Error: ImagePullBackOff Normal Pulling 6s (x4 over 2m2s) kubelet Pulling image "devwikirepo/ipbot" Warning Failed 3s (x4 over 116s) kubelet Failed to pull image "devwikirepo/ipbot": rpc error: code = NotFound desc = failed to pull and unpack image "docker.io/devwikirepo/ipbot:latest": no match for platform in manifest: not found Warning Failed 3s (x4 over 116s) kubelet Error: ErrImagePull 맨끝에 Events 를 보니 ImagePullBackOff 보고 처음에는 이미지 이름의 철자를 틀렸나 생각했지만, 해당 이름을 그대로 복사해서 docker hub 에서 검색해보니 잘나왔습니다. 좀 더 알아보니 no match for platform in manifest 이라는 문구가 눈에 들어와서 이게 CPU 아키텍처가 호환이 안되는 걸 알아냈습니다. linux/amd64 Window 환경에서도 실행할 수 있는 AMD64 도 지원해주실 수 있을까요??
안녕하세요. 섹션 18에서 values-dev.yaml과 같은 파일을 만들면, values.yaml은 자동으로 읽어온다고 설명해주셨는데, 명령어에는 values-dev.yaml만 명시했는데 자동으로 읽어오는 values.yaml의 조건이 있나요? 가령, 같은 디렉토리에 있어야 된다던지, 모든 values 파일은 무조건 소문자 values로 시작하고 values.yaml 파일은 반드시 존재해야하는 그런 규칙이 있나 해서 여쭤봅니다. 그리고 helm을 통해서 service를 생성할 경우 컨테이너 포트의 이름이 http이고 서비스 포트의 이름도 동일한 http이던데요, 이 둘이 같을 때 문제가 되는 상황은 없는지 궁금합니다. apiVersion: v1 kind: Service metadata: name: api-tester-2223 labels: helm.sh/chart: api-tester-0.1.0 app.kubernetes.io/name: api-tester app.kubernetes.io/instance: api-tester-2223 app.kubernetes.io/version: "v1.0.0" app.kubernetes.io/managed-by: Helm spec: type: NodePort ports: - port: 80 targetPort: http protocol: TCP name: http nodePort: 32223 selector: app.kubernetes.io/name: api-tester app.kubernetes.io/instance: api-tester-2223 containers: - name: api-tester securityContext: {} image: "1pro/api-tester:v1.0.0" imagePullPolicy: Always ports: - name: http containerPort: 8080 protocol: TCP
학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요! 마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요. 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요. 편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~ Queue에 값을 추가하는 메서드는 enque offer 두 가지가 있다고 강의에서 말씀 주셨습니다. 둘 다 똑같이 값을 추가하는걸까요? 만약 맞다면, 어떤 차이점이 있는지 궁금합니다. (어떤 상황에서 사용되는지도 궁금해요.) +추가적으로, queue.poll() 이 dequeue다 라고 말씀 주셨는데, 둘도 어떤 차이가 있는지. 어떤 상황에서 사용하는지도 궁금합니다!