Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Ежегодное обновление лицензии Windows?

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

Худший ответ:
Суть контракта в подписке на Windows
Вы заблуждаетесь и не видите всей ситуации.

Если вы работаете в бюджетной организации, то можете найти госконтракт на zakupki.gov.ru. Скорее всего там какой-нибудь сервисный контракт, на предоставление чего-нибудь как услуги. Почему так - вопрос коммерческий. Например, у вашей организации не было денег купить сразу весь объем необходимого оборудования и ПО, поэтому они купили это как услугу и платят сумму каждый месяц.
Вопрос: Как отдать объект без некоторых полей?

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

Худший ответ:
Можно сделать базовый класс сущности без пароля. И от него унаследовать все+пароль.
Дальше - дело техники.
Вопрос: Размытие фона на js?

Лучший ответ:
Используй backdrop-filter. Где не поддерживается, ничего страшного не случится.

Худший ответ:
filter: blur(5px); может это поможет
Вопрос: Стоит ли делать для своей игры лаунчер?

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

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

Ланчеры разве что у стима есть и у ломанных игрушек
Вопрос: Как вставлять изображения в ссылки?

Лучший ответ:
Это называется open graph

Худший ответ:
Используйте HTML, и будет вам счастье.

P.S. Ну и чё, каков вопрос - таков и ответ.
Вопрос: Как в Ubuntu 20.04 установить PHP со всеми нужными для Composer/Laravel расширениями одной-двумя командами?

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

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

Худший ответ:
Судя по вашей формулировке, достаточно стандартного 
apt install "PHP со всеми необходимыми для обычной работы расширениями"
Вопрос: Как изменить значение boolean в бд после определенного времени?

Лучший ответ:
ну вообще есть таблица с товарами и я планировал сделать такой функционал который покажет информацию о том что это недавно добавленный товар, а потом уже автоматически после определенного времени менять его значение, ну первое что пришло в голову это сделать true, false)
Тогда даты добавления товара будет более чем достаточно - потом на уровне приложения ты можешь сравнить текущее время и дату добавления товара, и исходя из этого отображать эту плашку.
Ну либо можешь прямо в SQL-запросе сделать что-то типа
SELECT id, (created_at > (current_timestamp - '1 day'::interval)) as "is_newly_added" FROM goods

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

Лучший ответ:
нужно или задать в кронтабе переменную PATH или писать полный путь:
/usb/sbin/reboot

Худший ответ:
Посмотри рутовую почту - там должны быть сообщения, если крон что-то написал.
Можно еще /var/log/syslog проверить.
Вопрос: Как добавить в автозагрузку программу работающую фоном?

Лучший ответ:
Нужно перечитывать конфиг squid каждую секунду или быстрее
Вы явно что-то делаете не так.

Худший ответ:
Как уже сказали,  скорее всего можно избежать необходимости делать reload каждую секунду.
Но если все же хотите это делать - то нужно использовать systemd timer, not service: https://opensource.com/article/20/7/systemd-timers
Вопрос: Какой язык программирования выбрать для бэкенда?

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

изучаю node.js, но кажется что он подходит лишь для разработки MVP приложения, и только для веб-бекаа ничо, что можно написать десктопное приложение?
или мобильное?

Есть также Djangoесть. только это вообще не язык программирования. 

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

короч: разбирать поток сознания очередного ньюкамера, неспособного сделать это самостоятельно - только его портить.

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

Это же взаимоисключающие параграфы. Если вы начинающий, то как вы могли изучить фронт?

>можно сказать изучил фронт на который я потратил довольно большую часть времени
>Хотелось бы узнать ваше мнение о ЯП(C#, Java, Go, Python, JS),
Как можно было изучить фронт, и не составить свое мнение хотя бы о JS, из которого он считай и состоит?

Судя по твоему вопросу, учиться у тебя получается очень плохо и тяжело, поэтому учи NodeJS - навыки во фронте с JS хотя бы помогут начать не с нуля.
Вопрос: Как работает лямбда в данном случае?

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

Если метод состоит из одного выражения/оператора, то можно убрать фигурные скобки и return, и заменить их на стрелку.

Худший ответ:
Это эквивалент static void Test()
{
Console.WriteLine();
}
Более короткий вариант записи.
Вопрос: ООП в JS отличается сильно от ООП компилируемых языков?

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

ООП - это про высокоуровневые абстракции представленные в виде объектов, а так же про взаимодействие этих объектов, путем вызова методов. Все. Никаких 3 принципов тут нет. И это примерно одинаково, что в JS, что в C#, что в Java, что в C++, а разница в реализации тут не существенна, Вы о ней знаете, только потому что абстракции текут.

Инкапсуляция - это сокрытие сложности. Опять же все. Забудьте весь бред про приватные поля и тому подобное. Это не более чем частный случай. И замыкания - это тоже частный случай инкапсуляции. А еще, когда из модуля Вы экспортируете не все подряд (привет ReasonML), а только высокоуровневые штуки, оставляя все остальное недоступным извне. А еще когда некоторое API (REST/GraphQL/RPC/etc.) отгораживает Вас от прямого общения с базой данных - это тоже инкапсуляция.

Полиморфизм - это возможность некоторой сущности работать с разными типами данных и возможно адаптироваться под них. А еще полиморфизм разный бывает. Помимо полиморфизма подтипов, который чаще всего и приписывают к ООП, бывают и другие. Например очень распространен параметрический полиморфизм, в большинстве языков представленный дженериками. А еще бывает ad-hoc полиморфизм (перегрузки).
Но даже если рассматривать только полиморфизм подтипов (это когда между типами есть иерархия, то есть отношения подтип-надтип, и мы в переменную/аргумент/поле надтипа можем присвоить значение подтипа), то и тут нет не слова про ООП. Яркий пример - TypeScript, где есть тип unknown, являющийся надтипом любого другого типа и в который можно присвоить значение любого типа, а так же есть тип never, являющийся подтипом любого другого типа и который можно присвоить в любой другой тип.
Ну и касательно JS, в нем вообще все полиморфно, ибо динамическая типизация.

Наследование - это вообще частный случай полиморфизма подтипов, отдельно выделяют пожалуй лишь потому, что он не только про типы (как полиморфизм), а еще и про реализации, которые наследуются. И опять же, ничего тут про ООП нет. Наследование вполне может жить и без ООП, например во вполне себе структурно-процедурном Си#include <stdio.h>

struct Parent
{
    int a;
    int b;
};

struct Child
{
    struct Parent __super;
    int c;
};

void f(struct Parent* v)
{
    printf("a: %d\nb: %d\n", v->a, v->b);
}

int main()
{
    struct Child v = {{10, 20}, 30};
    f((struct Parent*)&v);
    printf("c: %d\n", v.c);
    return 0;
}

P.S. JS вполне себе компилируемый язык, у v8 даже ассемблерный код попросить можно, который он накомпилит с Вашего JS.

Худший ответ:
Открываешь Фленегана Подробное руководство Javascript, вроде уже есть 7-е издание, читаешь от корки до корки, там есть ООП. 
https://www.oreilly.com/library/view/javascript-th...
Вопрос: Как отсортировать массив по дате?

Лучший ответ:
Используйте функцию usort. Для нее вам нужно будет написать callback-функци сравнения, в которую будут передаваться элементы из вашего массива.
В этой callback-функции вам нужно будет сделать перевод даты вида "1 июля 2021" либо в timestamp, либо в объект DateTime, и уже использовать их в сравнении между собой.

Худший ответ:
Ниже возможное решение. Разбирайся:
<?php
function myDataFormat($d) {
	$months = [
		'январь'=>'01',
		'июнь'=>'06',
		'июля'=>'07'
	];
	
	$splitted_data = explode(' ', $d);
	return $splitted_data[2]
		 	. $months[$splitted_data[1]]
		 	. str_pad($splitted_data[0], 2, '0', STR_PAD_LEFT) ;
}

function mySort($arr) {
	usort(
		$arr,
		function($a, $b) {
			return myDataFormat($a['data']) <=> myDataFormat($b['data']);
				
		}
	);
	
	return $arr;
}

$arr= [
    [
      "header"=>'',
      "title"=>'', 
      "data"=>'12 июнь 2021', 
    ],
    [
      "header"=>'',
      "title"=>'', 
      "data"=>'30 июнь 2021', 
    ],
    [
      "header"=>'',
      "title"=>'', 
      "data"=>'1 июля 2021', 
    ],
    [
      "header"=>'',
      "title"=>'', 
      "data"=>'1 январь 2020', 
    ]
  ];

$sorted = mySort($arr);

print_r($sorted);

PHP code online
Вопрос: Имеет ли смысл смена специальности?

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

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

В результате вы узнаете парочку кулстори. И?

Вам нужна мотивация? Ну уже ж не маленький.

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

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

Если есть вакансия, которая вас устраивает по деньгам - идешь и работаешь. 
А планировать себе карьеру на 10-20-30 лет вперед могут только оракулы.

Худший ответ:
Я считаю что маркетинг это нае... Ну, в СНГ так точно, ничего путного нет в этой сфере. Но если вы достигли каких-то успехов, лучше двигайтесь дальше там, но в другой фирме, если в текущей уперлись в потолок. Идти в веб сейчас (пых, питон, жыэс) это уже моветон, ибо "разрабов" как говна и грязи.
Вопрос: Как выбрать ноутбук для Linux?

Лучший ответ:
Посмотреть модели с предустановленным Линуксом. На них он будет работать точно.
Навскидку: Dell.

Худший ответ:
придти в магазин с флешкой и проверить.
Вопрос: Запуск js скрипта в фоновом режиме через команду nohup?

Лучший ответ:
failed to run command 'script.js': No such file or directory
Попробуйте перевести.

Худший ответ:
потому что эотт js скрипт не является исполняемым файлом. Его нужно запускать чем-то, например nodejs
как питон запускается
python myscript.py
так и js надо
node myscript.js

или nohup node myscript.js &

ну или прописать через шебанг путь к ноде и сделать файл исполняемым.
Вопрос: Upcast and Downcast?

Лучший ответ:
Апкаст - приведение дочернего типа к родительскому по иерархии наследования.
Даункаст - приведение родительского типа к дочернему.

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

Худший ответ:
https://ru.stackoverflow.com/questions/433314/Заче...
Вопрос: PostgreSQL: Как запретить дубликат?

Лучший ответ:
Для этого существуют уникальные ключи, поля и индексы

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

Лучший ответ:
github pages
Если я правильно понял, сайт — статичный.

Худший ответ:
лучше всего использовать wordpress на хостинге ;-)
Вопрос: Что за странное окно при подключении к vpn через Network Meneger?

Лучший ответ:
От приватного ключа, например.

Худший ответ:
пароль либо от закрытого ключа либо от рута(нужен для запуска сервиса,tun/tap)
Вопрос: Behavior:Win32/Hive.ZY вирус?

Лучший ответ:
Пока ничего, ждать патча дефендера.

Худший ответ:
Не толкьо у тебя такое :)
Вопрос: Как зарабатывать и одновременно учиться начинающему пользователю?

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

На фрилансе есть спрос на любых специалистов, но начать для быстрого заработка, наверное, проще с разработки лэндингов и сайтов немного посложнее, спрос пока еще есть, хотя конкуренция высокая. Соответственно нужно учить HTML, JS, CSS и популярные технологии (Bootstrap, Ajax, jQuery - надеюсь, спецы подкорректируют меня).

Худший ответ:
Открой ворк.юа/телеграм-чаты, найди любую доступную работу (куда возьмут), речь не только об айти
Кушай, спи, играй в кс
В свободное время учись
Попозже найдёшь себя и работу, но в процессе поиска с голоду не помрёшь
Вопрос: С чего начинать тестирование двухюнитовых серверов с 16 планками U-DIMM и 24 хардами в Linux?

Лучший ответ:
1. Используйте Debian, он бесплатен. Я бы не советовал связываться с российскими ОС, тем более для бизнеса они платные вроде как. И подороже винды))
отечественных ОС у нас нет, есть просто сертифицированная и частично проверенная))
2. Пробуйте для начала так же, возможно программа умеет в несколько потоков
3. Ну если есть рейд контроллер - тетсируйте как обычно, только с поправкой на количество дисков(например в плане скорости доступа)
если нет контроллера - просто исключите этот пункт из тестирования

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

Худший ответ:
CPU(s):                          256
On-line CPU(s) list:             0-255
Thread(s) per core:              2
Core(s) per socket:              64
Socket(s):                       2
Я не понял проблематику ситуации. 40 ядер, несколько сотен гигов RAM да пара десятков дисков - средняя железка, какие там у вас специфические проблемы такие? 40 ядер нынче не проблема даже одним сокетом получить.

Что касается памяти тут отдельная история, поступила жалоба, что U-DIMMы работают только при полной сборке (все 16), либо подключенные последовательно (с1 по 4 место например), но подключая в 1,3,7,12(например) места некоторые планки не определяются, либо сервер работает не корректно (не запускается, не стартует).
См. документацию к материнке. Там будет описано, в каком порядке необходимо заполнять слоты. Да, это стандартное требование JEDEC для DIMM'ов, что серверных, что десктопных. Технически связано с терминаторами. Затем, после требований стандарта, идёт логика как не повесить всю имеющуюся память на один и тот же канал памяти одного и того же CPU. NUMA всё-таки.
Вы правда занимаетесь серверами?
Вопрос: Как сделать это быстрее?

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

Худший ответ:
Создать пустой массив той же длины - заполнить его по алгоритму;
Вопрос: Go. Что делать, если в коде много схожих друг с другом функций?

Лучший ответ:
Наоборот, написать общую функцию для таких целей — это хороший способ.
У вас тут посыл запроса, обработка кода ответа, парсинг. Это всё отлично выносится в общую функцию, которой потом удобно будет пользоваться. Особенно с дженериками, которые добавили в go1.18

Худший ответ:
Не стоит объединять похожие, но разные по смыслу вещи. Если конкретный участок кода повторяется прям всюду - вынесите его в отдельный сервис.
Конкретно у вас тут из одинакового - только логгирование при НЕ 200м ответе. Вы ничего особо не сэкономите.
Лучше оставить как есть.
Вопрос: Несколько параллельных программ на AVR (или stm)?

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

Либо, если хочется чего-то интересного и познавательного, то на stm32 есть "из коробки" freeRTOS, будет у вас целая ОС со своими процессами. :) (на остальное, думаю, тоже можно найти свою RTOS) По крайней мере можете почитать принцип работы и возникнут идеи, как сделать свою многозадачность.

Худший ответ:
Через переменные - флаги. 
Флаг - мотор крутится или нет
Флаг (значение) датчика 1 
 и тд
Вопрос: Необходимо перенести индивидуальные цены для клиентов с 1С на сайт, возможно ли это сделать?

Лучший ответ:
2 пути наверное. 
Первый на сайте хранить данные цены, получая их разово через http сервис
Второй, выводить в реал тайме, то есть, через тот же http сервис, отправлять запрос с id клиента и id товара, 1С вернёт цену, которую отобразить уже на фронте.

Худший ответ:
теоретически конечно возможно
практически, вы не указали ничего, ни какая у вас конфигурация в 1С, ни какой у вас сайт.
Вопрос: Возможно как-то «приклеить» элементы верстки к картинке?

Лучший ответ:
Реально ли, на любом устройстве сохранять правильное, "приклеенное" положение кружочков на картинке?

Да)

Худший ответ:
Можно воспользоваться SVG и любым векторным редактором
Или использовать  html тег map
Вопрос: Как реализовать дерево на основе связного списка?

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

Если уж прямо нужно на списках, то можно нумеровать элементы списка и в каждом хранить потомков.
Как-то так:
список:


[2, 3]
[4, 5]
[]


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

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

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

Допустим ваш проект - это SPA с rest-бэкендом, значит интеграционный слой пирамиды тестирования можно закрыть api-тестами, а end-to-end слой - UI тестами. Но тут тоже не все так просто, api-тесты могут запускаться на отдельно поднятом сервисе с замоканным окружением, а могут запускаться для сервиса развернутого в тестовой ифраструктуре.

В общем случае можно посоветовать следующее:
1) Изучайте один из популярных языков, лучше всего Python, он наиболее универсальный и имеет низкий порог вхождения
2) Начинайте с автоматизации api уровня
3) Если на проекте есть CI/CD пайплайн, сразу интегрируйте тесты в него, пусть запускаются как отдельный стейдж
4) Настройте отправку сообщений о прохождении тестов в корпоративный месседжер. Очень важно, чтобы о тестах знала вся команда, а не только тестировщики 
5) Для UI тестов используйте Selene - это удобная обертка поверх selenium
5) Не пишите много UI тестов. Достаточно небольшого количества покрывающих основные пользовательские сценарии

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

Худший ответ:
Начните с изучения, зачем это нужно. Лучше всего заниматься какой-то деятельность не без причины, а с конкретной целью. Далее, когда вы поймёте целевую аудиторию и показатели, придумайте план автоматизации (вы ведь уже изучили теорию тестирования и теорию надёжности на позиции qa) с учётом ваших инструментов и проектов. Затем оцените время на автоматизацию. Обычно автоматизация оказывается нецелесообразной по времени. Ну и наконец приступайте к реализации.

Резюме
Автоматизируют типовые задачи. Если они не типовые, то загоните программистов в типовые рамки. Затем просто скачайте и запустите готовые инструменты для этих самых типовых задач.
Вопрос: Как взаимодействовать с состоянием одного компонента в другом?

Лучший ответ:
Для общего состояния всего приложения: vuex.
Для связки детей которые не могут жить без конкретного родителя с этим родителем: provide \ inject.
Для плотной связки единичных компонентов: отдельный Vue.observable \ Vue.reactive объект импортируемый в нужных компонентах.
Для явного взаимодействия рядомстоящих компонентов, обычный vue-flow: вверх события через $emit и @on, вниз props.

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

Лучший ответ:
Мне удивительно что хакер не умеет сортировать данные. Как же он до этого работал? 

По поводу нужности или не нужности data science. Я думаю что основы этой науки должен знать любой разработчик. По крайней мере понимать как кластеризовать сет данных. Или найти в данных какие-то положительные взаимо-влияния между различными атрибутами данных.

Худший ответ:
Ну это как в том анекдоте.
- Как стать хакером?
- Берешь ноутбук и кувалду, подходишь к банкомату, лупишь по банкомату кувалдой со всей дури, забираешь бабки и убегаешь.
- А ноут зачем?
- Ну какой же ты хакер без ноута!

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

Лучший ответ:
Есть целая наука об этом. "Временные ряды", вроде, называется. Там есть куча всяких моделей, типа ARIMA.

Худший ответ:
Excel (если у вас русская версия, я думаю, перевод нужной вкладки и опции найдёте)
Вопрос: Почему не меняются записи в базе данных репозитория GitHub?

Лучший ответ:
Справку не читай - и так сойдёт!

Худший ответ:
Как устранить ошибку 500 на Flask Heroku?
Как исправить проблему с БД и хероку?
Вопрос: Какие SCA и Code Quality анализаторы для своего проекта посоветуете?

Лучший ответ:
тест coverage
Такой отчёт может CI/CD система выдавать, но для этого тестовый фреймворк должен ей эту информацию сообщий.
Это не статический анализ.
В случая голанга для этого используется go tool cover
Если используется гитлаб, то вот инструкция по настройке:
https://docs.gitlab.com/ee/ci/testing/test_coverag...
 code smells и code security issues
Это точно умеет Sonarqube даже в бесплатной версии.
Можно ещё в ci добавить какой-нибудь dependabot или его подобие, который будет смотреть за устаревшими библиотеками. + npm audit

Худший ответ:
тест coverage
Такой отчёт может CI/CD система выдавать, но для этого тестовый фреймворк должен ей эту информацию сообщий.
Это не статический анализ.
В случая голанга для этого используется go tool cover
Если используется гитлаб, то вот инструкция по настройке:
https://docs.gitlab.com/ee/ci/testing/test_coverag...
 code smells и code security issues
Это точно умеет Sonarqube даже в бесплатной версии.
Можно ещё в ci добавить какой-нибудь dependabot или его подобие, который будет смотреть за устаревшими библиотеками. + npm audit