Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как посчитать сумму в массиве объектов и разрезе видов деятельности?

Лучший ответ:
let rez = {};                                                                                
Array.map(obj=>{                                                                             
 rez[obj.activitiname] ? rez[obj.activitiname] += obj.sum : rez[obj.activitiname] = obj.sum  
})                                                                                           
console.log(rez)
выводит объект: { 'Грузоперевозки': 80, 'Ремонт': 45, 'Продажи': 44 }

Худший ответ:
Стандартная задача на array reduce
const res = a.reduce((acc, el)=>{
		if (!acc.hasOwnProperty(el.activitiname)) acc[el.activitiname] = el.sum;
    else acc[el.activitiname] += el.sum;
		return acc;
  }, 
  {}
);
Вопрос: Как достать кабель питания из жесткого диска?

Лучший ответ:
Эти зацепки - не защёлки-зубцы (какие бывают, например, на пластиковых корпусах), а бугорки. Их назначение - создать при втыкании ощущение, что разъём воткнут до конца, и что дальше давить не надо. Ну и чтобы затруднить случайное выпадение втычки от тряски, например.
Соответственно и при вынимании, надо просто потянуть, преодолевая сопротивление этих бугорков. Можно и потренироваться на аналогичном соседнем разъёме, если есть ещё один диск.

Худший ответ:
универсальный способ для прикепевших штекеров.

берешь в руки плоскогубцы, ими зажимаешь штекер, повернув их под уголом как направления проводов (т.е. сбоку), отверткой или железной пластинкой прислоняешь паралельно разъему, чтобы она за него зацепилась, теперь между этой пластиной и плоскогубцами нужно что то разместить, чтобы используя это, сделать из плоскогубцев рычаг и надавить (на самом деле благодаря плоскогубцам можно просто рукой давить, гораздо удобнее и сильнее чем при зажиме пальцами, но если сильно тянуть и не ровно, можно случайно выломать разъем (для этого и нужна пластинка, которая будет цепляться за разъем и давать основу для движения)

В похожем случае я просто просовывал тонкую плоскую отвертку между штекером и разъемом и поворачивая ее делал первое движение. недостаток - появится след от отвертки, нарушающий гарантию а точнее являющийся основанием для понижения цены устройства если желаешь сдать обратно в первые пару недель после покупки
Вопрос: Можете подсказать сферы применения различных ЯП?

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

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

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

Худший ответ:
как понял, таких еще ранее называли быдлокодерамиНе правильно поняли.
Быдлокодер это не думающий кодер, который штампует по шаблонам не задумываясь. 
Писать он может на любом языке, хоть на C.

И столкнулся с тем, что я немного не понимаю, в каких, так скажем сферах бизнеса, нужны те или иные языки программирования. Ни в каких. В бизнесе программирование вообще нафиг не нужно.

Просьба подсказать ламеру куда легче двигатьсяОпасно такие вещи у русского человека спрашивать. А то вам действительно могут подсказать куда двигаться.

какая сфера и какой ЯП самый ок для старта новичка.Да кто ж знает, люди разные, задачи разные, для всех все по разному.

Слышал, что сейчас имеется смысл учить Python, а потом уходить в Junior QA.А я слышал что марсиане захватили Нью-Йорк и строят там базу для полноценного вторжения.
Вопрос: Как откинуть 5 число с массива?

Лучший ответ:
Скопировать в новый массив исключая пятое число. Вручную. Фором.

Худший ответ:
Просто так взять и удалить элемент из массива на Си нельзя.
Из статического массива удалить нельзя ничего в принципе - его размер не меняется никогда.
В динамических массивах могут быть варианты:
Вы можете переписать хвост массива, начиная с шестого элемента, на один элемент вперед, т.е. 6 элемент станет 5 и т.д. Но при этом в конце образуется не используемый элемент, избавится от него можно перевыделением массива с помощью realloc, например. Но если это делать, то проще сразу выделить память под новый массив и скопировать весь первый массив, кроме удаляемого элемента, как писал GavriKos.
Другой вариант - помечать подобные не используемые элементы каким-то образом. Либо писать в них какое-то значение, обозначающее для вас, что это не используемый элемент, либо хранить где-то отдельно используемый размер массива (так сделано в std::vector).
Вопрос: Есть ли программа для удаленного управление Windows при ScreenLock'е?

Лучший ответ:
тим вивер
амиадмин

Или Вам надо чтоб он оставался типо "заблокирован? Тогда только RDP

Худший ответ:
Если имеется ввиду режим черного экрана - довольно много таких программ, кроме перечисленных выше еще добавил бы getscreen.me - сам им пользуюсь при подключении к рабочему компу, чтобы никто в офисе не видел, что именно я делаю.
Вопрос: Есть ли какой монитор изменения прав доступов к папке и файлам?

Лучший ответ:
Чаще всего такое бывает из-зза совокупности неочевидных проблем в конфигурации логов, скриптов запуска логгируемуго софта и сиетемы ротации или бэкапа логов.
Например, описанная вами ситуация может быть порождена следующим стечением ошибок и обстоятельств.
Бывает, что на бэкенде в один и тот же лог-файл пишут несколько скриптов. Это уже конкуренный доступ к файлам и не есть хорошо. Такое случается, когда по образцу одной проги с логгированием потом делают другую, а конфигурация логгирования не предусматривает такую ситуацию. Вот когда два таких скрипта работают и логи в конфликтный файл пишутся не часто, могут случиться такие проблемы.
Ещё один из таких скриптов может запускаться под рутовыми правами, а другой после него под пользовательскими. Если запущщеный от рута скрипт вызвал ротацию лог-файла, то новый файл мог создаться уже с рутовыми правами по умолчанию, а это значит, что другой скрипт (или этот же, но запущеный от обычного пользователя) уже не сможет в него писать.

Как ситуация может исправиться сама собой? Да так же. Напрмер у вас запущен по крону скрипт бэкапа или той же самой ротации, который тоже работает от рута, но писался девопсами и учитывает историю с правами пересоздавая файл от имени нуного юзера или с нужными правами.

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

Важно. чтобы в каждый отдельный лог-файл писал один и только один процесс. Он же занимался его ротацией (если, к примеру, вы логгируете стандартной питонячьей либой). Ещё хорошая идея не засталять софт писать логи в файлы, пусть пишет логи в stderr и/или stdout, а оттуда вы их на уровне системы перенаправите куда положено и отфильтруете как надо. если необходимо. 

Итак. Перым делом смотрите какие процессы пишут файл, какие скрипты трогают эти файлы (бэкапы. ротация), посмотрите в crontab, посмотрите конфигурацию сотфа в плане логов и всё должно проясниться. Делать систему мониторинга за изменениями в файловой системе возможно, но это ректальная тонзиллэктомия получаетя какая-то...

UPD:
Почему-то не обратил внимания, что речь о логах mysql. Но всё по-прежнему: конфиг логгирования и ротации, распсиание и механизм ротации и бэкапа, поиск по конфигам фрагментов этого пути на предмет аномалий и повторов.

Худший ответ:
Ответ непосредственно на вопрос из заголовка - auditd.
Вопрос: Как добавить анимацию для модального окна в react?

Лучший ответ:
https://reactcommunity.org/react-transition-group/

Простая библиотека переходов, легко сочетаемая с css анимацией.
В частности, хорошо подойдет для твоего кейса с модалкой: тут как раз 4 пункта - монтирование, анимация до видимого состояния, анимация до невидимого состояния, размонтирование.

Худший ответ:
Если не хочешь заморачиваться, попробуй использовать какую-нибудь библиотеку, например
 React-animations .   Вот использование на русском
Вопрос: Что лучше для видеокарты VRAM или GDDR?

Лучший ответ:
Предлагаю сравнивать конкретные модели видеокарт.
Не бывает RTX3080 с gddr5 1gb или GT430 с gddr6x 10gb.

Худший ответ:
VRAM - это в целом название для оперативки на видеокартах.

gddr - ddr для видеокарт. Есть ещё hbm - редкий формат vram, который какое-то время назад ставили в топовые карточки, но сейчас похоже, что перестали (стали использовать только в серверах)

GDDR5 быстрее, чем GDDR3.
При этом GDDR3 является более старым стандартом => чип на видеокарте вероятно более старый, чем у видеокарты с GDDR5 => вероятно он и более слабый => никакого выигрыша не будет, если нет упора именно в количество памяти.

Чтобы дать точный ответ нужно указать конкретно, какие видеокарты сравниваются, в какой компьютер она будет вставлена, и у какие игры собираешься играть "не очень требовательные" - понятие субъективное и размытое. Играть в любом случае сможешь только в то, что укладывается в системные требования.
Вопрос: Как в JavaScript менять глобальную переменную внутри функции?

Лучший ответ:
Это тебе не Python. Тут JS понимает, где глобал, а где локал
let myvar1 = 3;
let myvar2 = 4;
function changeVar(v) {
  let myvar2 = 1; // Создает переменную внутри функции
  myvar1 = 5; // Меняет внешнюю переменную
  myvar2 = 8; // Меняет внутреннюю переменную
}
changeVar();
console.log(myvar1, myvar2);

Худший ответ:
Это тебе не Python. Тут JS понимает, где глобал, а где локал
let myvar1 = 3;
let myvar2 = 4;
function changeVar(v) {
  let myvar2 = 1; // Создает переменную внутри функции
  myvar1 = 5; // Меняет внешнюю переменную
  myvar2 = 8; // Меняет внутреннюю переменную
}
changeVar();
console.log(myvar1, myvar2);
Вопрос: Почему служебные символы работают не везде?

Лучший ответ:
bash так не умеет, после раскрытия аргументов возникает неоднозначность ввиду большого количества аргументов (собственно в сообщении об ошибке так и написано "ambiguous redirect").
Можешь воспользоваться утилитой tee, она так умеет, например:

cat 1.txt | tee {2,3,4,5}.txt 1>/dev/null

tee направляет вывод в файл и на стандартный вывод, можно не добавлять 1>/dev/null, тогда содержимое файла будет так же выведено на экран, но врятли это требуется в данной ситуации.

Худший ответ:
Перенаправление ">" говорит о том, что ты хочешь перенаправить stdout в конкретный поток/файл.
Но конструкция [1-5].txt это не имя файла, это wildcard, который развернется в пять файлов. А ">" у тебя один.
То есть просто неправильный синтаксис, потому что для ">" можно указать только одно имя потока/файла.

Читай справку о командах и понимать, где можно указать несколько файлов, а где только один.

Говоря про "служебные символ", следует почитать документацию и различать их.
Есть wildcards, есть variable expansion, есть regular expression, есть специальные переменные, есть команды самого баш, есть bash expansion. Зная какие к чему относится, можно понимать где и как их применять.
Вопрос: А чем собственно занимается WordPress разработчик?

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

Худший ответ:
Во первых брендинг. То есть понимание как работает этот движок и темы. Далее как работают плагины. Далее понимание как их искать под конкретного заказчика. 
То есть по сути вы собираете лего под конкретного заказчика. И очень редко пилите что то новое.
Вопрос: Чем отличаются понятия «Интернет» и" Ethernet"?

Лучший ответ:
ethernet - технический термин, описывающий в подробностях как передать по сети информацию.

интернет - НЕтехнический термин :) общеупотребимое название всемирной сети. с технической стороны не описывает ничего.

Худший ответ:
ethernet - кабельный интернет.
интернет - сущность
Вопрос: Если в вакансии указано «наличие профильного технического образования», то важно ли, какой вуз заканчивать — престижный или региональный?

Лучший ответ:
Если в вакансии указано «наличие профильного технического образования», то важно ли, какой вуз заканчивать — престижный или региональный?
Если этой конторе нужен именно диплом, то в принципе не важно что ты окончил - подойдёт даже купленный диплом мухосранского политехнического университета.
Если этой конторе нужны навыки, то можно даже не заканчивать, даже если есть такое требование в вакансии.

В целом выбор университета мало влияет на трудоустройство

Худший ответ:
Вообще без разницы, сам откликался на такие вакансии. Как и с любыми другими требованиями - то что написано в вакансии, и сама вакансия - две большие разницы.
Вопрос: Как правильно сделать namespace для BX.ajax.runAction?

Лучший ответ:
evsyukov:main - вместо этого должно быть название модуля. По соглашениям битрикса самописные модули должны состоять из двух слов разделенных точкой, например evsyukov.testmodules, где первая часть - это условно говоря PARTNER_NAME, а вторая название модуля

Тогда вызов будет выглядеть так:
BX.ajax.runAction('evsyukov:testmodules.api.book.addbook', {});

В этом методе, надо конфигурировать свои экшены, чтобы твой экшен срабатывал в публичке для всех пользователей надо написать так
public function configureActions()
{
	return [
		'addBook' => [
			'prefilters' => [

			],
			'-prefilters' => [
				\Bitrix\Main\Engine\ActionFilter\Authentication::class
			],
		]
	];
}

Худший ответ:
Решение в комментариях
Вопрос: Как открывать пользовательские приложения с правами sudo?

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

sudo chown alexey:alexey /home/alexey/projects/<путь до проекта допишите>/ -R

Худший ответ:
sudo /path/to/my/cool/application
Как-то так..
Вопрос: Открылось 4-5 вкладок в браузере и перезагрузился ноутбук. Взломали?

Лучший ответ:
Вообще, если перейти по последней ссылке, то можно найти объяснение - да, тебя действительно взломали, через недавно открытыю уязвимость в log4j, пока ты играл в майнкрафт.
https://vk.com/kolya5544?w=wall127172472_3706%2Fall

Вот подробнее про то, как обезопасить себя: 
https://habr.com/ru/news/t/594751/

Ну и ещё советую перейти на лицензионную версию, чтобы регулярно получать обновления (предположу, что в Minecraft её уже исправили)

Худший ответ:
Полная переустановка ОС
Вопрос: Зависит ли маршрутизация от протокола: http или http/2?

Лучший ответ:
Это какбы принципиально разные уровни даже в эталонной модели TCP, не то что в модели OSI.

Маршрутизация никак не связана с прикладным протоколом, при условии, что на маршрутизаторах кто-то намеренно не делает DPI и фильтрацию.

Отсюда следует, что без изучения сетей конкретного провайдера, ответить однозначно на вопрос нельзя - может, маршрутизируют, а может, не маршрутизируют.

Худший ответ:
Маршрутизация трафика и балансировка нагрузки в современных сетях может осуществляться очень витиевато.
Если рассмотреть тот-же CloudFlare, то там много всего, начиная то маршрутизации подсетей на протоколах IP (традиционная маршрутизация), проходя мимо анонсов этих подсетей в протоколах типа BGP (маршрутизация Автономных Систем), распределением нагрузки через DNS (когда DNS сервер выдает разные IP-адреса в зависимости от нагрузки), и заканчивая балансировкой на уровне прокси-серверов и/или приложений.
Нет, заканчивая балансировкой контейнерами (docker/kvm), системами оркестрации (composer/kubernets), mesh-системами (consul.io)
При этом каждый кусочек делает что-то свое, стараясь выдать пользователю доступ к ресурсу.
Вопрос: Как сделать, чтобы программа для бота запоминала, на какие кнопки нажал пользователь?

Лучший ответ:
Если вы используете обычную клавиатуру, не inline, то советую посмотреть в сторону метода register_next_step_handler() В интернете полно примеров использования, в том числе на этом ресурсе.
Но мало где описывается, что помимо объекта сообщения и объекта функции этот метод принимает аргументы, которые в эту функцию передает.
Пример такого использования можете посмотреть тут

Худший ответ:
сохранять в любом случае переменные для дальнейшего применения в других функция придется через классы.
ответ тут https://qna.habr.com/q/1163398
Вопрос: Как получить file_id без отправки сообщения пользователю?

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

files = {}
def load_files():
  global files
  res = db.execute("SELECT file_name,file_id FROM files")
  files = {}
  for row in res:
    file_name, file_id = row
    files[file_name] = file_id

def save_file(file_name, file_id):
  global files
  db.execute("INSERT INTO files (file_name,file_id) VALUES (?,?) ON CONFLICT(file_name) DO UPDATE SET file_id=excluded.file_id", (file_name, file_id))
  files[file_name] = file_id

load_files()

...
        if item["photo"] in files:
          file_id = files[item["photo"]]
          print (f" send photo file_name={item['photo']} file_id={file_id}")
          bot.send_photo(call.message.chat.id, file_id)
        else:
          with open(os.path.join("menu", item["photo"]), "rb") as f:
            bot.send_chat_action(call.message.chat.id, "upload_photo")
            r = bot.send_photo(call.message.chat.id, f)
            file_id = r.photo[0].file_id
            save_file(item["photo"], file_id)
            print (f" uploaded photo file_name={item['photo']} file_id={file_id}")

Худший ответ:
Я как раз сегодня сделал себе похожую вещь. Тоже благодаря помощи тут, так что я попробую и тебе помочь)
Без отправки хотя бы себе в личку способа не знаю, да и его нет наверное, так что вариант через отправку себе файлов.
Не знаю как тебе лучше будет хранить file_id, но я у себя сделал базу данных в sqlite(она встроена в питон).
Суть такова, настрой бота, что бы он из твоей директории отправлял фото в личку тебе, а после отправки сохранял file_id в базу данных.

from aiogram.types import InputFile
......
photos = InputFile(f'D:\\Code\\english\\photo\\{eng}\\{eng}.jpg') # это пример моей директории
id_photo = await bot.send_photo(chat_id=message.chat.id, photo=photos) # этот метод поможет получить file_id
id = id_photo['photo'][0]['file_id'] # это сам file_id
Я делал в aiogram у тебя должен быть похожий метод взять файл ботом из директории

Как настроить сохранение зависит уже от тебя, будешь ли ты добавлять этот id  в базу данных или в переменную, да хоть в текстовый файл. Я лично настроил добавление в базу, и за 10 минут залил 600 фоток в тг с пометками что к чему относится, потом же удобнее будет их доставать
Вопрос: Как fill принимает массив умноженный на long long?

Лучший ответ:
Арифметика указателей. Это получается указатель на за-последним элементом массива, как ::end() у коллекций.

Худший ответ:
fill принимает два указателя - указатель на начало, указатель на элемент, расположенный за последним; а также собственно значение, которым заполнять.

В данном случае, a+n трактуется как указатель на элемент массива с идексом n, то есть, &a[n].
Вопрос: Что нужно знать, чтобы написать web server на C++?

Лучший ответ:
для создания простейшего веб сервера на c++ требуется минимум знаний

базовые знания devops (умение устанавливать/настраивать необходимый софт разработчика и используемые библиотеки)
базовые знания языка программирования c++
базовые знания понимания работы сетей, понятие socket
базовые знания по тому что такое web server и хотя бы приблизительное понимание http протокола
базовые знания разработки многопоточных/многопользовательских приложений (даже без знаний про мьютекс/семафор, просто общие положения,так как веб сервер может быть однопоточным но знать/понимать проблему нужно)

эти знания позволят написать hello world web server
дальнейшее усложнение задачи потребует больше знаний уже по этой задаче

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

Лучший ответ:
пофигу на чем, хоть всё на нативе. 
тормоза - в реализации, а не технологии.

Худший ответ:
Предположение. CircularReference, в случае если много зависимостей, может вызывать подобные проблемы. Устраните циклические ссылки для товара на сервере.
Вопрос: Что необходимо знать и уметь для реализации механизма схожего с Git для управления версиями документов?

Лучший ответ:
Вот частичный перевод и там же ссылка на оригинальную документацию где описано внутренне устройство https://m.habr.com/ru/company/badoo/blog/163853/

P. S. Это ж как надо пытаться "не найти" , чтобы действительно не найти эту документацию?

Худший ответ:
Есть же репозиторий. Можете с головой окунуться и в архитектуру и в детали реализации.
Вопрос: Как решить задачу про поиск за логарифмическую сложность?

Лучший ответ:
Два раза поиск делайте, отдельно для первого и последнего индексов:

function search(nums, target, searchMin) {
  for (let iMin = 0, iMax = nums.length - 1; iMin <= iMax; ) {
    const index = (iMin + iMax) / 2 | 0;
    const num = nums[index];

    if (num === target && num !== nums[index + (searchMin ? -1 : 1)]) {
      return index;
    } else if (num <= target - (searchMin ? 1 : 0)) {
      iMin = index + 1;
    } else {
      iMax = index - 1;
    }
  }

  return -1;
}

function searchMinMax(nums, target) {
  const iMin = search(nums, target, true);
  return iMin === -1
    ? []
    : [ iMin, search(nums, target, false) ];
}

Худший ответ:
гугли по словам "upper_bound" и "lower_bound"

основное их отличие от поиска - нет досрочного выхода из цикла, если (n === array[middle]). То есть поиск идет до упора, пока интервал не схлопнется до нуля.

Пашка раскрыл тему здесь: https://www.youtube.com/watch?v=9Wjzf8KKvYQ
Вопрос: Почему интернет провайдеры не могут мне дать «белый» + «динамический» IP?

Лучший ответ:
Потому что если Вы окажетесь жутким спамером/хакером/фишингером то в  блэклистах например спамхауса окажется только один "белый" IP а вот если он будет динамическим и Вы будете всё время роутер перегружать то в блэклисты попадёт куча IP адресов - а зачем это провайдеру надо ?

Худший ответ:
Почитал ответы, парни, луна не плоская. 15 в одной из бывших республик СССР пользовался услугами как минимум 3х интернет провайдеров, всегда белый IP, всегда динамический. Хочешь севис поднять, прикрути DDNS и вперёд. 
И про луну: 
ип в4 не закончились, 
спамером стать не мечтайте, вас отфильтруют на взлете,
технически легче и дешевле маршрутизация чем NAT.
Какая то причина наверняка есть, надеюсь это не лень...
Вопрос: Как узнать общее время работы SSD диска?

Лучший ответ:
S.M.A.R.T., параметр Power_On_Hours

Худший ответ:
Воспользуйтесь статистикой smartctl (в линуксе), ну или поищите в гугле эту утилиту для вашей системы.
Вопрос: Как заряжать кейс airpods pro от ноутбука?

Лучший ответ:
Заряжайте через USB-A -> Lightning (или переходник USB-A->USB-C->Lightning). Будет медленнее, но будет.
PD контроллер Type-C не поладил с вашим кейсом (предположу, что он посчитал просадку напряжения слишком сильной и отключил заряд), ничего не сделать, максимум - перепрошить контроллер в ноутбуке (например, в ноутбуках HP и Dell прошивка PD входит в обнову BIOS)

Худший ответ:
https://discussions.apple.com/thread/253500105
Мне помогло