본문 바로가기 메뉴 바로가기

구름을 채우다

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

구름을 채우다

검색하기 폼
  • 분류 전체보기 (81)
    • 내 이야기 (0)
    • 나만의 사진전 (2)
    • TIL (1)
    • 컴퓨터공학 (11)
      • 운영체제 (11)
    • 프로그래밍 언어 (3)
      • Java (3)
      • Python (0)
    • 알고리즘 (45)
      • 백준 (34)
      • 프로그래머스 (11)
    • Cloud Computing (13)
      • Openstack (10)
      • Docker (3)
      • Kubernetes (0)
    • Server Framework (1)
      • Django (1)
    • Books (5)
  • 방명록

Server Framework (1)
Django ORM의 Case-Sensitive 검색 (MySQL)

얼마전 동료에게 CS(Customer Service) 문의가 들어왔다. A 유저가 투표한 내용이 B 유저에게 노출이 됐다는 것이다. 내가 보기엔 꽤나 흥미롭고 귀찮은 이슈였는데(😭), 동료가 분석한 원인은 다음과 같았다. A가 '홍길동'에게 투표했음 A의 고유 ID는 ABCDE B의 고유 ID는 ABcdE (대소문자만 다름) Django 서버는 DB 설정에 따라서 대소문자를 구별함 (utf8_general_ci) Django ORM filter()를 통해 case-sensitive한 쿼리(__exact__ field lookup)를 보내도, DB에서 case-insensitive하게 처리 DB에서 case-insensitive하게 처리하므로 A와 B는 동일한 사용자로 판단 이는 MySQL의 collati..

Server Framework/Django 2022. 3. 4. 05:30
이전 1 다음
이전 다음
링크
  • Github
공지사항
  • 환영합니다.
최근에 달린 댓글
Total
Today
Yesterday
TAG
  • contribute
  • 큐
  • docker
  • 스택
  • Bounded Buffer
  • openstack
  • Python
  • git
  • Message Passing
  • Java
  • 해쉬
  • 운영체제
  • dfs
  • 프로그래머스
  • gerrit
  • contribution
  • 파이썬 클린 코드
  • Synchronization
  • 백준
  • 파이썬
  • Clean Code
  • Deadlock
  • 브루트포스
  • bfs
  • shared memory
  • 시뮬레이션
  • launchpad
  • 덱
  • 클린 코드
  • 알고리즘
more

Blog is powered by Tistory / Designed by Tistory

티스토리툴바