2024/11 23

[Azure] 로컬 환경에서 Function 개발하기

개요2024.11.15-[Azure] Functions 이란에서 Azure Function에 대한 개념을 알아보았다. Azure Function은 Azure Portal에서 개발하고 테스트를 수행할 수 있지만, 이번 글에서는 로컬 환경에서 개발하고 테스트를 수행하는 방법을 적어둔다. 사용한 환경은 Ubuntu 20.04.5 LTS이다.   Core Tool 설치로컬 환경에서 Azure Function을 개발하고 테스트하기 위해서는 Core Tool을 필수적으로 설치해야 한다. 1. Microsoft 패키지 리포지토리 GPG 키 설치curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpgsudo mv micr..

Azure 2024.11.29

[Azure] AI Search - 인덱스

개요2024.10.29-[Azure] AI Search 란에서 Azure의 AI Search라는 서비스가 검색 서비스를 만들 수 있는 인프라와 도구를 제공하는 PaaS라는 것을 알았다.이번 글에서는 AI Search 서비스의 기본 개념인 인덱스에 대해서 알아보려고 한다.  인덱스인덱스는 인덱싱, 전체 텍스트 검색, 벡터 검색, 하이브리드 검색 및 필터링된 쿼리를 수행하는 검색 엔진에서 사용할 수 있는 검색 가능한 콘텐츠이다. 쉽게 말해 데이터를 구조화해서 검색할 수 있게 만든 데이터의 목록이라고 할 수 있다. 데이터를 구조화해서 저장하는 핵심 개념으로, 빠르고 정확하게 데이터를 검색하는 것을 목적으로 한다.일반적으로 데이터베이스의 테이블에 많이 비유된다. 인덱스는 크게 데이터 구조를 정의하는 Schema..

Azure 2024.11.28

[DBeaver] 결과 패널 헤더 복사

개요DBeaver에서 SELECT를 수행하고 결과 패널의 출력을 복사할 때가 많은데, 결과 패널의 내용을 전체 선택하여 복사를 해도 컬럼명은 포함되지 않는 것 같다.위와 같이 전체를 선택한 상태에서 복사를 수행해도, 실제로 복사된 내용은 아래와 같다.2024-11-12 04:08:05.0 2024-11-11 04:00:00컬럼명도 포함해서 전체 복사하는 방법을 적어둔다.  Advanced CopyDBeaver의 일반 복사는 하나 이상의 셀의 내용을 탭으로 구분된 형식으로 복사한다. 복사의 방식을 제어하고 싶다면 Advanced Copy를 사용한다. Advanced Copy를 사용하면 열 이름 포함 여부, 행 번호 포함 여부, 구분 기호, 값 형식 등을 제어할 수 있다.Advanced Copy 기능에 진입..

Database 2024.11.27

[Redis] 키 만료 시간 설정

개요2023.06.03-[Python] redis 사용하기에서 redis에 값을 추가하고 값을 가져오는 방법을 알아보았다. 그리고 최근 redis에서는 값의 만료 시간을 설정할 수 있다는 것을 알게 되었다.방법을 적어둔다.   SETredis에 값을 설정하는 SET 명령을 사용할 때 만료 시간을 설정할 수 있는데, 그 옵션은 아래와 같다.EX : 초 단위 만료 시간 설정. 지정한 초 이후에 삭제된다.PX : 밀리 초 단위 만료 시간 설정. 지정한 밀리 초 이후에 삭제된다.EXAT : 만료 Unix 시각 설정. 초 단위로 설정하고, 해당 시각 이후에 삭제된다.PXAT : 만료  Unix 시각 설정. 밀리 초 단위로 설정하고. 해당 시각 이후에 삭제된다.참고로 EX 옵션은 SETEX 명령으로, PX 옵션은 ..

Database 2024.11.26

[FastAPI] 응답 상태 코드 지정

개요아래 글에서 FastAPI에서 요청에 대한 응답을 보내는 기본적인 방법을 알아보았다.2024.11.05-[FastAPI] response 형식 지정하기2024.11.06-[FastAPI] 오류 처리 - HTTPException기본적으로 요청 처리에 성공하면 HTTP 200 응답을 전달하는데, 필요한 경우 다른 상태 코드를 사용하여 응답해야 할 수도 있다.이번 글에서는 API의 응답 상태 코드를 지정하는 방법을 정리한다.  status_code응답 상태 코드는 경로 데코레이터에 status_code로 지정할 수 있다.from fastapi import FastAPIapp = FastAPI()@app.post("/items/", status_code=201)async def create_item(name..

Python 2024.11.25

[FastAPI] 오류 처리 - HTTPException

개요2024.11.05-[FastAPI] response 형식 지정하기에서 FastAPI에서의 응답 데이터를 정의하고 반환하는 방법을 알아보았다.근데 애플리케이션이 항상 처리를 성공하는 것은 아니다. 예기치 않게 요청에 대한 처리가 실패할 수도 있다. 내부 동작 오류나 요청 데이터에 문제가 있는 등등 여러 가지 문제로 인해 요청을 처리하지 못할 수도 있다.이번 글에서는 애플리케이션이 요청 처리를 실패했을 때의 응답 방법에 대해 정리한다.  HTTPException클라이언트에게 오류가 포함된 HTTP 응답을 반환할 때는 HTTPException을 사용한다. 임포트는 아래와 같이 하면 된다.from fastapi import HTTPException HTTPException은 애플리케이션 동작 중 오류가 발..

Python 2024.11.22

[FastAPI] response 형식 지정하기

개요아래 글들을 통해 FastAPI에서 요청 데이터를 어떻게 정의하고 접근하는지 알아보았다.2024.10.31-[FastAPI] 요청 데이터 접근 - 경로 매개변수2024.11.03-[FastAPI] 요청 데이터 접근 - 쿼리 매개변수2024.11.03-[FastAPI] 요청 데이터 접근 - request body이번에는 FastAPI에서 응답 데이터를 다루는 방법에 대해 알아본다.  응답 데이터FastAPI에서는 경로 데코레이터에 response_model이라는 매개변수를 추가하여 응답 데이터 형식을 지정할 수 있다. 응답 데이터 형식은 request body 형식을 정의했던 것과 동일하게 pydantic BaseModel을 사용한다. 기본적으로는 JSON 형식으로 응답하는 것 같다.아래 예제는 요청 ..

Python 2024.11.21

[FastAPI] 요청 데이터 접근 - request body

개요이전 글에서 FastAPI를 사용할 때의 경로 매개변수, 쿼리 매개변수를 정의하고, 접근하는 방법을 알아보았다.2024.10.31-[FastAPI] 요청 데이터 접근 - 경로 매개변수2024.11.03-[FastAPI] 요청 데이터 접근 - 쿼리 매개변수 이번 글에서는 FastAPI에서 요청 본문을 정의하고 접근하는 방법을 알아본다.  request bodyHTTP Post 방식으로 통신할 때는 데이터를 request body/response body라고 하는 항목으로 주고받는다.FastAPI에서는 기존과 동일하게 함수에 매핑된 매개변수로 request body로 접근할 수 있는데, 요청 본문의 형식과 데이터 타입을 Pydantic(데이터 검증 라이브러리)이라는 모듈을 사용하여 정의한다. FastAP..

Python 2024.11.20

[FastAPI] 요청 데이터 접근 - 쿼리 매개변수

개요2024.10.31-[FastAPI] 요청 데이터 접근 - 경로 매개변수에서 FastAPI에서의 경로 매개변수에 접근하는 방법을 알아보았다. 이번 글에서는 쿼리 매개변수를 정의하고 접근하는 방법을 알아본다.  쿼리 매개변수쿼리는 URL에서 ? 뒤에 나열되는 &로 구분되는 키-값 쌍을 의미하며, HTTP GET 방식으로 통신할 때 사용한다. 예로 들어 아래 URL에서 쿼리 매개변수는 다음과 같다.http://127.0.0.1:8000/items/?skip=0&limit=10- skip : 0- limit : 10 FastAPI에서는 경로에 매핑하는 함수를 정의할 때 경로 매개변수가 아니라 다른 매개변수를 함께 선언하면 쿼리 매개변수로 해석된다. URL의 일부이기 때문에 당연히 문자열 데이터이지만, 타입..

Python 2024.11.19

[FastAPI] 요청 데이터 접근 - 경로 매개변수

개요2024.10.29-[Python] FastAPI 란에서 FastAPI에 대해 소개하고 기본 구조에 대해서 알아보았다. 이번 글에서는 FastAPI를 사용했을 때 요청 데이터에 접근하는 방법에 대해 알아본다.  경로 매개변수애플리케이션의 경로 매개변수는 매핑된 함수의 매개변수로 전달된다.from fastapi import FastAPIimport jsonapp = FastAPI()@app.post('/index/{cmd}')async def mgnt_index(cmd): response = {'cmd': cmd} return json.dumps(response)  경로 매개변수 타입 지정매핑된 함수의 매개변수에 타입 어노테이션을 사용함으로써 경로 매개변수의 데이터형을 지정할 수 있다.fro..

Python 2024.11.18
1 2 3