본문 바로가기

반응형

전체 글

(58)
FastAPI 기반 이커머스 아키텍쳐 설계 - 1. 아키텍쳐 개요 FastAPI 기반 이커머스 아키텍쳐 설계 - 1. 아키텍쳐 개요이커머스 서비스를 구현하기 위해 대용량 트래픽 처리를 고려한 아키텍쳐 설계 방안에 대해 정리해 보았습니다. 프론트엔드는 Next.js 기반, 백엔드는 FastAPI, 인프라는 AWS를 활용하여 서비스 개발을 진행하도록 아키텍쳐를 구성하였습니다. 대용량 트래픽 처리가 가능한 시스템 구현시 확장성 및 높은 동시성을 확보하는 것이 중요합니다.대용량 트래픽 처리시 "확장성"과 "동시성"의 개념에 대한 이해확장성(Scalability):사용자 증가나 데이터 확장에 따라 성능을 유지하며 성장할 수 있는지 여부를 의미합니다. 이는 시스템이 변하는 부하를 효과적으로 처리하고, 사용자가 증가하더라도 안정성과 성능을 유지할 수 있도록 하는 설계와 구조를 갖추..
Python - Shallow Copy와 Deep Copy의 차이점 및 사용법 Shallow Copy와 Deep Copy의 차이점 및 사용법파이썬 개발자로서 코드를 작성하다 보면 객체를 복사해야 하는 상황이 자주 발생합니다. 객체를 복사하는 방법에는 크게 두 가지가 있습니다: Shallow Copy(얕은 복사)와 Deep Copy(깊은 복사). 이 두 가지 복사 방식은 동작 방식과 결과가 다르기 때문에, 언제 어떤 방식을 사용해야 하는지 정확히 이해하는 것이 중요합니다.Shallow Copy (얕은 복사)특징Shallow Copy는 객체의 가장 바깥쪽 객체만 복사하고, 그 객체가 참조하는 내부 객체들은 원본 객체와 동일하게 참조하는 방식입니다. 즉, 복사된 객체 내부의 가변 객체(리스트, 딕셔너리 등)는 원본 객체와 동일한 참조를 가리키게 됩니다.사용법파이썬에서 얕은 복사는 cop..
Airflow 로컬 환경 설치 및 테스트 Airflow 로컬 환경 설치 및 테스트ETL(Extract, Transform, Load)은 데이터 통합 및 분석의 핵심 프로세스입니다. Apache Airflow는 이러한 ETL 파이프라인을 관리하고 자동화하는 강력한 도구로 자리잡았습니다. 이 글에서는 Airflow를 활용하여 ETL 파이프라인을 설계, 구현, 운영하는 방법을 단계별로 설명하겠습니다.1. Airflow 소개Apache Airflow는 데이터 파이프라인을 작성, 스케줄링 및 모니터링하기 위한 오픈 소스 플랫폼입니다. Airflow의 주요 특징은 다음과 같습니다:다양한 연산 지원: Python을 기반으로 DAG(Directed Acyclic Graph)를 작성하여 다양한 작업을 정의할 수 있습니다.스케줄링: 원하는 시간에 작업을 자동으로..
Pandas를 이용해 데이터를 Merge하는 방법과 로깅 활용하기 Pandas를 이용해 데이터를 Merge하는 방법과 로깅 활용하기Pandas는 Python의 강력한 데이터 처리 라이브러리로, 다양한 데이터를 쉽고 빠르게 처리할 수 있도록 도와줍니다. 이번 글에서는 여러 CSV 파일을 하나로 병합하고, 이를 로깅을 통해 기록하는 방법을 소개하겠습니다.준비물PythonPandas 라이브러리CSV 파일코드 설명필요한 라이브러리 임포트import pandas as pdimport loggingimport ospandas는 데이터 처리를 위해, logging은 로깅을 위해, os는 파일 존재 여부 확인을 위해 사용합니다.CSV 파일 리스트 준비csv_files = ['./origin/sample_historical_install.csv','./origin/sample_hist..
[iOS 앱 개발의 핵심 이해] SceneDelegate와 AppDelegate의 차이점 SceneDelegate와 AppDelegate의 차이점: iOS 앱 개발의 핵심 이해iOS 앱 개발에서는 AppDelegate와 SceneDelegate가 중요한 역할을 합니다. iOS 13부터는 멀티 윈도우 환경을 지원하기 위해 SceneDelegate가 도입되었습니다. 이 두 클래스는 각각 다른 책임을 가지며, 앱의 생명주기 및 상태 관리를 처리합니다. 이 글에서는 AppDelegate와 SceneDelegate의 차이점과 각각의 역할을 예제를 통해 설명하겠습니다.AppDelegateAppDelegate는 앱의 전반적인 생명주기를 관리합니다. 앱이 시작되고 종료되며, 백그라운드나 포그라운드로 전환되는 등의 전반적인 이벤트를 처리합니다. AppDelegate는 주로 다음과 같은 작업을 수행합니다.앱 ..
[GA4] WebhookNotification 연동하기 - GCP 및 Slack 활용 GA4 Webhook Notification 연동하기 시작하기 Getting Started GA4는 시간이 걸리는 작업에 대한 처리완료 시 GA4 Data API에 웹훅 알림(Webhook Notification)을 설정하여 지정한 웹훅 서버로 데이터 변경에 대한 알림을 보내는 기능을 제공합니다. 웹훅이란? 웹훅이란 데이터가 변경되었을 때 실시간으로 알림을 받을 수 있는 기능입니다. 웹 서비스의 이벤트 데이터를 전달하는 HTTP 기반 콜백 함수입니다. 특정 이벤트가 발생하면 웹훅이 클라이언트에게 이벤트 데이터를 보내요. 웹훅이라는 단어는 2007년에 Jeff Lindsay에 의해 처음 사용되었어요. HTTP 기반의 웹 특징과 훅(Hook) 기능을 합친 용어죠. (출처: 토스페이먼츠 개발자센터) 준비사항 ..
구글시트 API(Google Sheets API) in Python 데이터 업데이트 구글시트 API(Google Sheets API) in Python 데이터 업데이트 Google Sheet API 확인하기 REST Resource: v4.spreadsheets.values Append: Spreadsheet에 데이터를 추가할 때 사용합니다. 지정된 범위에 데이터가 있을 경우 다음 행 또는 열에서 데이터가 추가됩니다. Update: 정해진 Spreadsheet 범위를 설정하여 데이터 쓰기를 할 때 사용합니다. 기존 범위(range)에 데이터가 작성되어 있는 경우에 덮어쓰기가 실행됩니다. BatchUpdate: Spreadsheet 내 여러 범위(range)를 설정하여 데이터 쓰기를 할 때 사용합니다. 기존 범위(range)에 데이터가 작성되어 있는 경우에 덮어쓰기가 실행됩니다. Upda..
구글시트 API(Google Sheets API) in Python - 데이터 쓰기 구글시트 API(Google Sheets API) in Python - 데이터 쓰기 Google Sheet API 확인하기 REST Resource: v4.spreadsheets.values Append: Spreadsheet에 데이터를 추가할 때 사용합니다. 지정된 범위에 데이터가 있을 경우 다음 행 또는 열에서 데이터가 추가됩니다. Update: 정해진 Spreadsheet 범위를 설정하여 데이터 쓰기를 할 때 사용합니다. 기존 범위(range)에 데이터가 작성되어 있는 경우에 덮어쓰기가 실행됩니다. BatchUpdate: Spreadsheet 내 여러 범위(range)를 설정하여 데이터 쓰기를 할 때 사용합니다. 기존 범위(range)에 데이터가 작성되어 있는 경우에 덮어쓰기가 실행됩니다. Appe..

반응형