일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- aws ec2
- Django
- 티스토리챌린지
- hard delete
- soft delete
- ci/cd
- 논리삭제
- 오블완
- Airflow
- hive
- logstash
- docker
- redis
- unique constraint
- Hadoop
- elasticsearch
- grafana
- prometheus
- Locust
- nginx
- AWS
- Next.js
- 계정 관리
- slack
- JWT
- 물리삭제
- DAG
- NoSQL
- 로그 백업
- node exporter
- Today
- Total
목록back-end/Django (4)
먹수의 개발일지

Redis란? 메모리 기반 데이터 저장소이다. 데이터를 메모리에 저장하기 때문에 매우 빠른 속도로 데이터에 접근할 수 있다.유연한 데이터 구조: 문자열, 리스트, 해시, 셋(set), 정렬된 셋(sorted set) 등 다양한 데이터 구조를 지원퍼시스턴스: 메모리 기반이지만 데이터를 디스크에 저장하여 장애 발생 시 데이터 복구가 가능확장성: 클러스터링 기능을 통해 대규모 트래픽에도 대응 가능✅ 언제 사용In-Memory 데이터베이스의 하나로, 유실되어도 괜찮지만 빠른 데이터 조회를 할 때 사용한다. 기존 관계형 데이터베이스(MySQL, PostgreSQL)보다 훨씬 빠른 이유는 메모리 접근이 디스크 접근보다 빠르기 때문이다.✅ 단점1) 디스크 즉, 파일이 아닌 메모리상에 데이터를 저장함. but 프로세..

Intro서비스를 운영할 때 부하테스트를 통해 성능 이슈를 대비하는 것이 중요하다. 간단한 부하테스트 예제를 살펴보자! Locust란?Locust는 Python 기반의 부하 테스트 도구로, 여러 사용자의 API 요청을 시뮬레이션해 서버의 성능을 측정할 수 있다. 특히 Locust는 코드로 테스트 시나리오를 작성할 수 있어 재사용성이 높고 유연한 구성이 가능하다. Locust 설치먼저 Locust를 설치한다. pip install locust locust.py 파일을 작성한다. HttpUser: Locust에서 사용자 행동을 정의하는 기본 클래스로, HttpUser 클래스를 상속받아 Django API 서버에 HTTP 요청을 보낼 수 있다.wait_time: 각 사용자의 요청 간격을 설정하는 속성이다. ..

Intro유저의 승인 상태 값이 변경(ex.승인대기중 → 승인)되었을때 자동으로 유저에게 승인 완료 메일이 날아가도록 구현하기 위해 사용했다. 임시적으로 django Admin에서 유저의 값을 변경했을 때 해당 기능이 실행되도록 구현해야 했기 때문에, view에서 처리할 수는 없었다. signal이란Django 공식문서 Django includes a “signal dispatcher” which helps decoupled applications get notified when actions occur elsewhere in the framework.Signal은 분리된 어플리케이션의 작업이 발생했음을 알려주고 처리할 수 있는 기능이다. Django signal은 DB 에 값이 저장 직전(pre_sav..

프로젝트 Django Rest Framework Django-restframework-jwt (최근에는 djangorestframework-simplejwt 를 권장하고 있다.) 문제 DRF로 REST API를 구현하던 당시에, 프론트 쪽에서 로그인이 필요 없는 상품 리스트 조회 API에서 401 에러가 발생하였다는 이야기를 전달 받았다. 해당 API는 인증을 거치지 않도록 구현했는데 위의 문제가 발생하여 원인을 파악하고자 했다. 우선 프론트쪽에서는 발생한 401 에러는 token이 expired된 상태에서 header에 가지고 있는 상태에서 api를 요청한 상황이었다. 인증이 필요 없는 api에서 인증되지 않은 header 값이 있다고 하더라도 무시하고 response를 주는 것이 맞기 때문에 인증 부..