안녕하세요 좋은 강의 감사드립니다. 강의에서 이해가 안되는 부분이 생겨 질문드립니다. 2.4 답변을 검증하는 self rag 에서, hallucination을 판단하는 부분에 대한 질문입니다. node가 hallucination을 잘 판단하지 못하자, 강의에서는 크게 3가지 조치를 취하셨는데요 hallucination prompt 직접 작성 hallucination_llm의 temperature = 0 으로 설정 generate_llm의 max_completion_tokens를 100, 50 으로 감소 근데 저는 강의대로 따라해도, 계속 hallucinated, not hallucinated가 번갈아가면서 나오더라고요. max_completion_tokens을 100 --> 70, 50으로 감소시켜도, test하는 셀을 여러번 돌리면 hallucinated, not hallucinated가 번갈아가면서 나옵니다. 답변 내용을 보면, 저의 answer는 5천만원에 대한 소득세를 624만원으로 잘 계산을 하는데 check_hallucination만 판단을 잘 못하는것 같았습니다. 답변을 "소득세는 624만원입니다." 이런 식으로만 짧게 대답을 하다보니, hallucination에 대한 판단을 잘 못하는것 같다는 느낌을 받았습니다. 그래서 chatgpt의 도움을 받아서 아래와 같이 수정을 하니 hallucination에 대한 판단은 일관되게 not hallucinated로 판단하더라고요. generate_llm의 max_completion_tokens를 200, 300 정도로 증가 generate_prompt를 직접 작성하면서, 작성할때 답변에 대한 근거 도 같이 제시하라고 지시 아마도 답변에 대한 근거가 같이 제시되면서 hallucination에 대한 판단에 도움을 준 것 같습니다. 그런데 문제가 있습니다 ㅠ 소득세 계산을 잘 못합니다. 수업 코드로 하면 소득세 계산은 624만원으로 매번 잘 계산을 하지만, 이렇게 바꾸는 경우 소득세 계산이 맞을때도 있고 틀릴때도 있습니다. 그럼 현실에서는 max_completion_tokens 을 150, 100 이렇게 조절해가면서 중간의 타협점?을 찾는 것이 방법인지요? 아니면 제 방법이 틀린 것인지, 다른 방법이 있는 것인지 코멘트 해주시면 감사하겠습니다.
학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요! 마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요. 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요. 편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~ 자바 코테 바이블 같은 경우에는 문제를 직접 풀어볼 수 있는 사이트를 제공하던데, 현재 강의에서 문제를 직접 풀어보려면 강의에 나오는 문제를 보고 개인적으로 풀어보는 방법밖에 없나요?
spring-boot 버전 4.0.0 으로 프로젝트를 생성하면 어플리케이션 구동 시 아래와 같은 오류가 발생합니다. (현재 2025-12-08) 3.x 버전으로 내리면 발생하지 않으니 참고해주세요. 2025-12-08T18:40:05.881+09:00 INFO 2496 --- [splearn] [ main] .s.b.d.c.l.DockerComposeLifecycleManager : Using Docker Compose file /Users/coffeenjava/work/study/splearn/compose.yaml 2025-12-08T18:40:06.285+09:00 ERROR 2496 --- [splearn] [ main] o.s.boot.SpringApplication : Application run failed tools.jackson.core.exc.StreamReadException: Unexpected character ('\' (code 92)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false') at [Source: REDACTED StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); byte offset: #UNKNOWN] at tools.jackson.core.JsonParser._constructReadException(JsonParser.java:1800) ~[jackson-core-3.0.2.jar:3.0.2]
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 10분00초에서 클래스레벨에서 테스트, save와 findByName을 각각 테스트 하는 것을 보여주셨는데 저는 클래스를 테스트 할 때는 둘다 정상적으로 완료가 되는데, 이상하게 하나씩 테스트를 하면 아래의 에러가 납니다 Exception in thread "main" java.lang.NoSuchMethodError: 'java.lang.String org.junit.platform.engine.discovery.MethodSelector.getMethodParameterTypes()' at com.intellij.junit5.JUnit5TestRunnerUtil.loadMethodByReflection(JUnit5TestRunnerUtil.java:127) at com.intellij.junit5.JUnit5TestRunnerUtil.buildRequest(JUnit5TestRunnerUtil.java:102) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:43) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
안녕하세요 강의 잘 듣고 이력서 작성중인 신입 개발자입니다. 제목과 마찬가지로 개발과 상관없는 이력의 경우 쓰는게 좋은가요? 인턴이 끝나고 몇개월정도 개발과 상관없는 서비스직을 했었는데 공백기를 설명하기 위해 적는게 좋을까요? 아니면 따로 적진않고 공백기를 물어보면 그때 답하는게 좋을까요?
안녕하세요 현재 PreToolUse, PostToolUse 사용 시 제대로 적용이 안되는 문제가 발생하여 질문드립니다. node -v : v22.16.0 claude --version : 2.0.61 (Claude Code) Window 운영체제 로 진행중입니다. 강의와 교재에 나온대로 '디스패처(Dispatcher)' 훅 패턴 적용 시 settings.json과 dispatcher.js를 적용하고 .env와 src/db/migrations/001_create_users.sql 까지 모두 만든 상황에서 테스트를 진행하면 막혀야 하는데 적용되지 않고 그대로 읽어주는거나 수정을 합니다. Claude에게 물어보면 등의 답변을 해주는데.. 환경설정의 문제인지 Window 와 Mac 운영체제의 차이인지 잘 모르겠습니다. (* 심화과정(디스패쳐 훅 패턴) 전부터 이상이 있었습니다.) 또한 강의를 보면 [DEBUG] MCP server "ide": Calling MCP tool: cloaseAllDiffTabs [DEBUG] MCP server "ide": Tool 'closeAllDiffTabs' completed successfully in 32ms 이러한 것이 나오는데 저는 똑같이 cladue --debug로 들어가도 그러한게 안찍히네요.. ㅜㅜ claude 버전문제인지 다른 세팅하는것이 있는지 궁금합니다.
안녕하세요. 강의 잘 들었습니다. 덕분에 포트폴리오 작성 방향을 잡는 데 많은 도움을 받았습니다. 데이터 사이언티스 포트폴리오 작성과 관련해 몇 가지 질문을 드리고 싶습니다. 프로젝트 대신 논문을 작성해도 괜찮을까요? 석사 과정 동안 프로젝트는 수행한 게 없고 논문만 작성하였습니다. (논문 1개 게재완료, 1개는 하위논문) 이 경우에는 기존 모델 대비 정확도 개선 등 구체적인 수치 기반 성과로 작성하면 적절할까요? 학부 시절 프로젝트가 워드클라우드, 기본적인 시각화 수준이라 프로젝트라고 하기에는 애매합니다. 굉장히 기초적인 데이터 분석이었는데 이런 것도 작성해야할까요? 취업 준비 기간 동안 캐글/데이콘 등 대회 참여, 혹은 백준 알고리즘 티어 상승 등 .. 중 어떤 활동이 데이터 사이언스 포트폴리오에 더 효과적인지 궁금합니다. 이외에도 데이터 사이언티스트 직무 포트폴리오에서 강조해야할 부분이 있다면 말씀해주시면 감사하겠습니다!
강의 잘 듣고 있습니다. 현재 문서를 읽어 agent로 구현하는 학습까지 완료했는데요(17강) gpt 4.0을 활용하여 agent를 구현해 질문을 하는 것과, chatgpt 웹을 켜서 문서를 올려 질문하는 것에 어떤 차이가 있나요? 보안의 차이나 프롬프트를 잘쓰면 성능이 웹gpt보다 좋아지나요? 주어진 서비스를 사용하지 않고 이걸 구현해야하는지가 명확하게 이해가 안되서요. 감사합니다.
안녕하세요 강의 열심히 보고 분산트랜잭션에 대해 배워가고 있습니다. 우선 좋은 강의 만들어주셔서 감사합니다. 강의를 보다가 OrchestrationService 소스 코드 설명해주시는 부분에서 궁금증이 생겨 질문드렸습니다. 현재 하나의 트랜잭션 내에서 출금처리에 대한 로컬 트랜잭션 처리 + 입금 서비스 REST 호출 + 입금 서비스 응답이후 SAGA 상태 업데이트 까지 처리하고 있는 것으로 보입니다. 이 경우에 입금 서비스에서 응답이 지연된다면 출금계좌에 대한 락은 지연시간만큼 대기를 하게 되고 트래픽이 몰리는 상황에서는 처리 성능이 떨어질것 같다고 판단했습니다. 그래서 제 생각에는 입금 서비스 호출 이전, 입급 서비스 호출 후 응답값에 대한 saga 업데이트, 출금 서비스 보상 처리 이렇게 3개의 로직을 각각 별개의 트랜잭션으로 선언해야 하지 않나 싶은데, 강사님의 의견이 궁금합니다!
skip policy 에 대한 질문 Firebase message를 writer 쪽에서 사용하고, override fun shouldSkip(throwable: Throwable, skipCount: Long): Boolean { if (throwable !is BatchUnregisteredException) return true if (throwable.errorCode == FCM_UNREGISTERED_TOKEN || throwable.errorCode == FCM_MULTIPLE_TOKEN_ERROR) { throwable.tokens.forEach { fcmToken -> checkUnregisterToken(fcmToken) } } return true } skipPolicy에서 위와 같이 unregister token들을 제거해주려고 했어. 그리고, 테스트코드에서 제거 로직이 한번만 불렸는지 체크했는데, 총 3번이 불렸다고 테스트가 실패하더라구 (실제 데이터는 1개라는 가정하에) GPT는 여러번 불릴 수 있다고, SkipListener 에서 onSkipWrite 에서 unregister 된 토큰을 제거하라고 하는데 1. 실제로 skipPolicy는 여러번 불리는게 맞는지 1-1. Skip 여부 체크 1-2 Skip 처리 중에서도 체크 1-3 Chunk 완료 처리 시에도 확인 이라는데 맞아 ,,? 2. 보통 이러한 토큰 제거 작업이 있다면 어디서 수행하는게 맞는지 알려줘 ~
안녕하세요 게시판 강의 보면서 정말 잘 배우고 있습니다!! 국비학원 프로젝트 하던 때를 생각해보면서 듣고 있는데, 그때는 엔티티에 생성자를 만들어서 서비스에서 그냥 썼는데 본 강의에서 팩토리 메소드 형태를 사용하는 이유가 궁금했습니다!! (기술적으로 더 진보한 형태인지요) 그리고 객체마다 response를 만들어서 commentResponse, ArticleLikeResponse 같은걸 만들어 api 반환에 사용하는데, entity랑 필드도 다르지 않은데 굳이 이렇게 일일이 response 객체를 각각 만들어서 코드를 짜야하는지 궁금합니다!!