Python(6)
-
VS Code에서 Python Type Check 기능 활성화
소개 python은 기본적으로 동적(dynamic)프로그래밍 언어로써 인터프리터(interpreter)가 코드를 실행하면서 Type을 추론하여 체크하기 때문에 Type이 고정되어 있지 않습니다. 하지만 Python 3.5 부터 Python에서도 Type을 체크할 수 있도록 Type Hints라는 기능이 도입되어 ㅆ습니다. 데이터형에 주석을 붙여 사용하게 됩니다. def greeting(name:str) -> str: return 'Hello' + name name:str : 인수 name의 Type이 str이라는 것을 어노테이션합니다. -> str : 함수 반환값의 Type이 str이라는 것을 어노테이션 합니다. VSCode Type Check 활성화 VS Code에서 아래와 같이 코딩을 합니다. def..
2023.04.21 -
FastAPI 실행하기
소개 이번 포스트는 FastAPI를 python 코드로 실행하고 확인하는 방법에 대해 설명합니다. 시작하기 FastAPI는 실행 방법이 두가지 있습니다. python에서 uvicorn 모듈을 사용하여 직접 실행하는 방법과 디버깅을 위해 main 함수에 uvicorn 실행 코드를 넣는 방법 입니다. 직접 실행 아래와 같이 main.py 파일에 코드를 입력 합니다. from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"} 위 코드는 FastAPI의 간단한 코드 입니다. VS Code에서 F5를 눌러 실행시키면 서비스가 실행 되지 않고 바로 종료가 됩니다. 실행 시키기 위..
2023.04.19 -
FastAPI의 Type hits
https://fastapi.tiangolo.com/ko/python-types/ Python Types란 FastAPI는 Python의 type hints를 사용합니다. python은 기본적으로 동적(dynamic)프로그래밍 언어로써 인터프리터(interpreter)가 코드를 실행하면서 Type을 추론하여 체크하기 때문에 Type이 고정되어 있지 않습니다. FastAPI에서는 type을 선언하여 사용하므로 Editor와 Tools에서 디버깅에 대해 더 나은 경험을 제공 할 수 있습니다. 인텔리센스(IntelliSense) 지원 def get_full_name(first_name, last_name): full_name = first_name.title() + " " + last_name.title() ..
2023.04.19 -
RHEL8.5 Python 및 Tensorflow 설치
이 글은 RHEL(Red Hat Enterprise Linux)에 Tensorflow를 설치하기 위한 글입니다. 먼저 이전에 작성한 블로그를 참고하여 CUDA를 설치하여야 합니다. Python 설치 RHEL에 python을 설치하기 위해서는 yum 또는 dnf를 통해 쉽게 설치가 가능합니다. $ sudo yum -y install python3 $ sudo dnf -y install python3 하지만 2022-03-28 기준 최신 버전인 3.10.4를 설치하도록 하겠습니다. Python Source 설치 전 패키지 설치 $ sudo dnf -y install gcc openssl-devel bzip2-devel libffi-devel 해당 패키지는 소스 파일의 Makefile을 컴파일하기 위해 필요한..
2023.04.19 -
FastAPI 소개
이번 포스트는 FastAPI에 대한 소개와 Docker Image를 제작하여 간단하게 서비스화를 시켜보도록 하겠습니다. FastAPI 문서 : https://fastapi.tiangolo.com 소스 코드 : https://github.com/tiangolo/fastapi 깃허브에서는 아래와 같이 한 줄로 요약이 되어 있습니다. "FastAPI는 표준 파이썬 타입 힌트를 바탕으로 한 파이썬 3.6이상에서 작동하는, 현대적이고 빠른(고성능) API 서버 웹 프레임워크다." 이름에서 보이는 것과 같이 빠른 API 서비스를 구축하는 프레임 워크라고 설명하고 있습니다. FastAPI에서 말하는 특징은 아래와 같습니다. NodeJS 및 Go와 비슷한 성능, 현존하는 파이썬 웹 프레임워크 중 가장 빠르다. 개발 속..
2023.04.19 -
Python Benchmark
내가 짠 코드에 대해 성능 테스트를 할 때 사용 하는 방법이 Benchmark 입니다. 물론 time() 함수를 통해 함수의 시작과 끝의 시간을 비교하여 속도를 측정 할 수 있지만, 데이터를 직접 넣어 줘야하는 번거로움이 있습니다. 이때 pytest-benchmark를 사용하면 지정한 값을 반복적으로 넣어 최소시간, 최대시간, 평균 시간 등을 출력 해줍니다. pytest-benchmark 설치 설치하는 방법은 pip를 통해 쉽게 설치가 가능합니다. > python pip install pytest-benchmark데모 1부터 n까지의 합을 출력하는 함수가 있습니다. fast-sum() 함수는 분할정복으로 최적화를 시킨 함수입니다. normally_sum() 함수는 일반적인 반복문을 통해 1부터 n까지 하..
2023.03.13