Python
-
[Fast API] ValidationsBackend/Fast API 2021. 7. 9. 04:47
각각의 Parameters는 인자로 받을 데이터에 대해 여러가지 조건을 걸어 validations(유효성 검사)를 수행할 수 있습니다. 만일 incorrect한 데이터가 감지될 경우 validation에 의해 error가 응답됩니다. 1. Parameter의 종류를 선언하는 함수 앞에서 살펴봤듯이 parameter는 path parameter, query parameter, request body parameter 등 여러가지 형태의 종류가 존재합니다. 이외에도 cookie parameter, header parameter등 더 다양한 형태가 존재하는데, 이러한 parameter를 조금 더 명시적으로 선언할 수 있게 도와주는 함수가 각각 존재합니다. from typing import Optional ..
-
[Fast API] Parameters of Path, Query, Request bodyBackend/Fast API 2021. 7. 9. 04:43
1. Path Parameters Path Parameters의 정의와 형태 Path parameter는 path 내에 들어있는 variable의 value를 전달받은 parameter를 말합니다. @app.get("/items/{item_id}") def read_item(item_id): return {"item_id": item_id} 위의 코드에서, item_id는 path parameter에 해당합니다. HTTP 요청이 들어오면 해당 URL에서 {item_id}에 해당하는 value를 획득하고, 이 value는 read_item함수의 item_id에 인자로 전달됩니다. 위의 코드를 main.py에 추가해 저장한 후, http://127.0.0.1:8000/items/foo에 들어가면 respon..
-
[Fast API] IntroBackend/Fast API 2021. 7. 9. 04:25
Fast API란? 파이썬으로 API를 만들기 위한 웹프레임워크입니다. 현재 파이썬 웹 프레임워크들 중 가장 빠른 속도를 보입니다. Node.js, Go와 대등할 정도의 높은 성능 Automatic한 API Document를 지원 (Swagger UI, ReDoc에서 제공) pydantic을 활용해 type hint를 지원 에디터에서 지원되는 Auto Completion 기능이 훨씬 강력해짐 Python 3.6 이상부터 지원 Fast API with Open API Specification Fast API에서 API를 정의할 때 사용하는 schema(어떠한 개념에 대한 추상적인 기술)는, Open API Specification을 따릅니다. Open API Specification은 Linux 재단에서 ..
-
[Python & Linux] 안전하게 Secret Key를 숨기는 방법General 2021. 7. 3. 01:59
Secret key를 숨기는 통상적 방법 Github 같은 public한 장소에 프로젝트를 배포할 때, secret key같은 private한 정보들은 숨겨서 배포해야 합니다. 이를 위한 통상적인 방법은 환경변수를 이용하는 것입니다. 하나의 파일에 private한 정보들을 몰아놓으면, 프로젝트를 실행하기 전마다 해당 파일을 사용해 환경변수를 등록해둘 수 있고 아무일 없었듯이 프로젝트를 실행할 수 있습니다. 대표적으로 secret key를 숨기기 위해서는 secret key를 담을 secret_bash 파일, 등록된 secret key 환경변수를 가져올 settings.py파일, .gitignore 파일 총 3가지가 필요합니다. (secret_bash와 settings.py의 이름은 임의로 변경 가능합니다..
-
[Python] 데코레이터(Decorator) - 효과적 프로그래밍을 위하여Programming Language/Python 2021. 5. 18. 02:42
파이썬 데코레이터 (Decorator) 파이썬의 함수는 일급 시민이자 일급 객체 일급 객체(First-class object)란 다음과 같은 몇 가지 조건을 갖춤으로 인해서, 해당 객체를 사용할 때 다른 요소들과 아무런 차별이 없는 객체를 의미합니다. 다음은 Robin Popplestone이 정의한 일급 객체의 일반적인 조건입니다. 모든 일급 객체는 함수의 실질적인 매개변수가 될 수 있다. 모든 일급 객체는 함수의 반환값이 될 수 있다. 모든 일급 객체는 할당의 대상이 될 수 있다. (변수 대입) 모든 일급 객체는 비교 연산(==, equal)을 적용할 수 있다. 일급 객체는 자바스크립트에서 파생된 개념이지만 지금은 대다수 프로그래밍 언어에 적용되는 개념입니다. 파이썬에서는 모든 것이 객체이자 일급객체여..
-
[Python Programming 기초] # 함수의 이해 및 사용 2 : lambda 함수Programming Language/Python 2020. 11. 18. 00:31
# 함수의 이해 및 사용 2. lambda 함수 : 한 줄로 표현되는 함수, return을 쓰면 X ex) square = lambda x:x**2 def square2(x): square(5) return x**2 => 25 square2(5) => 25 ex) add = lambda x,y:x+y add(10, 20) => 30 - lambda가 유용하게 사용되는 대표적 3가지 함수 (1) filter : 특정 조건을 만족하는 요소만 남기고 필터링 → filter(함수, 리스트) ex) nums = [1, 2, 3, 6, 8, 9, 10, 11, 13, 15] list(filter(lambda n:n%2==0, nums)) => [2, 6, 8, 10] (2) map : 각 원소를 주어진 수식에 따라..
-
[Python Programming 기초] # 함수의 이해 및 사용 1 : defProgramming Language/Python 2020. 11. 18. 00:30
# 함수의 이해 및 사용 1. def : 함수 정의 ex) def add(x, y): # x, y 각각을 인자(parameter)라고 한다. n = x + y return n - 기본 인자 : parameter의 기본값 지정 가능 ex) def add(x, y, z=5): a = x + y +z return a add(10, 20) => 35 cf) 기본 파라미터는 뒤의 파라미터부터 정의되어야 함 def test(a, b=3, c): print(a, b, c) test(10, 20, 1) => Error - return : 함수의 "종료" 명시 (함수 내에서 return 뒤에 명시된 코드는 수행되지 않음!) 값이 있으면 그 값을 반환 'return만 존재' 혹은 'return이 없는 경우', None 반..
-
[Python Programming 기초] # 조건문과 반복문 3 : forProgramming Language/Python 2020. 11. 18. 00:27
# 조건문과 반복문 3. for : 순회 가능한 객체를 순회하면서 값을 처리할 때 사용 ※ 순회 가능한 객체란? 리스트, 문자열, 딕셔너리 특히 딕셔너리의 경우, 순회하면 기본적으로 Key값만 가져옴 ∴ Value값 순회 시 dict.values() 이용 or for key, value in dict.items(): # Key, Value 튜플 print(key, value) 를 사용하자! ex) a = [1, 2, 4, 3, 5] for i in a: # i는 관례적으로 i로 많이 쓰나 임의의 변수이므로 아무거나 사용 가능! print (i, i*2) => 1 2 2 4 4 8 3 6 5 10 - for에서 index 사용하기 : a = [1, 2, 4, 3, 5] for index, num in en..