'블렉스 이야기' 시리즈조회수 개선

baealex

소비적인 일보단 생산적인 일을 좋아합니다.

Sign in to view email

개선 방안

기존에는 매일 0시에 CRON 방식을 이용하여 포스트의 속성값을 변경하며 유지하였다. 처음 이 기능을 만들때는 그저 어제, 오늘, 총 조회수만을 간단하게 보여주는 것을 목표로했으나 포스트의 날자별 조회수를 보여주기 위한 방안을 다시금 생각해보게 되었고 부득이하게 데이터의 구조를 변경하게 되었다.


조회 측정 방식 리뉴얼

구조를 변경하면서 기존에 가지고 있었던 몇 가지 문제점을 함께 극복하고자 하였다. 바로 '조회수 측정 방식'! 기존에는 사용자 브라우저의 쿠키를 이용하여 사용자가 이 글을 이미 읽은 사용자인지 판단하였다. 이 방법은 매우 간단하지만 사용자가 익명 브라우저를 사용하거나 쿠키를 삭제하거나 새로운 브라우저를 사용하면 한 명의 사용자가 몇 번이라도 조회수를 상승시킬 수 있다. 봇이 크롤링을 실시하면 크롤링하는 횟수만큼 조회수가 올라간다.

이 문제를 해결하기 위하여 방문자의 아이피를 이용하였다. 다만 블렉스는 방문자의 개인 정보를 엄격하게 다루며 서버에 일체 아이피를 저장하지 않는다. 사용자의 아이피는 SHA256, BASE64 방식으로 암호화되어 서버에 저장되며 단지 암호화 키가 서버에 존재하는지만 판단한다.

9L4f2QUcxLxBxAag124En2npMwDkynqC8qmCDuZf9E6U=;

대략 위와같이 저장되며 다음날이되면 해당 값이 삭제된다.


경향 리뉴얼

기존 경향의 방식은 위와같이 조회수 10당 1의 값, 추천 1당 10의 값을 주었고 매일 1씩 감소했다. 전날의 조회수가 많은 영향을 주기 때문에 경향 포스트가 거의 변동되지 않는다. 개선된 정렬방식은 일주일간의 조회수를 기반으로 한다. 하지만 이 경우도 기존 방식과 동일하게 포스트가 거의 변동되지 않을 것이다. 차후 개선 방안을 찾아보도록 해야겠다.


'블렉스 이야기' 시리즈
블렉스는 제가 애정을 가지고 개발하는 하나의 취미이자 한명의 자식(?)이며 처음으로 서비스를 시작한 프로젝트입니다. 혼자서 풀사이클 개발을 하다보니 부족한 점이 많을 수 있지만 부족한 점은 채워나가면 된다고 생각합니다. 이곳은 블렉스의 부족한 점을 채워나가는 모습을 그려놓은 시리즈입니다.
mildsalmon
5개월, 3주전

경향이 생각보다 쉬운 매커니즘이였네유

baealex
5개월, 3주전

@mildsalmon 조회수랑 비례해서 금방 눈치채실 줄 알았는데;

mildsalmon
5개월, 3주전

@baealex 제가 좋아요 받을일이 없어서;

baealex
5개월, 3주전

@mildsalmon (숙연...)

로그인된 사용자만 댓글을 작성할 수 있습니다.