폼을 만들 때 input, textarea, radio, checkbox 같이 태그 종류가 달라도 하나의 객체 상태로 묶어서 관리하는 방식으로 만들어 보았습니다만 실무에서나 보통은 하나씩 만드는지 아니면 이것또한 정답이 없는지 궁금합니다! 아니면 상황에 따라 상태를 나누는 기준이 따로 있는지도 궁금합니다.
mac m 시리즈 사용중이라 자료 확인해서 노드2대 설치 및 마스터에 조인까지 완료하였는데요! [root@k8s-master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master NotReady control-plane 12m v1.27.2 k8s-node1 NotReady 28s v1.27.2 대시보드는 ERR_ADDRESS_UNREACHABLE 에러와 함께 접속이 안됩니다 ㅠㅠ 우선 ping 192.168.56.30 했을때는 이상이 없고 30000 포트가 열려있는지 확인하고자 netstat 명령어 사용해보려고 했는데 명령어 설치가 안되어 있어서 확인을 못하였고(혹시 설치시 문제가 생길까봐 설치하지 않았습니다!) 제 피씨에서 telnet 으로 확인하면 30000 포트 확인 시 telnet 연결이 안되어서 포트가 막혀있는게 아닐까 싶기도 한데 어떤 부분을 확인해야 할까요 ㅠㅠ?
안녕하세요. class로 되어 있어서 에러가 나는 부분을 전부 className으로 수정하실 때선택할떄에 윈도우는 컨트롤+쉬프트+L을 눌르셨었나요? 그게 저는 안되서 일단 컨트롤 + D로 하나하나 선택을 했었느데요. 여러 row를 한번에 선택해서 수정할 떄에 어떤 키를 누르시는지 궁긍합니다.
한 번에 끝내는 AI 에이전트 개발 올인원 (w. LangGraph, Google ADK, CrewAI)
RSS, 웹 서치 Tool 개발 8분 20초쯤 crewai - trace batch finalization을 확인하는 부분이 있는데, 코드에서 tracing이 켜져있지 않아 출력하지 않게 됩니다. 필요하다면 crew에서 tracing=True를 추가해주어야 하는것 같습니다.
window -> irm https: // claude.ai / install.ps1 | iex 붙여넣기 했을 때 설치가 되지 않아 npm으로 설치 했는데 npm으로 설치하면 선생님이 말씀하신 path 복사할 내용은 따로 나오질 않아 그대로 폴더 생성 후 실행했는데 제대로 설치가 되지 않은 듯 합니다. 확인 부탁드립니다.
안녕하세요. 선생님. 커서에서 클로드코드 쓸 때 ctrl+v로 붙혀넣기가 안됩니다. 커서에서 파워쉘에 입력할 때는 잘 되는데, claude 명령어를 입력해서 클로드코드로 작업할 때는 ctrl+v가 안먹어요. art+v도 안먹습니다. 텍스트 붙혀넣기 텍스트 붙혀넣기는 클로드코드 내에서 ctrl+v, alt+v 등 전부 다 안됩니다. 마우스 우클릭을 하면 붙혀넣어지는데 이게 너무 불편해요 ㅠ 클립보드 이미지 붙혀넣기 이것도 ctrl+v alt+v 다 안되기는 마찬가지입니다. 클립보드에 확실히 저장이 된 건 그림판에서 체크를 해 봤습니다. 이건 마우스 우클릭으로도 붙혀넣기가 안돼요. 파일을 이미지로 저장한 후에 드래그 드롭으로 하고 있는데 너무 비효율적입니다. 혹시 이거 2개 해결방법이 있을까요?
POSTMAN에 to: fail@naver.com 으로 변경하여 send할 시 총 5번 재시도 후 강사님 처럼 멈추지 않고 아래 에러가 무한 반복이 됩니다. 2026-01-04T20:45:42.814+09:00 ERROR 20160 --- [ner#0.dlt-0-C-1] k.r.DeadLetterPublishingRecovererFactory : Record: topic = email.send.dlt, partition = 0, offset = 2, 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:3011) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2911) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2877) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2787) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2629) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2523) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:2161) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1538) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1476) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ ListenerConsumer.run (KafkaMessageListenerContainer.java:1345) ~[spring-kafka-4.0.1.jar:4.0.1] 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-01-04T11:45:42.814281400Z at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:100) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:49) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2898) ~[spring-kafka-4.0.1.jar:4.0.1] ... 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.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:496) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke(MessagingMessageListenerAdapter.java:425) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:92) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:52) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.invokeDelegateOnMessage(KafkaBackoffAwareMessageListenerAdapter.java:106) ~[spring-kafka-4.0.1.jar:4.0.1] at org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter.onMessage(KafkaBackoffAwareMessageListenerAdapter.java:97) ~[spring-kafka-4.0.1.jar:4.0.1] ... 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 위
안녕하세요! 강의 실습 도중 설정 방식과 관련하여 궁금한 점이 생겨 질문 드립니다. 강의에서는 argTypes 안에 onClick: { action: 'clicked' } 를 추가하셨는데, 제가 사용 중인 Storybook 10 버전에서는 argTypes 작성 시 action 이라는 키 자체가 자동 완성(타입 추론)에 나타나지 않습니다. 이와 관련하여 두 가지가 궁금합니다. 타입 추론 문제: argTypes 에서 action 키가 뜨지 않는 것이 Storybook 버전이 올라가면서 바뀐 방식인가요? 아니면 제가 별도의 설정을 놓치고 있는 것인가요? 설정 방식의 차이: 현재 강의에서는 아래 두 가지를 모두 사용하셨습니다. argTypes: { onClick: { action: 'clicked' } } args: { onClick: fn() } 만약 저처럼 argTypes 에서 action 키가 제대로 인식되지 않는 상황이라면, args 에 fn() 만 작성해도 강의 내용처럼 액션 로그를 확인하는 데 문제가 없는 것인지 궁금합니다. action: 'clicked' 를 사용하는 이유: 단순히 이벤트를 연결하는 것 외에 action 이라는 키를 통해 'clicked' 라는 라벨을 따로 지정해주시는 특별한 이유가 있으신가요? 버전 차이 때문인지 제가 타입을 잘못 다루고 있는 것인지 몰라 질문 남깁니다. 답변 부탁드립니다!
안녕하세요 강사님. 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 위 배포파일을 열람해보면 정말 많은 속성들과 쿠버네티스 자원들이 사용되고 있는데요. 이 자원들에 대한 상세한 이해는 건너띄고 학습을 진행하는 것이 도움이 될까요?
지금까지 영상을 쭉 봐왔고, 대략적인 흐름은 알 것 같아요. 미션 24/25가 지금까지 학습한 내용을 요약해서 실습을 하는 중요한 내용인데, 따라하기 형식으로 요약 영상 또는 튜토리얼 문서를 하나 만들어 주시면 큰 도움이 될 것 같습니다. 최대한 빠른 시간에 하나의 앱을 한 번 만들수 있도록 지원 부탁드립니다. 내용은 너무 훌륭하고 많은 것을 배우고 있습니다. 감사해요. 강사님의 다른 영상으로도 지속적으로 학습할 예정입니다.
안녕하세요. 완강하고, 이제는 제가 원하는 주제로 한번 더 수업을 보며 따라하는 중입니다. 첫단계 Basic LLM Chain의 GPT 나레이션 생성하고 Append row in sheet까지 마치고 난 다음에, 제가 구글 시트에서 나레이션의 내용을 수정했다면, 업데이트를 어느 단계에서 어떻게 하면 좋을까요? ^^
강사님께서 잘 만들어주신 강의 자료를 그대로 실행해서 실습하는 것도 좋겠지만, 하나 하나 최신 버전으로 설치 구성을 해보면서 섹션 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>
책에서는 128p if TYPE_CHECKING: from appserver.apps.calendar.models import Calendar 이렇게 appserver 부터 시작하니다 130페이지 하단에 보면 https://gilbut.co/c/25069573YP 커밋 참조하라고 되어있는데요 깃헙에서는 if TYPE_CHECKING: from apps.calendar.models import Calendar 여기는 apps부터 시작합니다. 초보에게는 이런거 하나하나가 어렵네요 어떤게 맞는 건지 궁금합니다.
createTodo의 리턴값을 활용하면서 Todo를 생성했을 때, 캐시 무효화를 해서 데이터가 많은 경우 서버에 부하를 주는 코드를 개선했었었는데, 낙관적 업데이트2에서 데이터의 무결성을 위해 onSettled에서 queryClient.invalidateQueries 를 호출했는데 여기서는 괜찮은 걸까요?
mcp 사용 해서 사이트 작성 하는 것은 어렵지도 않고..찾아보면 자료도 많습니다. 저 또한 평상 시 MCP 는 잘 쓰고 있는데 스킬은 이해가 안되서 유튜브 영상 이나 블로그 등 자료를 많이 찾아 봅니다. 그래도 이해가 안되더군요.. 지금 이 영상도..다른 영상이나 블로그 등에서 본 내용과 별반 다른 내용은 없었던 것 같습니다. 그래서.. - skill 이라는 것을 어떻게 작성 하는 건가요? - skill 이라는 것을 어떤 내용을 작성 하는 건가요? 지금 이 영상도..클로드코드 사이트에 있는 예시를 사용 해서 설명 하는데.. 이게..실제 프로젝트에 적용 할 수 있다고 보시나요? 이런 거 말고.. 실제로 사이트 제작 시 스킬을 이용 해서 작성한다던가 ..하는...실제로 사용할 수 있는 것을 예시라도 보여 주셔야죠.. 단순히 클로드코드 사이트에 있는 예시 하나 보여준다고 해서..크게 도움이 될 것 같지는 않습니다.