묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>
테스팅과 학습법의 관계 (?)
"6장: 테스팅 이해하기와 단위 테스트 연습하기" 강의 초반에 "테스팅을 잘하는 방법이 유용한 학습법과 맞닿아 있다" 고 하셨는데, 왜 그런지 궁금해서 글 남깁니다. 테스팅을 잘하는것과 학습이 어떻게 맞닿아 있는 것일까요. 강사님의 의견을 공유해주시면 감사하겠습니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
master 노드에서 ssh 로그인 창이 안뜨는 오류
vagrant로 설치를 완료 후 xshell에서 접속을 하려고 하는데 worker1과 worker2는 정상적으로 로그인 창이 뜨고 로그인 후 접속이 되는데 k8s-master 노드만 로그인 창이 뜨지 않고 저 상태에서 무한 대기중입니다.등록 정보창에서 사용자 인증에 로그인 비밀번호를 입력하고 연결을 시도해봐도 똑같네요..ㅠㅠ
-
미해결주문시스템으로 알아보는 분산트랜잭션
spring-retry가 spring-core 패키지로 편입되었습니다.
TCC 구현하기(10) - Retry 를 활용하여 일시적인 오류에 대처하기 에서 spring retry를 사용하여 재시도를 적용하는 부분이 있습니다. 이에의존성 추가@EnableRetry 어노테이션 추가아래 코드 추가@Retryable( retryFor = { Exception.class }, noRetryFor = { HttpClientErrorException.BadRequest.class, HttpClientErrorException.NotFound.class }, maxAttempts = 3, backoff = @Backoff(delay = 500) )를 했었습니다. 하지만 스프링 프레임워크 7.0, 스프링 부트 4.0 버전부터는 spring retry가 spring core 패키지로 편입되어 아래와 같이 retry를 적용해야 합니다.별도 의존성 추가 필요없음@EnableRetry 어노테이션 대신 @EnableResilientMethods 어노테이션 추가아래 코드 추가@Retryable( includes = Exception.class, excludes = { HttpClientErrorException.BadRequest.class, HttpClientErrorException.NotFound.class }, maxRetries = 3, delay = 500 ) 위와 같은 방식으로 적용하시면 됩니다. 자주 쓰던 spring retry가 왜 안되나 싶어서 이유를 한참 찾았네요 허헛 참고https://docs.spring.io/spring/reference/7.0-SNAPSHOT/core/resilience.html
-
미해결주문시스템으로 알아보는 분산트랜잭션
TCC 주문 도중 문제 발생 시 상태 해소 전략 관련 질문입니다.
안녕하십니까 상용님. MSA에 대한 학습이 처음이라 정말 흥미진진하게 잘 보고 있습니다. 다름이 아니라 TCC 구현하기의 마지막 수업인 11화에서주문 도중 문제 발생 시 다음과 같이 일정 시간 동안 RESERVED 상태인 product들을 스케줄러가 따로 처리한다고 하셨는데 여기서 말하신 product는 product_reservation 엔티티를 말하신 것인지 궁금합니다. 감사합니다.
-
미해결Svelte REST-API 프로젝트
프론트 api.js의 요청 headers 옵션의 cors 관련 설정 질문
프론트엔드 api.js의 Access-Control-Allow-Origin 혹은 Access-Control-Allow-Credencials 옵션은 프론트의 요청 헤더가 아닌 백엔드 서버에서 응답 헤더로 설정해야 하는것 아닌지 질문드립니다.추가적으로 SameSite는 쿠키에 설정하는것이 아닌지 질문드립니다.보통 강의와 같이 요청 헤더에 저렇게 설정하면 Spring 기준으로는 Filter에서 Origin이나 Credencials를 직접 꺼내서 응답 헤더에 넣어주는 형태로 하지 않는이상 CORS 에러를 방지할수 없었던것으로 기억되어서 질문드립니다.
-
미해결비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)
스프링 부트에 Redis 적용하기 질문
안녕하세요 항상 강의 잘 수강하고 있습니다 !강의를 수강하다 질문이 생겨 여쭤보게 되었습니다.강의 진행 시에는 Service 계층에서 Redis 설정을 적용시켰는데, Redis 설정은 Service 계층에서 적용하는 것이 일반적일까요 ? Repository나 Controller 계층에서도 걸어줘도 차이가 있는지 궁금해서 여쭤봅니다 !
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
LangGraph로 구현한 봇을 n8n으로 전환 관련 질문
안녕하세요 병진님. 두가지 질문 남깁니다."LangGraph로 구현한 봇을 n8n으로 전환" 관련 질문 남깁니다.바로 전 강의에서 직접 구현한 LangGraph코드와 미션에서 올려주신 inflearn-n8n-assignment.json 파일과 1대1 대응은안되는것 같은데, 예를들어 check_faq 노드에서 답변을 찾았을때와 아닐경우의 분기를 처리하지 않고 AI agent에게 넘겨서 알아서 판단하게 한다 이렇게 이해하면 될까요? 2. 챗봇 서비스를 현업에서 운영한다고 했을때, 사내 혹은 고객에게 오픈했을때에는 Langgraph나 agent를 어딘가에 띄워서 운영할것 같은데 주로 n8n을 사용하거나 아니면 직접 서버를 구축해서 사용하시는지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
JobTimer 구동 스레드
모든 스레드가 distribute하지 않고, 메인 스레드만 담당하게 해주면 락을 잡을 필요도 없지 않나요?
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
노션 공유 부탁드립니다.
안녕하세요. 구글 시트에 제출드린지 일주일 가까이 지났는데 아직 노션 공유가 안되어있어서요.. 이 글 확인하신다면 공유 부탁 드립니다. 공유 요청드린 이메일은 han931120@gmail.com 입니다! 그리고 Array vs Linked List같은 수업 자료들도 노션 공유를 받아야 확인할 수 있는건지 알려주시면 감사하겠습니다.
-
미해결살아남기 위한 생존전략, WEB3
3-3 트랜잭션이란 무엇인가 강의자료는 없나요?
3강 강의자료는 거래소 내용에서 끝나더라구요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
섹션3번 수업에 대한 질문입니다.
이 수업 처음에 form-start에서 시작하라고 하셨는데 form-start에서는 Item.java에 선언되어있는 내용이 부족해서 이걸로는 수업이 진행되지않습니다. form으로 시작하기에는 코드를 따라서 칠수가없구요...=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
elf 파일을 찾을수 없다는 오류
갑자기 위와 같이 경로 오류가 뜨네요.. 바탕화면에 새로 하고, 드라이버에도 넣어보고 해도 계속 에러가 떠요ㅠㅠ
-
미해결주문시스템으로 알아보는 분산트랜잭션
TCC PointService tryReserve 구현 관련 질문입니다.
안녕하십니까 상용님. 수업 잘 듣고 있습니다. 다름이 아니라 TCC에서 PointService의 tryReserve 구현 시 Point 클래스에 reserve 메서드를 정의 하셨는데 이때public void reserve(Long reserveAmount) { long reservableAmount = this.amount - reserveAmount; if (reservableAmount < reserveAmount) { throw new RuntimeException("금액이 부족합니다."); } reservedAmount+=reserveAmount; }이렇게 reservableAmount가 reserveAmount를 빼는 것이 아니라public void reserve(Long reserveAmount) { long reservableAmount = this.amount - this.reservedAmount; if (reservableAmount < reserveAmount) { throw new RuntimeException("금액이 부족합니다."); } reservedAmount+=reserveAmount; }이렇게 reservedAmount를 빼주어야 하지 않나요? 감사합니다.
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
kubectl get nodes 관련 문의
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다.다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | (https://inf.run/DvsRD)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다.(https://inf.run/Ljaer)[질문 하기] 안녕하세요.일단 초기 구축 시 어떤 VM은 받아지고 어떤 VM은 잘 안받아져서 탑재해주신 OVA 파일로 내려받아 실습환경을 구성하고자 하였습니다.올려주신 있는 그대로의 OVA를 다운로드 받아 cp-k8s vm을 켜고, 네트워크 환경도 말씀하신대로 세팅하여 하나씩 테스트해보고자 했으나 아래와 같은 문제 발생합니다.#kubectl get nodescouldn't get current server API group list: Get "https://192.168.1.10:6443/api?timeout=32s"처음에는 2번째 어댑터의 DHCP 활성화 여부 문제인가 싶어 끄고 켜보며 테스트해보았고대상 VM의 네트워크도 어댑터 1은 NAT 상태 유지, 2는 연결되지 않음 상태에서도 되지 않아 host only로도 바꿔보며 테스트해도 결과는 동일했습니다.또한 DHCP를 켜고 나서 kubectl get nodes 명령을 치면 아래와 같이 결과가 다르게 도출되었습니다.couldn't get current server API group list: Get "https://192.168.1.10:6443/api?timeout=32s": dial tcp 192.168.1.10:6443: connect: connection refused또한 api나 포트 상태 확인을 위해 하기와 같이 입력시 확인 시 결과값이 도출되지 않았습니다..#ps -ef | grep kube-apiserver#netstat -ntlp | grep 6443추가로 하기와 같은 명령어 기입 시 아래와 같이 떴습니다.#systemctl status kubeletProcess: 1790 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (code=exited, status=1/FAILURE)하기와 같은 명령어 기입 시 아래와 같이 떴습니다.#journalctl -u kubelet -xeE1227 ... part of the existing bootstrap client certificate in /etc/kubernetes/kubelet.conf is expiredE1227 ... unable to load bootstrap kubeconfig: stat /etc/kubernetes/bootstrap-kubelet.conf: no such file or directory분명히 어떤 부분에서 제가 잘 못 따라가고 있는 것 같아 최대한 이것저것 테스트해보았지만 스스로 해결하지 못해 문의 드립니다.감사합니다.
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지 (with 커서 AI)
윈도우 환경 vs 맥 환경
안녕하세요 코딩을 독학하고 있는 20대 학생입니다.현재 윈도우로 해당 강의를 듣고 있는데요,맥북 역시 갖고 있습니다. 대부분의 개발자가 Mac OS를 사용하기에 처음 시작할 때 Mac OS를 추천한다고 유튜브 숏츠에서 봤습니다. 이 말이 맞을까요?만약 맞다면.. Mac OS를 사용하기 위해 클럼쉘 모드로만 개발을 진행할 생각입니다. 윈도우 환경 vs 맥 환경 짐코딩님이 추천해주시는 게 있을까요? 아님 상관없을까요? 초보적인 질문 답변감사합니다.
-
미해결14년차 마케터에게 배우는 데이터드리븐 디지털/퍼포먼스마케팅의 모든것
트리거유형
ga4 버튼클릭태그 설치할 때 클릭트리거유형에서링크만, 모든요소 이렇게 두개가 있던데 링크만을 설정했을 때는 미리보기에서 작동을 안하고 모든요소를 선택했을 때만 작동하던데 왜 그런가요?그리고 이 두 설정차이가 궁금합니다
-
미해결우아한 고성능 프로그래밍 언어 Rust 입문 및 활용
강의 자료 ppt나 pdf 파일은 없을까요?
rust에 관심이 생겨 오늘 결제를 했습니다.git 코드는 있던데요ppt나 pdf 수업 자료 파일은 없을까요??
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
메모리 가시성 문제 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]메모리 가시성 문제 가 발생하는 이유는 쓰레드가 공유 된 runFlag 값에 대해 반영이 않되어서 발생하는 문제라고 설명을 해주셨습니다. 예를들어 main 쓰레드에서는 false 를 true 로 변경하였으나 work 쓰레드에서는 해당 값이 변경되었는지 모르기 때문에 계속 동작하는 상태 입니다. 여기서 이해가 않가는 부분이 모든 프로그램은 보조기억 장치에서 실행을 하고 실행에 필요한 변수가 값 들은 모두 ram 과 같은 주 기억 장치에 저장되고 사용되는 걸로 알고 있습니다. 그렇다면 이 과정에서 쓰레드는 캐시메모리가 아닌 주기억 장치에서 값을 읽어서 사용해야 합니다. 지금 과정으로 설명된 것을 이해 하면 주기억 장치 또한 단순히 값을 저장하는 것 뿐이고 실제로는 캐시 메모리에서 한번더 데이터를 저장하고 cpu 는 캐시메모리에 접근하여 데이터를 연산한다고 이해 했습니다. 맞을까요?
-
미해결홍정모의 따라하며 배우는 C언어
2.6 강의 따옴표 출력 규칙 문의
printf 함수 사용 시, 따옴표도 함께 출력하려면 하기 규칙이 맞나요..? printf("\" 내용\"") 이건 규칙이기에 그냥 받아들여야 하는 부분일까요? 거부 감이 드는 부분이 앞에 따옴표 " \ " 여기는 형태 상 printf(" 내용 ")의 따옴표가 먼저 나오고 특수하게 \ escape 기호가 들어간 후, 출력을 위한 " 가 들어간 것으로 받아 들여지는데 내용 뒤에 나오는 따옴표 형태에서 거부감이 드네요.\ "" <-- 형태상으로 "\" 내용 "\" 이렇게 되어야 \ escape 기호 내부에 따옴표 2개와 내용이 들어간 구조로 맞는 것 처럼 보이는데...실제로는 "\" 내용 \ "" 이게 맞는 형태라고 하니 거부감이 듭니다.(제 생각이 맞다는 게 아니라, 단순히 눈에 익숙하지 않아 문의 드립니다.)
-
해결됨옵시디언 마스터 클래스(생산성을 바꾸는 기록 습관)
내부링크글 마우스오버시에 내용보여주는 기능 뭔가요?
안녕하세요수업내용과 관련이 직접적으로 없는 질문 양해 부탁드립니다.다름이 아니라, 수업중에, 강사님 커서가 [[]]되어있는, 링크달린 글 위로 휙 지나갈때 내용이 마우스오버 창에 뜨는데, 어떻게 해야하는지 궁금합니다. ^^