개선 방안
기존에는 매일 0시에 CRON 방식을 이용하여 포스트의 속성값을 변경하며 유지하였다. 처음 이 기능을 만들때는 그저 어제, 오늘, 총 조회수만을 간단하게 보여주는 것을 목표로했으나 포스트의 날자별 조회수를 보여주기 위한 방안을 다시금 생각해보게 되었고 부득이하게 데이터의 구조를 변경하게 되었다.
조회 측정 방식 리뉴얼
구조를 변경하면서 기존에 가지고 있었던 몇 가지 문제점을 함께 극복하고자 하였다. 바로 '조회수 측정 방식'! 기존에는 사용자 브라우저의 쿠키를 이용하여 사용자가 이 글을 이미 읽은 사용자인지 판단하였다. 이 방법은 매우 간단하지만 사용자가 익명 브라우저를 사용하거나 쿠키를 삭제하거나 새로운 브라우저를 사용하면 한 명의 사용자가 몇 번이라도 조회수를 상승시킬 수 있다. 봇이 크롤링을 실시하면 크롤링하는 횟수만큼 조회수가 올라간다.
이 문제를 해결하기 위하여 방문자의 아이피를 이용하였다. 다만 블렉스는 방문자의 개인 정보를 엄격하게 다루며 서버에 일체 아이피를 저장하지 않는다. 사용자의 아이피는 SHA256, BASE64 방식으로 암호화되어 서버에 저장되며 단지 암호화 키가 서버에 존재하는지만 판단한다.
9L4f2QUcxLxBxAag124En2npMwDkynqC8qmCDuZf9E6U=;
대략 위와같이 저장되며 다음날이되면 해당 값이 삭제된다.
경향 리뉴얼
기존 경향의 방식은 위와같이 조회수 10당 1의 값, 추천 1당 10의 값을 주었고 매일 1씩 감소했다. 전날의 조회수가 많은 영향을 주기 때문에 경향 포스트가 거의 변동되지 않는다. 개선된 정렬방식은 일주일간의 조회수를 기반으로 한다. 하지만 이 경우도 기존 방식과 동일하게 포스트가 거의 변동되지 않을 것이다. 차후 개선 방안을 찾아보도록 해야겠다.
Ghost