Programming👩🏻💻 썸네일형 리스트형 [FastAPI] - SQLAlchemy, Postgresql 데이터 베이스 연동 시도 과정 튜토리얼 개념으로 코드에 적용하는 것은 또 생소해져버려서..(나만 그런지도)이것저것 보면서 연동된 과정들을 기록 해보려고 한다. 1. 데이터베이스 연결 설정우선 데이터베이스 연결 파일인 database.py를 생성하였다. SQLAlchemy를 db에 연결하기 위해서 엔진,세션, ORM과 맵핑할 모델 기본 클래스를 생성해줘야한다. # database.pyfrom sqlalchemy import create_enginefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm import sessionmaker# 데이터베이스 URL 설정# format: "postgresql://사용자이름:비밀번호@호스트:포트번호/데이터베이스이름.. 더보기 [SQLAlchemy] - 개념정리 및 입문하기 SQLAlchemySQLAlchemy(줄여서 SQLA)는 Python에서 독립적으로 사용할 수 있는 데이터베이스 ORM 라이브러리로 데이터베이스를 쉽게 다룰 수 있도록 도와준다. 즉, DB 쿼리를 SQL문으로 직접 작성하지 않아도 파이썬 코드로 실행이 가능하다. Django ORM과 다르게 SQLA는 특정 프레임워크에 종속 되지 않아 Flask,FastAPI 등 다양한 프레임워크와 사용 가능하다. ORM 이란?ORM(Object Relational Mapping)은 객체(Object)와 관계형 데이터(Relational Data) 간의 맵핑을 제공하는 도구로개발자들이 데이터베이스와 상호작용할 때 SQL 쿼리 대신 Python같은 프로그래밍 언어로 데이터를 처리할 수 있게 해주는 기술이다.왜 ORM이 필요.. 더보기 [FastAPI] DDD (Domain-Driven Design) pattern 프로젝트 흐름 파악 용도로 기록 더보기 [Python] - Caching 캐싱 적용하기 1. Caching 개념캐싱은 접근 속도가 느린 데이터를 빠르게 사용할 수 있도록 임시 저장소(캐시)에 저장하여 재사용하는 기술입니다.주로 반복적으로 사용하는 데이터나 연산 결과를 저장해 다음 요청시에 계산을 생략하는 방식으로 성능을 최적화합니다. 웹 브라우저와 캐싱흔히 브라우저 속도가 느리거나 작동이 잘 안되면 캐시 삭제해라 이런 말 많이 들어보셨을텐데웹 브라우저는 우리가 방문했던 웹 페이지 데이터를 *로컬 캐시에 저장합니다.*로컬 캐시는 일반적으로 RAM, 디스크, 특정 애플리케이션의 메모리 공간에 저장됩니다. 그래서 네트워크나 원격 서버와 통신하지 않고 로컬 저장소에서 바로 데이터 접근을 하기 때문에 속도가 빠릅니다.저장된 데이터는 일시적 저장 형태로 프로그램이 종료 되거나 캐시 만료 시간이 지나면.. 더보기 [Python] - decorator 데코레이터 개념 @staticmethod, @classmethod (1) 1. @decorator데코레이터는 다른 함수를 감싸는 함수로, 기존 코드를 수정하지 않고도 동작을 추가하거나 변경할 수 있습니다.파이썬에서는 @함수명 문법을 사용해 데코레이터를 적용합니다.데코레이터는 함수뿐만 아니라 클래스에도 적용할 수 있습니다. 1. 1 @decorator 함수데코레이터는 함수를 매개변수로 받아 내부에서 새로운 함수를 정의하고 반환합니다. def my_decorator(func): def wrapper(): print("Something before the function runs") func() # 원래 함수 호출 print("Something after the function runs") return wrapper d.. 더보기 [pandas 🐼] - 기본 데이터 구조 1.판다스 데이터 구조판다스 데이터 구조는 Series, 1차원, DataFrame, 2차원으로 나누어져있다.데이터 처리 시 필요한 데이터 세트는 2차원 데이터로 구성 되어있다. 1차원 Series : 같은 유형의 배열로 표시된 1차원 데이터2차원 DataFrame : 유형이 지정되어있으며 크기가 가변적인 테이블 형식으로 행렬 형태판다스 핵심 객체는 DataFame이다. 1.2 index와 Series-Index는 RDMS의 PK처럼 개별 데이터를 고유하게 식별하는 Key값-Series는 칼럼이 하나뿐인 데이터 구조체 Series와 DataFrame의 가장 큰 차이는 Series는 컬럼이 한 개, DataFrame은 칼럼이 여러 개 데이터 구조체 1.3 pivot_table엑셀에서 피벗테이블 기능을.. 더보기 [Django] 공식문서로 익혀보기 part4.2 - 함수/클래스뷰, 제네릭뷰 튜토리얼 초반에는 FBV로 예제를 다뤘지만 궁극적으로는 CBV로 기능 구현하는 구조가 많이 사용되므로 개념을 확실히 아는게 좋을 것 같습니다. 우선 함수 기반 뷰 개념을 다시 짚고 가겠습니다.1. 함수 기반 뷰(Fuction-Based Views)함수 기반 뷰는 django.views.View 클래스를 상속 받는 대신, 직접 함수를 작성하여 요청을 처리합니다.Django에서 가장 기본적인 함수 기반 뷰(FBV)는 함수로 HTTP 요청을 처리하는 것입니다.단순히 Python 함수를 작성하여 Django가 이를 HTTP 요청과 매핑합니다. from django.http import HttpResponsedef my_basic_view(request): if request.method == "GET":.. 더보기 [Django] 공식문서로 익혀보기 part4.1 - 폼(Form) 작성하기 https://docs.djangoproject.com/ko/5.1/intro/tutorial04/# 이제까지 다뤘던 내용을 정리해보면장고는 MTV(Model - Template - View)디자인 패턴으로 역할에 따라 코드를 분리하는 가이드로 사용되고 있습니다.이 패턴은 소프트웨어 디자인 패턴인 MVC(Model-View-Controller)와 같은 패턴이며 부르는 명칭에만 차이가 있습니다.MVC의 View는 MTV의 TemplateMVC의 Controller는 MTV의 View Model모델(Model)은 장고 데이터베이스를 연결시켜주는 코드이고 데이터의 형태를 나타냅니다. 각각 모델은 데이터베이스 테이블과 매핑됩니다.모든 모델 클래스는 django.db.models.Model 파이썬 클래스를 상속.. 더보기 이전 1 2 3 4 5 다음 목록 더보기