내일배움캠프 25일차
[오늘 한일]
- 알고리즘 문제풀이
- 장고 심화강의 수강
- 선발대반 강의 수강
[오늘 배운점
<선발대반 특강 요약>
- 코루틴(co+routine)은 협력적으로 실행되는 루틴이다.
- 비동기 식 처리방법의 작성법이다.
실행중인 함수를 잠시 중단하고 마저 메인 동작을 동작하는 식의 처리다.
yield, next, send등이 주요 코드이다.
- asyncio는 비동기 프로그래밍을 위한 라이브러리다.
async, await, run 등이 주요 코드이다.
- 자세히 배우기는 아주 방대한 개념이다.
- 패키지 관리. pip requirements.txt는 단점이 많다.
의존관계 파악과 삭제 시 dependencies를 모두 지우기가 어렵다.
- pipenv와 poetry가 대안이다.
※ 모듈, 파이썬으로 정의된 파이썬 파일.
패키지, 모듈의 집합
라이브러리, 미리 준비된 모듈과 패키지다.
※ 파이썬 파일이름을 가져다 쓸 모듈이름과 같게 만들면 안된다.
그럼 예상외의 오류가 난다.
(오늘 강의 듣는중에 예제를 이렇게 작성했었는데,
AttributeError: partially initialized module 'asyncio' has no attribute 'run' (most likely due to a circular import),
에러가 나왔다. 속성에러가 나온 모습.)
그래서 보통 파일 이름을 사용 될법한 모듈의 이름으로 짓지 않는다.
import asyncio
import random
예컨대 이렇게 두개 모듈을 임포트 한다면
해당 파일을 저 두개 이름으로 작성하면 안된다.
결론, 코드를 작성하며 여러 이름을 짓는 것에는,
다 불문율과 노하우가 있는것 같다.
익숙해지기 위해서 알게되는대로 유의하면서 코드를 적어야 겠다.
<dotenv로 장고 시크릿키 제외하기>
<기본 이미지 정하기>