개발 문서(112)
-
Django Signal이란?
Django Signal은 애플리케이션에서 특정 이벤트가 발생했을 때 미리 등록된 리스너(핸들러)가 자동으로 호출되는 기능입니다. 예를 들어, 데이터베이스에 객체가 생성, 변경 또는 삭제되었을 때 특정 작업을 자동으로 수행하고 싶을 때 유용하게 사용할 수 있습니다.Django에서는 기본적으로 제공하는 내장 Signal과 사용자가 직접 정의하여 사용하는 사용자 정의 Signal로 나눌 수 있습니다.주요 내장 Signalpre_save, post_save: 모델의 객체가 저장되기 전과 후에 호출됩니다.pre_delete, post_delete: 모델의 객체가 삭제되기 전과 후에 호출됩니다.m2m_changed: ManyToManyField 필드가 변경될 때 호출됩니다.request_started, reque..
2025.03.11 -
PostgreSQL TableSpace 설정하기
PostgreSQL TableSpace 설정하기PostgreSQL에서 대량의 데이터를 관리할 때, 성능 최적화 및 저장소 관리의 효율성을 높이기 위해 TableSpace(테이블스페이스) 를 활용할 수 있습니다. 테이블스페이스를 이용하면 특정 데이터 파일을 원하는 저장소에 배치할 수 있으며, 데이터 액세스 패턴에 따라 핫 데이터와 콜드 데이터를 분리하여 저장할 수 있습니다.1. TableSpace란?TableSpace는 PostgreSQL에서 데이터를 저장하는 논리적인 저장소 단위입니다. 기본적으로 모든 데이터는 pg_default라는 기본 테이블스페이스에 저장됩니다. 하지만 사용자 지정 테이블스페이스를 생성하면 특정 디스크 위치에 테이블, 인덱스를 저장할 수 있습니다.2. TableSpace 생성하기사용..
2025.02.21 -
PostgreSQL에서 시퀀스 관리 및 활용 가이드
PostgreSQL에서 시퀀스 관리 및 활용 가이드PostgreSQL은 시퀀스(sequence)라는 객체를 통해 고유한 숫자 값을 생성합니다. 일반적으로 기본 키의 자동 증가(auto-increment)를 구현하거나 특정한 고유 값 생성 로직에서 활용됩니다. 이 글에서는 PostgreSQL에서 시퀀스를 조회하고, 설정하고, 활용하는 방법을 정리합니다.1. PostgreSQL의 시퀀스란?시퀀스는 숫자 생성기를 제공하는 PostgreSQL의 객체로, 데이터베이스 내에서 고유하고 연속적인 숫자 값을 생성합니다. 시퀀스는 주로 테이블의 자동 증가 기본 키(Auto Increment Primary Key)에 사용됩니다.시퀀스 주요 특징특정 규칙에 따라 고유한 숫자를 생성기본 키나 사용자 정의 식별자 생성에 사용N..
2024.12.02 -
serializers.ModelSerializer와 serializers.Serializer의 차이점
serializers.ModelSerializer와 serializers.Serializer는 Django REST Framework (DRF)에서 데이터 직렬화와 역직렬화를 위해 사용되는 두 가지 주요 클래스입니다. 이들은 각각 고유한 사용 사례와 특징을 가지고 있습니다.serializers.ModelSerializerModelSerializer는 Django의 모델(Model)을 기반으로 자동으로 필드를 생성하고, create() 및 update() 메서드를 제공합니다. ModelSerializer는 Django ORM 모델과 밀접하게 통합되어 있으며, 모델 인스턴스를 쉽게 직렬화하고 역직렬화하는 데 매우 유용합니다.주요 특징:자동 필드 생성:Django 모델의 필드를 기반으로 직렬화기에 필드를 자동..
2024.07.05 -
Python으로 POP3를 이용한 메일 서버 연결과 활용
소개 이 블로그 포스팅에서는 Python을 사용하여 POP3 프로토콜을 통해 메일 서버에 연결하고 다양한 작업을 수행하는 방법에 대해 알아보겠습니다. POP3는 이메일 클라이언트가 서버로부터 이메일을 가져오는 데 사용되는 프로토콜입니다. 라이브러리 설치 Python에서 POP3를 사용하기 위해서는 poplib 라이브러리를 설치해야 합니다. 아래 명령을 사용하여 설치할 수 있습니다. pip install poplib POP3 서버에 연결하기 먼저, POP3 서버에 연결하는 방법을 살펴보겠습니다. import poplib # 사용자 정보 및 POP3 서버 설정 username = "your_email@example.com" password = "your_email_password" pop_server = "..
2024.02.17 -
Django ORM에서 Group By 사용하기
Django ORM에서 Group By 사용하기 Django ORM은 강력하고 직관적인 쿼리 언어를 제공합니다. 그 중에서도 group by는 데이터를 그룹화하고 집계하는 데에 매우 유용합니다. 이번 포스팅에서는 Django ORM을 사용하여 group by를 어떻게 수행하는지 살펴보겠습니다. 1. 모델 정의하기 우선 예제를 위해 간단한 모델을 정의해봅시다. 예를 들어, 학생의 성적을 나타내는 모델을 사용하겠습니다. # models.py from django.db import models class Student(models.Model): name = models.CharField(max_length=100) score = models.IntegerField() 2. Group By 쿼리 작성하기 이제 ..
2024.01.18