46,200원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
kakao unauthorized open api
postman에서 restapi 키까지 넣었는데 kakao openapi가 비인가되었다고 뜹니다 ㅠㅠ 이유를 잘 모르겠네요
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
가상환경 설정
가상환경 pip 명령어 입력시, 가상환경이 아닌 기본 환경의 pip가 실행됩니다.운영체제 Macpython -m vevn myvenv #가상환경 생성 source .myvenv/bin/activate #가상환경 실행 pip install # 가상환경이 아닌 외부 환경 pip실행 ./bin/pip install #가상환경dir내부의 pip를 직접 명시하면 가상환경 pip실행어떻게 해야 가상환경이 켜져 있는 상태에서 pip 입력만으로 실행될까요ㅕ?ㅠㅠ
- 해결됨파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
local 에서 웹사이트 뜨는 것을 확인하였는데, aws lightsail 에서 프로그램 실행 시키고 ㅡ 제 local 에서 접속하려 하니 응답이 없습니다;
어떤 정보를 포함해서 질문을 올리면 좋을까요??
- 해결됨파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
깃에 나와있는 내용을 볼 수가 없습니다.
안녕하세요. 강사님현재 강사님 강의 듣고 있는 수강생 입니다.Python의 패키지 매니저 PIP 명령어 정리와 사용해당 파트 에서 0:30초에 나오는 필수적인 명령어정리되어 있는 페이지가 강사님 git 에서 보이지 않아서요.어디서 찾아 볼 수 있는 것 인가요 ?확인 부탁드리겠습니다.감사합니다.
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
코루틴 흐름에 관한 질문
안녕하세요 1-3 강의를 듣고 따라하는 중에 의문점이 들어 질문을 남깁니다. 공통 코드import time import asyncio async def delivery(name, mealtime): print(f'{name}에게 배달 완료') await asyncio.sleep(mealtime) print(f'{name}님 식사 완료, {mealtime}시간 소요') print(f'{name}그릇 수거 완료') async def main(): task1 = asyncio.create_task(delivery('경민', 1)) task2 = asyncio.create_task(delivery('윤민', 2)) #-----변경할 부분------# #await task2 #print(1) #await task1 #--------------------# if __name__ == '__main__': start = time.time() asyncio.run(main()) end = time.time() print(end-start)질문 1. create_task메서드 실행만 했을 경우 코루틴 함수의 await전까지 실행되는 이유공통 코드 실행 결과:>>> 경민에게 배달 완료>>> 윤민에게 배달 완료>>> 0.0000510...개인생각 : create_task는 실행은 하지 않고 선언만 한 것인데 await전까지 왜 실행이 되나,, 질문 2. create_task메서드의 선언 순서 고정으로 출력되는 이유#-----변경할 부분------# await task2 #print(1) await task1 #--------------------#>>> 경민에게 배달 완료>>> 윤민에게 배달 완료개인 생각: 윤민에게 먼저 배달을 해야하는 것이 아닌가 질문 3. 다음 결과의 이유#-----변경할 부분------# await task2 print(1) await task1 #--------------------# >>> 경민 배 완>>> 윤민 배 완>>> 경 식 완>>> 경 그 수거>>> 윤 식 완>>> 윤 그 수거>>> 1 개인 생각: 질문1,2의 경험 없이 생각을 해보면경민에게 배달하고 1이 출력된 다음에 윤민에게 배달을 해야하는게 아닌가 하는 의문이 듭니다.
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
파이썬 코루틴 사용하기 - aiohttp로 crawling시에 ssl error 발생
질문은 아니고, 에러가 발생하는 부분이 있어 나중에 문제를 겪고 있으신 분들에게 도움이 될 것 같아 남깁니다.https://github.com/amamov/teaching-async-python/blob/main/1-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%BD%94%EB%A3%A8%ED%8B%B4%EA%B3%BC-%EB%B9%84%EB%8F%99%EA%B8%B0-%ED%95%A8%EC%88%98/04-2-coroutine-fetcher.py위 링크에 있는 코드 입니다. # https://docs.aiohttp.org/en/stable/ # pip install aiohttp~=3.7.3 import aiohttp import time import asyncio async def fetcher(session, url): async with session.get(url) as response: return await response.text() async def main(): urls = ["https://naver.com", "https://google.com", "https://instagram.com"] * 10 async with aiohttp.ClientSession() as session: result = await asyncio.gather(*[fetcher(session, url) for url in urls]) print(result) if __name__ == "__main__": start = time.time() asyncio.run(main()) end = time.time() print(end - start) # 4.8 해당 코드 실행 시 다음의 ssl 에러가 발생합니다. 왜 그런지는 모르겠지만, requests에서는 ssl 에러가 발생하지 않는데 aiohttp에서는 발생합니다.[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)')]https://github.com/aio-libs/aiohttp/issues/955에서 확인한 방법을 적용하면 쉽게 해결이 가능합니다. ssl 검증 과정을 코드 상에서 false 처리하면 됩니다.async with aiohttp.ClientSession( connector=aiohttp.TCPConnector(ssl=False) ) as session: 전체코드는 다음과 같습니다.import aiohttp import time import asyncio async def fetcher(session, url): async with session.get(url) as response: return await response.text() async def main(): urls = ["https://naver.com", "https://google.com", "https://instagram.com"] * 10 async with aiohttp.ClientSession( connector=aiohttp.TCPConnector(ssl=False) ) as session: result = await asyncio.gather(*[fetcher(session, url) for url in urls]) print(result) if __name__ == "__main__": start = time.time() asyncio.run(main()) end = time.time() print(end - start)
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
병렬성 및 동시성 동시에 구현하는 방법 질문드립니다.
안녕하세요. 멀티 프로세싱으로 병렬적으로 처리하면서 동시에 하나의 프로세스에서 멀티 쓰레드를 통해 동시적으로 처리할 수 있다고 강의에서 넌지시 말하시고 넘어가셔서, 혹시 파이썬으로 ProcessPoolExecutor안에서 ThreadPoolExecutor를 사용하려면 어떤식으로 코드를 짜야할까요??
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
sync/async fetcher 크롤링 전체가 안됩니다.
안녕하세요.강의 04-1, 04-2 코드를 그대로 실행시키면 전체 소스 크롤링이 안됩니다.따로 설정해줘야하는 코드가 있을까요?환경은 윈도우10, Python 3.9.1 입니다.
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
강의내용 블로깅
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 강의 잘 듣고있습니다. 좋은 강의 제공해주셔서 감사합니다. 해당 내용을 처음 공부해서 좀 어려운 부분이 있는데 강의 내용을 정리하고 복습하기 위해 출처를 남기고 개인 깃허브 블로그에 강의내용을 기록해도 괜찮을까요?
- 해결됨파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
Scraping code 관련 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ---------- ---------- # 감사의 인사 안녕하세요! 먼저 좋은 강의 만들어주셔서 감사합니다. 파이썬 문법을 기본적인 것을 떼고 프레임워크와 함께 무언가 만들어볼라고 하던 찰나 FastAPI와 함께 크롤링까지 학습할 수 있어서 좋은 강의인 것 같습니다 : ) 스크랩핑의 경우, json.load 관련하여 학습하다보니 serialize 개념에서 시작하여 json.dump와 json.loads 등등 과 parser 개념에 대해 학습할 수 있어서 너무 좋았습니다. 이것저것 학습하다보니 하루가 쑤욱 갔네요... ---------- ---------- # 질문 1 먼저 구글링을 하고 나서 질문드립니다. 1) 아래 코드에서 response 앞에 await이 올 수 있는 이유 async def fetch(session, url): print(f"{os.getpid()} | {threading.get_ident()} thread | url: {url}") async with session.get(url) as response: return await response.text 공식 문서에 따르면 await 뒤에는 코루틴, 태스크 또는 퓨처가 와야한다고 하는데, 위 코드에서 await이 올 수 있던 것은 여기서 response가 async with session.get(url)의 alias 여서 가능한건가요??? 만약 그렇다면 with문은 context manager인 걸로 알고 있습니다. 자원을 할당해주고 다 사용하면 반환하는 역할인 것으로요. 그러면 이 with문이 어째서 코루틴에 속하는지 잘 모르겠습니다. ------- # 질문 2 2) html.parser 이 질문은 제가 이해한 게 맞는 건지 여쭤보는 질문입니다. beautifulsoup(html, "html.parser") code 부분에서 html을 구문분석할 parser를 "html.parser"로 정한다는 의미인가요? 그리고, HTML parser란 HTML 코드를 읽고 취해서 DOM tree 구조를 생성하는 프로그램이라 이해하면 되나요?? 이 부분은 구글링하여 학습했으나, 강사님의 내포하는 지식과 일치하는지 확인받을려는 질문입니다. ------- # 질문 3 3) await을 넣는 위치 코루틴이란 진입점과 탈출점이 여러 개인 routine인 것으로 이해했고, 그 포인트들이 await과 return으로 만들어진다고 강의를 통해 이해했습니다. 그런데, 왜 이 위치에 await을 썼는가? 라는 의문에는 쉽게 답이 나오지 않는 것 같습니다. from bs4 import BeautifulSoup import asyncio import aiohttp async def fetch(session, url): async with session.get(url) as response: html = await response.text soup = BeautifulSoup(html, 'html.parser') cont_thumb = soup.find("div", "cont_thumb") for cont in cont_thumb: print(cont.find("p", "text_thumb")) 위 코드에서 await은 response.text 앞에 있는데요. await의 위치는 작성자가 임의로 위치할 수 있는 건인지, 아니면 별도로 제가 모르는 내용이 있는 건지 알고 싶습니다. ------- #질문 4 4) config.py의 get_secret() 질문 get_secret function 매개변수 3개를 key, default_value, json_path 를 입력하셨습니다. json_path의 경우, BASE_DIR를 전역변수로 입력하셨기 때문에 함수 인자로 입력하지 않아도 인식된다고 이해하면 될까요? 또한, EnvironmenError의 내용을 보면 이 Error 설명을 보면 Base class for I/O related Errors 나와있는데, 왜 I/O 관련 에러인지 모르겠습니다. 이 Error는 key에 대한 대체값인 default_value가 없는 경우 발생되는 걸로 이해했습니다. CPU가 이 값을 읽는건데 I/O 인가요? 그리고, get_secret() 같은 함수를 작성하실 때 어떠한 흐름으로 작성하시는지 궁금합니다. 작성을 하면서 수정하시는 건지, 아니면 처음부터 이 function은 이 역할을 하고, 이 역할을 위해서 별도의 function을 만들고 라는 방식으로 하시는 건지 입문자로서 궁금합니다. ------- # 질문 5 5) 마지막 질문입니다. 이건 학습 관련 질문입니다. 이번 강의를 마치고, 운영체제와 네트워크 공부를 다시 복습하고, 자료구조와 알고리즘 공부를 할려고 하는데, 프레임워크에 대해서 학습하고 싶습니다. FastAPI를 깊이 공부할지, 아니면 Django를 학습할지 고민입니다. 인프런의 Django 강의를 결제하여 듣고 있으나, 너무 꼼꼼하셔서 그런지 강의가 heavy하네요..ㅠㅠ 어떻게 학습하시는 걸 추천하시나요??? -------------- -------------- 질문 읽어주셔서 감사합니다.
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
async def search 안에서 instance 정의 질문
안녕하세요, 다름이 아니라 "/search" route로 요청을 하는 순간 NaverBookScraper 클래스가 정의되는 것 같은데요. 만약 요청이 자주, 많이 들어온다고 가정할 경우 이러한 구조가 문제가 되지는 않나요? 요청을 할 때마다 인스턴스를 정의하는게 일반적으로 맞는 것인지가 궁금했습니다!
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
delivery 함수와 main 함수
수업 중 예시로 들어주신 코드에서 delivery 함수는 내부의 코드 순서가 보장되니 동기적으로 실행되는 것이고 main 함수에서는 delivery() 코드의 순서들이 보장되지 않아도 되니 main 함수는 비동기로 실행된다고 이해하면 될까요?
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
MonggoDB를 쓰신 특별한 이유가 있으실까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
파이썬 공식 문서 링크 확인
파이썬 공식문서 링크 클릭하면 깃허브로 연결되는데 맞나요...☆?
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
jinja2 error
jinja2를 install 하기 전까지는 잘 시행되나 jinja2를 install 하고 강사님의 가이드를 따라서 코드를 수정하고 server를 실해했을 때 아래와 같은 에러가 뜹니다. AttributeError: module 'jinja2' has no attribute 'contextfunction' 구글에 찾아보면 contextfunction는 dependency 문제라고 나오는데 install한 jinja의 버젼때문에 생긴 에러일까요? 그렇다면, 강사님의 jinja2 버젼을 알 수 있을까요? 앞으로도 jinja2가 계속 update 될텐데 해당 문제를 version을 downgrade하지 않고 해결하는 방법은 무엇인지 궁금합니다. 감사합니다~!
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
이상한 에러
한 10번쯤 돌아가다가 다음과 같은 에러가 나네요! 윈도우 11, 파이썬 3.10입니다. aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host cdn.steemitimages.com:443 ssl:default [None].
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
async 관련해서 질문입니다!
async가 붙은 함수에서는 코루틴으로 동작해서 입구와 출구가 여러개인걸로 이해하고 await가 붙은 부분에서 탈출을 할수있는걸로 이해를 했는데요. 자장면 예시를 들어주신것처럼 asyncio.gather(자장면(1), 자장면(2), 자장면(3)) 로 했으면 첫번째 집에 간후 await asyncio.sleep으로 탈출을 하고 다음집으로 넘어가고 먼저 완료된 순으로 그 이후 구문이 작동이 되는데 먼저 완료가 됬는지는 어떻게 아는걸까요..? 1,2,3일수 있고 2,3,1 일수도 있고 먼저 완료된 코루틴? 함수? 가 어떤건지 어떻게 아는지가 궁금합니다.
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
강의 내 MongoDB > Cluster가 Database Deployment로 변경되어 문의드립낟.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의 내에서 Organization > Project > Cluster 로 들어가는 것으로 보였는데, 제가 확인한 바로는 Organization > Project > Database Deployments 로 나와서 강의와 다른 부분이 있습니다. 강의 내용에서 MongoDB Project 변경이 있어 글 남깁니다! -> 다만 강의를 따라가는데, 내용이 일치하여 문제는 없습니다!
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
PyCharm으로 본강의를 구동가능한가요..?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님 안녕하세요~! 6번째 챕터 FastAPI로 웹크롤링하는 것을 잘 보고 있습니다!! 궁금한 점이 VS Code로 강의를 진행하셨는데, 혹시 파이참으로도 구동이 가능한가요..? 답변 꼭 부탁드리겠습니다~!^^
- 미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
강의를 보고 실행 중의 알 수 없는 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, 수강생입니다. 이번 강의 실습 코드를 연습 하는 중에 aiohttp 라이브러리 관련 오류가 뜨는데, 오류의 원인이나 사항에 대해 알 수 없어서 질문 드립니다. aiohttp 관련 오류 메세지는 다음과 같고, stachoverflow에서도 질문글은 다음과 같습니다. https://stackoverflow.com/questions/63347818/aiohttp-client-exceptions-clientconnectorerror-cannot-connect-to-host-stackover 제 실수가 있었나 하고, 강사님께서 제공해주신 강의 코드로 실행 해보았지만, 같은 문제로 크롤링이 되지 않았고, 코루틴을 사용하지 않은 기존 코드에서는 정상적으로 naver의 페이지가 긁어와졌습니다. 제가 실습에서 사용한 버전은 하단과 같고, 에러 사항이 해결이 되지 않아 질문드려봅니다. 감사합니다.