inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

검색 대상 종목 선정

미해결

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

안녕하세요. 강사님 다름이 아니오라 우리의 전략은 나스닥에서 상위 25개 종목을 대상으로 데이터를 수집하고 판단하는 것으로 알고 있는데요. 이 종목들의 선정 기준과 향후 시장 변화에 따른 종목 리밸런싱은 어떻게 하는 것이 좋을지 궁금하여 여쭙습니다. 감사합니다~

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
Taihak Kim 댓글 2 좋아요 1 조회수 20

llm_decision_logs 미적재 문의

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

■ 1. 통합 파이프라인 → POST /pipeline/run-buy-pipeline 을 실행 시 아래와 같이 LLM 호출 전체 실패가 뜹니다. { "message": "통합 파이프라인 완료 - BUY 0개 / HOLD 1개", "steps": { "1_technical_analysis": { "message": "25개의 추천 데이터가 생성되었습니다", "count": 25, "elapsed_sec": 60.9 }, "1.5_earnings_calendar": { "message": "저장할 실적 일정이 없습니다", "count": 0 }, "2_sentiment_analysis": { "message": "10개의 티커(추천 주식: 10개, 보유 주식: 0개)를 분석했습니다", "count": 10, "elapsed_sec": 97.8 }, "3_candidate_extraction": { "message": "1개의 매수 추천 주식을 찾았습니다 (v2 (z-score))", "count": 1, "elapsed_sec": 1 }, "4_llm_review": { "buy_count": 0, "hold_count": 1, "elapsed_sec": 51.3 } }, "candidates_before_llm": 1, "candidates_after_llm": 0, "held": 1, "results": [], "held_results": [ { "ticker": "ADBE", "stock_name": "어도비", "accuracy": 87.6874, "rise_probability": 10.1176571624871, "last_price": 266.510009765625, "predicted_price": 293.474578857422, "recommendation": "STRONG BUY", "analysis": "어도비 is expected to rise by about 10.12%. Consider buying or holding.", "sentiment_score": 0.0197778333333333, "article_count": 6, "sentiment_date": "2026-09-09 00:11:55", "technical_date": "2026-09-06", "sma20": 277.896499633789, "sma50": 260.969197692871, "golden_cross": true, "rsi": 49.811422658345, "macd": 3.41914308274363, "signal": 6.66046215382312, "macd_buy_signal": false, "technical_recommended": false, "volume_ratio": 1.6, "adx": 24.58, "earnings_date": null, "earnings_estimate": null, "days_to_earnings": null, "composite_score": 0.6117, "v2_factors": { "z_rise": 1.29, "z_tech": -0.231, "z_macd": -1.375, "z_sma": 1.408, "z_rsi": -0.727, "z_sent": -1.365, "z_vol": 1.401, "z_adx": 1.397 }, "vix_value": 14.5299997329712, "scoring_version": "v2" } ], "llm_reasoning": "LLM 호출 전체 실패 (Opus 3회 + Sonnet 3회): Messages.create() got an unexpected keyword argument 'temperature'", "total_elapsed_sec": 211 } ■ 1.1 그리고 이 부분을 클로드에게 물어보니 아래와 같은 답변을 받았습니다. app/services/llm_review_service.py:181 의 create_kwargs["temperature"] = 0 입니다. 이 프로젝트에 설치된 SDK는 anthropic 1.2.0 인데, 1.x 메이저 업그레이드에서 temperature / top_p / top_k 가 Messages.create() 시그니처에서 완전히 삭제됐습니다. 실제 설치본 확인 결과: max_tokens, messages, model, cache_control, container, inference_geo, metadata, output_config, service_tier, stop_sequences, stream, system, thinking, tool_choice, tools, user_profile_id, extra_headers, extra_query, extra_body, timeout temperature 가 없습니다. 그래서 API 요청이 나가기도 전에 파이썬 레벨에서 TypeError: Messages.create() got an unexpected keyword argument 'temperature' 가 터집니다. 서버 400 에러가 아니라 SDK 호출 자체가 실패한 것이라, 재시도해도 100% 같은 결과입니다. 코드의 전제가 어긋난 부분: # temperature 파라미터를 받지 않는 모델 (Opus 4.7부터 sampling 파라미터 제거됨) MODELS_WITHOUT_TEMPERATURE = {"claude-opus-4-8"} "모델별로 다르다"는 전제로 Opus만 제외했지만, SDK 1.x에서는 모델과 무관하게 어떤 모델에도 temperature를 넘길 수 없습니다. 그래서 폴백 모델 claude-sonnet-4-6 차례에서 매번 터졌습니다. Opus 3회는 왜 실패했나 (추정) 최종 메시지의 에러는 last_error 한 개만 찍히는데, Sonnet의 TypeError가 Opus 쪽 에러를 덮어썼습니다. 다만 4_llm_review 의 elapsed_sec: 51.3 이 단서입니다 — 재시도 대기는 5+15+30 = 50초이고, 이건 한 모델만 3회 재시도(sleep 포함)를 돌았다는 뜻입니다. 즉 Opus는 sleep 없이 break 되는 경로 — json.JSONDecodeError(191행) 또는 529/429/503 이외의 APIStatusError(246행) — 로 1회만에 빠져나갔고, 50초는 Sonnet의 TypeError 3회입니다. Opus의 실제 에러는 콘솔 stdout(LLM API 에러 ... 또는 LLM 응답 JSON 파싱 실패 ...)에만 남아 있으니 그 줄을 확인해야 확정됩니다. 수정 방향 1. temperature 분기 전체 삭제 (MODELS_WITHOUT_TEMPERATURE 상수 포함). 결정성이 필요하면 프롬프트/output_config로 제어합니다. 2. TypeError 같은 비재시도성 예외는 50초 sleep 후 재시도하지stdout(LLM API 에러 ... 또는 LLM 응답 JSON 파싱 실패 ...)에만 남아 있으니 그 줄을 확인해야 확정됩니다. 수정 방향 1. temperature 분기 전체 삭제 (MODELS_WITHOUT_TEMPERATURE 상수 포함). 결정성이 필요하면 프롬프트/output_config로 제어합니다. 2. TypeError 같은 비재시도성 예외는 50초 sleep 후 재시도하지 말고 즉시 다음 모델/중단으로 보내기. 3. last_error 를 모델별로 모아서 실패 사유에 함께 남기기 (지금은 Opus 원인이 통째로 유실됩니다). 4. 모델 ID도 현행 세대(claude-opus-5 / 폴백 claude-sonnet-5)로 올리는 걸 권합니다. 수정 적용해 드릴까요? 1·2·3번은 바로 반영 가능하고, 4번은 원하시면 같이 하겠습니다. ■ 2. llm_decision_logs 미적재 문의 (캐글 연동은 되었음) (a) /pipeline/kaggle/trigger-ml 은 원래 이 테이블을 안 건드립니다 pipeline.py:298 의 kaggle_trigger_ml() 은 kaggle kernels push → status 폴링만 합니다. review_buy_candidates() 를 호출하는 경로가 아예 없어요. llm_decision_logs 에 쓰는 건 /pipeline/run-buy-pipeline 과 스케줄러의 일일 파이프라인뿐입니다. trigger-ml 을 아무리 돌려도 이 테이블은 안 채워집니다. (b) run-buy-pipeline 을 돌려도 저장이 실패하고 있습니다 — 컬럼 누락 Supabase에 직접 조회해서 확인했습니다(읽기만 했고 쓰기는 안 했습니다): ┌──────────────────────────────────────────┬────────────┐ │ 컬럼 │ 상태 │ ├──────────────────────────────────────────┼────────────┤ │ decision_date, ticker, stock_name, │ │ │ decision, reason, market_analysis, │ OK │ │ composite_score, rise_probability, rsi, │ │ │ adx, vix_value, created_at, updated_at │ │ ├──────────────────────────────────────────┼────────────┤ │ │ ❌ 42703 │ │ earnings_date │ column │ │ │ does not │ │ │ exist │ ├──────────────────────────────────────────┼────────────┤ │ days_to_earnings │ ❌ 42703 │ ├──────────────────────────────────────────┼────────────┤ │ earnings_estimate │ ❌ 42703 │ └──────────────────────────────────────────┴────────────┘ llm_review_service.py:24 의 upsert 페이로드에는 이 세 컬럼이 들어갑니다. 컬럼이 없으니 매번 요청이 거부되고, save llm_decision_logs 는 전체를 try/except Exception 으로 감싸 LLM 판단 로그 저장 실패: 만 출력하고 넘어갑니다(llm_review_service.py:41). 그래서 API 응답은 정상으로 보이는데 테이블만 계속 비어 있는 겁니다. 현재 행 수는 0개입니다. 같은 원인으로 earnings_calendar 테이블 자체도 없습니다(PGRST205). 어제 실행 결과의 1.5_earnings_calendar: "저장할 실적 일정이 없습니다" 도 이것 때문입니다. 원인은 sql/create_earnings_calendar.sql 을 Supabase에서 실행하지 않은 것입니다. 파일은 리포에 있는데 DB에 적용이 안 됐어요. Supabase SQL Editor에서 그 파일을 통째로 실행하면 테이블 생성 + 컬럼 3개 추가가 한 번에 됩니다. 한 가지 더: .env 의 SUPABASE_KEY 는 anon 역할입니다. 조회는 되는 걸 확인했지만 INSERT는 RLS에 막힐 수 있으니, 컬럼 추가 후에도 안 들어가면 sql/errorfix.sql 의 ALTER TABLE llm_decision_logs DISABLE ROW LEVEL SECURITY 를 확인하세요. --- 정리하면 이 순서로 풀립니다: 1. Supabase에서 sql/create_earnings_calendar.sql 실행 → 컬럼/테이블 생성 (이건 직접 하셔야 합니다) 2. llm_review_ service.py 의 temperature 제거 → LLM 호출 자체가 성공해야 BUY/HOLD 판정이 저장됨 3. /pipeline/run-buy-pipeline 실행 (trigger-ml 아님) 2번과, 로그 저장 실패가 조용히 묻히지 않게 API 응답에 노출시키는 수정을 지금 적용할까요?

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
구구구구 댓글 2 좋아요 1 조회수 21

연동 문제

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

현재 섹션 7까지는 전부 들었는데 따로 모의투자 매매도 안되고 llm쪽 슈퍼베이스 데이터도 안들어가서 문의드려요. 클로드는 아래처럼 말해주는데 이해가 잘 안돼서요ㅠㅠ env에는 아래값들 전부 넣어줬습니다. KAGGLE_USERNAME= KAGGLE_API_TOKEN= KAGGLE_KERNEL_SLUG= KAGGLE_NOTEBOOK_DIR= SLACK_WEBHOOK_URL= SLACK_NOTIFY_LEVEL=info USE_SCORING_V2=true 아래는 제가 클로드에게 모의투자 계좌 연동했는데 왜 안사는지 질문한 내용입니다. 결론: 계좌 연동 문제 아닙니다. LLM 최종 검토에서 전부 거부당하고 있습니다. stock_scheduler.log를 보면 시스템은 오늘 끝까지 정상으로 돌았습니다. 21:00:00 Daily Pipeline 시작 21:00:04 [2/4] Kaggle 예측 push → 21:08:14 완료 (482초) 21:10:32 [4/4] LLM 최종 검토 + KIS 매수 주문 시작 21:10:37 현재 보유/주문 중인 종목 수: 0 21:10:38 매수 후보 6개 → LLM 최종 검토 시작 21:11:31 LLM 검토 결과 매수 대상이 없습니다. ← 여기서 끝 어제도 똑같았습니다: 후보 7개 → LLM 전원 HOLD. 이틀 연속 매수 0건이고, trade_records 테이블도 0행입니다. 즉 데이터 수집 → ML 예측 → 기술지표 → 점수 산출까지 다 통과해서 후보 6개가 올라왔는데, 마지막 LLM 관문(llm_review_ service.py )이 6개를 전부 HOLD 처리했습니다. LLM은 거부권만 있어서(코드 주석 49번 줄) 여기서 막히면 주문이 아예 안 나갑니다. "시간이 지나야 하냐" — 반은 맞습니다 매수 경로가 두 개입니다. ┌─────────────────────────┬────────────────────────────────┬───────────────────┐ │ 경로 │ 실행 시각 │ 오늘 결과 │ ├─────────────────────────┼────────────────────────────────┼───────────────────┤ │ 일일 파이프라인 │ 매일 KST 21:00 │ 실행됨 → LLM 전원 │ │ (force=True) │ │ HOLD │ ├─────────────────────────┼────────────────────────────────┼───────────────────┤ │ 스케줄러 자동매수 │ 평일 10:30~10:35 ET = KST │ 아직 안 옴 (28분 │ │ │ 23:30~23:35 │ 뒤) │ └─────────────────────────┴────────────────────────────────┴───────────────────┘ 지금 23:01 KST(10:01 ET)라 두 번째 시도가 곧 있습니다. 오늘 매수 성공이 0건이라 last buy_date가 갱신되지 않았으므로(scheduler.py:811-815) 23:30에 정상적으로 재시도됩니다. 다만 그 시도도 똑같은 LLM 관문을 통과해야 합니다. 지금 상태면 또 막힐 가능성이 큽니다. LLM이 왜 다 거부하나 — 프롬프트가 종목을 실제보다 나쁘게 보여주고 있습니다 코드를 보니 LLM에게 넘어가는 데이터에 문제가 두 개 있습니다. 1. v2 모드인데 프롬프트는 v1 키를 읽습니다 (제일 큼) llm_review_service.py:110: (예측상승률: {c.get('rise_score', 0)}, 기술: {c.get('tech_score', 0)}, 거래량: {c.get('volume_score', 0)}, ADX: {c.get('adx_score', 0)}, VIX: {c.get('vix_score', 0)}) 이 다섯 키는 compute_v1()만 만듭니다. USE_SCORING_V2=true인 지금은 compute_v2()가 v2_factors만 넣기 때문에 전부 없는 키 → 기본값 0으로 출력됩니다. LLM은 매 종목마다 이렇게 봅니다: - 종합점수: 0.8532 (예측상승률: 0, 기술: 0, 거래량: 0, ADX: 0, VIX: 0) 종합점수는 양수인데 근거 점수가 전부 0인 모순된 데이터입니다. "데이터가 이상하면 HOLD" 성향의 프롬프트(138번 줄 "시스템 오류 가능성 → HOLD")와 만나면 전멸이 자연스럽습니다. 2. RSI 라벨이 틀렸습니다 llm_review_ service.py :103은 RSI가 50~65일 때만 "(강세 진입)"이라 쓰고, 30~50이면 "(매수구간 아님)"으로 표기합니다. 그런데 사전필터(scoring_service.py:42)는 RSI ≤ 65를 전부 매수 구간으로 봅니다. 지금 DB의 25개 종목 중 16개가 RSI 30~50 구간이라, 시스템이 통과시킨 종목을 프롬프트가 "매수구간 아님"이라고 LLM에게 일러바치는 셈입니다. 여기에 ADX가 20 미만인 종목이 13/25라 "(추세 약함)"까지 붙으면, LLM 입장에서 HOLD를 안 낼 이유가 없습니다. 근거를 DB에서 못 보는 이유도 찾았습니다 llm_decision_logs 테이블이 0행입니다. 판단 이유가 하나도 안 남아 있어요. 원인은 저장 코드가 실제 테이블에 없는 컬럼 3개를 쓰기 때문입니다: column llm_decision_logs.earnings_date does not exist (42703) column llm_decision_logs.days_to_earnings does not exist column llm_decision_logs.earnings_estimate does not exist llm_review_service.py:36-38이 실적 정보를 upsert에 넣는데, create_all_tables.sql:203-219의 테이블 정의에는 그 컬럼들이 없습니다. 매번 예외가 나고 except가 삼켜서(42-43번 줄) 조용히 넘어갑니다. 지금 바로 확인할 곳 .env에 Slack 웹훅이 설정돼 있으니, 오늘 21:11에 온 Slack 메시지를 보시면 LLM이 6개 종목을 각각 왜 HOLD했는지 이유가 그대로 적혀 있습니다. - "오늘의 LLM 판단" 류 메시지가 왔다면 → LLM이 정상 응답했고 실제로 전부 거부한 것 - "LLM 장애" 알림이 왔다면 → API 호출 자체가 실패해서 Fail-Close로 막힌 것 (llm_review_service.py:264-275) python run.py 를 띄운 터미널 창에도 LLM HOLD: 종목명(티커) - 이유 가 줄줄이 찍혀 있습니다. 이건 print라서 로그 파일에는 안 들어갑니다. --- 원인 확인만 요청하셨던 흐름이라 코드는 아직 손대지 않았습니다. 위 세 가지(프롬프트 v2 대응, RSI 라벨, llm_decision_logs 컬럼)를 고치면 LLM이 제대로 된 데이터를 보고 판단하게 됩니다. 고쳐드릴까요?

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
구구구구 댓글 2 좋아요 1 조회수 35

5-21 질문이요!

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

섹션 5의 API 자동화 FastAPI 라우트 통합 구성 하고있는데 코랩에서는 잘 된 것 같은데 슈퍼베이스에는 데이터가 없어서요 제가 아직 한국투자증권에 돈을 안넣어놔서 그런건가요? .

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
구구구구 댓글 3 좋아요 1 조회수 40

매수 실행 시점 관련

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

선생님, 안녕하세요! 메수 실행 시점 관련 문의 드립니다. 1. 이해했던 내용 이론 강의에서는 매수가 미장 시작 1시간 후인 11시반(23:30 KST) 실행된다고(주된 매수 실행시점) 설명하신 걸로 이해했습니다. 2. 실제 코드/로그 확인 결과 하루에 매수 시도가 2번있었는데요 (모의투자) 9시 (KST 21:00) : 무조건 실행 : 뉴욕 장 시작 전(장은 22:30 KST 오픈)이라 "모의투자 장시작전" 에러로 전부 실패 11시반 (KST 23:30경) : NY 10:30~10:35에만 실행 : 매수 체결 성공 3. 같은 날 LLM 판정이 달랐음 9시 실패 → 11시반 재시도되면서, 같은 후보 종목인데 LLM 호출 시점에 따라 결과가 달라졌습니다. 9시 : NVDA + META → BUY / AMZN → HOLD 11시반 : NVDA + AMZN → BUY /META→ HOLD 제가 여쭤보고 싶은건.. 1) 9시에 무조건 실행되는것이 주된 로직이고 11시반이 보조 실행 인건가요? 아니면 원래 11시반만 매수 시점이고 9시 건 다른 용도(데이터 준비 등)인 건지 헷갈립니다. 원래 설계 의도가 궁금합니다. 1-2) 제가 아직 운영장에서 돌려보진않았는데,, 선생님의 운영장 매수 시점은 언제인가요? 2) 같은 데이터인데도LLM 호출 타이밍에 따라 실제 매수 종목이 바뀌고, 이게 수익률에 영향을 줄 수 있겠다는 생각이 듭니다. 이 현상을 선생님은 어떻게 다루고 계신지 궁금합니다.

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
yundyo 댓글 1 좋아요 1 조회수 34

Opus/Sonnet 버전 관련 문의

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

선생님, LLM검토 관련 문의드립니다. 최근 며칠간 자동매매 파이프라인에서 LLM(Claude API) 호출 단계가 계속 실패해서 원인을 찾아보고 있었습니다. 배경 원래 claude-opus-4-8 / claude-sonnet-4-6 을 쓰고 있었는데, 웹페이지에서 가격을 확인해보니 최신 버전인 claude-opus-5 / claude-sonnet-5 도 가격이 동일해서 제가 직접 최신 버전으로 업그레이드하였습니다. 증상 버전부분만 수정하였더니, 'ThinkingBlock' object has no attribute 'text' 에러로 6회(Opus 3회 + Sonnet 3회) 전부 실패 → 매수 후보 전부 차단 윗부분관려하여 수정하였더니, Opus는 Unterminated string (JSON 응답이 중간에 끊김), Sonnet은 content types: ['thinking'] (텍스트 응답 없이 사고 블록만 옴) 에러로 역시 전부 실패 원인 분석 claude-opus-5 / claude-sonnet-5 는 명시적으로 설정 안 해도 기본적으로 thinking(사고 과정)을 생성하는데, 기존 max_tokens=2000 설정이 이걸 감안 못 한 값이었습니다. thinking + 실제 답변(JSON)을 합친 길이가 2000을 넘어 응답이 잘리거나, 심하면 사고만 하다 텍스트 응답 없이 끝나버렸습니다. 제가 한 조치 content 블록 중 type == "text" 인 것만 골라 파싱하도록 방어 코드 추가 (에러를 재시도로 넘기기 위함) max_tokens 를 2000 → 16000으로 상향 (근본 원인 해결) (thinking depth를 낮추는 effort 파라미터 조정은 판단 품질 저하 우려로 일단 보류) 제가 여쭤보고 싶은건.. 선생님께서는 Opus,Sonnet 버전을 어떤 걸로 쓰고 계신지 궁금합니다. 저처럼 최신 버전(opus-5/sonnet-5)으로 올려서 쓰고 계신지, 아니면 다른 버전을 쓰시는지, 그리고 이런 thinking/max_tokens 이슈를 겪으신 적 있으신지도 여쭤보고 싶습니다. 토큰을 낮추기위해 effort 파라미터를 조정해볼까도 생각중인데 어떻게 해야할지 모르겠네요~

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
yundyo 댓글 2 좋아요 1 조회수 52

섹션2 질문이요

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

http://localhost:8000/docs#/ 여기는 python run.py 실행할 때만 접속할 수 있는건가요? 접속은 되는데 run.py 하면 " ⚠ SUPABASE_SERVICE_ROLE_KEY 미설정 - anon 키 사용 중. RLS가 켜져 있으면 쓰기가 차단될 수 있습니다. " 이게 계속 떠요. https://supabase.com/ 에서 SQL Editor에 마지막줄 DISABLE도 추가했는데도 계속 뜨네요 ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO anon, authenticated, service_role; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO anon, authenticated, service_role; ALTER TABLE economic_and_stock_data DISABLE ROW LEVEL SECURITY; 그리고 강의에선 함수에서 Ctrl + 클릭하면 이동된다는데 전 이동이 안돼요...ㅠ

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
구구구구 댓글 2 좋아요 1 조회수 54

pub/sub의 연결 객체에 대해 질문 드립니다.

미해결

2026년! 백엔드 개발자를 위한 Redis 실전 가이드: 기초부터 실무 패턴까지

강의 내용에 보면 클라이언트 수만큼 pub/sub 연결을 하면 안된다. redis 구독을 소수의 연결로 유지하고 클라이언트들에게 브로드캐스트 하는 구조로 사용한다. 애플리케션 시작 시 생성하고 서버 종료될 때 구독을 해제한다. 이렇게 설명을 주시는데 이해가 잘 되지 않아 질문을 드립니다. 1번 2번에 대해 대부분 채팅과 관련하여 메시지가 소실되도 무방한 구조에서 pub/sub의 브로드캐스팅 방법을 사용하는 것으로 알고 있습니다. 이전에 언급하신 Redis Lock에서 사용하는 경우는 애초 접근하는 서버가 수십~ 수백대일 가능성이 있습니다. 채팅의 경우도 유투브 라이브의 경우 수천 수만명의 접속일 가능성이 있습니다. 서버의 가용 능력에 따라 분산 설계가 있을 수 있겠지만 기본적으로 이러한 요구에서는 1:N이 됩니다. 어떤 목적과 이유로 1번과 관련하여 말씀을 하신건지 알고 싶습니다. 하나의 pub/sub 연결을 여러 채널이 공유해서 사용하는 것이기에 pool에 대한 이야기는 아닐 것이라 생각 합니다. 혹시 예제는 스웨거에서 요청할 때마다 pub/sub을 생성해서 사용하는 것이기에 애초에 하나의 pub/sub 연결로 사용하는 방안으로 코드를 설계해야 한다는 의미일까요? 하지만 그럼에도 클라이언트 수나 구독을 소수로 유지해야 하는 의미는 pool을 의미하시는 건지 서버 자원 때문인지 어떤 이유에서인지에 대한 이해가 잘 되지 않습니다. 3. 3번에서 하는 말이 하나의 pub/sub 연결을 시작시 생성하여 모든 채널에 대해 공유 사용하고 종료시 구독을 해제하도록 하라는 의미로 보면 될런지요

  • 아키텍처
  • redis
  • FastAPI
bluebamus 댓글 2 좋아요 0 조회수 52

섹션1.9 질문입니다!

미해결

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

강의를 듣고 마지막에 python run.py를 했는데 아래처럼 에러떠요ㅠㅠ 혹시 놓친 부분이 있나요? SUPABASE_SERVICE_ROLE_KEY 미설정이라는데 이거 강의에서 설정한게 있었나요? 2026-08-30 21:45:01,917 - httpx - INFO - HTTP Request: GET https://rgmdxxsyyylcdsbvaiqs.supabase.co/rest/v1/economic_and_stock_data?select=%2A&%EB%82%A0%EC%A7%9C=eq.2006-01-01 "HTTP/2 200 OK" 2026-08-30 21:45:02,210 - httpx - INFO - HTTP Request: POST https://rgmdxxsyyylcdsbvaiqs.supabase.co/rest/v1/economic_and_stock_data "HTTP/2 401 Unauthorized" 경제 데이터 업데이트 중 오류 발생: {'message': 'new row violates row-level security policy for table "economic_and_stock_data"', 'code': '42501', 'hint': None, 'details': None} Traceback (most recent call last): File "C:\Users\dbsxo\OneDrive\Desktop\banbu-stocktrading-final\app\services\economic_ service.py ", line 204, in update_economic_data_in_background supabase.table("economic_and_stock_data").insert(insert_dict).execute() File "C:\Users\dbsxo\AppData\Local\Programs\Python\Python312\Lib\site-packages\postgrest\_sync\request_ builder.py ", line 96, in execute raise APIError(dict(json_obj)) postgrest.exceptions.APIError: {'message': 'new row violates row-level security policy for table "economic_and_stock_data"', 'code': '42501', 'hint': None, 'details': None} ERROR: Traceback (most recent call last): File "C:\Users\dbsxo\OneDrive\Desktop\banbu-stocktrading-final\app\services\economic_ service.py ", line 204, in update_economic_data_in_background supabase.table("economic_and_stock_data").insert(insert_dict).execute() File "C:\Users\dbsxo\AppData\Local\Programs\Python\Python312\Lib\site-packages\postgrest\_sync\request_ builder.py ", line 96, in execute raise APIError(dict(json_obj)) postgrest.exceptions.APIError: {'message': 'new row violates row-level security policy for table "economic_and_stock_data"', 'code': '42501', 'hint': None, 'details': None} During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\dbsxo\AppData\Local\Programs\Python\Python312\Lib\site-packages\starlette\ routing.py ", line 648, in lifespan async with self.lifespan_context(app) as maybe_state: ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\dbsxo\AppData\Local\Programs\Python\Python312\Lib\ contextlib.py ", line 210, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\dbsxo\AppData\Local\Programs\Python\Python312\Lib\site-packages\fastapi\ routing.py ", line 240, in merged_lifespan async with original_context(app) as maybe_original_state: ^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\dbsxo\AppData\Local\Programs\Python\Python312\Lib\ contextlib.py ", line 210, in aenter return await anext(self.gen) ^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\dbsxo\OneDrive\Desktop\banbu-stocktrading-final\app\ main.py ", line 18, in lifespan await startup() File "C:\Users\dbsxo\OneDrive\Desktop\banbu-stocktrading-final\app\ main.py ", line 48, in startup await update_economic_data_in_background() File "C:\Users\dbsxo\OneDrive\Desktop\banbu-stocktrading-final\app\services\economic_ service.py ", line 251, in update_economic_data_in_background raise Exception(f"경제 데이터 업데이트 중 오류: {str(e)}") Exception: 경제 데이터 업데이트 중 오류: {'message': 'new row violates row-level security policy for table "economic_and_stock_data"', 'code': '42501', 'hint': None, 'details': None} ERROR: Application startup failed. Exiting.

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
구구구구 댓글 3 좋아요 1 조회수 76

Kaggle 노트북(predict.ipynb) 관련

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

선생님 안녕하세요! Kaggle 노트북(predict.ipynb) 관련해서 문의 드립니다. 강의에서와 같이 Supabase URL/Key를 Kaggle의 Secrets 기능에 등록했는데요, 막상 노트북이 실행될 때마다 Kaggle 웹사이트에서 소스를 열어보면 Secrets가 아니라 실제 키 값이 노트북 코드에 그대로 박혀서 올라가는 현상을 발견했습니다. 클로드 한테 확인했더니 아래와 같이 설명해주었는데요. - app/services/ml_trigger_ service.py 의 push_kernel()이 Kaggle에 push할 때마다, predict.py 원본 코드를 읽어서 .env의 실제 SUPABASE_URL / SUPABASE_KEY(또는 SUPABASE_SERVICE_ROLE_KEY) 값을 노트북 첫 셀에 os.environ[...] = '실제값' 형태로 직접 주입한 뒤, 그렇게 만들어진 predict.ipynb를 push합니다. - 코드 주석에 따르면, 이렇게 우회한 이유는 "Kaggle Secrets(UserSecretsClient)가 API(kaggle kernels push)로 만든 커널에서는 'Connection error'로 실패한다" 는 걸 실측 확인했기 때문이라고 되어 있습니다. 즉 Kaggle 웹 UI에서 직접 만든 커널이 아니라 API로 push한 커널에서는 Secrets 기능 자체가 안 먹혀서, 그 대안으로 값을 직접 박아 넣는 방식을 쓰고 있는 구조였습니다. - 실제로 predict.py 에도 1순위로 os.environ에서 값을 읽고(=주입된 값), 값이 없을 때만 2순위로 Kaggle Secrets(user_secrets.get_secret(...))를 시도하도록 되어 있어서, 제가 등록한 Secrets는 지금 구조에서는 거의 항상 안 쓰이고 있는 상태였습니다. - 제가 Kaggle Secrets 등록 자체는 Kaggle 노트북 편집 화면의 Add-ons → Secrets 메뉴로 등록했고, 이름도 SUPABASE_URL / SUPABASE_KEY(및 SUPABASE_SERVICE_ROLE_KEY)로 코드와 동일하게 맞췄습니다. 제가 여쭤보고 싶은 건: 1. 혹시 제가 Secrets 등록 과정이나 코드 설정(.env, kernel-metadata.json 등)에서 뭔가 빠뜨리거나 잘못한 부분이 있어서 이런 현상이 생긴 걸까요? ㅠㅠ 2. 이게 강의에서 의도하신 정상적인 설계(=Kaggle Secrets는 폴백용이고, 실제로는 매번 키를 직접 주입하는 방식)가 맞는지 확인 부탁드립니다. 감사합니다. 참고 1 : 캐글 실행시 마다 재생성된 predict.ipynb 파일 참고 2 : 캐글 노트북 참고 3 : 캐글 시크릿키 등록

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
yundyo 댓글 2 좋아요 1 조회수 57

git bash .env

미해결

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

slack 테스트를 해볼려고 하는데 헬로를 어떻게하면 나오게 하나요? 글을 복사해서 제꺼 url로 바꿔바도 안되요 .env에 slack_webhook_url 을 적는게 없어요 git bash 에도 붙여넣기가 안되요

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
무무 댓글 1 좋아요 1 조회수 60

알파벤티지 sleep(5) 관련 문의

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

선생님 안녕하세요! 알파벤티지 api 호출 관련 문의드립니다. 강의 내용만 듣고 문의드립니다.(알파벤티지 호출 실행 안해본 상황) 알파벤티지 무료플랜이 분당 5회 제한으로 알고있는데, sleep을 5초로 하는 경우 분당 최대 10~12회 호출이 될것으로 예상이되는데요, sleep을 최소 12 이상으로 설정하는게 맞지 않나 싶어서 문의드립니다.

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
yundyo 댓글 2 좋아요 1 조회수 74

실전 계좌에서 운영하고 계신 분 계신가요?

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

지난 한달 동안 모의 계좌에서 테스트를 했습니다. 기대한만큼의 성과를 확인하긴 했는데, 막상 실계좌로 테스트를 하려니 두려움과 망설임이 있네요. 등락이 있긴 합니다만, 최근 한달 간 비교적 상승 구간에 있었기도 했고요. 아무래도 상승장 보다는 하락장에서 얼마만큼 대처해줄 수 있을지가 궁금한데, 미국 주식이다보니 테스트에 들어가는 비용이 커 조심스럽습니다. 먼저 운영해 보신 선배님들의 경험담 있으시면 부탁드려 봅니다.

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
Taihak Kim 댓글 2 좋아요 1 조회수 71

클로드

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

제 컴퓨터가 윈도우 10이라서 클로드가 작동을 안하고 커서만 작동이 가능한데 이럴때는 어떻게 해야되나요

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
무무 댓글 2 좋아요 1 조회수 63

pip install -r requirements.txt

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

pip install -r requirements.txt 라고 터미널에 적었는데 이렇게 떠요 pip : 'pip' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로 그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + pip install -r requirements.txt + ~~~ + CategoryInfo : ObjectNotFound: (pip:String) [], Command NotFoundException + FullyQualifiedErrorId : CommandNotFoundException

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
무무 댓글 2 좋아요 0 조회수 66

명령 프롬프트

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

C:\Users\USER>git clone https://gitlab.com/banbu3/banbu-stocktrading-final.git 'git'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. C:\Users\USER> 처음부터 소스코드 복사해서 다운받으려고 하는데 저렇게 뜨는데 어떻게 해야 되나요

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
무무 댓글 2 좋아요 0 조회수 64

smithery filesystem mcp server

미해결

베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신

안녕하세요. mcp server 등록 하는 부분 강의를 듣고 있는데, smithery 사이트가 강의와 다른거 같아요...filesystem mcp server도 검색이 불가하고요

  • python
  • 딥러닝
  • 빅데이터
  • FastAPI
  • 데이터-엔지니어링
이승욱 댓글 2 좋아요 0 조회수 61

supabase url, key 값 확인방법

해결됨

베개 투자법: 자면서 돈 버는 AI 주식 자동 매매 머신

외부 api 연동을 위한 설정을 진행하는 과정에서, 영상에서와는 달리 supabase에서 connect 버튼 클릭 시 app framework를 찾을 수가 없습니다....페이지가 업데이트 된거 같은데..어디서 확인할 수 있을까요

  • python
  • 딥러닝
  • 빅데이터
  • FastAPI
  • 데이터-엔지니어링
이승욱 댓글 3 좋아요 1 조회수 99

MLOps Engineer가 되려면 뭘 쌓아가야 할까요?

미해결

FastAPI 완벽 가이드

안녕하세요 강사님! 항상 수업 잘 듣고 있습니다. 저는 그간 데이터 분석가를 꿈꾸며, 강사님의 "머신러닝 완벽가이드", "tensorflow cnn", "pytorch cnn", "transformer 구현 ~", "fastapi 완벽가이드", "kaggle ~" 강의를 몇번이고 들으며 익혀왔습니다. "내가 만든 인공지능 모델이 과연 어떻게 쓰일까"에 대해서 고민하다가 fastapi까지 공부했는데요. 이제는 Data Engineering이나 MLOps Engineering 쪽으로 취업하고 싶다고 결정하여 어떻게 어디서부터 공부할지 막막합니다. 찾아보니 사실상 Data Scientist가 하는 업무를 제외하고 배포가 되는 과정까지를 다 할줄 알아야 하고, 요구하는 기술적 요건도 많아보였습니다.(docker, fastapi, vllm, kafka, airflow 등등..) 이에 강사님께서 제가 앞으로 MLOps쪽으로 간다면 어떤 것을 공부하면 좋을 것 같은지, 대학원을 생각해보는게 좋을지 등을 추천해주셨으면 좋겠습니다.. 강사님 강의만 거의 들어온 상태라서 저 강의에 나온 내용을 제외하면 아무것도 모른다고 가정해주시면 감사하겠습니다 !

  • python
  • sql
  • sqlalchemy
  • FastAPI
jcy4023 댓글 3 좋아요 1 조회수 83

slack 알림 연동 강의 관련

해결됨

베개투자법 완성: 아침이 설레는 AI 주식 완전 자동매매 Claude 바이브코딩

질문 내용은 첨부 캡쳐와 같습니다.

  • python
  • 머신러닝
  • aws
  • FastAPI
  • 퀀트
  • cloud-computing
  • claude
박영준 댓글 2 좋아요 1 조회수 81

인기 태그

인프런 TOP Writers

주간 인기글