본문 바로가기
728x90

분류 전체보기172

RDBMS Index 프로젝트 진행 중 데이터를 가져오는 소비 시간이 2초를 넘어 가는 데이터에 대해 고민 하던 중 Index를 써서 빠르게 데이터를 가져 왔었다. 그래서 오늘은 인덱스가 뭐고 인덱싱이 무슨 역할 하는지에 대해 정리 하고자 한다. Index Index ? : RDBMS에서 검색 속도를 높이기 위해서 사용되는 기술 : Table의 컬럼을 따로 파일로 저장하여서, 검색시 해당 Table의 레코드를 full scan하는 것이 아니라, 저장한 Index 파일을 검색하여서 검색 속도를 빠르게한다. : Array의 index를 알 때, O(1) 의 시간복잡도로 접근할 수 있는 개념과 비슷하다. 일반적으로 테이블에 Index를 작성하면 테이블 데이터와 별개로 Index용 데이터가 저장장치에 만들어진다. 이때 이진트리 데이.. 2024. 2. 18.
인증 토큰: 관리자와 사용자 간의 인증 비교 이 글은 회사 프로젝트 중 관리자 와 사용자 간의 토큰 보유 및 미보유 상황에서의 허용 되는 메소드를 다르게 해줘야 하는 상황이 발생 했다. 이를 DRF 토큰( Django REST Framework Token) 으로 해결 하는 방법이 무엇이 있을까 방법을 강구 하다가 알게된 점을 글로 적어 보고자 한다. 밑에는 트러블 슈팅 전 상황에 대한 설명 및 토큰 인증 에 대한 해결 책 이다. 1. 관리자: 토큰 보유 관리자는 토큰을 보유하고 있다. 관리자에게는 흔히 말하는 CRUD, 즉 GET, POST, PUT, DELETE를 모두 허용 해야했다. 2. 사용자: 토큰 미보유 일반 사용자는 토큰을 보유 하고 있지 않다. 하지만, 홈페이지 내에 GET 및 일부 POST를 허용 해야 했다. 백엔드 개발자 로서 해결.. 2023. 12. 30.
Docker Swarm 활용한 무중단 배포 보호되어 있는 글 입니다. 2023. 9. 3.
Django ORM 활용하여 하이픈 제거하여 데이터 가져오기 from django.db.models.functions import Replace class RemoveHyphen(Func): function = 'REPLACE' template = "%(function)s(%(expressions)s, '-', '')" class RemoveHyphen(Func): RemoveHyphen는 Func 클래스를 상속하여 사용자 정의 함수를 생성하는 클래스입니다. 이 이름 아래에 정의된 로직을 사용하여 SQL 함수를 생성한다. function = 'REPLACE' function 변수는 데이터베이스에서 사용될 SQL 함수의 이름을 저장합니다. 여기서는 MySQL의 REPLACE 함수를 사용하고 있습니다. REPLACE 함수는 문자열에서 특정 부분 문자열을 다른 문자열로.. 2023. 8. 17.
RabbitMQ를 이용한 SMS 대량건 처리해보기 보호되어 있는 글 입니다. 2023. 7. 24.
알리고 문자 서비스를 활용한 다수의 클라이언트 에게 MMS 메세지 보내기 보호되어 있는 글 입니다. 2023. 6. 26.
728x90