Алгоритъм за популярност на потребителите в сайта
Всички видяха на сайтовете система за оценяване на статии и материали. Мнозина дори го направиха сами, но не всеки направи рейтинг на хората в сайта. В тази статия ще ви кажа как да направите висококачествена система за оценка за потребителите на вашия ресурс.
III - хипербола от @klim-danilovklim-danilov Да, това е доста интересна идея, но за оценката на материала. Но не и потребителите. Основни предимства:
- „Тежестта на всеки плюс или минус постоянно се намалява наполовина в хронологичен ред. Тоест, първият потребител поставя плюс с тежест +50 точки, следващият поставя плюс с тежест +25 точки, минус -50 точки, минус -25, минус -12,5 точки"
- Всеки следващ вот вече има по-малка тежест.
- Системата все още не е завършена.
IV - статистическа средна стойност Една от най-разпространените системи. Основата е общият брой гласували и общият резултат, разделени един на друг. Основни предимства:
- Системата е тествана и работи.
- Не високи разходи за ресурси.
- Потребителят има право да гласува от минимум до максимум. И обикновено, според статистиката, потребителите поставят най-ниския резултат или най-високия.
- Система за изключително оценяване на материала.
Алгоритъмът се основава на геометричната фигура „правоъгълен триъгълник“. Да, понякога в геометрията можем да открием доста необичайни неща.
Сега да преминем към забавната част.
Може би някой ще попита. Защо не използвахте формулата $резултат = ($a * 2) / $b;? Тази формула не работи правилно, когато $a е по-малко от $b повече от 2 пъти.
След няколко месеца ще приключа с писанетопроект (ще пиша за това след затворено бета тестване). Алгоритъмът ще бъде тестван върху реален проект, където е критично необходим.
След хиляда теста с $a = rand(0,99999); $b = ранд(0,99999); Натъкнах се на няколко грешки: 1-во - деление на 0. Коригирано if($b $b / 2) < $резултат = (int) кръг ($b / 2); >Максимумът може да бъде увеличен с 50%.
Бенчмаркът Code-Igniter не върна резултати за натоварване (0,0000).
Благодаря на всички. Търсете вдъхновение във всичко, което виждате.
И тук можете да получите грант за тестов период на Yandex.Cloud. Необходимо е само да въведете "Habr" в полето "секретна парола".