묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
test.py 파일이 어딨나요?
.env.sample 만 보여서 test.py 를 올려준다고 말씀하셨는데. 자료에 없습니다 ㅠ
-
미해결[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
고추건조기 개발보드 전원연결 문제점..
안녕하세요. 고추건조기 개발보드를 구매 후 처음 실습하는데 전원공급을 위해 전원 어댑터와 제공된 5핀 지그를 개발보드에 연결했을때 빨간 led가 10초 정도 들어왔다가 꺼지네요.전원 led 같은데 led 가 꺼지기 직전까지는 ST-LINK, 디버깅도 정상적으로 동작하지만 led가 자동으로 꺼져버리자마자 ST-LINK도 끊깁니다.데스크톱과 ST-LINK를 분리하고 전원만 공급해도 동일한 문제가 발생하네요.혹시 개발보드를 다시 구매해야할까요?.. 사용했던 핸드폰 충전기 어뎁터는 정격출력이 5V/2A 입니다 ㅠ.
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
이번강의 관련 두가지 질문
statusline 명령어 실행후에도 변함없음. 터미널에서 claude실행하고 statusline 및 기본옵션으로 선택했는데 /exit후에 재실행하여도 모델명 등이 표시되지 않습니다.그리고 터미널 claude말고 뭐라해야할지 이름은 까먹었지만 cursor에서 클로드 브라우저 켰는데 여기서는 /statusline 명령어를 실행할 수가 없습니다. 강의화면에서는 해당 브라우저에서 실행했던 것 같은데 제 세팅이 잘못된건지 확인 부탁드립니다 .
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
이미 배포가 확정된 기능에 대한 ABT 진행에 대한 문의
안녕하세요. 저는 SaaS 플랫폼 회사에서 데이터 분석가로 일하고 있습니다.이번에 개발까지 약 2달이 소요된 기능이 퍼널 앞단에 추가될 예정인데요, 해당 기능에 대한 성과 분석이 필요한 상황입니다. 다만, 카일스쿨님의 강의를 들으면서 들었던 생각은 '시간을 이렇게 들여서 배포가 확정된 건인데, 이게 성과가 좋지 않다고 롤백을 할까? 내가 ABT를 하는게 어떤 의미가 있을까?' 생각이 들었습니다. 데이터 분석가로서 해당 기능을 추가는게 프로덕트 성과에 유의미하게 좋다/아니다라는 의사결정에 기여해야한다 생각했으나, 뭔가 실험의 느낌이 아니라 배포가 확정된 기능의 성과를 분석하는 것에 그치는 것 같다는 생각이 들었습니다. 어쩌피 배포가 확정된 것인데, 이게 기존 버전보다 성과가 좋은지 보기 위한 ABT(최종 출시 전에 50/50으로 ABT를 생각하고 있었습니다.)를 진행한 후에, 만약 새로운 버전의 성과가 좋지 않다면? 같은 멘탈 시뮬레이션을 해보았을때,, 그 안에서 어떤 개선을 하는게 좋을지에 대한 분석을 하는게 좋을지 롤백하자는 의견을 제안하는게 좋을지 여러 생각이 듭니다. 이런 경우는 ABT가 아니라 단순히 성과분석으로 이해하고 이에 목적을 맞춘 실험을 하는게 좋을까요? 이런 경우는 어떤식으로 접근하여 학습 내용을 적용할 수 있을지 방향성에 대한 조언을 듣고싶습니다. 항상 감사합니다!
-
해결됨한 입 크기로 잘라먹는 실전 프로젝트 - SNS 편
querykey factory
querykey factory에서 all은 언제 쓰나요??
-
미해결실전에서 바로 써먹는 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()); } }
-
미해결
뽀로로 통신 선불유심내구제(급전)(당일정산)
안녕하세요!뽀로로 통신 정식등록 선불 유심내구제 정식업체입니다!200% 정심 선불유심 내구제 정직 안전업체 !당일지급 급전! 만 19세이상 누구나 가능통신미납 / 만선 / 연체 / 신불 / 파산 가능/기존에 가지고계신 회선도 매입해드립니다!1회선당 11만원 !3회선 진행시 35만원 !총 3회선 가능합니다 !당일개통 ! 즉시정산 !안전업체 ! 무피해보장 !개인정보 보호시스템 강화 뽀로로 통신 선불유심내구제!고객의 신뢰를 최우선 가치로 삼습니다!언제든지 무료로 상담받으세요 !https://brrsim77.isweb.co.kr텔.레.그.램:brrsim_77
-
해결됨Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기
URL 오타 방지
'섹션 2. 데이터 주고받기, Spring Boot API 서버 만들기' - '10. Postman으로 API 테스트하기' 질문 입니다. 오타로 @PostMapping과 @GetMapping의 URL이 불일치해서 포스트맨에서 제대로된 값이 안나왔더라고요.이럴 경우 오류도 안떠서 해결하기가 힘든데, URL 오타를 방지하는 방법이 있을까요?
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
커서에서 클로드 CLI 실행이 안되요
안녕하세요. 의욕적으로 배우고 있는 학생입니다.클로드코드를 커서에서 확장프로그램은 잘 실행이 되는데, cli방식으로만 하면 실행되지 않고 있습니다. 커서 터미널에서 claude를 실행하여 클로드코드가 작동하면 드래그하여 위치를 상단으로 바꾸면 검정색 화면으로 바뀝니다.해결할 수 있는 방법이 있을까요?
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
.
.
-
미해결AWS SAA-C03 자격증 벼락치기 - 딱 163문제로 2주만에 합격하기
AWS S3 문제 1번 질문
해답에 (A)가 오답인 이유가Glacier 유형은 법/감사/규정 목적으로 장기 보관해야 되는 경우에만 사용하기 때문이라고 해설이 되어 있는데문제에는 회사의 보안 규정에 스토리지 전략을 따르는 것으로 주어져 있습니다.문제에서의 회사의 보안 규정이 법/감사/규정에 포함되지 않는건가요?
-
미해결
Kotlin + Spring MVC 사용 시 Dispatchers 생략
안녕하세요~현재 아래 기술 스택을 사용한 API 서버가 존재합니다.Spring Boot 3KotlinJPA(JDBC)WebClient예를 들면 아래와 같이 구성되어 있고,@RestController class SampleController( private val service: SampleService ) { @GetMapping("/sample") suspend fun start() { service.withoutDispatchers() } } @Component class SampleClient { private val webClient: WebClient by lazy { WebClient.builder() .baseUrl("https://api.com") .build() } suspend fun fetch(): Int { return webClient.get() .uri { uriBuilder -> uriBuilder.path("/number").build() } .retrieve() .awaitBody() } } interface SampleRepository : JpaRepository<SampleEntity, Long>@Service class SampleService( private val client: SampleClient, private val repository: SampleRepository, ) { suspend fun withoutDispatchers(): Int = coroutineScope { // non-blocking val deferred: Deferred<Int> = async { client.fetch() } // blocking val entity: List<SampleEntity> = repository.findAll() deferred.await() + entity.size } }Controller에서부터 suspend function으로 시작되면 Dispatchers.Unconfined를 사용하여 API 요청에 의해 할당받은 Tomcat 스레드를 그대로 사용하는 것으로 알고 있습니다.이후 Service 레이어에서 suspend function이 동일하게 Dispatchers.Unconfined를 유지하기 때문에 요청 시 Tomcat 스레드는 그대로 사용되고 WebClient 요청 시 Dispatchers.IO를 사용하면, Tomcat 스레드와 별개로 Dispatchers 스레드 풀에서 스레드를 가져와 사용하는 것으로 알고 있습니다. 1번의 요청에서 Tomcat 스레드 1개 + Dispatchers 스레드 1개 = 총 2개가 사용됩니다.WebClient 요청 시 Dispatchers.IO를 생략하고 Dispatchers.Unconfined를 유지하면,코루틴의 재개 시 WebClient 응답을 동일한 Tomcat 스레드가 처리하게 하여 스레드 1개만을 사용하는 것이 서버에 더 효율적이지 않을까? 하는 생각이 들었습니다.스레드가 Blocking되어도 WebClient의 NIO 이벤트 루프에 들어온 요청은 처리되어 응답에 대한 처리만 대기하고 있을 것이고, 테스트해보았을 때도 WebClient의 요청을 시작한 스레드가 JPARepository를 사용하는 코드에 의해 Blocking되어도 await()에서 문제 없이 응답을 받아올 수 있었습니다.혹시 제가 생각하지 못한 또 다른 문제가 있을까요?제가 혹시 잘못 알고 있는 부분이 있거나 Dispatchers.IO를 생략하지 못 하는 이유가 있다면설명해주시면 감사하겠습니다!
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
connection lost 가 안 없어지네요..ㅜ,ㅜ
몇번을 다시 설치 해도 강사님과 버전을 맞춰 다시 해봐도 없어지질 않네요. 다른분들 혹시 지금 설치하시는 분들 괜찮으신지요? 하나 틀린건 전 우분투 24.04.3 라이브 서버에 직접 설치하는것 입니다. 서버만 계속 지웠다 이것저것 해보는데 안되네요..ㅜ,ㅜ 지금 마지막으로 서버 버전도 22.04.05 버전으로 다시 설치해보려 합니다.ㅎ
-
미해결게임 엔진을 지탱하는 게임 수학
선형성 강의 노트 문의
위 선형성 강의 노트의 2행 내용은, 아래와 같이 수정되어야 할 것 같아 문의 드립니다.(a(x1+x2)+b(y1+y2) , c(x1+x2)+d(y1+y2))
-
미해결6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
Redis 캐싱을 도입하는데 db조회와 성능이 차이가 거의 없습니다.
1. 현재 학습 진도redis 2. 어려움을 겪는 부분 간단하게 제 프로젝트를 소개하자면 RSS피드를 통해 블로그의 글들을 불러와서 하나의 게시판에서 볼 수 있는 서비스 입니다.스케쥴러 작업에서 구독한 피드의 새로운 글들을 불러옵니다. 피드마다 비동기로 병렬 처리됩니다.이때 새로운 글인지 아닌지를 판단할 때 피드마다 redis를 사용하거나 피드마다 db의 조회를 통해 차이를 확인했는데 redis를 사용했을 때 빨라질 것이라 생각했지만 빠르지 않았습니다.3. 시도해보신 내용앞선 강의를 토대로 쿼리발생 횟수를 모니터링 횟수로 측정한 결과 피드가 100개일 경우 db의 조회를 활용했을 때 비동기 병렬 처리 되므로 100개의 select문이 나갑니다.redis를 사용했을 때는 0개의 select문으로 감소합니다. 하지만 성능은 비슷합니다.예상 가는 이유로는 redis를 사용했을 때 그 횟수가 너무 잦아서 redis에 연결하는 네트워크 시간 때문에 차이가 미미하다는 말이 있던 것 같습니다.만약 제 가설이 맞다고 한다면 redis를 사용할 때 항상 네트워크의 횟수를 최소화 해야만 redis의 성능을 온전히 이끌어 낼 수 있는건가요?보통 레디스를 사용할 때 이걸 다 생각하면서 1번만 redis가 조회 되도록 하고 생각하면서 쓰나요?그렇다면 제 코드에서 redis의 성능을 올바르게 나타내려면 피드의 새로운 글들을 하나의 List로 전부 묶은 후 redis에서 한번의 연결을 통해 한번에 캐싱을 확인해서 성능을 높여야 하는건가요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
85강에서 객체를 왜 클래스로 만들어서 new 하지 않는건지 궁금합니다.
객체 리터럴로 넣는것보다 인스턴스를 넣는게 더 좋아 보이는데, 혹시 이게 안티패턴인가요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
투두리스트 실습을 충실히 진행한 상태에서 감정일기장 실습을 따라할 필요가 있을까요?
페이지 라우팅에 대해서 충분히 이해했고 84강 이후로는 투두리스트 실습의 답습이 될것 같아서 질문합니다.추가된 내용이 있으면 실습을 따라하겠지만, 이미 했던 내용 그대로 따라하는거라면 배속으로 넘겨보려고요.
-
미해결6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
k6 부하테스트 중인데 개선 전 성능이 너무 안나와서 고민
1. 현재 학습 진도부하테스트 2. 어려움을 겪는 부분부하 테스트의 코드를 통해 성능 개선 사례를 적으려고 합니다. 하지만 현재 평균 req_duration 즉 레이턴시가 너무 낮게 나옵니다. vus를 300으로 두었는데 아마 커넥션 풀이 모자라서 대기가 길어지는게 원인 같긴 합니다. 하지만 이걸 떠나서도 vus 300치고 너무 느리다고 판단되어서 이걸 개선했다고 포트폴리오에 쓰는게 의미가 있을지 걱정됩니다.또한 커넥션 풀이 모자라다고 대기업 개발자들이 항상 aws의 사양을 up시켜 커넥션 풀만 늘려서 해결하는 해결 방식을 사용하지는 않을 것 같은데 보통 성능 최적화를 통해 커넥션풀 점유를 짧게 해서 최대한 커넥션풀 고갈을 방지하는 방식으로 해결하나요?만약 그렇다면 성능 최적화 하는 방법에 부하를 분산하기 위한 kafka, redis, msa같은 기술들이 들어가는 건가요?마지막으로 성능 최적화를 포트폴리오 이력에 쓸 때 적절한 vus수가 궁금합니다 예를들어 면접관이 봤을 때 300명이라면 너무 적다고 판단되지 않을까 걱정되어서 어느 정도의 대략적으로 vus가 적정 인원인지가 궁금합니다, 3. 시도해보신 내용시도하진 않았지만 개선할 방법으로는 강의에서 제공해주신 mysql의 실행계획을 통해 index 추가와 커넥션풀 사이즈 늘리는 것 그리고 캐싱 도입을 생각하고 있긴합니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
83강 css 질문입니다
아래 코드로 충분한데 .header-center { width: 50%; font-size: 24px; justify-content: center; } .header-left { width: 25%; justify-content: flex-start; } .header-right { width: 25%; justify-content: flex-end; } 왜 매번 앞에 .Header를 추가하셨는지 궁금합니다. .Header.header-center { width: 50%; font-size: 24px; justify-content: center; } .Header .header-left { width: 25%; justify-content: flex-start; } .Header .header-right { width: 25%; justify-content: flex-end; } 그리고 버튼에서도 버튼 버튼_타입으로 하셨는데 버튼 타입 으로 해도 충분하지 않았나 싶습니다. 추후에 타입이 다른 컴포넌트와 겹칠까봐 그런것일까요?
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
체크 아웃 > 메인이 안나와요.
안녕하세요.메인 브랜치에 올려야한다고 하셨는데, 우클릭을 하면, 체크 아웃 > 메인이 안나와요. 어떻게 해야하죠?