pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как получить данный из AJAX запроса на стороне PHP?

Лучший ответ: Прочитать документацию на эту функцию и особенно - то место, где указано, что должно быть содержимым data.

Худший ответ: Почему Php не видит переменную из Ajax? - В дальнейшем может быть пригодится
Вопрос: Электронный дневник для школы?

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

Худший ответ: Это относительно несложная задача. И на Net Core и на Laravel можно сделать без особых проблем.
Преимущество Laravel, что можно запустить на хостинге за 3 копейки.
Вопрос: Собственные проекты. Стоит ли доводить до идеала?

Лучший ответ: Пишите одну - максимально отшлифованную игру, а все остальные - нет и указываете: что нужно ещё доделать до идеала и почему Вы это не сделали: т.е. именно честно так всё и перечисляете.
Сначала указываете причину создания нешлифованного проекта:"Проект, показывающий моё %умение/skill%...". 
И потом, пишите пункты (в readme.md), которые Вы бы сделали до идеала.
Обязательно, после этих пунктов, приводите ссылку на проект с максимально отшлифованной игрой (чтобы могли сравнить слова с делом).

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

Лучший ответ: Мне кажется, вы не совсем корректно поняли совет. Нужно было использовать Linux(без иксов) только для запуска докеров, а не перебираться работать в виртуалку. 
Ни разу схему выстраивать такую не приходилось, но раз в нативном докере работает, то и так тоже должно завестись. 
Можно сетевые карты мака и линухи объединить в бридж, а контейнеры в линухе запускать сеть в режиме Host.
Возможно это излишне и из контейнеров можно ходить на мак по его ip, а не через loclahost. По крайней мере так делает нативный докер

Худший ответ:  Можно ли ubuntu использовать как простой localhost, а всё остальное использовать от mac os?  можно. это называется vagrant, но докер тут уже не при делах.
определитесь для чего вам нужен докер.
крутить отдельные сервисы? не вопрос.
девить? зачем это делать в докере, когда есть вменяемый локалхост.
Вопрос: Как реализуют инкапсуляцию в python?

Лучший ответ: Правильнее говорить "Модификаторы доступа", т.к. Инкапсуляция это своего рода  механизм, который имеет более обширное понятие, чем модификаторы доступа - protected, private, public.
По теме: реализуются через декораторы https://habr.com/ru/post/443192/

Худший ответ: Камрад hack504 хорошо направил. Модификаторы доступа. 
Просто прими тот факт, что это интерпретируемый язык и прятать в нём что-то - дело неблагодарное.
Если тебе надо скрыть реализацию каких-то внутренних механизмов создаваемой тобой библиотеки, то тут только положиться на джентльменские соглашения с подчёркиваниями и обеспечить хорошую документацию чтобы не было необходимости залезать в потроха.
Если ты просто что-то пишешь (конечный продукт) - просто пиши. Не заморачивайся с этим, пока не возникнет прямой необходимости.
Если же пишешь что-то шибко коммерческое и хочешь реально скрыть реализацию, вот чтоб прям ну никак не посмотреть, что там в потрохах - пиши на другом языке. Например всю машинерию на C, а на python только обвязку.
Вопрос: Какой почтовый сервис выбрать (важны бесплатность, стабильность, анонимность)?

Лучший ответ: Прочитал этот бред и ничего не понял. Кому Вы нужны - предоставлять Вам бесплатную и анонимную почту? Это раз. Если к Вам пришли - сами все расскажете. Это два.

Худший ответ: Да забейте. Первым делом у вас узнают пароль, потом посмотрят на ваши мэйлы дальше будете как миленький сдавать всех, в общем забейте.
Вопрос: Какой Посоветуете хост на nodejs?

Лучший ответ: Что значит "поддержка ноды"?
Берёшь любой хороший хостинг на Ubuntu/CentOS/Debian... и ставишь туда ноду.
Делов на пять минут
https://www.digitalocean.com/community/tutorials/n...

Везде все рекомендуют разные хостинги
А ты думаешь, что тебе здесь не будут рекомендовать "разные хостинги"?

Так же хочется узнать, где можно купить домен на .com
Godaddy
Namecheap.com

Худший ответ: Поддерживаю верхнего оратора, для nodeJS лучше взять VPS.
Впрочем у нас площадки хостинга поддерживают также и NodeJS.
Вопрос: Беспроводная связь для района/города возможна?

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

Худший ответ: Если Вас не страшит техническое обеспечение Вашей задумки, то готовьтесь к лицензированию как оператор подвижной связи, с "плюшками" типа СОРМ, закона Яровой и другим радостям...
Вопрос: Всем привет вопрос состоит в том, что мне на Python необходимо отформатировать файлы из одного списка в другой что бы выглядел как это сделать?

Лучший ответ: привет,

гугли csv.read, csv.regiser_dialect

Худший ответ: На скорую руку, чтобы принцип был понятен - дальше сами:
>>> str1 = """
@ 96140 Облучье
...
"""
>>> import re
>>> level1 = None
>>> level2 = None
>>> for line in str1.split('\n'):
...     result1 = re.match('^@\s+(\d+)\s+(.*)$', line)
...     if result1:
...         level1 = f'{result1.group(1)};{result1.group(2)}'
...         continue
...     if re.match('^#', line):
...         level2 = line
...         continue
...     if level1 and level2:
...         print(f'{level1};{level2};{line}')
... 
96140;Облучье;# 01 Путей в парке: 2;1 гл 0 - - эц % 0000 р 1150 80 ?/? ГЛ
96140;Облучье;# 01 Путей в парке: 2;2 гл 0 - - эц % 0000 р 1150 80 ?/? ГЛ
96140;Облучье;# 02 Путей в парке: 10;3 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 02 Путей в парке: 10;1 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 02 Путей в парке: 10;5 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 02 Путей в парке: 10;7 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 02 Путей в парке: 10;9 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 02 Путей в парке: 10;11 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 02 Путей в парке: 10;13 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 02 Путей в парке: 10;15 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 02 Путей в парке: 10;17 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 02 Путей в парке: 10;19 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 03 Путей в парке: 11;20 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 03 Путей в парке: 11;18 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 03 Путей в парке: 11;16 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 03 Путей в парке: 11;14 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 03 Путей в парке: 11;12 по 0 - - эц % 0000 р 1150 80 ?/? ПО
96140;Облучье;# 03 Путей в парке: 11;
Вопрос: Как сжать картинку?

Лучший ответ: Вот:1)https://imagecompressor.com/ru/
2)iloveimg.com/ru/compress-image
3)https://www.imgonline.com.ua/compress-image.php

Худший ответ: Это называется "пакетная обработка", когда над кучей файлов производятся однотипные действия.
Сжать по размеру в байтах (compress)? Или сжать по разрешению (resize)?
И то, и другое может делать в пакетном режиме irfanView (да и другие продвинутые просмотрщики).
Вопрос: Как вешать обрабочик к добавленному классу jquery?

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

$('.form-control').on('click', '.test2', function() {
    //
});

Худший ответ: $('.test2') .live( events, handler )
Устанавливает обработчик событий на выбранные элементы страницы. Метод имеет одну важную особенность, отличающую его от bind(): если на страницу будут вставлены новые элементы, которые соответствуют текущему селектору, то они также будут реагировать на заданные события.

https://jquery-docs.ru/live/
Вопрос: Сеньоры и лиды — это всегда обуза и зло, а работают джуниоры и миддлы? Или только у нас в компании?

Лучший ответ: Всего один разработчик в проекте с непростой архитектурой, с C++, JavaScript, Node.js и Lua. И он джуниор. И он - я.
Ведь я не просто джуниор, но еще и имею некоторые проблемы с алгоритмами. Но я их откатывал и фиксил, и это не так часто. И тормоза все же не баги.
Проблемы в вашем непонимании принципов построения крупных проектов, их обслуживания и поддержки (весь жизненный цикл продукта). Отсюда и подобные вопросы.

И тормоза все же не баги.Это как раз ИМЕННО! и есть баги, только до определённого момента они - неявные. А это - гораздо хуже явных!

Худший ответ: Мужайтесь и учитесь...
Вопрос: Как собрать связку nginx, front, back с помощью docker-compose?

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

Gitlab CI/CD загружает новую версию репозитория - в  ./local-back или ./local-front, и дергает перезапуск docker-compose

docker-compose.yml который лежит в папке выше имеет примерно такой вид:

nginx:
   ...
   volumes:
   - ./local-back:/container/back
   - ./local-front:/container/front
  ...

back:
  ...
  volumes:
  -./local-back:/container/back
  command: тут скрипт который конфигурит бэк и запускает его

front:
  ...
  volumes:
  -./local-front:/container/front
  command: тут скрипт который конфигурит фронт, собирает статику, или что он там делает..

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

Худший ответ: Проект с беком ничего не знает про nginx.
Он и не должен вроде? Только фронту нужен URL  backend?

Насчет основного вопроса: я не работал с Gitlab CI, но в Jenkins я бы просто брал код из разных репо, строил images и запускал в docker-compose. Вроде этого:
https://stackoverflow.com/questions/59712578/multi...
Вопрос: Считается ли профессиональным так комментировать блоки и сецкии кода?

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

// ##################################################################### //
// ############### Localization/Lokalisierung/Локализация ############## //
// ##################################################################### //
Вот в таком не вижу никакого смысла, названия файла и так прочитать можно

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

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

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

Лучший ответ: для минимизации образа с приложением
multistage-build

этап 1
устанавливаете все необходимые инструменты и зависимости для компиляции приложения
выполняете компиляцию приложения

этап 2
устанавливаете все зависимости необходимые для работы приложения
копируете готовое приложение в новый образ

Худший ответ: Во-первых stack имеет родной способ сборки через докер: https://docs.haskellstack.org/en/stable/docker_int...

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

Если нужно собирать приложение в докере, а потом деплоить только бинарь, то это уже multistage.
Ну такой вот примерно рецепт усредненный, потому что вариаций масса:

FROM fpco/stack-build:lts-16.20 as build

WORKDIR /opt/source
RUN stack --resolver=lts-16.20 --system-ghc install example-exe

FROM fpco/stack-run
WORKDIR /opt/dist
COPY --from=build-env /home/user/.local/bin/example-exe .

CMD ./example-exe
Вопрос: Будет ли работать Видеокарта GeForce GTX 1660 Ti на частоте 144 Гц?

Лучший ответ: 1. Читаем спецификацию видеокарты, ищем строчку про версию hdmi
- Видим, что там 2.0b
2. Гуглим https://ultrahd.su/video/raznica-hdmi-1-4-hdmi-2-0...
- Видим таблицу с совместимыми разрешениями и фпс
3. Делаем вывод
- Да сможет, вплоть до 2К (QuadHD), если монитор и кабель поддерживают hdmi 2.0

Худший ответ: Будет, если игра будет поддерживать 144 Fps
Вопрос: Как на PHP предсказывать события с помощью ML?

Лучший ответ: так там одна функция
https://www.php.net/manual/ru/function.random-int.php

попробуйте на сезоне/серии - будет точнее всего что наделаете

Худший ответ: Вопрос такой. Подойдёт ли эта библиотека для реализации такой задачи. Если нет, то лучше попытаться её изменить или попробовать библиотеки на другом языке и тд.С таким подходом к изучению ML у Вас ничего не выйдет!
Учите вначале теорию!
Вопрос: Куда расти, когда везде сложно?

Лучший ответ: Пойдите в управдомы (с)

Худший ответ: Опыта у вас вагон
Занимайтесь тем что нравится
А так похапе наше все
Вопрос: Оптимальный вариант скрыть от провайдера использование торрент трекеров?

Лучший ответ: Используйте VPN до сервера расположенного вне юрисдикции данной страны.
Например арендуйте VDS в России и поднимите на нем VPN.
Можете знакомых попросить чтобы подняли VPN на своем роутере.

Худший ответ: включить шифрацию (точнее скрытие) торрент-соединений в самом торрент-клиенте.
wiki.vuze.com/w/Message_Stream_Encryption
для трансмиссии надо всего лишь добавить «encryption»: 2, в transmission/settings.json       
0 = Предпочтение незашифрованным соединениям
1 = Предпочтение зашифрованным соединениям
2 = Только шифрованные соединения
по умолчанию = 1
выбран достаточно простой протокол шифрации RC4, но для просто обхода DPI его хватит за глаза.
Вопрос: Mikrotik RB2011UiAS-2HnD-IN замена на Cisco 891W-AGN-A-K9 -- справится ли «чайник»?

Лучший ответ: Это Вам лучше знать, справитесь Вы с циской, или нет, всё зависит от Вашего желания :)

Худший ответ: Cisco 891W-AGN-A-K9 настроить не сложно, но я бы не рекомендовал делать замену. Лучше использовать два устройства, cisco как wifi которая бриджует трафик в локальную сеть (не NAT) и микротик как и ранее (просто роутер и отключить на нем WIFI). В качестве домашней точки уровнять enterprice я бы рекомендовал что-то от ruckus, например r300. Настроек тут минимум, все просто.

Не смотрите что у Ruckus нет внешних антен) у них своя запатентованная технология всенаправленной внутренней антены + beamFlex (усиление сигнала в сторону клиента, что остальные за такую цену не предлагают).
Вопрос: Разработка web-сайта для компании. Что выбрать?

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

Худший ответ: Велосипед с нуля не надо изобретать.
php:
https://laravel.com/
css: 
https://getbootstrap.com/ - уже всё готово
Или если нужен более 'чистый' и гибкий код, то самому писать css / scss
js:
https://vuejs.org/
Или
https://reactjs.org/
+ Нужно использовать ssr 
Для vue это:
https://nuxtjs.org/
Я думаю что для react то же что-то подобное существует.
Вопрос: Как найти все комбинации определенных слагаемых числа?

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

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

Функция перебирает 2 варианта. Пусть отсавшаяся сумма s, а разрешенное максимальное число имеет номер i (они хранятся в каком-нибуть отсортированном a[]). 

1) Берем текущее максимальное слагаемое. Естественно, если оно помещается в остаток s >= a[i]. Кладем его к текущим слагаемым в массив и рекурсивно вызываемся от уменьшенного остатка, не меняя максимальное число - (s-a[i], i).  Важно - если слагаемые хранятся в глобальной переменной, то надо после рекурсивного вызова "вернуть как было" - удалить только что добавленное слагаемое из массива.

2) Пропускаем текущее максимальное число. Значит, больше его брать вообще нельзя. Вызываемся от (s, i-1). Естественно, этот вариант есть только если i>0.

Если мы получили, что оставшаяся сумма s равна нулю, то мы подобрали разбиение, надо вывести текущие слагаемые.

Ах да, чтобы этот метод хорошо работал имеет смысл слагаемые отсортировать по возрастанию. Чтобы сначала брались самые большие.

Если среди возможных слагаемых нет 1, то этот полный перебор может заходить в тупики. На пример, доступны слагаемые 6 и 11, надо набрать 29. Алгоритм может пропустить 11 и попытаться набрать 29 одними шестерками, но этого никогда не получится. Эти лишние тупиковые ветки можно обрезать и ускорить таким образом решение в некоторых случаях.

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

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

EDIT: Только заметил, что вам порядок важен и 1,2,3 считается отдельно от 3,1,2

Изменения просты - рекурсивная функция теперь принимает только один параметр - сколько осталость добрать. Вместо двух вариантов она перебирает N вариантов - какое именно число из разрешенных взять. 

Оптимизация такая же. реализуете ДП, которое считает, сколько способов собрать заданное число и, если способов нет, возвращаемся из функции.

Худший ответ: 1. С самого минимального из заданных (1) - находим целевое (48=1+1+...+1).
2. Убираем первые слагаемые (12*1) и переходим к следующему ПО ПОРЯДКУ! (12), добавляя его в конец, убрав все лишние (1) вначале. Снова находим целевое (48=1+...+1+12, 48=1+1+..+12+12, ...)
3. И т.д. мы делаем по всем заданным числам, постепенно заменяя слагаемые В ПОРЯДКЕ ИХ СЛЕДОВАНИЯ и НЕ ПРОПУСКАЯ ("цепочка" не должна нарушаться)! (48=1+...+1+12+24)

Перебор перестановок здесь - не нужен, т.к. порядок следования слагаемых - строго фиксирован.
Вопрос: Что может на это влиять?

Лучший ответ: Если у SSD SMART статус плохой - значит диску хана.
А если у SSD SMART статус хороший, это еще не значит что диск исправен.
Вполне возможно диск глючит.
Какой размер диска, и сколько свободного места на диске?

Худший ответ: раз проблема на ссд только попробуйте его заменить на другой ссд.
берите сандиск иди вд, за те же деньги они лучше
Вопрос: Внедрение js-инъекции, это как? Я правильно понял?

Лучший ответ: Нет

Худший ответ: Если повезет, этот код попадет в бд, а потом в чистом виде будет выведен где-то на странице чтоб верстка не сломалась. И вот тогда есть шанс, что он выполнится в браузере. Что ты с этим будешь делать - дело твое, можешь свои куки своровать.
Вопрос: Как продвигать своё расширение для Chrome?

Лучший ответ: на полезность

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

Вот какие вопросы надо изучать, а не вот это вот все: 
Я написал потому что могу, но кому оно нужно? Никому.
Вопрос: Софт для синхронизации буфера обмена для ПК на Windows?

Лучший ответ: Попробуйте Ditto

Худший ответ: RDP прекрасно вставляет ваш буфер. Текст, картинки, файлы. 
Или объясните  как вы так хитро хотите все настроить?
Щелкнули на десктопе и пошли к другому компу?
Вопрос: Есть ли компилятор для python в оптимизированный байт-код?

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

https://habr.com/ru/post/124388/
https://habr.com/ru/post/157537/
https://habr.com/ru/post/336684/

Худший ответ: То есть вы хотите, чтобы хреново написанный питоновский код подвергался оптимизации при трансляции в байткод?
Плохая идея неявной магией и постобработкой закидывать огрехи в качестве кода.
Байткод формируется под вполне конкретную виртуальную машину. Производительность вашей программы зависит от качества и эффективности вашего кода, а также от скорости виртуальной машины, исполняющей байт-код. В случае с питоном вы можете воспользоваться Java-машиной перейдя на jython. Это также добавит возможностей для интеграции с подключением java-кода.

Если в проекте на питоне производительность стала для вас бутылочным горлышком, это значит что либо вы выбрали не тот язык и стоит писать на Си, либо вы плохо работали над архитектурой: не применяли горизонтального масштабирования, неправильно разделили трудоёмкие задачи на отдельные процессы, допустили излишнюю связность или мутабельность, где их можно было избежать воспользовавшись сильными сторонами Питона и обойдя слабые.
Вопрос: Куда податься с незаконченным высшим (2 курса)?

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

Худший ответ: Этот вопрос задавался на Тостере уже сотни раз в разных вариациях. Для работодателя важны прежде всего знания, бумажка - дело десятое.
Вопрос: Как восстановить виртуальную машину Hyper-V?

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

Худший ответ: Попробуйте:
1. Скопируйте то что на диске сейчас в другое место куда нибудь...
2. Удалите в исходном месте файлы старой VM.
3. Создайте заново такую же VM с таким же именем и параметрами
4. Остановите гипервизор.
5. Удалите файлы вновь созданной VM
6. Залейте вместо них то, что резервно скопировали от старой VM...

Хз что будет... первое что  в голову пришло.
Вопрос: Как лицензировать ПО от Microsoft в малом офисе?

Лучший ответ: 1. Windows Home в офисе использовать можно, но с техническими ограничениями. Самое неприятное, IMHO, - не запоминаются пароли к сетевым ресурсам.
2. Office для дома и учебы в коммерческой деятельности использовать нельзя.
Вы не должны использовать следующие версии программного обеспечения в рамках коммерческой деятельности, некоммерческой деятельности или деятельности, связанной с получением дохода.
...
б.  Для дома и учебы.
3. CAL нужна для каждого компьютера или пользователя, который использует хотя бы один ресурс хотя бы одного Windows Server (даже DHCP). Соответственно используются либо Device CAL, либо User CAL.
Для каждого устройства или пользователя, подключающегося через RDP требуется лицензия RDS Device CAL или RDS User CAL. Наличие этих лицензий не отменяет необходимости в основной CAL.
Для анонимного доступа к сайту на IIS или к файлам через FileZilla покупается отдельный тип лицензий - External Connector. Если доступ с авторизацией - то CAL на каждого пользователя.
Услугу аренды Windows, физической или виртуальной, вы можете предоставлять только заключив отдельный договор SPLA с Microsoft и купив Windows по специальной лицензии.

Худший ответ: У меня один вопрос, раж уж появился такой полный ответ. А  с какой радости нужны какие либо лицензии на файлзиллу? Это бесплатнное по, использовать его можно как угодно. При чем тут вообще лицензии майкрософт? Если это отдельная программа?