코드 심는 콩
close
프로필 사진

코드 심는 콩

github: @sebeeeen

  • 분류 전체보기 (4)
    • DevOps & Infra (1)
      • Docker (1)
    • Backend & System (2)
      • Django (1)
    • Frontend & Web (0)
    • CS Fundamentals (1)
    • Troubleshooting (0)
    • Retrospective (0)
  • 홈
  • 태그
  • 방명록
[Auth] CI·DI·ID로 본 본체 인증의 세계; 뚱인데요

[Auth] CI·DI·ID로 본 본체 인증의 세계; 뚱인데요

TL;DR본인인증 시스템에서 ID·DI·CI는 각각 ‘사용자 이름’, ‘서비스 단위의 고유 식별자’, ‘전역 고유 식별자’를 의미한다.스폰지밥 에피소드를 통해 식별자 체계의 범위와 역할을 쉽게 정리해보려 한다.이름이 아니라 ‘본체’를 식별하는 법인턴 생활 중 사용자 식별과 관련된 기능을 다뤘다.단순히 아이디(ID)로만 구분하는 게 아니라, 사용자의 고유한 연결 정보(CI, Connecting Information) 를 기준으로 이전 이용 이력이나 데이터 중복 여부를 판단하는 구조였다.CI는 단순히 인증용 값이 아니라, 서비스 전반에서 동일 인물을 일관되게 인식하게 만드는 본체 식별자라는 걸 처음 알게되었다.이전 글 [Python hash() 함수가 내 캐싱을 망쳤어] 에서 다뤘던 “입력에 대한 결정적 결..

  • format_list_bulleted Backend & System
  • · 2025. 12. 30.
[Django] hash()의 함정: 멀티프로세스 환경에서 캐싱이 실패하는 이유

[Django] hash()의 함정: 멀티프로세스 환경에서 캐싱이 실패하는 이유

TL;DRDjango 멀티프로세스 환경에서 캐싱 데코레이터가 제대로 작동하지 않았다. 원인은 Python 내장 hash() 함수가 프로세스마다 다른 값을 반환하는 해시 랜더마이제이션 때문이었다. hashlib.sha1()으로 해싱을 구현해 해결했다.로컬에선 잘 되는데요?평화로운 인턴생활을 보내던 중, 복잡한 계산이 포함된 API 성능 최적화 작업을 맡았다.계산 로직이 100ms 이상 걸려서 캐싱 데코레이터를 직접 구현했다. 로컬 개발 환경에서 테스트해보니 완벽했다. 첫 번째 호출에서는 실제 계산을 수행하고, 두 번째 호출부터는 캐시에서 즉시 결과를 반환했다. 실제 계산 없이 캐시에서 바로 가져오니까 체감상 거의 즉시 응답이 왔다.동일한 입력에는 동일한 해시값이 나오고, 다른 입력에는 다른 해시값이 나오니..

  • format_list_bulleted Backend & System/Django
  • · 2025. 12. 2.
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (4)
    • DevOps & Infra (1)
      • Docker (1)
    • Backend & System (2)
      • Django (1)
    • Frontend & Web (0)
    • CS Fundamentals (1)
    • Troubleshooting (0)
    • Retrospective (0)
인기 글
전체 방문자
오늘
어제
Copyright © kodekong 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바