
업로드중..두 옵션은 모두 필드의 값을 비워둘 수 있도록 허용한다는 점에서는 비슷하지만,적용되는 '레벨'이 다름이 옵션은 데이터베이스 레벨에 영향을 줌필드의 값이 데이터베이스 테이블에 NULL 값으로 저장되는 것을 허용할지 여부를 결정이 옵션은 폼(Form) 또는 검증

Q()는 Django의 ORM에서 복잡한 조건(특히 OR, AND, NOT)을 표현할 수 있게 해주는 쿼리 객체

itertools.chain 객체와 lazy iterator는 데이터 처리와 관련하여 중요하며, 효율적인 코드를 작성하는 데 도움이 됨 itertools.chain 객체 itertools는 파이썬 표준 라이브러리로, 효율적인 반복을 위한 함수들을 제공 그중 iter

🧩 ManyToManyField 사용 고려 (선택)현재는 명시적 중간 모델(Participants)을 사용하고 있는데, 추가 필드가 없고 단순한 스케줄-사용자 관계만 있다면 Django의 ManyToManyField를 사용하는 게 더 간결할 수 있습니다.단, 아래 조

기존의 Django는 전통적인 WSGI (동기적) 기반이었지만, 이제는 ASGI (비동기) 를 지원하면서 다음과 같은 장점이 생겼음 • 동시에 여러 요청을 효율적으로 처리 가능 • WebSocket, HTTP/2, SSE 같은 실시간 프로토콜 지원 • IO-bound
.

① 클라이언트 → 서버로 전송 (WebSocket 통신) • 클라이언트 ↔ 서버 간에 텍스트 형태로 데이터가 오고 감 • 이때 텍스트 데이터 안에 JSON 문자열 형태로 주고받음 • → json.dumps(), json.loads() 로 파이썬 dict ↔ JSON 문자열 변환 ② 서버 내부 (프로젝트 내부) • 대부분 파이썬 dict 형태로 데이...

(쿼리 분기 / Database-side Filtering)get_confirmed_chatrooms와 get_unconfirmed_chatrooms는 이렇게 쿼리를 나누고 있음이 방식은 명확하지만, 쿼리를 두 번 날리기 때문에 성능 최적화를 위해 하나의 쿼리로 처리하
코드를 작성하고 나니3개의 작업이 원자적(atomic)으로 처리돼야 할 필요성이 있다고 느낌세 작업 중 하나라도 실패할 경우, 전체가 롤백되어 데이터 정합성을 지킬 수 있음

GET 방식과 POST 방식은 웹에서 클라이언트가 서버에 요청을 보낼 때 사용하는 두 가지 대표적인 HTTP 메서드멱등성 있음 (같은 요청 여러 번 해도 결과 같음) 멱등성 없음 (같은 요청 여러 번 하면 중복 생성 가능)URL에 정보가 다 보이므로 비밀번호, 개인정보

RFC 5789는 HTTP 프로토콜에서 PATCH 메서드의 의미와 사용 방법을 공식적으로 정의한 문서RESTful API를 설계할 때 PATCH를 사용하는 것이 왜 정당한지, 어떤 규칙을 따라야 하는지를 알려주는 표준 문서기존의 PUT 메서드는 전체 리소스를 교체하는
하나의 프로세스 내에서 여러 개의 스레드가 동시에 실행되며 작업을 병렬로 수행할 수 있는 실행 환경Django 서버 자체가 하나의 프로세스예를 들어, python manage.py runserver를 실행하면 하나의 프로세스가 생성됨실제 배포 시에는 gunicorn,
APIView ListAPIView APIView와 달리 ListAPIView가 제공하는 기능 • 자동으로 get_queryset() 호출 • 자동으로 serializer_class를 바탕으로 직렬화 • GET 요청에 대해 자동으로 200 OK와 함께 JSON 응답 제공
테스트 데이터는 테스트마다 깨끗하게 지워짐하지만 AutoField(PK)의 증가 값은 초기화되지 않음 PostgreSQL처럼 SEQUENCE를 쓰는 DB는 테스트 간 PK 값이 계속 증가pk가 2까지 증가된 이력이 있기 때문에 pk를 2 이상으로 바꿔주면 테스트가 성공

SQL JOIN 으로 한 번의 쿼리로 관련 객체까지 가져옴SELECT FROM bookSELECT FROM author WHERE id IN (...)쿼리는 2번반복 접근해도 추가 쿼리 없음대규모 데이터일수록 성능 차이 큼
해당 필드 하나에 대한 유효성 검사 수행is_valid() 호출 시 자동으로 호출됨그 필드의 value만 인자로 받음반드시 정제된 value를 반환해야 함 예) .strip()이나 .lower() 적용 등여러 필드 간의 상호검증 / 논리관계 검증에 사용validate\
파이썬의 데코레이터 중 하나로클래스 내부에 정의되지만 인스턴스나 클래스 자체의 특정 상태에 의존하지 않는 메서드를 만들 때 사용됨이름 그대로 "정적(static)"인 메서드라고 이해하면 됨@staticmethod로 데코레이트된 메서드는 클래스의네임스페이스 안에 있지만,
Q() Q()는 Django ORM에서 AND/OR/NOT 같은 복합 논리 조건을 표현하기 위해 쓰는 객체
파이썬 리스트의 sort() 메서드는 리스트 자체를 정렬하는 함수이며, 대표적으로 두 개의 인자를 활용할 수 있음 list.sort() 인자 key 정렬 기준을 지정하는 함수 요소 그 자체가 아니라 비교 기준값을 반환하는 함수를 전달 예시 문자열 길이로 정렬하고 싶다면 reverse 정렬 순서를 지정하는 불리언 값 기본값은 False → 오름차...
1. 타입 안정성이 왜 좋아지나? Python은 동적 타입 언어라서 타입 안정성이 덜 중요해 보이지만, 백엔드에서는 타입 힌트 + 정적 분석 도구를 같이 써서 안정성을 올리는 것이 기본 1-1. FK 필드에 무엇이 들어가는지가 명확해짐 모델 정의 • schedule 필드 타입: Schedules • participant 필드 타입: User (...
.
.
폴링(Polling) 클라이언트가 주기적으로 서버에 “상태 바뀌었어?”라고 묻는 방식 동작 흐름 클라이언트가 /queue/status 요청 서버는 현재 상태 응답 (WAITING / MATCHED) 1~2초 후 다시 요청 장점 구현이 매우 단순 HTTP만