Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какими методами можно смоделировать распространение волн WiFi в квартире?

Лучший ответ:
Посмотрите как моделируют распространение звука - по этой теме много чего есть.
А WiFi в этом плане мало чем отличается от звука.

Худший ответ:
Всю необходимую информацию вы найдёте в рекомендации ITU-R P. 1144.
Вопрос: Есть ли песочницы оффлайн аналог JSFiddle?

Лучший ответ:
скачиваешь нужные библиотеки ( если надо ), открываешь блокнот, творишь.
зачем какие-то программы? JS, HTML, CSS работает в браузере без интернета.

Худший ответ:
браузер
Вопрос: Кнопка «WhatsApp» на сайт. Появилось решение?

Лучший ответ:
Сам не использовал, но 
https://github.com/mgp25/Chat-API/wiki/WhatsAPI-Do...

Худший ответ:
mgp25/Chat-API
End of support End of support
#2116 opened on 10 Aug 2016 by mgp25 
и говорит, что 
[status] => fail
[reason] => old_version
при регистрации. Менять версию вотсапп в константах пробовал - не помогает, может терпения не хватило, подскажите, если кто разобрался?
Или - Есть ли актуальная библиотека на ПХП чтобы работать с вотсапп?
Вопрос: Хеширование слова с допуском ошибок при вводе и/или написании. Как сделать?

Лучший ответ:
Вот пример такого хеша:int hash(string s) {
  return 42;
}
Можно вместо 42 возвращать другое число, но обязательно, всегда одно и то же. 
Это все потому, что множества слов с ошибками перекрываются. Например, строки "aaaa" и "aabb" должны давать одинаковый хеш. Но точно так же сроки "bbbb" и "aabb" должны давать одинаковый хеш. В итоге получается, что все возможные строки должны давать одинаковый хеш.
В чем состоит изначальная задача? Зачем вам такой хеш понадобился? Наверняка что-то типа поиска строк, совпавших с 1-2 ошибками. В этом случае следует перебором сгенерировать из заданной строки все возможные с 1-2 ошибками, эти строки уже сохранить как-то (например, используя стандартный хеш в хеш-таблице). 
Или можно сравнивать строки парами, считая сколько нужно ошибок, чтоб получить из одной строки другую. Это стандартное динамическое программирование. Гуглите дистанцию редактирования.

Худший ответ:
возможно графы лучше подойдут, тогда ты при наличии ошибки, можешь пробовать другие варианты одного из узлов (буквы).
Вопрос: Вредно ли держать ноутбук macbook постоянно на зарядке???

Лучший ответ:
Уже был такой вопрос. Почитайте тут ответы, в том числе и мой.
Как правильно заряжать Macbook Pro?

Худший ответ:
Как раз этим вы и убиваете аккумулятор. Не рекомендуется ноут постоянно подключать к сети.
Вопрос: Точный таймер из php/laravel?

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

Худший ответ:
Тупое решение в лоб: ставьте таймер на 27 секунд а потом while ($curr_time < $target_time) {
   usleep(10000); // 0.01 sec или какая вам там точность нужна.
}
Вопрос: Как защитить Socket.io от клиентского внедрения?

Лучший ответ:
Никак, всё что может сделать браузер - то может сделать и клиент, притворившись браузером

Худший ответ:
Никак. Но вы можете менять данные для подписки, например, если у вас есть канал:
App.User.{userId}
То вместо идентификатора пользователя, используйте какой нибудь хеш, который будет меняться раз в несколько часов. Таким образом, избежать несанкционированного подключения к комнате нельзя, но, это несколько затруднит процесс рандомного подключения к комнатам.
Вопрос: Как ОС понимает, какую версию просит java?

Лучший ответ:
В Linux (также UNIX) $PATH — это переменная среды, используемая для указания оболочке, где искать исполняемые файлы. $PATH обеспечивает большую гибкость и безопасность для систем Linux, и, безусловно, можно сказать, что это одна из самых важных переменных среды.
Программы/скрипты, расположенные в каталоге $PATH, могут быть выполнены непосредственно в вашей оболочке без указания полного пути к ним. В этой статье вы узнаете, как установить переменную $PATH глобально и локально.

Худший ответ:
man alternatives
не пробовали почитать ?
Вопрос: Как искать несколько устройств в локальной сети?

Лучший ответ:
Если заранее знаете MAC - то через RARP.
Если MACи не знаете, но знаете хотя-бы первые несколько октетов ( а это наверняка знаете, просто потому что производитель сетевух у esp скорее всего 1), то пингуйте бродкаст, дальше по этой первой части МАС-а находите нужные адреса. Совсем круто - поднимите на ESP какой-то сервис и клиентом стучитесь в него, проверяйте что это и правда ESP

Худший ответ:
Попробуйте протокол rarp.
Вопрос: Где найти кофаундера для разработки iOS приложения?

Лучший ответ:
Ответьте для начала себе на вопрос:А зачем вы ему нужны?

Худший ответ:
Написал тут большую статью как искать кофаундера, возможно будет полезно тем, кто наткнется на этот вопрос https://vc.ru/life/300488-kak-nayti-tech-kofaunder...
Вопрос: Проблемы с подключением к интернету?

Лучший ответ:
Бабушка, возможно сделала все сетевые подключения "гостевыми". Или какой-нить зловред запустила.перестал запускаться хром (вообще)
Запусти другой браузер или выполни "чистый запуск" хрома.
И проконтролируй запуск через диспетчер задач и "Журналы событий"На всякий случай - брандмауэр выключен.
Ну вот зачем?! Включи обратно!Драйвера удалял и переустанавливал с диска
С драйверами не всегда удаляются общие настройки, вроде "гостевых подключений" и других, поэтому надо сделать сброс этих настроек.
А вообще, самый простой способ - просто откатись на дату перед этими окошками и всего делов.

Худший ответ:
Переустанови винду и не парься
Вопрос: Есть ли браузер без интерфейса?

Лучший ответ:
Google Chrome в режиме приложения"path\to\chrome\chrome.exe" --app=http://yoursite.com
илиchromium --kiosk http://example.com/

Худший ответ:
Недорогой - можно на фрилансе заказать.
Вопрос: Какой язык программирования выбрать для дизайнера?

Лучший ответ:
JS, Qt (если на мобильную аудиторию - Qt Designer), html + CSS (если такие штуки в экспериментах гугл)

Худший ответ:
ELM
Разработан в первую очередь для фронтенда, но можно, через библиотеку react-native, применить для модильной разработки, и делать gui в виде плугинов к хрому.
Отличается крайней простотой и высокой надежностью (не дает делать многие классы ошибок).
Недостатки - приходится писать лишний код, для обработки невозможных случаев (типа нажатие на ненарисованную кнопку), громозкая работа с json и отсутствие так называемых "классов типов", из за чего для одной и той же операции с разными типами приходится использовать разные функции (List.map и Maybe.map например).
Вопрос: Где хранить временные данные во время работы приложения?

Лучший ответ:
Можно передавать в Activity (с помощью putExtra/Bundle), а можно и "типа кук" (сохранять при закрытии и восстаналивать при запуске), это Preferences или SharedPreferences.

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

Лучший ответ:
Существует реальная частота видеопамяти, а существует эффективная. GPU-Z обычно показывает реальную частоту. 
Для старых видеокарт на  GDDR3 эффективная частота умножается на две реальной, для новых на GDDR5 -- умножается на 4.
DDR_effective_speed = real_speed x 2  
QDR_effective_speed = real_speed x 4  
В этой статье подробно описано это: www.geeks3d.com/20100613/tutorial-gpu-tools-and-gp...

Худший ответ:
Это называется QDR:Например, для GDDR5 со скоростью передачи данных 5 Гбит/с (Gbps) на вывод CK подается тактовая частота 1,25 ГГц, а WCK c частотой 2,5 ГГц. Также часто употребляется эффективная частота (QDR), поскольку как написано выше данные передаются на частоте WCK в режиме DDR. В приведенном примере эта частота составляет 5 GHz.
Вопрос: Как организовать хранение почты НЕ на сервере?

Лучший ответ:
Используйте POP3 вместо IMAP. Только у каждого сотрудника должен быть отдельный почтовый ящик.

Худший ответ:
Используйте POP3 вместо IMAP. Только у каждого сотрудника должен быть отдельный почтовый ящик.
Вопрос: Как организовать регулярный парсинг?

Лучший ответ:
1. Парсить параллельно (асинхронно) и записывать результат в базу.
2. Пользователю - показать прелоадер пока не будут собраны данные.
3. Результат парсинга - выдаём всегда из базы.

Худший ответ:
Мне помогло вот это. В методе run в цикле загружаем сайт, парсим, блокируем структуру, в которую загружаем данные, задержка и заново. В другом методе блокируем эту структуру и используем.
Вопрос: Как правильно передать переменную в запрос к БД?

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

Худший ответ:
Если пишите что-то своё и вам нужно использовать базу, то что бы не придумывать велосипед с PDO, использую ORM RedBeanPHP, именно эта ORM себя зарекомендовала себя хорошо. Легка в использовании, хорошая документация и довольно быстрая
Вопрос: Как переустановить Windows 10(слетела ОС, не запускается безопасный режим, не устанавливается с загрузочной флешки)?

Лучший ответ:
если это не совпадение, после чистки реестра при помощи CCleaner.Конечно не совпадение.
CCleaner прекрасно справляется с уничтожением ОС, так что все в порядке, так и должно быть.
Грузитесь в режим восстановления или с загрузочной флешки, и запускайте восстановление системы. менял всё правильно в BIOS, и в результате или вообще не видит флешкуЗначит не правильно меняли, скорее всего у вас там нет BIOS, а есть UEFI.

Худший ответ:
Продавай ноут или неси в сервис и подписывайся на exture
Вопрос: Какие дипломы/сертификаты по C#, VisualStudio, ASP.MVC, web — можно получить?

Лучший ответ:
1) Intuit - бесплатно.
2) ITVDN - платно.
3) Специалист (Москва) - платно.
4) MVA https://mva.microsoft.com/ - бесплатно.

Худший ответ:
Кроме предвзятого отношения на собеседовании ничего не получишь с этих сертификатов. Как красная тряпка для быка.
Вопрос: Демпинг цен на Битрикс-лицензии?

Лучший ответ:
Запрещено давать скидку больше чем дает сам битрикс

Худший ответ:
Напишите обращение в партнерскую техподдержку Битрикс и приложите счет конкурента - его либо лишат партнерского статуса навсегда, либо на первый раз на 2 месяца.
Вопрос: Как вы «обрабатываете» контент и материал, который изучаете?

Лучший ответ:
Я стараюсь всю информацию поделить на три категории:нужно сейчас или в ближайшие дниполезный практический навыкможет быть когда-нибудь...Тут длинный текст, как я этим пользуюсь
С последним вариантом все просто - стараюсь запомнить самые важные моменты и причинно-следственные связи, а про детали знаю только то, что "они вот в этой книжке". Соответственно мозг не загружен бесполезной на данный момент информацией, а в случае чего - открыл, посмотрел. Если это все в интернете - страница в закладках (ради интереса посмотрел - 837 закладок на данный момент), которые структурированы в дерево с большой вложенностью, в котором очень легко ориентироваться. Особенно уникальные материалы, которые проблемно загуглить, сохраняются в оффлайне на случай проблем с источником. Раз в год прохожу по закладкам и удаляю те, к которым уже никогда не вернусь (если все запомнил/ушел из области/источник потерян/информация сильно устарела). Обычно удаляются ветви этого дерева целиком.
Полезные практические навыки запоминать бесполезно. Если есть возможность отработать сразу - делаю, если нет - они переходят в состояние "нужно в ближайшие дни". Факты, связаные с практикой запоминаются сами по себе в процессе работы, записывать их не нужно.
Нужная на данный момент информация записывается на лист бумаги (а4), при необходимости сопровождается картинками. Картинки иногда очень важны. И стрелочки. Без стрелочек никак. Лист лежит на столе в течении недели, собирая важные термины, какие-то контакты, или что-то, что нужно загуглить или просто не забыть до вечера. Если лист лежит пару дней нетронутым - отправляется под стол и заменяется новым. Написанное собственной рукой хорошо запоминается (гораздо лучше, чем напечатанное), даже если сложно сказать "что было написано", всегда можно сказать "где именно это было написано". Если через пару месяцев лист не понадобился - в дальний ящик. Через год - уничтожается за ненадобностью. Необходимые на данный момент закладки кладутся в отдельную ветку дерева закладок и, когда их количество переваливает за 50 (примерно), сортируются. Часть попадает в основное дерево, часть удаляется.
На мой взгляд именно уничтожение информации, запоминание причинно-следственных связей вместо отдельных фактов и определенная систематизация являются необходимыми условиями для сохранения здравого рассудка при очень широком кругозоре.

Худший ответ:
Встречал случаи, когда человек вёл MediaWiki с плагином Semantic MediaWiki.
Сам много лет использую Mindjet MindManager (диаграмма связей или mind maps) + Resilio Sync (для синхронизации файлов между ПК).
Вопрос: Как защитить смартфон от эксплойтов на сайтах?

Лучший ответ:
КО подсказывает - не надо заходить на сайты со смартфона, который нужно защитить.

Худший ответ:
закопать смартфон и забыть про него
Вопрос: Почему ООП не ООП?

Лучший ответ:
А по радио и телеку говорят, что это совсем другое
Не смотрите первый и второй канал, там всё врутчто это совсем другое
Эти высказывания друг другу не противоречат. Статические методы делать можно, только их избыток лишает ООП смысла и преимуществА тот, кто придумал этот термин вообще сказал, что ява и си++ это не ОО-языки
Прямую речь и автора в студиюВ какую сторону копать? 
В сторону реальных проектов, а не теоретических изысканий в телевизорах

Худший ответ:
То о чем говорит например  ("From Class-oriented Programming to Real OO")  James Coplien, это то что в ява строго говоря Class Oriented Programming. Ты не можешь просто взять обьект, его нужно сперва создать. И этот обьект -  это лишь экземпляр класса. Изменив экземпляр мы меняем только экземпляр. А "тру" ооп, это когда ты можешь например во время выполнения программы взять и изменить обьект в системе для всех, как в яваскрипте через prototype. И в руби вроде тоже. Но чтобы не наговорить лишнего, на этом и закончу.
Вопрос: Артефакты после установки оперативной памяти,что делать?

Лучший ответ:
Первым делом выньте родную память и запустите Memtest для новой планки, если пройдет нормально - добавьте родную и повторите тест, чтобы исключить конфликт планок. Ну и в вопросе стоило бы указывать точные модели озу, а не общие "DDR3l 1600 MHz". По описанию выглядит все как будто память битая, а так как по умолчанию ноут стартует на встроенной видяхе, которая как раз использует ОЗУ, вы и получаете артефакты. По идее они уйдут если переключится на дискретную видяху, но это не решение. В общем нужны результаты тестов и модели всех планок. Вероятность что проблема в вольтаже крайне низка.

Худший ответ:
Если проблема не в банках самой памяти (прошла memtest), можно попробовать уменьшить частоту памяти до 1333 это частенько помогает когда процессор не поддерживает топ частоты или планки от разных производителей.
Вопрос: У пользователя хранится ID сессии в куки. Таким образом, если злоумышленник доберется до компьютера жертвы, он может просто скачать себе ее cookie?

Лучший ответ:
Да, может. Точно так же, как злоумышленник, укравший ваш кошелёк, может пользоваться вашими деньгами/картами.

Худший ответ:
Если все манипуляции проводятся на одном устройстве и в одной сети, то подмена сработает, только вот смысла в этом нет никакого. Ведь вся соль в том, чтоб подменить на произвольной машине и оказаться авторизованным. А раз есть доступ к машине, то проще украсть пароль и надеяться что этого хватит, а не плясать с заменой, которая сработает только на очень примитивных сайтах, которые на 99.9999% бесполезны.
Вопрос: Зачем нужен bindActionCreators?

Лучший ответ:
bindActionCreators получает на вход объект с AC, либо функцию и возвращает объект с AC, обернутыми в вызов dispatch или в случае с функцией функцию обернутую в dispatch.
Если вы передаете в connect вторым аргументом объект:const mapDispatchToProps = {
  getProducts,
};
То ваш объект в процессе вызова connect будет передан в вызов bindActionCreators и каждый AC будет обернут в вызов dispatch.
Этот вариант записи, в вашем случае, является предпочтительным, так как он короче.
Ручное оборачивание AC в dispatch:const mapDispatchToProps = (dispatch, ownProps) => ({
  getProducts: () => dispatch(getProducts()),
});
Тут можно использовать второй аргумент ownProps, ограничить количество принимаемых AC аргументов или поменять их порядок, а так же передать дополнительные функции, которые не надо оборачивать в dispatch.
Вызов bindActionCreators на объекте с AC:cosnt mapDispatchToProps = dispatch => bindActionCreators(
  {
    getProducts,
  },
  dispatch,
);
В использовании такого варианта записи нет особого смысла, так как первый вариант записи короче.
Но можно ее видоизменить:const mapDispatchToProps = (dispatch, ownProps) => ({
  ...bindActionCreators(
    {
      ...productsActions,
      ...usersActions,
      ...ordersActions,
    },
    dispatch,
  ),
  () => getSomeOther(ownProps.someProp),
  notNeedsToWrapInDispatch,
})
В таком виде можно передать в bindActionCreators много AC как есть и отдельно передать дополнительные AC обернутые в dispatch, которые будут использовать ownProps или функции которые не надо оборачивать в dispatch.

Худший ответ:
 Доки (англ)
Вопрос: Закрывается программа при Parallel.For?

Лучший ответ:
Скорей всего трапается в неуправляемом коде, который, вероятно, не поддерживает многопоточность. Можно попробовать поставить глобальный lock на вызов dllsub(), чтобы убедиться.
Стиль кода - отстой.

Худший ответ:
первое: никогда не используй класс рандома из нескольких потоков, он непотокобезопасный и иногда (на практике при высокой частоте генерации) экземпляр "ломается" и начинает всегда выдавать 0
второе: остается загадкой метод dllsub, project, поскольку они используют внешние переменные - это важно
Вопрос: Почему не работает команда yii migrate?

Лучший ответ:
Доброе утро.
Linux тут ни при чём.
Команду пишите "php yii migrate" или "yii migrate"?

Худший ответ:
Сам докумекал. Нудна приставка php.
Вопрос: Как делаются скриншоты в перспективе?

Лучший ответ:
В фотошопе есть инструмент «Перспектива». 
Пилится смарт-объект, потом применяется что-нибудь из меню редактирование — трансформация, тени в меню «Стиль слоя», скачивается изображение телефона, делается мокап и потом вставляйте туда какие хотите экраны. 
15 минут работы.

Худший ответ:
Фотошоп -> Трансформация. Держишь контрол и тяни углы как тебе нужно
Вопрос: Стоит ли идти в институт ради фронтенда?

Лучший ответ:
1. Образование в области компьютерных наук нужно прежде всего для общего развития. Алгоритмы, структуры данных, разные языки программирования, паттерны проектирования, математика, статистика — все это вам постепенно расскажут в ВУЗе. Самому тоже можно все это узнать, только знания будут, скорее всего, не систематизированы. Если вы действительно хотите связать свою жизнь с разработкой — идите учиться. Главное, чтобы ВУЗ хороший был. 
Лично я очень жалею, что выбрал гуманитарный ВУЗ. Сейчас бы, конечно, сделал все по-другому. 
2. Диплом нужен только если соберетесь работать в Европе или Штатах. В РФ он нужен для галочки.

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

Лучший ответ:
Сейчас разработчики пишут портал
Вот у разработчиков и спрашивайте, какую СУБД они лучше знают. И админов своих спросите, какую СУБД те лучше знают. DBA у вас явно нет, иначе вопрос бы так не стоял.
Сам headhunter использует postgresql. Но там и своя команда админов классная, и вдобавок опытная команда DBA моих нынешних коллег, специализирующихся именно на postgresql.
Я достаточно хорошо знаю обе СУБД с точки зрения разработчика, но не умею админить mysql, так что моё мнение будет предвзятым.
Если делаете коммерческий проект - то используйте ту СУБД, которую лучше знает ваша команда. Если разработчики попрятались за своими ORM'ами и носу не заглядывают в базу - то без разницы, в таких условиях любая СУБД будет работать одинаково плохо. Если же хоть кто-то в команде понимает, что надо делать с базой - доверьте выбор ему и поинтересуйтесь о причинах выбора.

Худший ответ:
Возьмите MongoDB. Не будет проблем с масштабируемостью и производительностью.
Концепция сайта с вакансиями/позициями прекрасно ложится в NoSQL-хранилище.
Вопрос: Как найти координаты точки?

Лучший ответ:
Перечитав ваш вопрос раз 5, вроде бы уловил его смысл. Как я понял, есть прямоугольный треугольник ABC (В – прямой угол). Известны длины всех сторон, координаты на плоскости вершин B и C. Надо найти координаты вершины A:
При таких условиях задача имеет два решения: точка с одной или с другой стороны от прямой BC (на рисунке – сверху или снизу, под BC)
Надо взять вектор BC, повернуть его на 90° (в одну или в другую сторону), и длину разделить на bc и умножить на ab:x = Bx - ab * (Cy - By) / bc
y = By + ab * (Cx - Bx) / bc
// в другую сторону:
x = Bx + ab * (Cy - By) / bc
y = By - ab * (Cx - Bx) / bc

Худший ответ:
Я плохо понял, что надо сделать. Но попробую.
1. Переведи известный катет в вектор: (X3−X1, Y3−Y1).
2. Поверни его на 90° в нужную сторону. Например, x'=y, y'=−x.
3. Приведи к нужной длине (теорема Пифагора). Получился вектор-катет.
4. Прибавив вектор-катет к вершине (X1, Y1), получаем второй конец.
Вопрос: Не получается экспортировать макет из Фотошопа в Zeplin. Кто-то сталкивался с таким?

Лучший ответ:
Чуть шире распишу процесс так как сам искал решение довольно долго. 
В Фотошопе открываю psd и слева в панели всех инструментов первый пункт стоит по умолчанию инструмент "Перемещение". На нем клик правой кнопкой и выбираю Инструмент "Монтажная область".
Выделяю весь макет этим выделением и в окошке плагина Zeplin, которое уже открыто должно быть (Окно / Расширения / Zeplin) появляется желтая кнопка с надписью: "Export selected artboards to Zeplin".
Жму на нее. Далее в этом окошке предлагает выбрать проект уже в самом Zeplin - т.е. если не будет создан новый пустой проект в Zeplin то импорта не будет. И жму кнопку Импорт.
При первом импорте спрашивает еще "выбрать плотность (density) проекта: 1 или 2". Объяснение по этому здесь - https://support.zeplin.io/faq/all-the-measurements...

Худший ответ:
Создаем Artboard, инструментом "монтажная область" рус., выделяем область.Подгоняем размеры со всех сторон.Даем уникальное имя созданной области в слоях.Запускаем плагин и экспортируем.Профит.
Если проблема все равно актуальна, читаем пошаговую инструкцию или скачиваем там же отдельный от zeplin plugin для photoshop.
Вопрос: Будет ли работать видеокарта без доп переходника?

Лучший ответ:
Это проблема?

Худший ответ:
Правильный ответ - может, но не обязана. Категоричные "будет" и "не будет", без знания подробностей, могут утверждать только чайники обыкновенные и ламеры ушастые :D
Вопрос: Как парсить HTML строку?

Лучший ответ:
Парсить регуляркой не стоит, выше упомянутое вполне подойдет, еще рубисты часто используют библиотеку nokogiri  для парсинга сайтов.
Она вполне удобна, например тем, что можно добираться до элементов по ccs селекторам.
https://habrahabr.ru/post/52680/
Пример:doc = Nokogiri::HTML('<body><span class="title">Название:</span> Rising Water - James Vincent McMorrow<span></span><body>')

name = doc.xpath('//span/following-sibling::text()[1]').text

p name # => " Rising Water - James Vincent McMorrow"

Худший ответ:
HTML НЕ ПАРСЯТ РЕГУЛЯРКАМИ. REGEXP - ИНСТРУМЕНТ НЕДОСТАТОЧНО СЛОЖНЫЙ ДЛЯ ПАРСИНГА HTML.
d͓̀o̰̭̳̭̠̠͢n̠̞̠͉ț̱̤̝ ̣̣̼̫̥̯e̷̥̝v̦e̵̻n̰͕͟ ̵̗̻̪̯t̗̪̯̬͕̺́r͉̰̮̣̬͖y̶͕͍ ̝̩̟̬̟ţ̮o̶̰̭ ̵̣̥̬̯̜̟͓p̴͎̼̜a̝̖̦̫͈̱͖r̝͇̖̟͖̬s̭̭̯͉͎̙͘e҉̠̺̻̻̝ͅ ̣̺̤̱̣i͈̲̭̤͍̼͘t̞͉̺̲̘͚ ̺̞̰̳͔̭o̠̗͙̖̬͇u͠ț͉̘̦̝̪
Вопрос: Как сортировать RGB цвета?

Лучший ответ:
Например, можно конвертировать их в цветовое пространство HSL, а далее, сортировать по оттенку (Hue), внутри него - по насыщенности (Saturation) и яркости (Lightness).
Сортировка по значениям R,G,B даст весьма странный результат, как вы, вероятно, уже заметили.

Худший ответ:
Сначала по красному, потом по зеленому, потом по синему. Если не понравится, то измени порядок.
И вообще это гуглится за пару секунд https://www.alanzucconi.com/2015/09/30/colour-sorting/