Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какой способ подсчёта суммы в БД лучше и перспективнее для большого объёма?

Лучший ответ:
Естественно, в SQL.

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

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

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

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

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

Да, на многих биржах бывает достаточно начального английского, ибо можно находить заказы пользуясь исключительно перепиской, но с разговорным это и проще, и клиентов можно найти больше, да и обсудить какие-то мелочи голосом бывает быстрее.
Вопрос: Как сделать веб-сервис который принимает абстрактный JSON объект в котором будет обычный список?

Лучший ответ:
Твой код сам читает данные с другого сайта. А тебе нужен сервис, который будет принимать данные извне.

Что-то типа 
@RestController
@RequestMapping(produces = APPLICATION_JSON_UTF8_VALUE)
public class MyController {

    @PostMapping("process-json")
    @ResponseBody
    public ResponseEntity<String> processJson(@RequestParam(value = "stringArray")List<String> stringArray) {
        return process(stringArray);
    }
}

Худший ответ:
"Создать веб-сервис который
принимает json объект вида массив стрингов. Проверка массива инициализируется вызовом REST API, во входящие параметры которого передается массив строк (формат передачи данных -
JSON). "
Тут надо уточнить задание а не додумывать.
Какая разница со скольки сайтов принимать, если у вас этот JSON будет иметь одну структуру. Вам присылают JSON, и вы его обрабатываете
Вопрос: Что лучше MikroTik или Zyxel ZyWall?

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

Худший ответ:
MikroTik , гибкость RouterOS вам должна понравиться.
RouterOS можно развернуть на виртуалке, и поучиться на ней.
Различных решений настройки в интернете огромное количество.
Вопрос: Стоит ли увеличивать размер сектора у sata SSD и у NVMe M2 до 4К (или даже до 64К)?

Лучший ответ:
Производительность не увеличится потому что

1) размер физического сектора ты не изменишь. Винчестеры с возможностью домашнего низкоуровневого форматирования последний раз видели лет 20 назад на IDE и до него.

2) размер логического сектора может немного упростить работу с файловой системой, если у тебя огромные файлы за счет уменьшения количества секторов. Но в целом - линейная скорость видимо не поменяется, а рандомный аццесс замедлится. Ну и в любом случае на физическом уровне останется 512б.

3) Physical Sector size:                   512 bytes
не доверяй этой инфе. Внутри может быть 4к, эмулирующие 512б. Найти винчестеры с 512б сектором производства 2011+ года довольно сложно. Правда это точная инфа для HDD.  Может быть в SSD 512байтные сектора вполне еще норма.

Худший ответ:
Стоит ли увеличивать размер сектора у sata SSD и у NVMe M2 до 4К Зависит от ситуации. 
Обычно меньше 4к смысла нет ставить, хотя могут быть и исключения, но не представляю таких ситуаций.

Увеличит ли это производительность виртуальных машин qcow2 на этих дисках (фс - ext4)? Мало информации чтобы сказать. Там от многих факторов зависит.
Оптимальный размер кластера выставляется в зависимости от нагрузки на диск. Будет информация по нагрузке можно будет сказать.
Чем больше кластер- тем больше нагрузка приближается к линейной.
Чем меньше кластер - тем больше нагрузка приближается к случайной.

Если у вас идут в основном мелкие запросы кластер надо делать поменьше, если идут большие запросы в основном, то побольше.

Для ОС оптимальное значение 4к. 
Файловая 1с например читает по 8 или 16к. - соответственно и ставим.
Сервер SQL работает с блоками по 64к - следовательно размер кластера надо ставить не меньше.
Вопрос: Как подключить встроенный адаптер к Kali Linux в virtualbox?

Лучший ответ:
Встроенный не получится. Только отдельный usb-свисток можно прокинуть как usb-устройство.

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

Лучший ответ:
Делите строку на число. Присвоить то нужно было длину, а не просто напечатать

Либо
a = len(a)
if a % 2 == 0:

или
if len(a) % 2 == 0:.

Худший ответ:
a = input()

print(len(a))

if len(a) % 2 == 0:
  print('четное число')
else:
  print('нечетное число')
Вопрос: Существует ли под Ubuntu Desktop 20.04 какой-нить нормальный пакет для менеджмента VPN-соединений?

Лучший ответ:
nm-connection-editor - это для редактирования и автозапуска, а для включения/отключения/переключения обычный Network Manager в трее - он для этого и предназначен.

Худший ответ:
1. - bash скрипт в кронтаб
2. можно из systemd стопать

короче 2 команды в консоли, проще не куда
Вопрос: Как сделать такую grid сетку?

Лучший ответ:
Если именно такую, то делите столбики и строки вот так, и размещайте в ячейках картинки



Худший ответ:
Можно таким образом:
Построить таблицу примерно такого формата и раскидать фото по ячейкам. Далее объединить некоторые ячейки для формирования точно такого формата как у Вас и выставить размеры ячеек в % соотношении. Если подходит такой вариант, могу накидать исходник

P. S. Я лично не берусь делать теми способы, которыми не умею. Если не хватает своих знаний для реализации, то лучше выучить нужный материал, а потом самому всё сварить.
Вопрос: В каком направление двигаться начинающему системному администратору?

Лучший ответ:
Для начала определитесь - стагнация или потеря интереса к профессии
Даже в рамках одной конторы можно интересно и с пользой для дела получать знания
Вот навскидку:
Поиграйтесь с VLAN, разделение сети на сегменты, поднятием MESH
Поставьте и настройте Zabbix, натравите на мониторинг сети
Подберите на свой вкус программу инвентаризации и учета (например, GLPI)
Найдите удалённую подработку
Самое главное - это чтобы было интересно

Худший ответ:
посмотрите вакансии на хх что там просят
Вопрос: Сайт с модами игр?

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

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

Лучший ответ:
вытащи аккумы. телефон вполне себе работает чисто на "зарядке" без аакума.

Худший ответ:
Прочитал, что для продления жизни аккумулятора его желательно не разряжать ниже 20% и не заряжать больше 80%.
Где вы этот бред берете? В отличии от, например, кислотных аккумуляторов литиевые штука "нежная". Его нельзя тупо заряжать или разряжать, нужен строгий контроль разряда и очень сложная схема заряда. Если вы регулярно не заканчиваете цикл заряда вы однозначно убиваете ваш аккумулятор. Думаю, что это какой-то маркетинговый ход производителей, например, ноуту моей жены уже почти 8 лет, батарея заряжена все время на 100%   т.к. в основном работает от сети. Емкость батареи практически не изменилась
Вопрос: Телеграм Бот Python. Кнопки и переменные?

Лучший ответ:
Да

Худший ответ:
Телеграм Бот Python. Кнопки и переменные?Нет!
Вопрос: Как завершить запущенную утилиту в bash скрипте?

Лучший ответ:
Вам не нужно эмулировать нажатие клавиш. Ctrl-C посылает процессу сигнал SIGINT. Вам нужно послать сигнал запущенному процессу, для этого нужно знать его PID. PID можно получить из pid-файла, если та консольная утилита его создает, либо через переменную $! (yourcommand & echo $!), либо грепнув по процессам (см. pgrep). Рассмотрите также сигналы SIGTERM и SIGKILL.

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

timeout 10 ping www.goooooogle.com
Вопрос: Как уменьшить загрузку процессора при свернутом окне программы?

Лучший ответ:
Запустите профайлер и смотрите, какая функция отъедает процессореое время.

Худший ответ:
Как бы не было удивительно, но программа в свернутом состоянии действительно захлебывается сообщениями WM_PAINT. Судя по всему в свернутом состоянии в программу прилетает сильно больше сообщений на перерисовку чем в несвернутом (мое предположение которое я даже проверять не хочу). Я попытался запретить перерисовку окна вызывая в case WM_SIZE: { if (wParam == SIZE_MINIMIZED) ... if (wParam == SIZE_RESTORED) ... } функции SendMessage(hWnd, WM_SETREDRAW, (WPARAM)false, NULL) и LockWindowUpdate(hWnd), но первая дала весьма странный результат (при отправке сообщения пропала иконка на панели задач и не только), вторая вообще никакого результата не дала. В результате глобально объявил переменную bool lock_draw = false и выставил ее в case WM_SIZE. Программа оперлась на костыль и пошла. Код стал выглядеть примерно так:bool lock_draw = false;
bool Core::on_message(UINT message, WPARAM wParam, LPARAM lParam)
{
    if (lock_draw && message == WM_PAINT) return false;
    ...
    switch(message) {
        ...
        case WM_SIZE: 
            if (wParam == SIZE_MINIMIZED) lock_draw = true;
            if (wParam == SIZE_RESTORED) lock_draw = false;
        ...
    }
}p.s. Задавая вопрос отсекать сообщения отрисовки я пытался функцией IsIconic(hWnd), которая судя по профайдеру занимает процессорного времени не меньше чем функция отрисовки о_О.
Вопрос: Тесты Laravel, config() или env()?

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

Простой пример из дефолтной сборки Laravel. В app.php есть строка:
'name' => env('APP_NAME', 'Laravel'),
Самое просто, что вы можете сделать, это вызвать config('app.name') где-нибудь в коде, чтобы получить данные из этой настройки. Вот только если вы вызовите env('APP_NAME') вы, возможно, получите ошибку, в случае, если эта переменная не задана в переменных среды.
Но как вы видите из кода выше, она совершенно необязательно должна быть задана в переменных среды, так как для неё задано значение по умолчанию: Laravel. А значения в конфиге могут быть вообще самой разной степени извращённости. И они могут составляться из частей. Например: 
'endpoint' => 'https://' . env('API_DOMAIN') . '/some/subroute',

Это банальный и простой пример. Но на большой проекте с массой переменных и настроек вы однозначно столкнётесь с трудностями такого рода.

Ваша задача сделать код удобным и читаемым. Чтобы будущие программисты могли распутать макаронину, что вы сплели. А разнообразие источников данных только запутает читателя.

Худший ответ:
Всё что нужно знать про использование функции env()

If you execute the config:cache command during your deployment process, you should be sure that you are only calling the env function from within your configuration files. Once the configuration has been cached, the .env file will not be loaded and all calls to the env function will return null.
Вопрос: Comparison between pointer and integer. Как решить?

Лучший ответ:
Несколько вариантов.
1. pnumber превратить в string
2. strncmp(s[0].pnumber, std::size(s[0].pnumber), "2") == 0
3. std::string_view(s[0].pnumber) == "2"
Прости, глючу, и там. и там нужны двойные кавыки

Худший ответ:
У тебя ошибка потому что pnumber - это массив символов, и ты пытаешься сравнить весь массив с одним символом. Тебе нужно было писать s[0].pnumber[0] == '2' && s[1].pnumber[1] == '2', чтобы сравнить первые два символа массива с двойками.  Кроме того зачем тебе переменная max, которая является float при том, что в структуре duty(если использовать правильный перевод, то debt) хранится в виде int, ведь нигде кроме присвоений она не используется. Вот что получилось у меня, может узнаешь что-то новое. 
Код
#include <iostream>
struct subscriber
{
	int number;
	std::string name;
	std::string address;
	std::string phone_number;
	int debt;
};

int main(int argc, char** argv)
{
	int subscribers_amount = 0;
	std::cout << "Enter the number of subscribers: " << std::endl;
	std::cin >> subscribers_amount;

	std::vector<subscriber> subscribers(subscribers_amount);
	for (auto& subscriber : subscribers)
	{
		std::cout << "Number: "; std::cin >> subscriber.number;
		std::cout << "Debt: "; std::cin >> subscriber.debt;

		std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
		
		std::cout << "Name: "; std::getline(std::cin, subscriber.name);
		std::cout << "Address: "; std::getline(std::cin, subscriber.address);
		std::cout << "Phone number: "; std::getline(std::cin, subscriber.phone_number);

		std::cout << std::endl;
	}

	int max_debt_subscriber = -1;

	for (int i = 0; i < subscribers.size(); i++)
	{
		if (subscribers[i].phone_number.substr(0, 2) == "22")
		{
			if (subscribers[i].debt > subscribers[max_debt_subscriber].debt)
			{
				max_debt_subscriber = i;
			}
		}
	}

	if (max_debt_subscriber != -1)
	{
		std::cout << "Number: " << subscribers[max_debt_subscriber].number << std::endl;
		std::cout << "Name: " << subscribers[max_debt_subscriber].name << std::endl;
		std::cout << "Address: " << subscribers[max_debt_subscriber].address << std::endl;
		std::cout << "Phone number: " << subscribers[max_debt_subscriber].phone_number << std::endl;
		std::cout << "Debt: " << subscribers[max_debt_subscriber].debt << std::endl;
	}
	else
	{
		std::cout << "No subscribers found" << std::endl;
	}

	return 0;
}
Вопрос: Объясните что такое Node.js и как он(-а, -о) работает?

Лучший ответ:
У вас весь сыр в один вареник. Начните с простого, почитайте что такое интерпретатор. Node - это интерпретатор, для языка js.
Сервер, запросы, клиенты и т.д. - это про взаимодействие по сети, почитайте про HTTP и как он работает.

Из способности управлять ОС
Не сущетвует "способностей", есть системные вызовы ОС, почитайте что это.

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

Связь с сайтом осуществояется через NPM и NPX. 
Опять же почитайте про HTTP.

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

Худший ответ:
Node.js это платформа, соединяющая в себе несколько технологий.
Выполнение с использованием движка хромиум V8.
Обработка цикла событий реализована с помощью LibUV.
Стандартные библиотеки node.js реализованы на СИ и обеспечивают взаимодействие с операционной системой, файловой системой, сетью, вводом выводом и тп.

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

Node.js - это однопоточная асинхонная среда исполнения, перед началом программирования на js желательно плотно почитать документацию по самому js, далее документацию по nodejs https://nodejs.org/

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

Отдельно, про программирование под устройства, node.js не компилирует свой код, а потому на любом устройстве у тебя будет набор твоих файлов плюс все пакеты из node_modules, которые ты наустанавливаешь. Естественно у тебя на любом устройстве должен быть уже node.js или должна быть возможность туда его установить.

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

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

Лучший ответ:
нет. если файл никто не раздаёт, ему неоткуда взяться.
есть качалки, которые используют больше механизмов поиска пиров. например, biglybt ищет торрент-файл не только на указанных в нём трекерах и в Mainline DHT, но также в DHT Azureus и в DHT I2P (если последний установлен и настроен). но базовый принцип всё тот же: чтобы куски файлов торрента с кого-то качать, для этого они должны у кого-то быть.

Худший ответ:
Посмотрите закладку "Информация", может там есть что-то, что поможет вам вспомнить источник торрентов. Там и просите нужные файлы.
Вопрос: На чем сейчас делают сайты с простым редактированием?

Лучший ответ:
Wordpress. Там очень простая админка.

Худший ответ:
просто собирать из блоков страницы
А вы уверены, что вам нужны именно это? Судя по последнему предложению, предположу, что вам нужно просто добавлять/удалять товары-услуги и прочее. Не лучше вместо того, чтобы заставлять менеджера, с большой долей вероятности, обладающего максимум средним "чувством прекрасного", редактировать блоки, дать ему обычную формочку, через которую он будет добавлять/удалять данные, не меняя структуры сайта.
В целом - с этом справится любая CMS. В том числе и WordPress. Либо что-то самописное.
Вроде сейчас все делают на Node JS, но это не подразумевает удобное редактирование? 
А куча железной руды, песка и резины подразумевает автоматическую коробку передач? Ну, если из всего этого сделать машину, то возможно.
Иными словами - нода просто голый инструмент, используя который программист может создать то, что нужно заказчику. В том числе и интерфейс для "удобного редактирования".
Вопрос: Помнить всё: как вы справляетесь с запоминанием и сохранением информации в памяти?

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

по крайней мере у меня так. естественно, речь о том, что уже знал.

Худший ответ:
Оно не уходит в небытие, а просто отправляется на дальний склад. Понадобится - само всплывет.
Вопрос: Как правильно установить Linux на внешний ssd?

Лучший ответ:
Если ваш внешний диск определяется как USB-HDD (или просто HDD), особой разницы в установке не будет.

Насчёт "переносить между разными устройствами" сложнее, могут возникнуть проблемы со свистоперделками, также известными как "графическое окружение + драйверы видео".

Худший ответ:
Выбираете в инсталяторе нужный диск и ставите на него. В чём проблема непонятно.
Вопрос: Существует ли бесплатный API, предупреждающий о подземных и надземных пешеходных переходах?

Лучший ответ:
роутер osrm + залить выгрузку осм необходимого места + допилить профиль роутинга под свои нужды.
плюс обратить на теги https://wiki.openstreetmap.org/wiki/RU:Key:wheelchair
это если для десктопа/интернета.

в свое время османд допиливали под слепых. это если для мобильника.

Худший ответ:
Думаю, можно попробовать из OSM вытащить информацию о дорогах (там отдельное условное обозначение для тоннелей есть), и при построении маршрута их не учитывать.
Ради дипломки, как мне кажется, можно сделать демку, которая будет покрывать небольшой участок города.
Вопрос: Как разделить txt файл (1kk строк) на несколько файлов?

Лучший ответ:
Можно выполнить команду 
split book.txt -l 100000
обвернув в системный вызов в Питоне.

Худший ответ:
Открывать исходный файл, читать в цикле под одной строке и записывать её в файл, каждые 100k строк открывать новый файл для записи.
Вопрос: Почему зависает вся система при открытии старого форума?

Лучший ответ:
Может, загружается какой-нибудь крипто-майнер или что-то другое вычислительно тяжелое скриптами JS.
Может также потребляет много памяти.
Можно проверить в htop/top.

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

В общем, делая вывод:
1) Реклама (JS)
2) Майнеры (JS)
Вопрос: Можно ли найти некий список оферов на работу?

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

Худший ответ:
Ну так без разницы какой область в целом что вайти что нет, если ты профи тебя сами найдут и позовут
Как бы специалисты высокого класса нужны всегда от девопсов до хирургов
Ну и есть в целом проверка гастарбайтеров но это обычно только на ближние страны распространено, так как стоимость релокейта минимальная
Вопрос: Какой диск выбрать в старую материнку — 2.5 или М.2?

Лучший ответ:
m2 вам не подойдут, и оно вам не надо.
Берите SATA.

Худший ответ:
В общем смотрите у меня 2 nvme и один sata
из за ограничений биоса стартовать с nvme не получится, править биос ну нафик, поэтому для вас только sata ssd они все одинаковые скорость у них где то 540 попугаев. 
Дальше смотрите если будете дополнительно ставить nvme  проверяйте версию порта, на 2 версии pcie 8 будет примерно те же 540 попугаев хотя переставишь в нормальный порт и получаешь обещанные 3000
Вопрос: Закрытие бесплатного G Suite (Workspace), куда мигрировать?

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

Zoho (на бесплатном нет pop/imap/smtp)
Yandex для бизнеса
Biz.Mail.ru (aka "for business")
Microsoft 365 (Office 365) (использование своего домена включено в планы Family и Personal)
inbox.eu
iCloud+
Amazon Simple Email


Худший ответ:
У меня 3 домена:
1. у Google (личный/семейный)
Самый удобный интерфейс (ИМХО), быстро работает, есть все нужные функции.
Используется почта и хранение фоток и всяких файлов.
На ящики зарегистрированы Гугл аккаунты( - мигрировать не вариант, будем ждать, что Гугл оставить бесплатное использование для 10 пользователей. Если нет - придется платить.
2. на Яндексе (рабочий, почта компании),
Используется в бесплатном варианте - только почта на 20-30 пользователей. 
Интерфейс почты не очень , перегружен рекламой, но удобная админка как старая так и новая.
3.  Zoho(личный/рабочий), бесплатный
Интерфейс ужасный (опять ИМХО), очень медленный, криво отображает письма. 
С Zoho хочу переехать на iCloud+, вроде поприятней выглядит.