묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Azure Native로 나만의 GPT 만들기
pub/sub 연결하기 문의
안녕하세요. 프론트와 pub/sub 연결하는 부분 강의 듣다가 에러가 생겨 질문 드립니다ㅠ이렇게 favicon.ico 에러가 뜨면서 연결이 안되는데 어떻게 해결해야 할까요....?
-
해결됨Azure Native로 나만의 GPT 만들기
프런트와 Pub/Sub연결하기 문의
안녕하세요. 좋은 강의 잘 듣고 있습니다. 프런트와 Pub/Sub연결하기 강의를 듣고 있는데 아래와 같은 문제가 발생하였습니다. 시간 되실 때 확인해 주시면 감사하겠습니다. 빠른 시작 WebSocket API로 서비스에 연결하고 Pub/Sub 시작 -> 2개 새탭 열고 각 url 입력 후 메세지 상호작용 확인. front 소스 코드 적용 후 아래 이미지와 같이 정상적 연결 성공 뜸. front페이지 새로 고침 이 후 url 입력 한 창에서 메세지 입력하여도 front페이지개발자 도구의 console에서는 변화가 없음. data가 있는 json 메세지를 받아야 하는데 변화가 없네요. 유료강의로 상용화 가능한 azure기반 chatbot강의도 해주시면 감사하겠습니다.
-
해결됨Azure Native로 나만의 GPT 만들기
나만의 Azure OpenAI service (gpt-4o) 구성하기
조금씩이지만 열심히 따라서 구현을 해 보려고 하지만 모르는게 너무 많아 조금은 힘드네요 그래도 강의 내용이 스텝 바이 스텝으로 상세해 아주 큰 도움이 됩니다 저희 중요 업무는 고객 요구 사항들 (텍스트/ 이미지)이 기록되어 있는 문서를 참조로 현재 개발된 디자인이 모든 요구 사항들을 다 잘 지켜서 개발이 완료된 건지를 체크하는 일입니다 기존에 일일히 하나하나 체크를 하다 보니 시간도 너무 오래 걸리고 일부 경험 많은 엔지니어의 경우 기존 경험에 의존해 체크가 누락되는 경우도 발생이 되고 있습니다 이에 고객 요구 사항들을 AI (gpt-4o)에게 학습시키고 완료된 디자인 문서를 프로프팅 창에 입력해 자동으로 미지원 항목을 체크해 알려주는 기능을 만드는 것이 목표입니다 이를 위해 프롬프트 창에 디자인 문서 (텍스트/ 파워포인트/ PDF/ JPG 등) 멀티모달 프롬프팅이 되어야 디자이너 스스로 자기가 만든 디자인 파일의 셀프 체크가 가능하기에 gpt-4o를 선택해서 구현을 할려고 합니다 여기서 중요한건 비교를 해야 하는 고객 요구 사항을 어떻게 gpt-4o에게 학습시키는지에 대해 잘 몰라 난감해서 문의 드립니다 가장 효과적인 학습 방법에 대한 조언을 주실 수 있으실지요?사내 전용 우리 회사만의 GPT라면 비교 자료도 나만의 자료가 되는게 필요해서 문의 드립니다 답변 부탁 드리겠습니다감사합니다
-
미해결파이썬 API 마스터! FastAPI
강의 소스 코드
안녕하세요 강의 잘 듣고 있는데요~소스코드 자료 부탁드려도 될까요?runiarang21@naver.com여기로 부탁드리겠습니다. 감사합니다.
-
해결됨파이썬 API 마스터! FastAPI
강사님의 강의 소스코드
강의자료가 pdf외에 보이지 않습니다.강사님이 수업하면서 작성하신 완성 소스코드를 받고싶은데 어디서 받을 수 있을까요?
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
ThreadPoolExecutor 중간에 멈추는 법
선생님 안녕하세요 좋은 강의 감사합니다. 수업자료 3-3 io multi-threading.py 관련해서 질문 있습니다. 만약 fetcher 함수가 끝이 있는 함수가 아니라 while 문으로 계속 도는 (다른) 함수라고 가정하고, ThreadPoolExecutor 를 통해 2개 이상의 스레드에서 함수들을 돌린다고 했을 때 파이썬 스크립트 파일을 실행시키면 ctrl+c 를 눌러도 종료가 안되는데, 이건 왜 이러는 것이죠? 그리고 ctrl+c 를 통해 종료를 하게 하려면 어떻게 코드를 수정해야 하는지도 설명 부탁드립니다.
-
미해결처음하는 파이썬 백엔드 FastAPI 입문 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]
pydantic 2.8.2를 사용하고 있습니다
강사님 설명 열심히 듣고 있는 수강생입니다.예제를 따라 하다 보니 제 환경에서는 안되는 부분이 있어서 확인해보았습니다.저는 pydantic 2.8.2를 사용하고 있더군요pydantic 2.8.2에서는 dict() 메소드가 더 이상 사용되지 않으며 대신 model_dump()를 사용 한다고 합니다from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): # Pydantic 모델 정의 name: str price: float is_offer: bool = None @app.post("/items/") def create_item(item: Item): #return {"item": item.dict()} # Pydantic v2.x부터 dict()->model_dump()로 변경 return {"item": item.model_dump()} # Pydantic 모델을 API에 사용 사용버전에 따라 다른 것 같아서 혹시나 올려봅니다
-
해결됨Azure Native로 나만의 GPT 만들기
Azure Function 파일 이름 규칙 문의
Azure Function의 메인 파일은 function_app.py이어야 하나요?
-
미해결Azure Native로 나만의 GPT 만들기
Azure Function Deploy 실패
Azure Function Deploy가 실패하는데 원인을 모르겠습니다. ㅠ.ㅠ2:32:09 PM xbg-my-chatgpt-api: [05:31:59+0000] Collecting watchfiles>=0.13 2:32:09 PM xbg-my-chatgpt-api: [05:31:59+0000] Using cached watchfiles-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB) 2:32:09 PM xbg-my-chatgpt-api: [05:31:59+0000] Collecting python-dotenv>=0.13 2:32:09 PM xbg-my-chatgpt-api: [05:31:59+0000] Using cached python_dotenv-1.0.1-py3-none-any.whl (19 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:31:59+0000] Collecting uvloop!=0.15.0,!=0.15.1,>=0.14.0 2:32:09 PM xbg-my-chatgpt-api: [05:31:59+0000] Using cached uvloop-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Collecting websockets>=10.4 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Using cached websockets-12.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (130 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Collecting pyyaml>=5.1 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Using cached PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (757 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Collecting isodate>=0.6.1 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Using cached isodate-0.6.1-py2.py3-none-any.whl (41 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Collecting pyjwt>=2.6.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Using cached PyJWT-2.8.0-py3-none-any.whl (22 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Collecting azure-core>=1.24.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Using cached azure_core-1.30.2-py3-none-any.whl (194 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Collecting aiosignal>=1.1.2 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Using cached aiosignal-1.3.1-py3-none-any.whl (7.6 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Collecting attrs>=17.3.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:00+0000] Using cached attrs-23.2.0-py3-none-any.whl (60 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Collecting multidict<7.0,>=4.5 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Using cached multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (128 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Collecting yarl<2.0,>=1.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Using cached yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (328 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Collecting frozenlist>=1.1.1 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Using cached frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (272 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Collecting requests>=2.21.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Using cached requests-2.32.3-py3-none-any.whl (64 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Collecting six>=1.11.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Using cached six-1.16.0-py2.py3-none-any.whl (11 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Collecting idna>=2.0.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Using cached idna-3.7-py3-none-any.whl (66 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Collecting dnspython>=2.0.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:01+0000] Using cached dnspython-2.6.1-py3-none-any.whl (307 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:02+0000] Collecting typer>=0.12.3 2:32:09 PM xbg-my-chatgpt-api: [05:32:02+0000] Using cached typer-0.12.3-py3-none-any.whl (47 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:02+0000] Collecting certifi 2:32:09 PM xbg-my-chatgpt-api: [05:32:02+0000] Using cached certifi-2024.7.4-py3-none-any.whl (162 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:02+0000] Collecting anyio 2:32:09 PM xbg-my-chatgpt-api: [05:32:02+0000] Using cached anyio-4.4.0-py3-none-any.whl (86 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:02+0000] Collecting httpcore==1.* 2:32:09 PM xbg-my-chatgpt-api: [05:32:02+0000] Using cached httpcore-1.0.5-py3-none-any.whl (77 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:02+0000] Collecting sniffio 2:32:09 PM xbg-my-chatgpt-api: [05:32:02+0000] Using cached sniffio-1.3.1-py3-none-any.whl (10 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:02+0000] Collecting MarkupSafe>=2.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:02+0000] Using cached MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (28 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:04+0000] Collecting pydantic-core==2.20.1 2:32:09 PM xbg-my-chatgpt-api: [05:32:04+0000] Using cached pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:04+0000] Collecting annotated-types>=0.4.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:04+0000] Using cached annotated_types-0.7.0-py3-none-any.whl (13 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:04+0000] Collecting urllib3<3,>=1.21.1 2:32:09 PM xbg-my-chatgpt-api: [05:32:04+0000] Using cached urllib3-2.2.2-py3-none-any.whl (121 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:04+0000] Collecting charset-normalizer<4,>=2 2:32:09 PM xbg-my-chatgpt-api: [05:32:04+0000] Using cached charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (140 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:05+0000] Collecting rich>=10.11.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:05+0000] Using cached rich-13.7.1-py3-none-any.whl (240 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:05+0000] Collecting shellingham>=1.3.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:05+0000] Using cached shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:05+0000] Collecting pygments<3.0.0,>=2.13.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:05+0000] Using cached pygments-2.18.0-py3-none-any.whl (1.2 MB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:05+0000] Collecting markdown-it-py>=2.2.0 2:32:09 PM xbg-my-chatgpt-api: [05:32:05+0000] Using cached markdown_it_py-3.0.0-py3-none-any.whl (87 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:05+0000] Collecting mdurl~=0.1 2:32:09 PM xbg-my-chatgpt-api: [05:32:05+0000] Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB) 2:32:09 PM xbg-my-chatgpt-api: [05:32:05+0000] Installing collected packages: mdurl, sniffio, pygments, markdown-it-py, idna, urllib3, typing-extensions, shellingham, rich, h11, click, charset-normalizer, certifi, anyio, websockets, watchfiles, uvloop, uvicorn, typer, six, requests, pyyaml, python-dotenv, pydantic-core, multidict, MarkupSafe, httptools, httpcore, frozenlist, dnspython, annotated-types, yarl, starlette, python-multipart, pyjwt, pydantic, jinja2, isodate, httpx, fastapi-cli, email-validator, azure-core, attrs, aiosignal, fastapi, azure-messaging-webpubsubservice, azure-functions, aiohttp 2:32:09 PM xbg-my-chatgpt-api: [05:32:09+0000] Successfully installed MarkupSafe-2.1.5 aiohttp-3.9.5 aiosignal-1.3.1 annotated-types-0.7.0 anyio-4.4.0 attrs-23.2.0 azure-core-1.30.2 azure-functions-1.20.0 azure-messaging-webpubsubservice-1.1.0 certifi-2024.7.4 charset-normalizer-3.3.2 click-8.1.7 dnspython-2.6.1 email-validator-2.2.0 fastapi-0.111.1 fastapi-cli-0.0.4 frozenlist-1.4.1 h11-0.14.0 httpcore-1.0.5 httptools-0.6.1 httpx-0.27.0 idna-3.7 isodate-0.6.1 jinja2-3.1.4 markdown-it-py-3.0.0 mdurl-0.1.2 multidict-6.0.5 pydantic-2.8.2 pydantic-core-2.20.1 pygments-2.18.0 pyjwt-2.8.0 python-dotenv-1.0.1 python-multipart-0.0.9 pyyaml-6.0.1 requests-2.32.3 rich-13.7.1 shellingham-1.5.4 six-1.16.0 sniffio-1.3.1 starlette-0.37.2 typer-0.12.3 typing-extensions-4.12.2 urllib3-2.2.2 uvicorn-0.30.3 uvloop-0.19.0 watchfiles-0.22.0 websockets-12.0 yarl-1.9.4 2:32:09 PM xbg-my-chatgpt-api: WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv 2:32:09 PM xbg-my-chatgpt-api: WARNING: You are using pip version 21.2.4; however, version 24.2 is available. 2:32:09 PM xbg-my-chatgpt-api: You should consider upgrading via the '/tmp/oryx/platforms/python/3.11.8/bin/python3.11 -m pip install --upgrade pip' command. 2:32:09 PM xbg-my-chatgpt-api: Not a vso image, so not writing build commands 2:32:09 PM xbg-my-chatgpt-api: Preparing output... 2:32:09 PM xbg-my-chatgpt-api: Copying files to destination directory '/home/site/wwwroot'... 2:32:11 PM xbg-my-chatgpt-api: Done in 1 sec(s). 2:32:11 PM xbg-my-chatgpt-api: Removing existing manifest file 2:32:11 PM xbg-my-chatgpt-api: Creating a manifest file... 2:32:11 PM xbg-my-chatgpt-api: Manifest file created. 2:32:11 PM xbg-my-chatgpt-api: Copying .ostype to manifest output directory. 2:32:11 PM xbg-my-chatgpt-api: Done in 14 sec(s). 2:32:12 PM xbg-my-chatgpt-api: Running post deployment command(s)... 2:32:12 PM xbg-my-chatgpt-api: Generating summary of Oryx build 2:32:12 PM xbg-my-chatgpt-api: Deployment Log file does not exist in /tmp/oryx-build.log 2:32:12 PM xbg-my-chatgpt-api: The logfile at /tmp/oryx-build.log is empty. Unable to fetch the summary of build 2:32:12 PM xbg-my-chatgpt-api: Triggering recycle (preview mode disabled). 2:32:12 PM xbg-my-chatgpt-api: Linux Consumption plan has a 1.5 GB memory limit on a remote build container. 2:32:12 PM xbg-my-chatgpt-api: To check our service limit, please visit https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#service-limits 2:32:12 PM xbg-my-chatgpt-api: Writing the artifacts to a squashfs file 2:32:13 PM xbg-my-chatgpt-api: Parallel mksquashfs: Using 1 processor 2:32:13 PM xbg-my-chatgpt-api: Creating 4.0 filesystem on /home/site/artifacts/functionappartifact.squashfs, block size 131072. 2:32:27 PM xbg-my-chatgpt-api: Deployment failed.
-
해결됨Azure Native로 나만의 GPT 만들기
SLM을 이용한 사내 전용 AI
안녕하세요 저는 업무 상 필요에 의해 AI 활용 관련해서 이런저런 테스트를 해 보고 있는 중입니다. 개발자가 아니여서 직접적으로 개발을 수행하기에는 어려움이 있습니다. 현재 사내 가이드라인 문서들 (PDF)을 ChatGPT4o에 업로드하여 이해 시킨 후 개인 업무 진행 후 그 결과물들이 가이드라인을 얼마나 준수하는지에 대한 준수율 체크를 해 점수화 해 주는 사내 전용 AI를 도입해 보려고 강의를 듣고 있습니다만 어렵네요 ChatGPT에 pdf 파일을 올려 테스트를 해 보니 상당 수준의 검출 가능성이 있겠다는걸 확인 했습니다만 그 과정을 통해 ChatGPT가 저희 가이드라인을 학습해 다른데 활용이 될 수도 있다는 우려가 있습니다그래서 덩치가 크고 무거운 LLM 말고 SLM을 이용하여 한정된 분야에만 전문화되고 사내 전용으로 보안도 확보한 상태에서 개발할 수 있는 방법에 대해 문의 드리고 싶은데요 개인 이메일로 연락 부탁드리겠습니다 tk.lee@lge.com감사합니다
-
해결됨Azure Native로 나만의 GPT 만들기
"Azure Blob Storage 생성" 강의의 프론트 코드 질문
수업노트에 올려져있는 프론트 코드의 css가 동작하지 않는것같아서 확인해보니 Line 6,7 에 기재된 링크에 괄호 (<>) 가 붙어있어서 제거해주니 정상작동했습니다.이부분 수정이 필요한거 맞죠..? 아니면 수업노트자료 업로드 환경에서의 escape character(?) 쯤 되는것인지 궁금합니다!
-
해결됨Azure Native로 나만의 GPT 만들기
훌륭한 강의 입니다!!
너무 좋은 강의 입니다 ㅎㅎ강의 전달력도 좋고 단순 기술을 설명하기 보다 왜 이기술을 쓰는게 좋은지 논리적으로 설명해주셔서 이해가 잘되네요 ㅎㅎ앞으로도 계속 좋은 강의 부탁드립니다.사내에서 여러번 검증받고 피드백받은 흔적이 느껴지네요. 좋은 팀 좋은 회사에 계시는 것 같습니다.
-
해결됨Azure Native로 나만의 GPT 만들기
동형형 잘 들을게요
사랑해
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
몽고Db 기초 질문
안녕하세요 강사님mongoDB를 이번에 처음 사용하는데,세팅하는 과정에서 궁금한게 생겨 질문 남깁니다.저는 지금까지 mysql로 토이프로젝트를 진행했었는데요~fastAPI 기반의 프로그램을 실행시키기 전에 항상 mysql 을 구동시켜 놓았었습니다.그런데 이번 mongoDB의 경우엔, 별도로 mongoDB 를 실행시키지 않고 바로 app을 실행시키더군요 !몽고DB도 결국 별도의 프로그램이기에, webapp이 띄워지기 전에 미리 프로세스로 올라온 상태이어야할 것 같은데, 맞을까요? 그렇다면 mongoDB가 프로세스로 띄워지는 순간은 언제인가요?혹시 __init__.py 에서 connect() 함수에서 프로그램을 띄우고 연결하는 작업을 진행하는걸까요?
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
async await 문법 질문
선생님 안녕하세요좋은 강의 감사합니다. async await 등의 문법 관련해서 질문이 있습니다. 코루틴을 만들때 언제 async 나 await을 써야하는지 잘 이해가 되지 않고, 인터넷을 찾아봐도 이해가 잘 되지 않습니다. 이것을 설명하는 자료나 공식문서가 따로 있나요? 예를 들어, 4-2 코드 파일에서 # (a) 부분 async def fetcher(session, url): async with session.get(url) as response: # (b) 부분 return await response.text() # (c) 부분 async def main(): urls = ["https://naver.com", "https://google.com", "https://instagram.com"] * 10 async with aiohttp.ClientSession() as session: # (d) 부분 # (e) 부분 result = await asyncio.gather(*[fetcher(session, url) for url in urls]) "비동기 함수를 만들때 def 앞에 async 라는 것을 쓰는 것이다" 는 이해를 하겠는데,예를 들어 (b) 부분에서 with 앞에 왜 async를 써야 하는지 (함수를 정의할때 async를 썼는데 왜 함수 안의 with 절 앞에 또 async를 써줘야 하나요?) , (c)에서 response.text() 앞에 왜 await을 써줘야 하는지 (async로 정의된 함수안에는 await을 무조건 써줘야 하나요? 그럼 모든 줄에 await을 써줘야 하나요? 아니라면 await을 써주는 줄과 안써주는 줄은 어떻게 구분하죠?)(d) 에서도 왜 async를 써주는지, (e) 에서는 await을 정의해주면서 왜 그 위에 urls 를 정의할때는 안 쓴것인지 이런 문법 자체가 궁금합니다. 혹시 이런것을 설명해주는 자료나 링크도 제공이 가능할까요?
-
미해결처음하는 파이썬 백엔드 FastAPI 입문 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]
AsyncSession 질문입니다.
섹션 17. 2번째 강의에서 "signup(회원가입), login(로그인), create_memo(메모 생성)" 함수에만 db를 AsyncSession으로 사용하고,비동기 처리가 포함된 다른 함수인 "list_memos(메모 조회), update_memo(메모 수정), delete_memo(메모 삭제)" 함수에는 db를 Session으로 사용하는 것 같은데 이유가 있을까요??
-
해결됨실전! FastAPI 입문
테스트 코드 path api 에서 오류에대해 해결해주세요
def test_update_todo(client, mocker): # 200 # mocker.patch( # "main.get_todo_by_todo_id", # return_value=ToDo(id=1, contents="todo", is_done=True) # ) # undone = mocker.patch.object(ToDo, "undone") # mocker.patch( # "main.update_todo", # return_value=ToDo(id=1, contents="todo", is_done=False) # ) # # response = client.patch("/todos/1", json={"is_done": False}) # undone.assert_called_once_with() # # assert response.status_code == 200 # assert response.json() == {"id": 1, "contents": "todo", "is_done": True} # 가상 DB 생성 mocker.patch( "main.get_todo_by_todo_id", return_value=None ) # 404 # update response = client.patch("/todos/1", json={"is_done": True}) assert response.status_code == 404 assert response.json() == {"detail": "ToDo Not Found"} 여기에서 422 에러가 매칭 안된다고 나옵니다. main.py 코드는 @app.patch("/todos/{todo_id}", status_code=200) def update_todo_handler( todo_id: int, is_done: bool, session: Session = Depends(get_db) ): todo: ToDo | None = get_todo_by_todo_id(session=session, todo_id=todo_id) if todo: todo.done() if is_done else todo.undone() todo: ToDo = update_todo(session=session, todo=todo) return ToDoSchema.from_orm(todo) return HTTPException(status_code=404, detail="ToDo Not Found") 이러합니다. 똑같이 한상태이고 혹시 스키마 부분이 from_attributes = True 이걸 써서 그런겉가요?
-
미해결처음하는 파이썬 백엔드 FastAPI 입문 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]
uvicorn main:app --reload 실행 불가
강의 준비를 위한 FastAPI 개발환경 설정 uvicorn main:app --reload이 명령어를 입력하면 아래의 에러가 나는데요. python -m uvicorn main:app --reload이 명령어로 서버 실행을 하고 있는데 상관 없을지요. PATH 변수 수정을 했지만 계속 아래의 에러가 나네요. uvicorn : 'uvicorn' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오.위치 줄:1 문자:1+ uvicorn main:app --reload+ ~~~~~~~ + CategoryInfo : ObjectNotFound: (uvicorn:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
멀티 스레딩 질문..
안녕하세요 강사님 !동시성과 병렬성의 개념을 멀티스레딩과 연계시켜 이해하는게 어려워 질문 남깁니다.asyncio 의 경우에는, 싱글 스레드에서 이벤트루프를 이용해서 동시성을 구현했다는 점은 이해가 되었습니다. 그래서 asyncio는 동시성일 수 밖에 없다는 걸로 이해됩니다.이에 반해, 멀티 스레딩은 동시성일 수도 있고 병렬성일 수도 있다고 생각하는데 제가 맞게 이해한건지 헷갈립니다.저는 이렇게 이해했는데 한번 과정이 맞는지 검토 요청드립니다.우선 [c언어]로 구현된 하나의 프로세스만 띄워져 있고, 해당 프로세스가 여러 쓰레드를 생성하는 상황이라고 가정하겠습니다.이때 멀티 스레딩은, 컴퓨터 환경이 [싱글] 코어였다면, 여러개의 스레드가 결국엔 컨텍스트 스위칭되어 concurrency하게 처리될 수 밖에 없기에 이는 동시성이라고 말할 수 있고,멀티 코어였다면 여러 쓰레드가 병렬적으로 [각각의 코어]에서 처리가 될수 있기에 이런 경우는 병렬성이라고 말할 수 있을 것 같은데 맞을까요?즉, 멀티스레딩으로 구현된 프로그램을 두고 이를 동시성이라 부를지 병렬성으로 부를지는 컴퓨터환경이 싱글코어냐 멀티코어냐에 좌우되는지가 궁금합니다.만약 그런 논리라면 멀티프로세싱도 마찬가지일까요..멀티프로세싱은 병렬처리라고 생각하고 있긴했는데, 위와 같은 논리라면 싱글코어의 환경에선 여러 프로세스가 존재하더라도 결국엔 os에 의해 컨텍스트 스위칭 되면서 한순간에 하나의 프로세스만 실행되는거니까 동시성으로 전락해버리는게 아닌가..생각됩니다.
-
해결됨실전! FastAPI 입문
pytest 세팅 강좌 / cache 파일이 생성되지 않습니다.
pytest 명령어 입력 후 1 passed, 1 warning이 뜹니다. src파일 밑에 pytest_cache 파일 또한 생성되지 않습니다. 어떻게 하면 될까요?*검색을 해봤는데 httpx의 버전 문제인 것 같기도 하나,,자력으로 해결이 안됩니다,..