middleware - request와 함께 작동하는 함수 (요청이 처리되기전 작동함) - response를 반환하기 전에도 작동 call next - request를 패래미터로 받음 - 그런다음, request를 path operation에 전달 - response를 상응하는 path operation에 반환 DB dependency - 함수를 사용하여 한개의 request가 db에 한 thread이상 상호작용을 할 수 있음 - 그래서 한 request에 대해서 의존성을 주입하여 각각의 request가 자기자신만의 DB connection을 가질 수 있음 SQLalchemy에서 session - DB 파라미터에 타입을 선언함 SessionLocal - 데이터베이스 세션 - 생성할때 session mak..
클래스 외부 오브젝트 = 오브젝트 함수 = 함수 변수 = 변수 클래스 내부 (메모리 영역이 다름) 오브젝트 = 인스턴스 함수 = 메소드 변수 = 클래스변수 또는 인스턴스변수 프로그램을 실행하면 프로그램 정보가 메모리에 할당되고 프로그램에서 사용하는 변수들을 저장할 다양한 메모리 공간이 필요하다 1. 코드(code) 영역 2. 데이터(data) 영역 3. 스택(stack) 영역 4. 힙(heap) 영역 CPU는 프로그램 코드를 가져와 메모리를 관리하고 명령문(function, method)을 실행한다.
제너레이터 파이썬에서 고성능이면서도 메모리를 적게 사용하는 반복을 위한 방법(PEP-255) 모든 제너레이터 객체는 이터러블(iterable) -- for루프와 같이 사용 제너레이터 표현식 제너레이터를 사용하면 많은 메모리를 절약할 수 있음 제너레이터는 이터레이터이므로 리스트나 튜플, 세트처럼 많은 메모리를 필요로 하는 이터러블이나 컨테이너의 대한이 될 수 있음 컴프리헨션에 의해 정의될 수 있는 리스트나 세트, 사전처럼 제너레이터도 제너레이터 표현식으로 정의할 수 있음 [ x**2 for in range(10) ] ( x**2 for x in range(10) ) sum( x**2 for x in range(10) )
read_excel data_frame: DataFrame = pd.read_excel("C:\\example\\ex.xlsx") excel 파일을 읽어오기 header data_frame: DataFrame = pd.read_excel("C:\\example\\ex.xlsx", header=[0,1,2,3]) 음식 떡볶이 샐러드 불고기 파스타 컬럼이 (떡볶이, 샐러, 불고기, 파스타)가 됨 stack body_dataframe : DataFrame = body_dataframe.stack(level=[0,1,2]) >>> df_multi_level_cols1 weight kg pounds cat 1 2 dog 2 4 >>> df_multi_level_cols1.stack() weight cat kg 1..
파이썬의 데코레이터 데코레이터(decorater)는 데코레이터 이후에 나오는 것을 데코레이터의 첫 번째 파라미터로 하고 데코레이터의 결과 값을 반환하게 하는 문법적 설탕(syntax sugar)이다. ※데코레이터라는 이름은 래핑된 함수의 기능을 수정하고 확장하기 때문에 정확한 이름이지만, "데코레이터 디자인 패턴"과 혼동하면 안된다. 함수 데코레이터 함수에 데코레이터를 사용하면 어떤 종류의 로직이라도 적용할 수 있다. 파라미터의 유효성을 검사하거나 사전조건을 검사하거나, 기능 전체를 새롭게 정의할 수도 있고, 서명을 변경할 수도 있고, 원래 함수의 결과를 캐시하는 등의 작업을 모두 할 수 있다. #decorator_function_1.py class ControlledExeption(Exeption): ..
[FastAPI] 현대적이고, 빠르고, 파이썬 표준 타입 힌트에 기초한 python 3.6+ 의 API를 빌드하기 위한 웹 프레임워크 설치하기 pip install fastapi pip install uvicorn 테스트용 소스코드 from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"} 실행 python3 -m uvicorn main:app --reload --host=0.0.0.0 [pydantic] FastAPI에서 Type Hints를 사용하는 것 *Type Hints: 파라미터 값이 어떤 자료형이 들어와야 하는지 코드상에서 명시하는 것 *pydantic은 p..