13 섹션 병렬 스트림을 퀵하게 필요하여 고급1탄( 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성) 어느 섹션을 순차적으로 보아야 할까요? 물론 유기성으로 섹션1부터 모두 보면 좋겠지만 당장 써먹어야 하여 진도를 나갈 수 있는 수준의 섹션만 우선 보고 적용후 추후 다시 보려 합니다
안녕하세요. 좋은 강의 만들어주셔서 감사합니다. 강의 2.3 에서 강사님 코드와 동일하게 작성하고 gpt 모델만 'gpt-5.4-mini' 로 변경 후에 전체 실행 했을 때, 답변이 이렇게 돌아옵니다. {'query': '연봉 5천만원 세금', 'context': [Document(id='9814d06b-07f0-47e3-866c-fdf3940e2649', metadata={'source': 'income_tax.txt'}, page_content='5년 이하: 30만원 → 납입연수\n5년 초과 10년 이하: 150만원 + 50만원 × (납입연수 - 5년)\n10년 초과 20년 이하: 400만원 + 80만원 × (납입연수 - 10년)\n20년 초과: 1,200만원 + 120만원 × (납입연수 - 20년)\n\n② 직장근로자 초과관세환급금을 분배하여 지급받는 경우 세액의 계산 방법 등 필요한 사항은 대통령령으로 정한다. \n<대통령 2014. 12. 23.>\n<전문개정 2009. 12. 31.>\n제64조(부동산매매업자에 대한 세액 계산의 특례)\n1) 대통령령으로 정하는 부동산매매업(이하 “부동산매매업”이라 한다)을 영위하는 거주자가 이하 “부동산매매업자”라 한다)로서 종합소득세법에 제104조제1항제1호(본항을 포함한다) 및 제103조 또는 같은 조 제7항 각 호의 어느 하나에 해당하는 자산의 매매자익(이하 “주택등매매차익”이라 한다)이 있는 자의 종합소득 산출세액은 다음 각 호의 세액 중 많은 것으로 한다. \n<개정 2014. 12. 23., 2017. 12. 19., 2020. 12. 29.>\n1. 종합소득 산출세액\n\n다음 각 목에 따른 세액의 합계액\n 가. 주택등매매차익에 따른 세율을 적용하여 산출한 세액의 합계액\n 나. 종합소득세법 제55조에 따라 주택등매매차익에 대한 개별세액을 공제한 금액을 과세표준으로 하고 이에 제55조에 따른 세율을 적용하여 산출세액'), Document(id='74dc15eb-b151-49b8-9106-1399b7722dd3', metadata={'source': 'income_tax.txt'}, page_content='1. 근속연수에 따라 정한 다음의 금액\n근속연수 | 공제액\n--- | ---\n5년 이하 | 100만원 공제소득\n5년 초과 10년 이하 | 500만원+200만원×(근속연수−5)\n10년 초과 20년 이하 | 1천500만원+250만원×(근속연수−10)\n법제처 | 31 | 국가법령정보센터'), Document(id='1c1ccbad-e1fe-45f7-b08f-223a475212c4', metadata={'source': 'income_tax.txt'}, page_content='소특별판\n경우에는 100분의 30에 해당하는 금액을 해당 과세기간의 종합소득세법에서 공제한다. \n<개정 2014. 12. 23., 2016. 12. 20., 2017. 12. 19, 2021. 12. 8, 2023. 12. 31.>')], 'answer': AIMessage(content='연봉 5천만원의 세금은 공제 항목(4대보험, 근로소득공제, 인적공제 등)에 따라 달라져 정확히 한 숫자로 말하기 어렵습니다. \n제공된 자료만으로는 5천만원 연봉의 실제 세액을 계산할 수 없습니다. \n원하시면 **연봉 5천만원, 1인 가구/부양가족 여부** 기준으로 대략 계산해드릴게요.', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 108, 'prompt_tokens': 848, 'total_tokens': 956, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}, 'model_provider': 'openai', 'model_name': 'gpt-5.4-mini-2026-03-17', 'system_fingerprint': None, 'id': 'chatcmpl-DtSMXJU8oQmhDi4TWrlNkXhmwuADF', 'service_tier': 'default', 'finish_reason': 'stop', 'logprobs': None}, id='lc_run--019eedff-fd63-79f1-bb50-9fe5bb58b7c8-0', tool_calls=[], invalid_tool_calls=[], usage_metadata={'input_tokens': 848, 'output_tokens': 108, 'total_tokens': 956, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}})} 결국 답변은 정보가 부족하다는 것 같아 보이는데, retrieve 할 때, k의 개수도 4로 늘려보았지만 답변은 같았습니다. 이러한 경우 어떻게 하는 게 답변을 개선하기 좋을까요?
실무에 바로 적용하는 Spring AI: Spring 서비스에 챗봇·RAG·MCP 도입하기
윈도우 환경에서 가상환경 만들기 및 파이썬 MCP 설치 명령어 1. 파이썬 최종 명령어만 정리 인텔리제이 Terminal에서 그대로: py --version py -m venv venv .\venv\Scripts\Activate.ps1 python -m pip install --upgrade pip python -m pip install mcp python -m pip install mcp_weather_server python -m mcp_weather_server 설치 잘 되었는지 확인 방법 확인은 아래 명령어로 해봐. python --version python -m pip show mcp python -m pip show mcp_weather_server Name , Version , Location 이런 정보가 나오면 설치 성공이야. 그리고 실행했을 때: python -m mcp_weather_server 이 명령어 입력 후 아무 에러 없이 터미널이 멈춘 것처럼 대기 상태 면 정상일 가능성이 높아. MCP 서버가 실행 중이라 입력창이 바로 안 돌아오는 게 맞을 수 있어. 중지하려면: Ctrl + C 정리하면: 1. (venv) 표시 있음 → 가상환경 활성화 성공 2. pip show mcp_weather_server 결과 나옴 → 설치 성공 3. python -m mcp_weather_server 실행 후 에러 없이 대기 → 서버 실행 성공
강의에서 class AgentState(TypeDict): messages: list[Annotated[AnyMessage, add_messages]] 라고 하셨는데, 위와 같이 하면 AIMessage만 결과로 출력되게 된 걸로 보아 덮어진 것 같습니다. class AgentState(TypedDict): messages: Annotated[list[AnyMessage], add_messages] 위와 같이 Annotated 가 밖으로 나와야 하는 것이 맞는지 확인해주세요. 이때는 결과가 HumanMessage, AIMessage 둘 다 출력되더라구요.
안녕하세요 강사님! 강의 잘 듣고 있습니다. 다차원 배열이랑 가변 배열 파트를 복습하다가 인덱스 해석 순서랑 반복문 매칭이 헷갈리는 부분이 생겨서 질문 남깁니다. 강의에서 3차원 배열을 순회할 때 가장 안쪽 루프가 '높이'에 해당한다고 설명해 주셨는데, 제가 직접 코드를 짜서 출력해 보니까 조금 헷갈리는 부분이 있습니다. 제가 테스트해 본 전체 코드는 다음과 같습니다. public class ArrayTest { public static void main(String[] args) { int[][][] sheet = new int[2][3][4]; int count = 1; for (int i = 0; i < sheet.length; i++) { for (int j = 0; j < sheet[i].length; j++) { for (int k = 0; k < sheet[i][j].length; k++) { sheet[i][j][k] = count++; } } } for (int i = 0; i < sheet.length; i++) { System.out.println("=== [시트 " + i + "] ==="); for (int j = 0; j < sheet[i].length; j++) { for (int k = 0; k < sheet[i][j].length; k++) { System.out.print(sheet[i][j][k] + "\t"); } System.out.println(); } System.out.println(); } } } 이 코드를 실행해 보면 가장 안쪽 루프인 k가 돌 때 숫자가 위로 쌓이는 게 아니라, 왼쪽에서 오른쪽으로 평평하게 가로 줄(열)을 그리면서 출력이 되더라고요. 그리고 가장 바깥쪽 루프인 i가 바뀔 때 시트가 전환되는 것을 확인했습니다. 특히 같이 알려주신 가변 배열(Jagged Array) 개념을 여기에 대입해 보니까 더 헷갈리는데요. 자바는 new int[2][][]; 처럼 각 행마다 열의 크기를 다르게 지정할 수 있는 구조인데, 행마다 방 개수가 제각각인 상황에서 가장 안쪽 루프를 '높이'라고 생각하면 가변 배열의 형태가 머릿속으로 잘 매칭이 안 되어서요. 자바 메모리 구조상 공간적인 높이라는 비유보단, 엑셀로 따지면 처음 게 시트고 두 번째가 행, 마지막이 열이라고 생각하는 게 코드상으로나 가변 배열 구조상으로나 더 자연스러워 보이는데 제가 놓친 디테일이 있을까요? 제가 자바의 다차원 배열 메커니즘을 오해하고 있는 부분이 있는 건지, 아니면 세로-가로-높이 비유를 코드에 대입할 때 제가 놓친 디테일이 있는지 궁금합니다. 확인해 주시면 감사하겠습니다!
안녕하세요 강사님 이번에 LLM 활용 R 통계기법 [입문] 구매하고 곳 수강할려고 합니다.(할인가에 구매위해 아직 바쁘지만 미리 구매하고 나중에 볼려고 했습니다.) 그런데 이번에 강사님이 만드신 챌린지가 챌린지도 되면서 가격도 더 싼거 같습니다 TT (오라클 데이터 베이스 11은 더 저렴하고요 TT) 그래서 이번에 판매하시는 R 통계기법2 심화 강의 구매하는 것이 망설여 집니다. TT (혹시 기존 판매하시는 강의와 챌린지가 다른 이유가 있어서 가격차이가 크게 나는지? 혹시 R 통계기법 2 심화 지금 구매했다가 괜히 챌린지가 더 저렴하게 나오면 후회 할 것 같아서 망설여 집니다.) 개인적인 질문 루트가 없어서 여기에 올립니다. 답변해 주시면 보고 바로 지우겠습니다. 감사합니다. ^^
안녕하세요. 강의 촬영 시점과 수강 시점이 많이 차이가 나 그동안 여러 변경사항이 있는 것 같은데요! 인텔리제이 설치 후 새 프로젝트 셋팅하려고 보니 언어 선택하는 부분이 없음 (이 부분은 왼쪽 패널에 new project > java/kotlin... 등으로 선택하게 되어 있네요!) JDK 버전이 26까지 올라와 있음 이런 상태인데, JDK는 항상 최신 버전을 다운로드 받아도 될까요? 아니면 21 버전으로 다운로드 해야 할지 확인 부탁 드립니다.
The 10x AI-Native Developer: 회사에서 AI로 압도적 성과를 내는 법
claude-squad 실행 후 로그인을 하라, 권한이 없다 등의 메세지가 나오는 경우 어떻게 해결해야 하는걸까요? 강의 초기에 말씀하셨던 클로드는 이미 결제했는데, 추가 결제가 필요한 건가요? claude login을 해도 로그인 창이 뜨지 않습니다ㅠ AI에게 물어본 결과 처음에 결제한 것과, 터미널에서 사용하려는 api 호출 비용은 별도라고 하는데 맞는건가요?
벡터저장소 코드실행시 다음과 같은 경고메시지가 나타납니다. 무슨 문제일까요? Failed to send telemetry event ClientStartEvent: capture() takes 1 positional argument but 3 were given Failed to send telemetry event ClientCreateCollectionEvent: capture() takes 1 positional argument but 3 were given