3월, 2023의 게시물 표시

1-2-2. Strawberry graphql 지원 유형 ( #Supported #types )

이미지
지원되는 타입 GraphQL은 아래와 같은 타입을 지원한다. 스칼라 타입 (Scalar types) 개체 타입 (Object types) 쿼리 타입 (The Query type) 뮤테이션 타입 (The Mutation type) 입력 타입 (Input types) 스칼라 타입 (Scalar types) 스칼라 타입은 Python 의 기본 타입과 유사하다. Int: 32비트 정수 integer는 Python의 int 에 매핑 Float: Python의 float에 매핑 String: 파이썬의 str에 매핑 Boolean(참 또는 거짓)은 파이썬의 bool에 매핑 고유 식별자 ID는 문자열로 직렬화되고 다음과 같이 사용 가능 strawberry.ID(“value”) 개체를 가져오거나 캐시의 키로 사용됨 UUID, 문자열로 직렬화된 UUID 값 @ Strawberry는 날짜, 시간 및 날짜/시간 개체에 대한 지원을 포함하고 있다. 공식적으로 GraphQL 사양에는 포함되어 있지 않지만 대부분 서버에서 지원하고 있다. ISO-8601 (날짜와 시간과 관련된 데이터 교환을 다루는 국제 표준) 로 일련번호가 지정되어 있다. 기초 적인 스칼라 타입의 요소로도 작동하지만 고유한 스칼라 타입을 지원한다. 개체 타입(The Query type) GraphQL 스키마에서 정의하는 대부분의 타입은 객체 타입이고 개체 타입에는 필드 모음이 포함되며 각 필드는 스칼라 타입 이나 다른 개체형일 수 있다. Tip. "개체 타입"은 이전 스키마 에서와 같이 서로를 참조할 수 있다. import typing import strawberry @strawberry.type class Book: title: str author: "Author" @strawberry.type class Author: name: str books: typing.List[Book] 필드에 데이

PYTHON SFTP 파일전송 (paramiko)

이미지
서버를 운영하다 보면 사용자들이 업로드한 파일을 분산 처리 하거나 하는 일이 상당히 많을 것이다. 파일 서버마다 WAS를 설치 하기도 그렇고 리눅스 서버를 사용한다면 SSH가 거의 기본으로 사용하다 보니 용이하게 파일 업로드 할 수 있도록 사용하는게 어떨가 싶다. 찾아보니 파이썬에서는 paramiko 라는 라이브러리가 있고 간단하게 사용 가능 하기에 정리 해둔다. 1. 패키지 설치 $ pip install paramiko 2. 코드구성 import paramiko # 호스트 (사용가능한것을 입력, 아래는 예시) host = "10.10.10.1" # 포트 (운영 서버라면 기본 포트 이외로 하는게 좋다) port = 22 # 트랜스포트 생성 transprot = paramiko.transport.Transport(host,port) # 사용자 아이디 패스워드 (일반 사용자로 구성) userId = "user" password = 'passwd' # 커넥션 transprot.connect(username = userId, password = password) sftp = paramiko.SFTPClient.from_transport(transprot) # 변수에 로컬 원격 파일명 선언 ( 같은 이름으로 해도 상관 없다 / 예시는 이해하기 쉽도록) localPath = 'local_img.png' remotePath = 'remote_img.png' # 파일 업로드 sftp.put(localpath, remotepath) # 파일 다운로드 (PUT 의 반대) sftp.get(remotepath, localpath) # Close sftp.close() transprot.close() 간단 하지만 매우 강력한 파일 업로드를 구성 할 수 있다. 여러 언어와 섞어서 쓰기도 좋을 듯하다.