Андрей @UncleAndy
User
Information
- Rating
- Does not participate
- Location
- Подгорица, Подгорица, Черногория
- Date of birth
- Registered
- Activity
Specialization
Backend Developer, Database Developer
From 500,000 ₽
Golang
Docker
PostgreSQL
Git
Nginx
High-loaded systems
Kubernetes
Linux
MySQL
Redis
Хочется отметить, что при использовании rand() в SQL выражении идут лесом любые индексы и оптимизации по ним. Так что категорически не советую его использовать в выражениях WHERE или ORDER.
Менеджер процессов для FastCGI — FCGI::ProcManager
Работа с мемкэшем — Cache::Memcached (Cache::Memcached::Fast я пробовал, но он падал при нагрузке)
Вообще, не полностью согласен с тем, что иногда может не быть заранее составленного списка.
В любом голосовании должны быть голосующие, которые к нему допускаются. Т.е. в любом случае есть некий критерий допуска к голосованию. И тут у нас дилема — либо выбирать кого-то, кто будет решать, допущен данный голосующий к голосованию или нет (то, что есть сейчас — чревато коррупцией и подделками), либо доверить эту функцию самому сообществу голосующих в данном голосовании. Мы придерживаемся второго варианта. Тут, конечно, нет фиксированного списка голосующих, но есть некоторая динамическая система, с помощью которой его, в принципе, можно составить на какой-то момент времени.
Если нет, есть список сотрудников предприятия в базе отдела кадров.
В данном случае все, как раз, намного проще чем при более глобальном голосовании.
Но в общем, вы правы. Если смотреть на реальность, да еще и на закон о персональных данных — это будет проблемой. Но в идеальном случае, это может быть решением.
У нас в проекте эта проблема решается через систему обратной связи, когда любой голосующий может проверить реальность любого другого голосующего. Предоставление персональных данных один-на-один вроде как не регулируется законом.
Спасибо, посмеялся. :)
Вы вообще понимаете в чем особенности шифрования с открытым ключем? И в чем удобство именно такого метода шифрования?
К сожалению, даже при такой системе никакой защиты от вбросов. А это как раз одна из главных проблем голосований. Ее можно избежать в полностью открытых голосованиях. Но, де-факто, все голосования невозможно сделать открытыми. Т.к. в голосованиях, от которых зависит распределение ресурсов, их открытость напрямую будет способствовать «коррупционноому» их распределению.
А при тайном голосовании обеспечить отсутствие вбросов можно лишь предусмотрев проверки голосовавших пост-фактум. И исключая из процесса голосования тех, кто однажды участвовал в таких махинациях. Такое возможно лишь при формировании сети доверия избирателей. И организации структуры обратной связи в такой сети.
Так что задача организации нормальных голосований не такая очевидная, как может показаться на первый взгляд.