
중고급 SQL과 실전 데이터 분석 101 문제 풀이
₩69,300
초급 / SQL, MySQL, DBMS/RDBMS
5.0
(4)
중고급 SQL을 익히고, 현업 수준의 실전 데이터 분석 문제 101 가지를 함께 풀며, 탄탄한 SQL 데이터 분석 역량을 다집니다.
초급
SQL, MySQL, DBMS/RDBMS
잔재미코딩, Dave Lee
주요 경력: 쿠팡 수석 개발 매니저/Principle Product Manager, 삼성전자 개발 매니저 (경력 약 15년)
학력: 고려대 일어일문 / 연세대 컴퓨터공학 석사 (완전 짬뽕)
주요 개발 이력: 삼성페이, 이커머스 검색 서비스, RTOS 컴파일러, Linux Kernel Patch for NAS
저서: 리눅스 커널 프로그래밍, 리눅스 운영 체제의 이해와 개발, 누구나 쓱 읽고 싹 이해하는 IT 핵심 기술, 왕초보를 위한 파이썬 프로그래밍 입문서
풀스택/데이터과학 관련 무료 자료를 공유하는 사이트입니다.
IT 학습에 도움이 되는 팁/ 짧은 무료 강의를 공유하고자, 조금씩 시작하고 있습니다~
최신 현업과 IT 강의를 병행하며, 8년째 꾸준히 견고한 풀스택과 데이터과학 강의를 만들고 있습니다.
안녕하세요. 잔재미코딩 Dave Lee 입니다.
저는 현재 이커머스 기업(C사)에서 기획자겸 개발자로 근무하면서, 6년간 검증된 IT교육스타트업과 함께, 좋은 IT강의를 만들고 있습니다. 비전공자에서 시작하여, 시스템 소프트웨어부터 플랫폼, 웹, 앱, 그리고 데이터 사이언스까지, 그리고 기획자와 개발자로 다양한 업무를 진행하였습니다.
단순히 개발자로써의 경험과는 다른 이런 특별한 경험이, 좋은 강의를 기획하고, 강의를 진행하는데에도 녹여져 있다고 보시면 좋을 것 같습니다.
제가 커리어를 준비할 때를 생각해보면, 누군가 미리 이런 다양한 경험을 한 멘토가 있었다면, 훨씬 좌충우돌하지 않고, 지름길을 갈 수 있었지 않았을까? 그렇다면 지금 더 좋은 경험을 할 수 있지 않았을까 생각을 합니다.
현업에서는 개발자도 굉장히 다양한 분야가 있고, 최근에는 데이터 관련 분야도 폭발적으로 늘어나고 있는 추세입니다. 또한 여기에 기존과는 달리, 갈수록 세부 분야에만 국한되지 않고, 다양한 분야를 넓게 이해하고 있는, 소위 T자형 인력을 많이 원하고 있습니다. 또한 기술분야도 한가지 기술만 사용하기 보다, 다양한 기술을 사용하는 추세로 변화하고 있습니다.
이런 환경은 비전공자에게도 자신만의 경쟁력을 키울 수 있는 기회가 될 수 있습니다. 또, 전공자분들도 다양한 기술을 이해하려는 학습/준비 전략을 세워보는 것도 좋을 것 같습니다.
6년간 많은 IT개발자 지원자를 대상으로 강의한 경험과, 저만의 특별한 다양한 경험을 기반으로, 각자의 기존 경력/경험을 살리는 커리어 선택과 학습 로드맵을 만들어보는데, 도움을 드립니다.
또한, 온라인 강의 및 SSAFY(삼성 SW 아카데미) 및 SW마에스트로등에서도 기술 면접, 코딩테스트, CS지식 강의를 제공한 경험을 기반으로 실질적인 면접 준비도 도와드립니다.
- 멘토링은 zoom 을 통한 화상 미팅 형식으로 진행합니다.
- 특정 기능 구현 요청등의 코드를 작성해드리는 멘토링은 진행하지 않습니다.
● 강사 소개
● 멘토링 분야
- 각자의 커리어 개발 및 학습 로드맵 설정
- 기술 면접, 코딩테스트, CS지식 관련 실질적인 면접 준비
● 진행방식
- Zoom을 이용한 1:1 화상회의 방식 ( ☞ 클릭 : Zoom 다운로드 )
- 예약이 되면 기재하신 연락처를 통해 접속주소를 알려드립니다.
- 상호 원활한 대화를 위해 " 이어폰과 마이크 혹은 헤드셋" 을 준비해 주세요!
- 마이크가 없을 경우 채팅창으로 대화를 나눠야하는데 시간 Loss가 발생할 수 있습니다.
● 준 비 물
- 질문할 내용 list 및 이력서 (필요시)
- 노트북
중고급 SQL과 실전 데이터 분석 101 문제 풀이
₩69,300
초급 / SQL, MySQL, DBMS/RDBMS
5.0
(4)
중고급 SQL을 익히고, 현업 수준의 실전 데이터 분석 문제 101 가지를 함께 풀며, 탄탄한 SQL 데이터 분석 역량을 다집니다.
초급
SQL, MySQL, DBMS/RDBMS
처음하는 파이썬 백엔드 FastAPI 부트캠프 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]
₩69,300
초급 / FastAPI, Python, backend, MVC, SQLAlchemy
4.8
(22)
최신 풀스택과 백엔드를 위해 쉽고 성능도 빠른 FastAPI, 쉽게 차근차근 백엔드 개념부터 FastAPI 핵심 문법과 비동기 데이터베이스 활용까지 깔끔한 자료와 프로젝트로 정리할 수 있는 강의입니다.
초급
FastAPI, Python, backend
처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)
₩79,200
초급 / Flutter, Firebase, firestore, dart, frontend
4.8
(18)
본 강의는 dart 프로그래밍 기초부터 Flutter 기본 및 중급 기능, 심지어 백엔드인 Firebase를 연동하여, 실제 프로젝트까지! Flutter를 단계별로 익힐 수 있는 완성도 높은 강의입니다.
초급
Flutter, Firebase, firestore
처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
₩77,000
초급 / 딥러닝, PyTorch, 머신러닝, 인공신경망, Vision Transformer
4.9
(62)
강사가 처음 딥러닝을 익혔을 때 실패했던 경험을 바탕으로 딥러닝 이해에 필요한 수학, 이론, 파이토치 기반 구현, 전이학습, GPT 핵심 트랜스포머까지 차근차근 익힐 수 있도록 새롭게 꾸민 강의입니다.
초급
딥러닝, PyTorch, 머신러닝
[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]
₩77,000
초급 / 머신러닝, Kaggle, Pandas, Python
4.9
(81)
강사가 처음 머신러닝을 익혔을 때, 실패했던 경험을 바탕으로, 쉽게 머신러닝을 이해하고, 실제 문제에 적용할 수 있도록 기존 강의와 다르게, 새롭게 꾸민 강의입니다
초급
머신러닝, Kaggle, Pandas
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
₩77,000
초급 / Docker, 네트워크, Linux
4.9
(192)
본 강의는 풀스택 강의 시리즈 Part3 강의로 최신 서버 기술과 도커 기술을 탄탄하게 익히는 강의입니다. 본 강의는 실질적으로 도커를 내 기술 스택에 포함시킬 수 있도록, 도커의 다양한 옵션을 한땀한땀 테스트하고, 도커를 위해 이해가 필요한 리눅스등 관련 기술도 익히고, 실제 복잡한 서비스까지 만들어볼 수 있도록 꾸몄습니다.
초급
Docker, 네트워크, Linux
질문&답변
LSTM 모델 학습 관련한 질문입니다.
안녕하세요. 답변 도우미입니다.주가 예측 모델에서 “어떤 입력을 넣었을 때, 어떤 시점의 가격을 예측하도록 모델을 학습시켰는가?”에 따라, 2일 뒤·3일 뒤 등의 예측 방식을 바꿔야 할 수도 있습니다. 여러 가지 방안이 있지만, 현재 LSTM 을 익히는 단계에서 고려해볼 수 있는 방안은 멀티스텝(Multi-step) 예측 모델 구성 입니다. 이는 2일 뒤, 3일 뒤 가격 등을 한 번에 예측하도록 모델을 설계하고 학습한다. 예를 들어, 출력 차원을 늘려서 [다음 날 종가, 2일 뒤 종가, 3일 뒤 종가] 형태로 한 번에 예측하도록 만드는 것입니다. 다만, 이 경우 데이터 전처리와 학습 방식을 다르게 구성해야 하므로, 사실상 새 모델을 만드는 셈이 됩니다. 감사합니다.
질문&답변
list함수로 리스트 선언하면 실패하는데 이유는 무엇입니까?
안녕하세요. 답변 도우미입니다.list() 함수는 “하나의 묶음(이터러블)”을 받아서 리스트로 바꿔주는 함수입니다. 예를 들어, 이미 리스트가 있는 경우에 list(['java', 'c', 'c++'])처럼 넣으면 새 리스트를 만들어줍니다.그런데 아래 코드는 문제를 일으킵니다.lang = list(jave, c, c++)list()는 한 번에 여러 값을 콤마로 넣는 방식을 지원하지 않습니다. 즉, list(‘java’, ‘c’, ‘c++’) 같은 문법은 쓸 수 없어요.c++는 파이썬에서 변수 이름이나 문자열로 쓸 수 없는 형태입니다. 문자열로 쓰려면 "c++"처럼 반드시 따옴표를 써야 합니다.결과적으로 리스트를 만들 때는 보통 대괄호 []를 쓰거나, 한 개의 리스트(또는 튜플)를 list()에 전달해야 합니다. 예를 들어,# 방법 1: 직접 대괄호로 리스트를 만든다 lang = ['java', 'c', 'c++'] # 방법 2: 이미 리스트가 있다면 list()로 감싸도 된다 lang = list(['java', 'c', 'c++'])이렇게 작성하면 에러 없이 리스트를 만들 수 있습니다! 감사합니다.
질문&답변
MSE LOSS 관련
안녕하세요.MSE 손실 함수는 수학적으로 단순한 선형 회귀 문제에서는 예측값에 대해 볼록(convex)한 형태를 띱니다. 즉, 선형 회귀에서는 최적점을 쉽게 찾을 수 있습니다. 그러나 딥러닝 모델처럼 비선형 활성화 함수(예: sigmoid, ReLU 등)를 포함한 모델에서는, MSE 손실 함수와 모델의 비선형성이 결합되어 전체 최적화 문제(모델 파라미터에 대한 함수)가 비볼록(non-convex)해지는 경우가 많습니다.즉, PDF에서 언급하는 “Regression 문제에서 MSE Loss 함수를 사용하면 함수가 non-convex 한 이슈가 있음”이라는 표현은 순수한 선형 회귀가 아니라, 비선형 모델(예: 심층 신경망)에서 MSE Loss를 적용할 경우 발생할 수 있는 최적화상의 어려움을 지적하는 것입니다.한편, 분류 문제에서는 Sigmoid나 Softmax와 같이 확률 해석에 적합한 활성화 함수와 함께 BCE Loss 또는 Cross Entropy Loss를 사용함으로써, 그에 맞는 더 부드럽고 해석하기 쉬운 손실 함수를 제공하여 최적화 과정을 원활하게 만듭니다. 만약 분류 문제에서 MSE Loss를 사용하게 되면, 출력값의 해석 및 최적화 과정에서 불필요한 비볼록성 문제를 더 악화시킬 수 있으므로, 일반적으로 권장되지 않습니다.따라서, PDF에서는 딥러닝 모델의 특성과 최적화 문제를 고려해 MSE Loss를 사용할 경우 발생할 수 있는 비볼록성 이슈를 언급한 것이며, 이는 분류 문제에 한정된 것이 아니라 비선형 회귀 모델에서도 나타날 수 있는 문제임을 강조하는 것입니다.이 부분을 좀더 명확히 하기 위해, PDF 도 다음과 같이 업데이트하였습니다.- 딥러닝 모델에서의 Regression 문제에서는 MSE loss 함수를 사용하면, 함수가 non-convex 한 이슈가 있음감사합니다.
질문&답변
test시 minibatch 사용?
안녕하세요. 우선 불편을 드려 죄송합니다.말씀하신 게 맞습니다. 제가 실수가 있었습니다. 해당 커멘트는 영상과 자료를 업데이트하도록 하겠습니다. 학습 시에 미니배치를 사용하는 이유는 주로 계산 효율성 및 메모리 관리 때문이고, 모델 파라미터는 전체 데이터셋에 대해 여러 epoch 동안 업데이트되므로 테스트 시에는 꼭 학습 때 사용한 미니배치 크기와 동일한 입력 크기를 사용할 필요는 없습니다.테스트 시에는 한 개의 데이터든 여러 데이터를 묶어서 입력하든 모델이 올바른 예측 값을 출력하도록 설계되어 있습니다. 다만, 일부 딥러닝 프레임워크에서는 평가를 빠르게 진행하거나 메모리 사용을 최적화하기 위해 배치 단위로 데이터를 처리하는 경우가 있는데, 이것은 모델의 예측 성능과는 직접적인 관련이 없습니다.즉, 미니배치는 학습 과정에서의 최적화 전략일 뿐, 평가(테스트) 단계에서는 입력 데이터의 개수에 크게 제약을 주지 않습니다.감사합니다.
질문&답변
안녕하세요 배포 관련 질문이 있습니다.
안녕하세요. 플라스크나 FastAPI 는 매우 간단합니다.기본적으로 Flask는 Spring처럼 강제된 디렉토리 구조가 없고, 개발자가 자유롭게 구조를 정할 수 있습니다. 제시해주신medel controller view static templates server.py 와 같은 구조도 Flask 앱으로 전환하여 배포하는 데 전혀 문제가 없습니다.다음과 같이 진행할 수 있습니다:requirements.txt 생성pip freeze > requirements.txt 명령어로 현재 사용 중인 패키지 목록을 기록해두면, 나중에 동일한 환경을 재현하거나 배포 환경에서 설치할 때 편리합니다.WSGI 파일 작성보통 wsgi.py 같은 파일을 만들어서 WSGI 서버(예: gunicorn)가 앱을 올바르게 임포트할 수 있도록 합니다.다만,from server.py import app 보다는from server import app 처럼 작성하는 것이 일반적입니다. 이 파일은 gunicorn이나 다른 WSGI 서버가 앱을 찾을 수 있도록 하는 역할을 합니다.Gunicorn 사용배포 환경에서 Flask 앱을 서비스할 때는 gunicorn을 많이 사용합니다. 예를 들어,gunicorn wsgi:app 와 같이 실행하여 앱을 구동할 수 있습니다.추가적으로 고려할 사항은:환경 변수 및 설정 관리개발, 테스트, 프로덕션 환경마다 다른 설정을 적용할 필요가 있으므로, config 파일이나 환경 변수를 활용하는 것이 좋습니다.애플리케이션 팩토리 패턴과 블루프린트프로젝트가 커지면 Flask의 애플리케이션 팩토리 패턴과 블루프린트를 사용하여 모듈화하는 것이 유지보수에 도움이 됩니다.요약하면, 기존 강의 구조를 그대로 유지하면서 Flask로 전환하여 배포하는 방법(즉, requirements.txt 생성, wsgi.py 작성, gunicorn으로 실행하는 방식)은 충분히 유효하며, 크게 부족한 부분은 없습니다. 참고로 도커 강의에서도 flask 와 FastAPI 로 도커로 간단히 배포하는 방법을 설명드리고 있어서 이 부분도 이후에 참고가 되실 것 같습니다. ~~~ 감사합니다.
질문&답변
주피터 노트북 마우스 스크롤? 오류
안녕하세요. 어 글쎄요... 굉장히 특이한 현상인데요 ㅎㅎ 물론 저도 알기는 어렵긴 한데요. 혹시 괜찮으시면 마우스를 다른 것으로 바꾸시거나, 터치패드를 끄시고 마우스를 사용해보시는 것은 어떠실까요? 감사합니다.~
질문&답변
'강의 준비를 위한 VSCode'에서 질문
안녕하세요. 답변 도우미입니다.넵 아나콘다 폴더로 바꾸시면 좋을 것 같습니다. 설정에서 바꾸는 것이 말씀하신대로 더 좋을 것 같고요.다음과 같은 방식으로 바꿀 수도 있어서 이 부분도 참고해보시면 좋을 것 같습니다. (다만 이 방식으로 바꿨을 때는 VS Code 오픈시마다 다른 인터프리터가 설정될 수도 있지 않을까 하는데 이 부분은 한번 확인해보셔도 좋을 것 같습니다.) VS Code에서 인터프리터 선택하기VS Code에서 파이썬 인터프리터를 설정하는 대표적인 방법은 다음 두 가지입니다.A. 상태 표시줄(Status Bar)에서 설정VS Code 하단 상태 표시줄 오른쪽에 있는 ‘Python’ 또는 ‘Interpreter’ 부분을 클릭합니다.설치되어 있는 파이썬 인터프리터 목록이 나타납니다.여기에서 Anaconda(또는 Miniconda) 환경을 선택합니다.B. 명령 팔레트(Command Palette)에서 설정Ctrl + Shift + P (macOS의 경우 Command + Shift + P)를 눌러 Command Palette를 열고,Python: Select Interpreter를 입력 후 선택합니다.표시되는 인터프리터 목록에서 Anaconda 환경(예: Python 3.x (Anaconda))을 선택합니다.감사합니다.
질문&답변
주피터 노트북 서버 만들어보기_pymysql 설치관련
안녕하세요. 우선 불편을 드려 죄송합니다.확인해본 결과, 우분투(또는 데비안 계열) 환경에서 최근 파이썬 패키지 관리를 “시스템 파이썬”과 “사용자/가상환경 파이썬”으로 엄격히 구분하면서 나타나는 증상으로 보입니다. 즉, 시스템(루트) 파이썬 환경은 apt로 설치한 파이썬 패키지만 관리하도록 하고, pip를 통한 임의 설치는 원칙적으로 막아둔 상황입니다.급히 관련 자료 업데이트 다음과 같이 하였고, 이후 급한일들이 정리되면, 영상으로도 업데이트하겠습니다. 가장 간단한 방법은 공유드린 이북 자료인 04_docker_link.pdf 파일에 다음과 같이 업데이트하였는데요. 도커 생성시 /bin/bash -c "pip install pymysql && start-notebook.py" 를 뒤에 붙여주시면 좋을 것 같습니다.# 제공한 mysql_in_docker.ipynb 파일이 있는 디렉토리에서 실행 # 2025.02 업데이트 # 다음 도커 명령에 /bin/bash -c "pip install pymysql && start-notebook.py" 추가 # 사유 # 최근 우분투 시스템 환경에서는 시스템 파이썬에 대해 pip 명령어를 직접 실행하는 것이 제한되었습니다. # 따라서, 주피터 노트북상에서 pip 명령이 실행되지 않습니다. # 이를 우회하기 위해, 도커 컨테이너 내부에서 pymysql 패키지를 강제로 설치한 후 주피터 노트북을 실행하도록 명령어를 수정하였습니다. # # 추가된 /bin/bash -c "pip install pymysql && start-notebook.py" 에 대한 이해 # # 1. /bin/bash -c "..." # - 도커 컨테이너 내부에서 Bash 쉘을 실행하여, 큰따옴표 안에 있는 전체 명령어 문자열을 한 번에 처리합니다. # # 2. pip install pymysql # - pip를 사용하여 pymysql 패키지를 설치합니다. # - 이 명령은 우분투의 시스템 환경에서 pip 사용이 제한되는 문제를 해결하기 위해 컨테이너 내부에서 강제로 실행됩니다. # - 설치 성공 시 "Successfully installed pymysql-1.1.1" 등의 메시지가 출력되며, pymysql 라이브러리가 컨테이너에 추가됩니다. # # 3. && # - 앞의 pip 설치 명령이 성공적으로 완료되면, 그 다음 명령인 start-notebook.py를 실행하도록 합니다. # - 만약 pip 설치가 실패할 경우, 이후 명령은 실행되지 않아 주피터 노트북이 실행되지 않습니다. # # 4. start-notebook.py # - pip 설치 후, 주피터 노트북(또는 주피터 랩)을 시작하는 스크립트를 실행합니다. # - 이 명령은 컨테이너 내부에서 주피터 서버를 구동시켜 웹브라우저로 접속할 수 있도록 합니다. # # 전체적으로, 이 명령은 도커 컨테이너가 시작될 때 자동으로 pymysql 패키지를 설치하고, 이어서 주피터 노트북 환경을 띄워주는 역할을 합니다. docker run --rm -d -p 8888:8888 -v /home/ubuntu/2021_LEARN:/home/jovyan/work jupyter/datascience-notebook /bin/bash -c "pip install pymysql && start-notebook.py"결과 (로그 확인)ubuntu@ip-172-31-23-174:~$ docker logs 1bb9afe30a08 Collecting pymysql Downloading PyMySQL-1.1.1-py3-none-any.whl.metadata (4.4 kB) Downloading PyMySQL-1.1.1-py3-none-any.whl (44 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.0/45.0 kB 2.9 MB/s eta 0:00:00 Installing collected packages: pymysql Successfully installed pymysql-1.1.1 Entered start.sh with args: jupyter lab Running hooks in: /usr/local/bin/start-notebook.d as uid: 1000 gid: 100 이외에 참고로 다음과 같은 다양한 방안도 있어서 이 부분도 참고만 해보시면 좋을 것 같습니다. 해결 방법(권장) 가상환경(venv) 구성 후 pip install도커 컨테이너 내부에서 다음과 같이 진행:# venv 모듈 설치(혹시 안 깔려 있다면) sudo apt-get update sudo apt-get install python3-venv # 원하는 경로에 가상환경 생성 python3 -m venv myenv # 가상환경 활성화 source myenv/bin/activate # 이후 가상환경에서 pip 설치 pip install pymysql그리고 Jupyter Notebook을 실행할 때도 이 가상환경에서 실행하도록 설정해야 합니다.혹은 이미 실행 중인 Jupyter라면, 커널을 가상환경 파이썬으로 연결해주어야 합니다.pipx를 이용한 설치pipx도 내부적으로 가상환경을 생성해주는 방식이므로, “시스템 파이썬”을 건드리지 않고 패키지를 사용할 수 있습니다.예:sudo apt-get update sudo apt-get install pipx pipx install pymysql다만, 보통 파이썬 라이브러리를 개발용으로 설치할 때는 가상환경(venv)을 더 많이 사용하므로, 특별히 pipx를 선호하지 않는다면 1) 방법을 쓰는 경우가 많습니다.도커 이미지를 직접 빌드하여 사용만약 Dockerfile이 있다면, Dockerfile 내에서 pip install을 미리 수행해두면 컨테이너가 올라올 때마다 이미 필요한 패키지가 설치된 상태가 됩니다. 예를 들어:FROM python:3.9-slim # 또는 다른 base 이미지 RUN pip install pymysql # 이후 jupyter, 기타 설정...이렇게 하면 컨테이너가 뜨는 시점에는 이미 pymysql이 설치되어 있기 때문에 따로 설치할 필요가 없어집니다.apt를 통한 시스템 패키지 설치만약 배포판(ubuntu/debian) 리포지토리에 python3-pymysql 패키지가 존재한다면, 아래처럼 설치할 수도 있습니다.sudo apt-get update sudo apt-get install python3-pymysql하지만 리포지토리에 있는 버전이 오래되어 있거나 원하는 버전이 아닐 수도 있기 때문에, 보통은 1) 가상환경을 만들어서 최신 버전의 라이브러리를 pip로 설치하는 방법이 더 유연합니다.감사합니다.잔재미코딩 드림
질문&답변
deprecated 경고는 어디서 확인할 수 있나요?
안녕하세요 답변도우미입니다. FastAPI에서 엔드포인트에 deprecated=True 옵션을 사용하면 OpenAPI 문서(예: Swagger UI, ReDoc)에는 해당 API가 더 이상 사용되지 않는다는 표시가 나타납니다.하지만, 이 옵션은 실제 HTTP 응답에 deprecation 관련 헤더나 메시지를 자동으로 포함시키지는 않습니다.즉, FastAPI는 deprecated 정보를 문서화 목적으로만 사용하며, 클라이언트에게 경고 메시지를 전달하려면 별도의 구현이 필요합니다.예를 들어, 다음과 같이 FastAPI 엔드포인트에서 직접 응답 헤더를 추가할 수 있습니다:from fastapi import FastAPI, Response app = FastAPI() @app.get("/old-endpoint", deprecated=True) def old_endpoint(response: Response): # HTTP 표준에 따른 Deprecation 및 Warning 헤더 추가 response.headers["Deprecation"] = "true" # 혹은 제거 예정일 등 구체적인 정보를 기입할 수 있음 response.headers["Warning"] = '299 - "Deprecated API, please use the new version"' return {"message": "This endpoint is deprecated"} 위와 같이 구현하면, /old-endpoint에 대한 응답에 Deprecation과 Warning 헤더가 포함되어 클라이언트에게 deprecated 상태를 알릴 수 있습니다.결론적으로, FastAPI의 deprecated=True는 문서화용으로만 사용되며, 응답에 해당 정보를 포함시키려면 개발자가 별도로 헤더나 응답 본문에 추가하는 로직을 구현해야 합니다. 감사합니다.
질문&답변
sklearn v1.5.1
안녕하세요. 참고 내용을 공유해주신 것 같은데 감사합니다~