pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Мыльная картинка на мониторе с макбуком. Что делать?

Лучший ответ: потому что на экране макбука hidpi, а на экране монитора нет (и не будет, пока не поменяете на 4к и выше).

Худший ответ: Вот хорошая статья по этому поводу. Не поленитесь посмотрите:
https://macosworld.ru/external-monitor-for-macbook/
Если ленитесь :), то вот табличка в моем ответе на вопрос, такой же, по сути как и ваш. Смотрите табличку там и выбирайте монитор.
Можно ли на этом мониторе получить нормальные шрифты?
Вопрос: Как перестать писать на Asm и начать использовать C++ для STM32?

Лучший ответ: Если слишком много "узких" мест - возможно надо не тратить время на оптимизации и счет тактов, а взять FPGA или SoC и сделать специальную периферию под задачу? А в ядре или внешнем контроллере уже крутить алгоритмы, не требующие такой жесткой привязки к реальному времени. Опишите подробнее задачу, может подскажу как это можно решить.

Худший ответ: Выберите профайлер и внутрисхемную отладку. 
На основе этих метрик и будете переписывать проблемные участки кода на ASM

И кстати С++ для микроконтроллера, особенно с критичными по времени участкам кода, это излишнее.
Вопрос: Как создать подобный видеоролик?

Лучший ответ: Обычно, такие видео создаются в программе After Effects. Программа сложная и требуюет длительного изучения. Впринципе, с такой задачей справится еще Sony Vegas 16 и Premiere Pro. Эффект преобразования/скольжения текста называется Text Slide, а смена шрифтов производится вручную и каким либо эффектом не является. Данный вариант монтажа называется Simple/Text Animation. На телефоне такое сделать очень сложно, но если сильно хочется - то можно. (Попробуйте любую 2D программу для покадровой анимации)

Худший ответ: эффект называется "прямые руки"
Вопрос: На какие показатели здесь можно смотреть в профилях для поиска нужных людей?

Лучший ответ: Нет тут таких показателей. Да и не здесь тоже нет, новичков невозможно оценить по количественным метрикам. 
Смотреть на вкладки "Вопросы", "Ответы", "Комментарии" и путём анализа содержания определять комфортных/перспективных в работе людей.

Худший ответ: Проведя простую аналитику по странице "Пользователи", отвечу сам: 
([Количество ответов] + [Общий вклад]) / [Количество вопросов] = 50..100Должно быть в интервале от 50 до 100.
Если показатель не в этом интервале - это значит, что пользователь или новичок на сервисе, или это банальная "накрутка".

Затем, можно посмотреть по подписчикам тегов и по сумме вклада в тег и количества ответов (обычно, сверху вниз, но не всегда):
1. Нейронные сети
2. Машинное обучение
3. Структуры данных
4. Распознавание образов
5. Алгоритмы
Вопрос: Как оптимизировать / кэшировать кучу тяжелых запросов к MySQL?

Лучший ответ: 1) Проверить индексы на таблицах, с такими объемами у вас все должно летать.
2) Кэширование используется на часто вызываемых запросах, где не критично отставание от точных хранимых данных в пределах некоторго заданного временного интервала, например список последних новостей на сайте изменяется не часто, а запрашивается постоянно, есть смысл хранить его в кеше хотя бы 15-30 минут. А у вас ситуация ровно обратная - запрос делается редко, и данные нужны актуальные.
3) к п.1 нужно соответственно добавить проверку, как работают запросы и используются индексы, explain в руки и вперед.

Худший ответ: Короче. Проблему решил так.

- Услышал про индексы, пошел разбираться.
- Наткнулся на длинную серьезную статью по этой теме: https://ruhighload.com/%D0%98%D0%BD%D0%B4%D0%B5%D0...
- Изучил от и до; приписка в конце положила под стол.
- Как опытный, крайне смекалистый программист-любитель я практически моментально и до последнего слова все не понял, поэтому от нудной теории перешел сразу к веселой практике.
- Начал тестить; в процессе научился работать с БД через консоль.
- Как оказалось, волшебная таблетка - создание индекса на поле ID для таблицы просмотров.

$sql = 'CREATE INDEX id ON wp_post_views(ID)';
$wpdb->get_results($sql);

* здесь ID - это ID поста, к которому относится просмотр, а не primary key, как может показаться

Заткнул я это на хук смены темы (надеюсь я правильно понял, что этот индекс не нужно обновлять вручную?). Залил патч на сервер и, - о чудо! - реально все летает. Там, где раньше грузилось за 10-15 сек стало грузить за 0.5-1.

Mission Complete.

P.S. Всем спасибо, кто помогал. Но впредь сильно не матюкайтесь.. Не все такие крутые гуру, как вы. Некоторые учатся в процессе. Отсюда и шишки.
Вопрос: Как обойти капчу при вводе формы?

Лучший ответ: Есть куча сервисов антикапчи - декапчер, антигейт, пиксодром, капчабот... Выбирай любой.
У всех цены одинаковые и стоит это не дорого

Худший ответ: Используйте рукапчу для разгадки капчи, это стоит копейки и достаточно надёжно.
Вопрос: Как использовать Bootstrap и jQuery, не используя внешний источник?

Лучший ответ: HTML Service: Best Practices

На стороне сервера создаете

tools.gs
function include(filename) {
  return HtmlService.createHtmlOutputFromFile(filename)
      .getContent();
}

bs.html
<style>
  Тут код вашего BS
</style>

jq.html
<script>
  Тут код вашей JQ
</script>

Для клиента создаете

client.html
<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <?!= include('bs'); ?>
  </head>
  <body>
    <h1>Welcome</h1>
    <p>Please enjoy this helpful script.</p>
    <?!= include('jq'); ?>
  </body>
</html>

Создание сайдбара

function showSidebar() { 
  var htmlTemplate = HtmlService
    .createTemplateFromFile('client');
  SpreadsheetApp.getUi().showSidebar(htmlTemplate.evaluate()
    .setTitle('Цвет текста в ячейке поменялся'));
}

Исходя из комментариев, я так и не понял, почему я "должен" предоставлять пример, а страждущие знаний ничего не будут делать, даже пример, который очевидно, должен быть.

Пример использования https://script.google.com/d/1VpI6PRVsIQ08W6gIHs2y1...
Сниппет https://github.com/contributorpw/google-apps-scrip...

Худший ответ: Сделал так. Ошибка
// Подключаем Bootstrap
     var sidebarHTML = '<?!= include('bs'); ?>';
    //var sidebarHTML = '<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">';
    // Подключаем jQuery
    sidebarHTML += '<?!= include('jq'); ?>'
    //sidebarHTML += '<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>';
Вопрос: Опасно ли давать удаленный доступ к ноутбуку?

Лучший ответ: Разумеется опасно. 
Вы бы ещё спросили, опасно ли давать ключи от дома незнакомцу на улице.

Худший ответ: А почему сразу не послал свой ноут этому китайцу? Что за полумеры?!
Вопрос: В чём разница между IN и знаком равно?

Лучший ответ: x = a
или
x IN [a, b, c]
По-моему разница очевидна.

Худший ответ: = используется для прямого сравнения с единственным значением, 
хорошо будет работать с вложенными запросами с агрегатной функцией, или точным посимвольным значением
IN используется если вариантов сравнения  несколько, и подходит любой из перечисленных, например 
мне нужно выбрать свитер, где цвет IN ('синий', 'коричневый', 'зеленый') 
это будет быстрее, чем писать 
WHERE цвет = 'синий' OR цвет =  'коричневый' OR цвет =  'зеленый'
Вопрос: Какой метод атаки MITM лучше?

Лучший ответ: Не судите строго: отвечу как есть.
Зачем делать Сделал даже для этого отдельную загрузочную флэшеку ,чтобы всё было по красоте., 
если даже нет понимания Какой вид атаки Mitm лучше подходит для wlan0. Arp-poisoning,DHCP spoofing, NDPpoisoning. Если же никакой ,то прошу объяснить(Не судите строго ,только учусь).
Вы если задаёте вопрос, должны знать принцип работы каждого из этих типов (Arp-poisoning, DHCP spoofing, NDPpoisoning). А зная принцип - Вы бы уже сами себе ответили и не задавали подобных вопросов.
Хотите ввести всех в заблуждение?)
Если нет - тогда опишите каждый так, чтобы все поняли.

Худший ответ: Фигня всё это. Всё сводится к перебору пароля по словарям. Для современных роутеров это малоэфективно.
Вопрос: Как применять Git начинающему?

Лучший ответ: когда только столкнулся с гитом - был такой же вопрос, что с ним вообще делать.
Для начала - просто коммитил любой внятный кусок работы, в одну ветку попорядку. 
после пары факапов, когда надо было что-то восстановить, понимание какими порциями коммитить сразу стало лучше.
после пары моментов когда делал-делал а потом оказалось что надо все откатить, но в истории у меня все вперемешку с тем что надо оставить, пришло понимание зачем нужны ветки. 
и так далее. 
В общем - применяйте так как можете, со временем поймете больше на практике. А то вам сейчас тут насоветуют git-flow, пул-реквесты самому себе, автоверсионирование, деплой через хуки и прочее вам не нужное.

Худший ответ: Основные правила такие:
1. Перед началом работы делаете новую ветку, на этап работ, допустим на спринт в 2 недели
2. В спринте есть задачи, каждая выполненная задача это коммит,  автоматическое закрытие задачи решается добавлением идентификатора в коммит https://help.github.com/en/github/managing-your-wo...
3. изучите команды amend, blame, status
4. В гите создаете задачи на доске проекта, при коммите они меняют статус в соответствии с п. 2
5. Все документировано и не вызывает вопросов. 
Пс данная методика работает не только в github, но и в других системах.
Вопрос: Комплект мат. плата+процессор+память с Aliexpress для 1С?

Лучший ответ: Во первых 1С подразумевает оплату со счета организации как вы это провернете?
Второе известная глючность биоса этих  плат. 
Третье ну купите нормальный сервер со всеми плюшками. 
Вот  пример
https://www.proliant.ru/catalog/servers/DL/servery...

Для вас даже с избытком, поставите E5-2680 v2 и горя знать не будете.

Худший ответ: С появлением многоядерных ризенов подобные китайские сборки стали менее привлекательны. 
Имеет смысл только если есть реальная потребность в максимальном числе ядер за минимум денег.
Для 1с лучше всётаки гнаться за частотой, а не ядрами.
Вопрос: Почему терминал зависает после подачи команды?

Лучший ответ: Скорее всего проблема с диском/флешкой или отвалившемся сетевом диске

Худший ответ: Ls - la больше походит на большой список файлов в каталоге.
Lsof - множество открытых файлов или сокетов
попробуй вывести только часть файлов сверху:ls -la |head
Вопрос: Как снять полный образ системы Debian 9?

Лучший ответ: Во первых так делать не стоит. Банальная причина это разное железо и с этим будут проблемы.
Во вторых правильный способ:
1) Условно есть система которую нужно размножить, ставите , устанавливаете нужное ПО, настраиваете ее.
2) Снимаете список нужного ПО. Пишите маленький скрипт который сделает apt install soft1,soft2,... и дальше по списку.
3) Настройки ПО будут в первую очередь в etc и в ~(домашний каталог пользователя). Пакуете эти конфиги. (все подряд ненужно, берите только то что необходимо, в т.ч. не стоит тащить конфиги типа настроек сетевух и т.д.)
4) Теперь на нужной машине ставите дебиан, выполняете полученное из п2, распаковываете с заменой конфиги из п3.
Будьте внимательны к конфигам "железным", т.е. всякие fstab\mtab где фигурирует что то железозависимое.

Худший ответ: а зачем весь?
копируй только хомяк(домашнюю 
всё остальное ставится в пять минут
Вопрос: Как уловить ошибку о которой умалчивает PHP интерпритатор?

Лучший ответ: 1. В начале каждого PHP-скрипта (глобально - не работает!): declare(strict_types=1);
2. Читаем тут и ставим свою перегрузку:public function __get(string $var) : ?string {
    if (property_exists($this, $var)) {
        return $this->$var;
    }
    
    throw new Exception('property doesn’t exist');
  }

  public function __set(string $var, string $value) {
    if (property_exists($this, $var)) {
        $this->$var = $value;
        return;
    }
    
    throw new Exception('property ' . $var . ' doesn’t exist');
  }
3. В php.ini добавить (дополнить):display_errors = On
error_reporting = E_ALL | E_STRICT
4. В начало PHP-скрипта добавить:error_reporting(E_ALL | E_STRICT);
error_reporting(-1);
ini_set('error_reporting', E_ALL | E_STRICT);
5.В .htaccess:php_flag display_startup_errors on
php_flag display_errors on
6. "Контрольный в голову": https://xdebug.org/docs/basic
7. PHPStan - проверка PHP-кода на ошибки без запуска.
PS: ещё есть также prepend/append скриптов в php.ini для установки любых значений (исполняется php-код внутри них) до/после загрузки любых скриптов, соответственно.

Худший ответ: PhpShtorm для foo1 даст подсветку, что переменная не определена, во втором случае будет считать, что такое присвоение допустимо function foo1()
{
    $bar->test['a']['b'] = 5;
}

/**
*@param  stdClass|object  $bar
*/
function foo2($bar)
{
    $bar->test['a']['b'] = 5;
}
здесь stdClass | object как иллюстрация, что он от них унаследован
Вопрос: Нужно ли учить Reactive Spring, Cloud?

Лучший ответ: Скажу, что можно взять учебник, прочитать от корки до корки и получить весь необходимый стартовый набор знаний. Потом выйти на работу и углублять стек используемый в профессиональной деятельности.

Худший ответ: Я попал на Spring WebFlux и Cloud, когда на уровне "что-то слышал и хочу получить опыт" и меня взяли. Это всё зависит от работодателя же, проекта и прочего. Как бонус - лишним не будет. Но я думаю, что это не должно стать преградой в основном. Только если это определённое требование к кандидату на определённую позицию. Есть книгаот Олега Докуки, почитаете, попробуете и будет достаточно.
А монгу я вкуривал по мере необходимости. Просто начните ходить на собеседования и там будет понятно :)
Вопрос: Как правильно настроить Mikrotik на 2 провайдера, один для Интернет, второй для телефонии?

Лучший ответ: я думаю надо маркировать трафик с телефонов, и маскарадить их в нужны интерфейс (правило маскаридинга трафика с маркировкой, должно быть выше, чем правило без маркировки), таким образом им будет подменен сорсе адрес на ип с интерфейса. Если на втором интерфейсе ип по дшсп, то у клиента выключить маршрут по умолчанию, и задать статичный маршрут с меньшим весом чем у основного (либо у основного больше вес сделать). У самого маршрута роуте марк еще нужно поставить.

и да, SIP ALG надо вырубить
Вес маршрута с маркировкой должен быть меньше чем без маркировки, иначе трафик польется в маршрут с меньшим весом, без маркировки

И еще один момент, т.к. на втором интерфейсе у вас локальный адрес, то у вас получается двойной нат - это плохо скажется на сип трафике, возможно вообще не будет проходить.

Худший ответ: Интересно, какой внешний IP телефон указывает в SIP заголовке) Если телефон это делает с помощью STUN, то может указать  IP первого провайдера. Так же не понятно насколько корректно отрабатывает SIP ALG с двумя провайдерами.

Попробуйте запретить телефонам выходить в интернет через первого провайдера.
Вопрос: Формы и модели django. В чем различие?

Лучший ответ: Модели - связны с БД, они нужны для представления данных в базе в виде объектов python.
Формы - в общем случае нужны для получения и валидации данных от пользователя c которыми вы потом сделаете что вам нужно. Частный случай - ModelForm, сам слепит для вас объект модели из данных полученных в форме.
Флоу такой:
Данные юзера -> Форма ->  Модель -> БД

Худший ответ: https://docs.djangoproject.com/en/3.1/topics/forms...
В документации, в принципе есть ответы на многие вопросы

Грубо говоря:
Модель - твоя таблица в БД
Форма на основе Модели - Добавление (+ валидация) строки в БД

Если только начал изучать Django, начни с их примера создания сайта и очень многое станет на места:  https://docs.djangoproject.com/en/3.1/intro/tutorial01/
Вопрос: Есть ли нюансы при использовании бесплатного плана в Firebase?

Лучший ответ: 1. Достаточно ли базового бесплатного плана к примеру для приложение (Vue.js+Firebase) внутреннего пользования, для малого бизнеса (ведение учета, графики зависимостей и т.д.), в плане бд, хостинга, количества запросов и т.д. ? 
В большинстве случаев достаточно. Если не ошибаюсь в прошлом году публиковали статистику, согласно которой лишь чуть более 1% проектов превышали бесплатный тариф, что как понимаете очень мало.2. На сколько вообще распространена практика использования бесплатного плана Firebase для продакшен ?
Более чем распространена, особенно в стартапах или просто новых проектах. Но на деле я рекомендую подключить платный тариф(не тот что за 25$ а тот который за фактическое использование), в таком случае если вы не превысите лимиты бесплатного тарифа то у вас ничего не будет списываться, но даже если вдруг будете превышать, то как правило это будут единицы долларов. Если вы делаете условную соц. сеть с миллионами юзеров, то я не рекомендую firebase, но для какого-то простенького проекта с десятками тысяч пользователей firebase лучшее что можно найти.3. Есть ли какие-то нюансы при использовании в продакшен такого плана ?
О нюансах я сказал выше - подключите на всякий платный тариф, чтобы вдруг при превышении ничего не отвалилось. Но на деле платить будете только если превысите бесплатные лимиты.4. Достаточно ли являются защищенными данные в БД ? Нужна ли для защиты дополнительная утилита?
Дополнительная защита не нужна, вряд ли существует что-то более защищенное, чем сервисы гугла.

Худший ответ: Я думаю что сразу на несколько вопросов ответ вы найдете вот тут https://firebase.google.com/pricing.
Но как показывает практика даже на момент разработки я уперся в потолок бесплатного плана и пришлось покупать. 
Что касается защиты то поверьте гугл и так поднял планку на высокий уровень все что остается вас так это самим не косячить.
Вопрос: Что использовать для получения TCP-пакетов в python?

Лучший ответ: Использовать нужно сокеты. В некоторых случаях можно с asyncio.

Худший ответ: Вот простой пример.
Для описанных вами задач скорее всего не потребуется asyncio.
Конечно, может быть ваше устройство шлёт данные с огромной скоростью и не каждая БД успеет их принимать, или данным в потоке нужна нетривиальная и трудоёмкая обработка, а может быть их требуется обогащать доп-запросами к другим API, тогда вам, может быть и пригодится асинхронная работа. Но, чтобы сделать окончательный вывод, нужно больше подробностей.
Вопрос: Как посчитать количество определённых строк в файле?

Лучший ответ: Не совсем по теме, но обчно я с логами работаю средствами консоли. получается очень быстро, гибко, удобно

grep -P -o 'Fatal error|Syntax error|Not Found' logs/images.*.error.log  | sort | uniq -c | sort -V

выгрепаем нужные ошибки, из всех файлов, сортируем, подсчитываем количество и для кроасоты сортируем по убыванию

А, ну и 
wc -l  logs/images.*.error.log
чтобы получить полное количество ошибок пофайлово, если нужно

Худший ответ: зачем для этого php?
cat images.example.ru.error.log | grep '^Fatal error' | wc -l
Вопрос: Почему строка не обрезается?

Лучший ответ: Почему строка не обрезается?
s.Substring(0, s.Length -2);
Этот метод возвращает новую строку, а не изменяет старую

И как можно сделать так, чтобы лог писался с новой строки
Добавьте перенос строки

Худший ответ: File.AppendAllText(whereSaveTxt.Text, ss + Environment.NewLine); сделяль
Вопрос: Нормально ли что шумит с хрустом кулер видеокарты на высоких оборотах?

Лучший ответ: Если корпус опечатан, со всеми вопросами к сборщикам. Ппродемонстрируйте проблему, пусть вскрывают и смотрят. А то потом и выход из строя видюхи окажется негарантийным: в кулер попал посторонний предмет, заклинило и перегрелось.
Как вариант - позвонить и получить санкцию на вскрытие. Со своими рабочими компами так и делаю. Звоню, договариваюсь, вскрываю и, скажем, на замену отправляю одну планку памяти, а не весь комп. Комп в работе остается.

Худший ответ: снять кулер - разобрать - прочистить - смазать - собрать - поставить на место.
вар2: купить новый / прикрутить другой.
Вопрос: Сделать карьеру на PHP: Symphony vs Zend?

Лучший ответ: Вопрос, как всегда, поставлен жутко неграмотно, так сказать, по деревенски: без какого бы то ни было видения перспективы, хотя бы на 5 лет вперёд. 
Изучать какой-либо современный фреймворк ради *карьеры* - несусветная глупость. 5 лет назад ларавеля не было, а симфони и зенд были в таком виде, что мы бы сейчас обплевались. При том что различия между современными версиями довольно минимальны.
Это, я не знаю, как спросить "хочу быть столяром, какую отвёртку мне изучать, крестовую или шлицевую?".
Изучать, ради карьеры, надо столярное ремесло целиком. В данном случае - программирование. Принципы, на которых устроены фреймворки. Одного этого хватит на те же лет 5. Зато потом не будет проблемы адаптироваться к неизбежным изменениям. 
А если считать пределом мечтаний клепание говносайтов на некоем идеальном фреймворке на все времена, то может так случиться, что через 5 лет к условным "ларавельщикам" будут относиться так же, как сейчас к вордпрессникам.
И кстати для изучения принципов симфони подходит лучше
Да - и конечно же, все ответы туда же. 
Один решил меряться количеством скачиваний. Ну если судить по такому критерию, то все перечисленное - букашки, которые копошатся под подошвами Вордпресса, с его присными темами и плагинами.Да, и самое главное я тоже забыл сказать. Коллега xfg в самую точку написал в комментарии:Фреймоворк - это на самом деле тонюсенькая прослойка над приложением.  Это, по сути, система подай-принеси, принять запрос с фронта и отправить ответ. А что именно будет в ответе - решает не фреймворк, он здесь уже не при делах. 
Очень на эту тему прочищают мозги доклады и видео Дмитрия Елисеева. У него на сайте как раз появился доклад с PHP Russia 2019, который я горячо рекомендую.
На ту же тему был и доклад Томаша Вотрубы, кстати. Что фреймворки, по сути, можно менять как перчатки, при желании. И у него есть даже инструмент для этого. Но в данном случае речь не об инструменте а о том, что фреймворк- далеко не главная часть приложения, и упираться в изучение фреймворков это все равно что в изучение отверток.

Худший ответ: https://packagist.org/packages/zendframework/zendf...
https://packagist.org/packages/symfony/symfonyпросто цифры
Installs: 44 424 339 vs  5 217 977
v4.3.52019-10-07 15:14 UTC vs 3.0.02016-06-28 12:44 UTC
Вопрос: Алгоритмы парадигмы и т.д. Как учить?

Лучший ответ: Если хочешь изучить алгоритмы то для начала прочитай книгу "Грокаем алгоритмы от Адитья Бхаргава". Потом порешай различные задачки вот тут https://euler.jakumo.org/problems.html.  Рекомендую сначала выучить сам язык, а потом пробовать писать выше указанные алгоритмы. Хотя если ты учишь низкоуровневые языки, то лучше изучать алгоритмы вместе с языком.

Худший ответ: Парадигмы - это логические связи нужно учить.
Всё на википедии есть.

Нужно сначала научиться читать мат.формулы, и только потом, все алгоритмы смотреть на википедии. Они там все списком и с формулами (иногда и с реализациями).
Вопрос: Есть ли сайты, на которых собраны множество «рецептов» по html/css?

Лучший ответ: Оу, май, парень. В этом плане лучше всех CSS-Tricks! И это на самом деле лучший ресурс: трюки, фишки, обучение и гайды с подробным описанием всех новейших технологий в области HTML/CSS (Flex, Grid, красивые менюшки и так далее)

Худший ответ: Попробуй htmlbook.ru
Вопрос: Не могу переустановить Скайп на Windows 7 почему то?

Лучший ответ: Попробуй поставь портабл RevoUninstaller и удали Skype. Возможно где-то остались зависимости и обычный деинстлаллер не может удалить
У меня была похожая проблема, решил через Revo

Худший ответ: Ctrl + Shift + = для увеличения
Вопрос: Как сделать голосование на лендинге?

Лучший ответ: На чем лендинг стоит уточняйте. А то я вам щас распишу структуру MVC Django.

Худший ответ: без серверной части никак,
на сервере голосующего надо будет идентифицировать - через авторизацию на сайте, на худой конец через айпи - чтобы нельзя было голосовать несколько раз, каждый голос писать в базу данных, в нужный момент из базы данных делать выборку
ну в браузере всё понятно, под каждой работой дизайнеров кнопочку "мне нравится"