Deep Q-Learning algorithm에 대하여 target Q와 Q 학습 과정에서 Q값이 학습되면 행동도 target Q와 Q가 같아 지는게 잘 이해되지 않습니다. 처음에는 각각의 서로 다른 행동의 Q값들이 각각의 행동별 Target Q에 동시 학습되는 것으로 이해를 하였는데, 그런게 아닌거 같습니다.
안녕하세요, Langchain RAG 강의 잘 듣고 있습니다. 데이터셋이 방대해질 경우 분명 시간이 지나면서 이제는 사용되지 않은 정보 구식의 정보라고 해야할까요? 그런 것들이 생기는데, 그런 데이터들은 어떻게 필터가 되는지 궁금합니다. 예) Python 2.xx 버전 문서 저장 Python 3.xx 버전으로 신규 업데이트 분명 검색을 할 때 동일하게 겹치는 내용이라면 1번과 2번 모두 가져올 것 같은데요! 이 경우 최신 버전으로만 불러올 수 있게 가능한가요??
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
- 강의 영상에 대한 질문이 있으시면, 상세히 문의를 작성해주시면, 주말/휴일 제외, 2~3일 내에 답변드립니다 (이외의 문의는 평생 강의이므로 양해를 부탁드립니다.) - 강의 답변이 도움이 안되셨다면, dream@fun-coding.org 로 메일 주시면 재검토하겠습니다. - 괜찮으시면 질문전에 챗GPT 와 구글 검색을 꼭 활용해보세요~ - 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요. 강의 예제를 학습 할 때, 연습 파일명이 구분이 잘안되어서.... 강의를 보며, 학습할 때는 괜찮은데, 넘버링으로 체계적으로 정리가 안되니, 리뷰하기가 힘든 것 같습니다 ㅠ
안녕하세요? 2일차 2-2 실습_회귀_모델링에서 마지막 평가부분에서 결과가 아래처럼 나오는데요 MSE : 31.6591796875 MAE : 4.914498329162598 MAPE : 127302268616704.0 MAPE 가 매우 큰값이 나왔는데 이게 맞는건가요? 강사님이 주신 코드를 그대로 실행해 봐도 매우 큰값이 나오던데 이렇게 큰값이 나와도 괜찮은건가요?
강의에서는 비동기적으로 engine을 만들때, 아래 처럼 engine = create_async_engine( DATABASE_URL, echo=True, future=True, # SQLAlchemy 2.0 # encoding="utf-8" ) 했는데.... poolclass=QueuePool를 사용하여, DB 연결을 풀링하여 재사용하는 것이 도움이 될 듯한데... 강의에서는 언급이 없으셔서, AI에게 물어봤더니... " FastAPI에서 create_async_engine 과 함께 QueuePool 을 사용하는 것은 비동기 데이터베이스 연결을 효율적으로 관리하기 위함 입니다. QueuePool 은 데이터베이스 연결을 풀링하여 재사용함으로써, 매번 새로운 연결을 생성하고 종료하는 오버헤드를 줄여줍니다. 특히 FastAPI와 같이 비동기 요청을 처리하는 환경에서는 여러 연결을 동시에 관리해야 하므로, 풀링은 성능 향상에 큰 도움이 됩니다." 이렇게 답을 주고... from sqlalchemy.ext.asyncio import create_async_engine from sqlalchemy.pool import QueuePool DATABASE_URL = "your_database_url" # 예: postgresql+asyncpg://user:password@host:port/database engine = create_async_engine( DATABASE_URL, poolclass=QueuePool, pool_size=10, # 풀에 유지할 연결 수 max_overflow=20, # 풀 크기가 초과될 때 허용할 추가 연결 수 pool_recycle=3600, # 초 단위로 연결을 재활용할 시간 (초과 시 재연결) echo=True # SQL 실행 로그 출력 (디버깅용) ) # 이후 엔진을 사용하여 데이터베이스 작업 수행 예시코드로 이렇게 주던데... 실제로, 비동기적으로 engine을 만들때에 AI의 답변처럼 도움이 되나요? 저희 강의의 코드는 아래와 같은 흐름을 타고 있던데... from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession from sqlalchemy.orm import sessionmaker, declarative_base from typing import AsyncGenerator from sqlalchemy.orm import configure_mappers configure_mappers() DATABASE_URL = "sqlite+aiosqlite:///./sql_app.db?charset=utf8" engine = create_async_engine( DATABASE_URL, echo=True, future=True, # SQLAlchemy 2.0 # encoding="utf-8" ) from sqlalchemy.ext.asyncio import async_sessionmaker AsyncSessionLocal = async_sessionmaker( engine, class_=AsyncSession, # add expire_on_commit=False, autocommit=False, autoflush=False ) Base = declarative_base() async def get_db() -> AsyncGenerator[AsyncSession, None]: session: AsyncSession = AsyncSessionLocal() print(f"async def get_db(): Session created: {session}") try: yield session except Exception as e: print(f"Session rollback triggered due to exception: {e}") await session.rollback() raise finally: print(f"async def get_db(): Closing session: {session}") await session.close()
mysql-connector-python=9.4.0으로 2025.8.17일 현재의 최신 버전을 설치했더니, engine.connect() 부터 적용이 안되던데... 이유가 궁금합니다. 왠만해서는 안될 이유가 없을 것 같은데... 희한하게 안되더라구요... 궁금해서 질문 남깁니다. 감사합니다.
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 1-10 어떤 알고리즘을 학습하고 계신가요? 1-10 2. 어려움을 겪는 부분 실제로 코테볼때 collections을 import 하지 말라는 제약조건이 있는 경우도 있는지 궁금합니다. (예전에 js로 코테볼때 fetch 말고 xhr 써야된다는 제약조건을 본적이 있어서...ㅋ) 아래 경우는 Counter에서 순회한번 해서 O(N) , for c in s 반복문 O(N) , 조건문은 딕셔너리가 해시테이블이라 O(1) O(N) + O(N) = O(N) 으로 계산했는데 맞나요? 3. 시도해보신 내용 from collections import Counter def solution(s): count = Counter(s) return next((c for c in s if count[c] == 1), "_")
아래 코드는 강사님의 git에서 가져온 코드입니다. auto // [Next.js 프로젝트] // pages/blog/index.js import { useEffect, useState } from "react"; export async function getServerSideProps(context) { // http://localhost:3000 에서의 쿠키를 API 요청에 활용 const headers = { Cookie: context.req.headers.cookie, }; console.log("headers: ", headers); const url = "http://localhost:8000/blog/whoami/"; const response = await fetch(url, { headers }); const responseText = `상태코드: ${response.status} ${await response.text()}`; // props로 전달한 값이 컴포넌트의 속성값으로 주입 return { props: { message: responseText } }; } // 웹브라우저에 코드가 다운로드된 후에 수행. function WhoamiPage({ message: messageSSR }) { const [messageCSR, setMessageCSR] = useState("no message"); // 컴포넌트 초기화 시에 1회만 실행. useEffect(() => { fetch("http://localhost:8000/blog/whoami/") .then((response) => response.text()) .then((responseText) => { setMessageCSR(responseText); }); }, []); return ( <div> <h2>whoami</h2> <pre>CSR: {messageCSR}</pre> <pre>SSR: {messageSSR}</pre> <hr /> <small>by Next.js</small> </div> ); } export default WhoamiPage; 강의에선 "fetch api 에서 config 설정도 없이 protocol host 포트 번호를 제거하고 호출합니다..."라고 말씀하셨습니다. 그런데 위 코드는 protocol + host + port 번호까지 전부 적혀 있는 상태이지 않나요? 그런 이유로 해당 코드는 localhost:3000/blog에서 CORS 오류가 발생합니다. 저 코드를 사용하신 이유를 잘 모르겠어요.
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 03_06_stack.py 어떤 알고리즘을 학습하고 계신가요? 스택 여기까지 이해하신 내용은 무엇인가요? 스택이 기존 링크드 리스트 자료구조에 기반한 알고리즘. 2. 어려움을 겪는 부분 어느 부분에서 막히셨나요? pop함수에서 self.head = self.head.next로 원래 head를 다음노드로 옮기는 부분. 코드의 어떤 로직이 이해가 안 되시나요? head가 옮겨 졌다 라는 걸로 pop 라는 개념을 표현하신 거 같은데 원래 self.head는 메모리에서 안사라진거 아닌가요? 메모리는 계속 점유하고 있을거고, 그저 head의 위치만 바꿔준 거니 표면적으로 보이기에만 pop인것 같은데 편의상 이렇게 하신건지 정말 pop이라는 개념 자체가 제거가 아닌 head를 옮기는 개념인건지 잘 모르겠습니다. 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊