캐시를 활용한 고성능 데이터 조회 시스템
·
Programming
현재 정보화 시대에는 정보량이 급증하고 있다는 것, 다들 아시나요? 우리가 인터넷으로 하는 것, 심지어 일상생활에 사용되는 모든 정보가 컴퓨터에 저장이 되는 시대입니다. 시간이 지날수록 저장해야 할 정보가 늘어나게 되고, 우리는 그 정보를 더욱 효율적으로 저장하고 사용하는 것이 필요하게 됩니다. 따라서 이번 포스팅에서는 데이터를 저장하는데 효율이 좋은 해시테이블과 캐싱에 대해 알아보고 각각의 특징에 대해 알아보도록 하겠습니다. 목차 1. 해시 테이블과 캐시2. 해시 체이닝 vs LRU 캐시3. 코드 구현4. 분석 #1 해시 테이블과 캐싱 해시 테이블 해시 테이블이란 해시 함수를 이용하여 key : value를 저장하는 자료구조입니다. 해시 함수로 key 값을 변환한 후, 변환한 값의 배열 인..
웹 로그인 성능 및 보안 개선 프로젝트
·
Programming
실제 웹사이트에서 이루어지는 로그인 성능 및 보안 개선 프로젝트  목차 1. 프로젝트 소개2. 프로젝트 제작 과정3. 프로젝트 성능 및 보안 향상4. 분석  #1 프로젝트 소개  실제 네이버, 다음, 각종 웹사이트에서 이루어지는 로그인 프로그램을 구현하는 프로젝트입니다. 단순히 로그인 기능을 구현하는 것이 아니라, 프레임워크를 따로 사용하지 않고 MySQL과 라이브러리만을 사용하여 로그인을 할 때 발생하는 성능 문제 및 보안 문제를 파악하는 것을 중시했습니다.  로그인을 할 때, 어떤 요소가 성능을 낮추는지에 대해 생각을 하며 코드를 구현했습니다. 서버에 장애가 일어날만한 요소를 고려해 본 결과, 트래픽이 부하될 경우, 로그인을 할 때 발생하는 다중 해시 처리에서 적어도 성능에 영향을 미칠 것임을 이용하..