코딩/Django

특강 정리

김은수2 2023. 4. 19. 18:09

1일차 퀴즈

파이썬 코루틴.

ayncio

pipenv

poetry

 

파이썬 코루틴

 

서브루틴 , 코루틴 

루틴은 일반적으로 하나의 스레드에서의 실행흐름

서브루틴 '종속적인 루틴'을 의미 

코루틴 코는 같이 라는 의미를 의미 협력적으로 실행되는 루틴을 의미

비동기 처리 비동기 프로그래밍 <<<< 코루틴

 

동기 처리: 순차 처리 방식

비동기 처리: 여러 작업 동시 처리

 

코루틴

 

실행중인 함수를 잠시 중단하고 나중에 실행을 재생하는 기능

 

yield: 이걸 만나면 함수를 중단해라( 값을 반환)

next: 다음 yield를 만날 때까지 코루틴 재개

send: 코루틴에 값 전달하기 :다시 실행, yeild의 반환값이 send의 인자가 ㅗ딤

 

 

비동기 프로그래밍을 위한 라이브러리 코루틴 이용: asyncio

 

async

await 다른 코루틴의 실행의 완료를 기다림 

 

임포트 랜덤을 했는데 파일이름이 랜덤.py 이거 안됨 .. 

패키지 관리 기법 

 

Module vs Package vs Library

 

pip env

poetry  의존성 관리를 위한 도구 

 

requirements.txt 의존성관리를 위한 도구 근데 이게 단점이 있어서 위에 두개를 쓴다.

 

모듈은 파이썬으로 정의된 파일 실행가능한 파이썬 파일

모듈이 모여서 패키지, 패키지가 모여서 라이브러리

패키지는 모듈의 집합 .모듈이름 /이름공간/ ex .views

라이브러리는 미리 준비된 모듈 패키지

 

random.randint

 

파이썬 표준 라이브러리 문자열 내장함수, 등등

 

파이썬 패키지 인덱스 PyPI

 

pip 파이썬 패키지 관리자 매니지먼트 시스템

 

pip install Package

pip search Package

 

pip freeze 패키지와 버전들의 목록들을 확인하고 

 

외부라이브러리 관리 == 의존성 관리

어떤 버전 / 어떤 패키지가 쓰였는가

어떤 버전 / 어떤 패키지가 쓰일 수 있나

 

pip freeze > requirements.txt 

 

가상환경,

 

pip install -r requirements.txt

 

문제의식

 

배포용 패키지 < 개발용 패키지 = 실수 발생

패키지 trackind이 어려움

패키지의 의존성 관리가 어려움

 

pip uninstall 을 하면 하나만 없어짐 딸려오는 애들 남아있음..;;

 

파이썬은 가상환경이 많다.

 

virtual enviroment

conda enviroment  통일되지 않은 패키지관리자와 가상환경이 야기할 수 있는 문제

 

이런 문제들을 해결할 수 있는것

 

pipenv : basic usage

 

pipenv install django 

Pipfile.lock 개발용과 배포용을 관리

똑같은 패키지가 설치되도록 보장 스냅샷 생성

 

pipenv install --dev 개발용 

pipenv graph 의존성 패키지들을 보여줌 

 

기존 문제의 해결

 

poetry install 

poetry.lock 

 

모든 팀원들이 똑같은 가상환경이 생성

poetry shell 

poetry add django

poetry search 

poetry show  설명

poetry show --tree  트리

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'코딩 > Django' 카테고리의 다른 글

토큰 세션 특강  (0) 2023.04.21
장고  (0) 2023.04.20
장고 레스트 프레임워크  (0) 2023.04.19
장고 프레임워크에 대한 고찰  (1) 2023.04.17
Django 모델 설계  (0) 2023.04.12