Python 3

boto3

boto3는 AWS 서비스를 Python 코드로 자동화하고 제어할 수 있게 해주는 Python SDK(Software Development Kit)이다. 이 글에서는 boto3가 무엇인지 간단히 알아보고, 실제로 S3 버킷에 파일을 업로드하는 예제를 통해 사용법을 설명하겠다. boto3boto3는 Python에서 AWS의 다양한 서비스(EC2, S3, RDS, Lambda 등)를 제어할 수 있게 해주는 AWS 공식 SDK(Software Development Kit)이다. 예를 들어, EC2 인스턴스를 시작하거나 종료하고, S3에 파일을 업로드하거나 다운로드하며, DynamoDB에 데이터를 읽고 쓰는 작업을 모두 boto3 한 줄 코드로 자동화할 수 있다. 설치 방법은 다음과 같다. pip install..

개념정리/개발 2025.05.03

Celery와 Redis

Celery는 비동기 작업 큐 시스템으로, 주로 백그라운드 작업 처리에 사용된다. 이메일 발송, 이미지 처리, 데이터 분석 등과 같이 웹 애플리케이션에서 시간이 오래 걸리는 작업을 비동기적으로 처리하려면 Celery를 사용하는 것이 좋다. Celery는 메시지 브로커와 함께 작동하는데, 가장 많이 사용하는 메시지 브로커가 바로 Redis이다.  Redis - 비동기 작업 큐 및 캐싱Redis는 인메모리 데이터베이스로, 비동기 작업 큐로 사용하거나 캐시를 저장하는 데 매우 유용하다. Celery는 기본적으로 Redis를 메시지 브로커로 사용하고, Redis는 작업 큐로서 메시지 전달을 맡는다. 또한, 캐시 시스템으로 활용되기도 한다.(1) Celery 설치 및 기본 설정먼저 Celery와 Redis 설치에..

개념정리/개발 2025.02.09

FastAPI와 비동기 처리

FastAPIFastAPI는 비동기 처리와 고성능을 위한 강력한 기능들을 제공하는 웹 프레임워크로, 간단한 특징 및 비동기 처리 과정에 대해 설명하겠다.  FastAPI 개요 및 특징FastAPI는 Python 3.6 이상의 버전에서 사용 가능한 웹 프레임워크로, 아래와 같은 특징이 있다.고속: FastAPI는 Starlette을 기반으로 하여 매우 빠른 속도를 자랑함비동기 처리 지원: FastAPI는 비동기 API 처리를 기본적으로 지원하며, I/O 작업에서 성능이 크게 개선됨자동 문서화: Swagger와 ReDoc을 통해 API 문서화가 자동으로 이루어지며, 개발과 테스트의 용이데이터 검증 및 schema 관리: Pydantic을 이용하여 데이터 검증에 용이하고, schema 관리에 용이 1. Fas..

개념정리/개발 2025.02.09