https://xetown.com/topics/1599812
▲ 방금 올라온 웹지기님의 글
예전에 미션 모듈을 제작했을때 저에게도 관련 문의가 들어온적이 있었습니다
내용인 즉슨 "일부 회원이 미션 달성치만큼 게시글/댓글을 쓰고 미션 보상을 먹고 지운다" 라는 것이였습니다
저걸 개발할 당시에는 뭔가 신박한 아이디어를 내밀기 어려워서 사이트 운영자분께 대책을 맡기는 형태가 되어버렸는데요..
| 포인트가 필요합니다. 바로 지우겠습니다. 라는 게시글을 정회원이 되는 포인트가 도달할때까지 작성을 했더군요 ㅋㅋㅋㅋ |
위 웹지기님 글을 보고서 아이디어가 떠올라서 갑자기 만들어보았습니다
====================
PHP에 보니까 similar_text(), levenshtein() 같이 문자들의 유사도를 비교하는 함수들이 있더라고요
저런 단순 포인트 획득성 글/댓글에 경우 동일한 내용으로, 아주 빠르게 올리는 특성이 있습니다
이 특성을 이용해서 게시글을 쓸때 내용 앞 일정 글자를 잘라 DB에 저장하고, 다음 글을 쓸 때 글의 내용을 DB에 있는 내용과 비교합니다.
그리고 만약 유사도가 일정 이상이라면 횟수를 저장해서 일정 횟수 초과시 일정 시간동안 글을 쓰지 못하게 하는 모듈을 제작했습니다
텍스트 비교 속도를 높이기 위해 몇가지 트릭을 좀 더 적용했는데 오랜만에 재미있는 개발 했네요 ㅎㅎ
별도로 너무 빠른 속도로 글을 작성시 글 등록 전 "작성 속도가 빠릅니다. 유의해주세요" 같은 메세지를 보냅니다.
빠르게 작성하는 사람도 있을 수 있으니 별도의 제제를 하지는 않습니다만 복붙러에게는 경고의 메세지로 보일 수 있는 효과가..
일정 시간동안 일정 갯수의 글만 쓸 수 있게 한다던지 등등
재미있는 아이디어가 떠올라서 훌쩍 만들어 버렸습니다 ㅋㅋ
제가 오래 전에 중복금지(noduplicate) 애드온을 만들어 배포한 적이 있는데
훨씬 더 강력한 모듈이 출현했으니 애드온은 슬슬 은퇴시켜도 되겠군요.^^