김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 스크린샷과 쿼리문은 다음과 같습니다. .CREATE TABLE orders ( order_id INT AUTO_INCREMENT PRIMARY KEY, customer_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, order_date DATETIME DEFAULT CURRENT_TIMESTAMP, status VARCHAR(20) NOT NULL DEFAULT '주문접수', CONSTRAINT fk_orders_customers FOREIGN KEY (customer_id) REFERENCES customers(customer_id), CONSTRAINT fk_orders_products FOREIGN KEY (product_id) REFERENCES products(product_id) );
"django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency user.0001_initial on database 'default'." Custome User Model 을 사용할 때, 그냥 migrate를 하게 되면, 위와 같은 에러가 나는 경우가 있음. (일단 저는 났음..ㅠ) ※ 해결 방법 config/settings.py에서 'django.contrib.admin' <-- 이 부분 주석처리 config/urls.py에서, path('admin/', admin.site .urls) <-- 이 부분 주석 처리 저의 경우에는 이렇게 하니까 해결되었습니다.
안녕하세요 에이블리 데이터분석가 포지션에 지원했고, SQL테스트를 대비하고자 강의를 구매해서 듣고 있습니다. 혹시 [백문이불여일타] 데이터 분석을 위한 기초 SQL [백문이불여일타] 데이터 분석을 위한 중급 SQL [백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이 이렇게 3가지 강의를 반복하면 코테 대비에 적절한지, 아니면 고급SQL까지 수강할 필요가 있는지 문의드립니다. 감사합니다. :)
mm_faster_rcnn_train_kitti.ipynb에서 공지해주신 내용으로 설치 중에, 아래 내용 수행하면 에러가 떠서 mmcv를 불러올 수 없습니다. # mmcv를 위해서 mmcv-full을 먼저 설치해야 함. https://mmcv.readthedocs.io/en/latest/get_started/installation.html 설치 과정 참조. !pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu118/torch2.0.0/index.html Building wheels for collected packages: mmcv-full error : subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> See above for output. note : This error originates from a subprocess, and is likely not a problem with pip. Building wheel for mmcv-full ( setup.py ) ... error ERROR: Failed building wheel for mmcv-full Running setup.py clean for mmcv-full Failed to build mmcv-full ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (mmcv-full)
노랭이 34번 문제 해설보면, 주어젠 <아래>로 ERD그린것을 보았는데, 시험때도 그릴 수 있어야 하나요? 그리고 <아래>로 ERD를 그렸을때 꼭 한가지 형태만 나오는건가요? 대체적으로 그렇게 생각하여 그릴 순 있지만, 경우에따라 다른 조건?(식별자?)의 형태로 그려질수도 있는건 아닌지 ... 궁금합니다.
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 문의하기를 이용해주세요. 강의 예제를 학습 할 때, 연습 파일명이 구분이 잘안되어서.... 강의를 보며, 학습할 때는 괜찮은데, 넘버링으로 체계적으로 정리가 안되니, 리뷰하기가 힘든 것 같습니다 ㅠ
김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
ifnull(인자1, 인자2) 은 인자1이 null이면 인자2를 값으로 사용한다고 설명하셨는데요. 이것을 보고 생각나는 것이 테이블 생성시에 필드에 지정하는 default 가 생각나는데요. 이 default도 필드 값이 null이면 지정한 default값을 사용하는데 그렇다면 ifnull()과 default의 차이점은 뭔가요? 당장 제 수준에서 생각나는건 ifnull()은 매 쿼리 작성할때 기본값을 유연하게 변경할 수 있다? 이정도일 것 같은데 이것말고 특별한 차이점 같은 것이 있을까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요~ 문제와 풀이2의 문제2(모든 상품 옵션 조합에 재질 추가하기)에서 선생님 실행 결과가 (사이즈) S -> M -> L -> XL 순서로 나오던데요, 제 생각에는 기본 문자열 정렬이라면 L -> M -> S -> XL 순서가 맞는 것 아닌가요? 혹시 제가 놓친 부분이 있을까요?
안녕하세요? 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 문의하기를 이용해주세요. 안녕하십니까 선생님, PDF P282 단원정리문제 28번 정답이 1번이라고 되있던데 랩탑, 모니터, 키보드 전부 포함된게 정답이 아닐지 여쭤봅니다.\\ 문제 30번도 다 합치면 15,500인데 이상한거같습니다
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 안녕하세요 영한님! 데이터베이스 입문/기본편 강의에서 GROUP BY, 집계함수, CASE 문 등을 배우고 공부하면서, DBMS에서 레코드를 읽고 표현식을 처리하는 내부 과정에 대해 관심을 갖게 되었습니다. 이번 강의에 조건부 집계 같은 나름 복잡한? 쿼리를 이해하려고 노력하면서 몇 가지 궁금증이 떠올랐습니다. 질문1) 배치 처리 방식 vs 파이프라인 처리 방식 영한님의 자바 고급편 강의에서, 데이터 요소들의 처리하는 방식에는 파이프라인 방식과, 배치 처리 방식이 있다고 하셨던 부분이 떠올랐습니다. 데이터베이스 쿼리의 논리적 순서는 FROM -> WHERE -> (GROUP BY -> HAVING -> ) SELECT -> .... 과정으로 이뤄지는데, 실제 DBMS에서는 FROM 절 -> WHERE 절 배치처리 -> SELECT 절 배치처리 이런 과정으로 이뤄지는지, 아니면 레코드 하나를 단위로 FROM -> WHERE -> SELECT 파이프라인을 거쳐 처리가 되는 것인지 궁금합니다. 질문 2) GROUP BY와 집계 함수 처리 시점 COUNT()나 SUM()과 같은 집계함수는 select 절에 존재하고, 쿼리의 논리적 순서에 따르면 GROUP BY 다음 SELECT 절이 실행되는데요. (HAVING 제외) 실제로는 GROUP BY를 실행하면서 SELECT 절에서 필요한 집계 값을 누적시키는지, 아니면 특별한 자료구조에 그룹별로 레코드를 모아두고 SELECT절 수행 시점에 집계함수 값을 얻어내는건지 궁금합니다.