Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как автоматически запустить импортированные функции?

Лучший ответ:
1) Это не правильно с точки зрения написания и организации кода. Т.к. не ясно, откуда взялась данная функция в контексте файла. Таких функций может быть 100500, от чего нет явного понимания, откуда она и не даёт понимания, а какие функции вообще есть. + может быть 2 и более одинаковых функции, но из разных файлов, решающих одинаковые задачи, но в контексте своего класс или объекта, не важно! Как вы собираетесь решать такой момент? А как другим после этого обходить подобные штуки? Короче, с неймингом будут серьёзные проблемы!!!

2) Вы убиваете саму суть webpack как сборщика модулей, т.к. вы изначально импортируете всё, что у вас есть тогда, когда это не нужно. webpack как бы подгружает нужные чанки тогда, когда они нужны, иначе толку от него никакого. А вы всё это хотите убить. 

По делу:

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

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

P.S. а чё не так то? Вам так влом это писать? Все языки так работают!!!

Худший ответ:
new SomeClass()
Похоже на хрень
А вообще можно импортировать import * as name from "module-name";
А потом пройтись циклом по полям этого объекта и если тип поля - функция запустить.
https://developer.mozilla.org/ru/docs/Web/JavaScri...
https://developer.mozilla.org/uk/docs/Web/JavaScri...

Читать доку внимательно, потому что запускать нужно только родные методы, не унаследованные
Вопрос: Как передать данные из формы без элементов формы?

Лучший ответ:
Вы можете передать любые данные POST или GET запросом. Используйте либо input type="hidden" либо используйте AJAX-запрос в случае, если вам важно чтобы в DOM ваша форма действительно была без данных.

Худший ответ:
может есть смысл сделать обычную ссылку с get-параметрами?
Вопрос: Как на linux сервере делать бэкап файлов и бд?

Лучший ответ:
База какая?
Файлы можно копировать по ssh, например.

Худший ответ:
идем в поиск ровно по вашему воросу...
результаты:РЕЗЕРВНОЕ КОПИРОВАНИЕ MYSQL БАЗЫ ДАННЫХБЭКАП БАЗЫ ДАННЫХ MYSQL НА СЕРВЕРЕ UBUNTU
+ готовый скрипт:Бэкап сервера и баз данных MySQLПРОСТОЙ БЭКАП САЙТА ПО РАСПИСАНИЮ
и еще на заметку:14 утилит резервного копирования для Linux-систем
и... поиск файлов базы данных - mysql стандартное расположение файлов базы на linux
но если делать "холодную" копию базы (т.е. файлов), то предварительно сервис бд необходимо остановить.
PS: вы точно пробовали искать?
Вопрос: Можно ли размещать коммутацию охранно-пожарной сигнализации в серверной ЛВС?

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

Худший ответ:
если разрешение есть на это то да а с технической части и интернет и сигнализация это сигнальные кабеля так что можно
Вопрос: Что это https://luxins.net/?

Лучший ответ:
разобрался, это плагин в хроме Video Downloader - Скачать видео by Skyload
7.0.8
Скачать видео с 99.9% сайтов
Идентификатор: pebcmofchocakhnljflecpkhadf

Худший ответ:
Плагины браузера отрубайте.
Вопрос: Как получить уникальные значения JSON массива из ячейки MySQL?

Лучший ответ:
Не надо хранить в базе данных " массивы значений в JSON'е".
MySQL - реляционная датабаза. Это означает, что база данных строится из связанных таблиц. 
И вместо колонки values должна быть отдельная таблица, table_id | value
1 | 1
1 | 2
1 | 3
2 | 2
2 | 3
2 | 4
И тогда все выборки будут делаться примитивными SQL запросами, без малейших затруднений со стороны разработчика.

Худший ответ:
Вопрос полностью решен. Проверил несколько способов: подсчетом на бэке, запросом из этого ответа на stackoverflow (https://stackoverflow.com/questions/39906435/conve... а также тестом аналогичной структуры, но реляционно.
Производительность проверил на таблице из 50к записей, 53к элементов в колонке суммарно (сумма длин всех массивов), среди которых ~320 уникальных элементов. В случае с реляционной таблицей, соответственно, 53к строк. 
Решение 1. SELECT DISTINCT по колонке JSON (отсекает одинаковые массивы, которых в моем случае много). На бэке megre по всем массивам и unique. Время выполнения 0.57 секунды (учтено время от инициализации ORM до строки перед return)
Решение 2. Запрос со stackoverflow. 0.23 секунды. (учитывал только время запроса в phpmyadmin)
Решение 3. Реляционная форма данных. 0.03 секунды. (учитывал только время запроса в phpmyadmin)
Все 3 решения по скорости устраивают, запрос 2 среди имеющегося выглядит более костыльным
Вопрос: Где искать платные стажировки для Front-end Trainee?

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

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

Худший ответ:
это называется ментор

найти очень просто - на фрилансе
ищете норм +- заказчика и делаете ему БЕСПЛАТНО
каждый заказ должен быть РАЗНЫМ
Вопрос: Есть ли электронные блокноты, которые являются ещё и устройством ввода?

Лучший ответ:
Есть специальные ручки, ты рисуешь в бумажном блокноте такой ручкой, а ручка оцифровывает каракули и отправляет в комп.

Из простеньких https://habr.com/ru/company/medgadgets/blog/449292/
Есть которые пишут на специальной бумаге типа Neo SmartPen N2, надо покупать или распечатывать.
Вроде были ещё модели которые работают и без приёмника и без спец бумаги но так с ходу не нашёл.

Худший ответ:
Электронные книжки с e-ink тоже часто так умеют. Можно читать, можно рисовать.
Вопрос: Почему происходит выход за границы массива?

Лучший ответ:
Потому что вы обращаетесь к элементу с индексом j = j + 2
Когда j равен количеству элементов минус один, тогда и происходит выход за пределы массива.

Ну или на последней строчке, где вы делаете то же самое, но + 1.

Худший ответ:
В массиве key лежат индексы выходящие за пределы массива letters, а точнее при j=0 в данной строке обращаетесь к keys[1] со значением 5, когда как в letters максимум 4.
Вопрос: На каком языке написан движок CSS?

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

Худший ответ:
Css парсит браузер. Из этого можно сделать вывод, что чем хотят разработчики браузера его парсить, тем и парсят.
Подозреваю, что в основном это C.
Вопрос: Существуют ли онлайн-школы с моделью обучения «оплата = % от заработка за определённый период»?

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

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

Лучший ответ:
Если видяха «затычка» — может влиять, и тогда приходится в браузере отключать аппаратное ускорение.
Если хоть немного тянет подобие игр — не влияет.
Но влияет не на загрузку, а на работу веб-проги — медленно прокручивается, медленно идёт перетягивание блоков…
Проверено. На рабочей машине nVidia Quadro NVS 295 — самое дешёвое, что вообще существовало на рынке, и к тому же пассивное. То есть именно затычка. Процессор топовый AMD, без встроенного видео.

UPD1. Некоторые кодеки с аппаратным ускорением могут напрочь отказать — так, в Slack с аппаратным ускорением при трансляции экрана видим картину Малевича.

То есть факт: Intel Core i5 + встроенное видео >> AMD Ryzen 7 + nVidia Quadro NVS 295.
В вебе на аппаратном ускорении.

Худший ответ:
Нет.
Вопрос: Revers android обращение к API по HTTP?

Лучший ответ:
Если HTTP то любой сниффер с плэймаркета. Сам юзаю Packet Capture. Рут не нужен. 
Если нужно HTTPS перехватить, то придется попотеть.
Можно поставить эмулятор на ПК и там уже рутить и делать что хочешь.

Худший ответ:
С https справляется, без S тем более mitmproxy
Вопрос: Как заработать немного денег подростку в интернете?

Лучший ответ:
Чтоб получить хоть какой-либо заказ, нужно иметь на git-е как минимум 1 проект, 
который покажет: что вы знаете, умеете, насколько красив ваш код. 
Если же такой проект есть, то просто следите за популярными биржами 
и откликайтесь на интересующие вас таски указав ссылку на репозиторий (Github, Bitbucket, Gitlab).

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

Лучший ответ:
Реалистично ли с нуля ворваться с в профессию. 
Да, реалистично. Но не для тех, у кого

дальше роликов в YouTube не заходило
сейчас решился на годовые курсы

Худший ответ:
На самом деле возраст для смены профессии не проблема, особенно в IT. Да, бывают предрассудки, но примеров, когда люди меняют профессию - множество. И конечно нужно понимать, что на каждую успешную историю есть 10-13 человек, у которых не получилось по теим или иным причинам.

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

Лучший ответ:
Не нужно создавать пользователя с правами root, именно поэтому доступ руту по SSH и закрыт по умолчанию. Меняй процесс чтобы тебе не нужно было лить файлы в папку рута.

Худший ответ:
Как сделать пользователя, что бы у него тоже всё было, как у root? Не надо так делать
Не надо ничего кидать в домашку рута - рут -это пользователь для выполнения задач системного администрирования сервера, когда требуется правка конфигов. Нубу это нужно зазубрить. Наизусть.
Для ежедневной работы нужно создать обычного пользователя, которого (вот тут через рута) наделить необходимыми правами и работать только от этого пользователя
Вопрос: Почему невозможно создать файл на диске по Webdav mail.ru?

Лучший ответ:
Скорее всего дело во включенных локах, их webdav.mail.ru не умеет. 

В конфиге davfs должно быть так:
$ grep use_locks /etc/davfs2/davfs2.conf 
use_locks        0

Худший ответ:
а WebDav в принципе умеет создавать файлы?
Вопрос: Где получить опыт пайтон разрабочика?

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

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

Ну вот поотвечайте на вопросы в теге питон на этом сайте.

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

Лучший ответ:
Можешь попробовать pm2.keymetrics.io , он должен решать твои задачи, если что, он работает не только с нодой

Худший ответ:
Наткнулся на вот этот npm модуль: https://github.com/kimmobrunfeldt/concurrently#readme в моем случае он достаточно хорошо решает то, что мне нужно
Вопрос: Как обойти ограничения интернета системного администратора?

Лучший ответ:
Работайте работу или пишите записку с обоснованием почему для работы вам нужен порнохаб и одноклассники

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

Лучший ответ:
ups + автоотключение

Худший ответ:
Такая конфигурация не имеет право называться базой данных. Присоединяюсь ко всем ораторам. Просто добавлю что портативное устройство должно писать логи операций. Чтобы выполнять разбор полетов и фиксировать что делалось.  Можно с ротацией. А база данных должна лежать отдельно. На надежных удаленных серверах.
MySQL - это не совсем DBMS. Это сборный лего-конструктор в котором каждая таблица в отдельности сама определяет свой уровень отказоустойчивости (т.н. engine). Поэтому обсуждать надёжность MySQL нет смысла без обсуждения того как была создана каждая таблица. In general - про надёжность сказать ничего невозможно.
Вопрос: Как снизить зависимость от разработчиков?

Лучший ответ:
Странно все это стало. На 3 х последних собеседованиях меня спрашивали а вы не уйдёте в закат? Общее правило для вас. Не обижайте разработчиков. В договоре пропишите передачу имущественных прав на код. Документируйте все решение, синхронизируйте код и проектную документацию. Я бы все же выбрал Фреймворк, тут и все те плюсы что вы описали и оптимизация для ceo и легкая интеграция с бэк офисом и платёжными системами и отсутствие костылей потому что программа делает только то что нужно. По уму конечно лучше взять в штат программиста который будет поддерживать ваш проект.

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

Лучший ответ:
Notion неплох.

Худший ответ:
Можете посмотреть еще BoostNote
Вопрос: Страх, что программист отберет сайт?

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

Худший ответ:
Вы HR в компании?
Вопрос: Если я дал Merge Requests, а потом сделал коммит, то мне нужно заново давать MR, чтобы коммит подхватился?

Лучший ответ:
мерж реквест еще на стадии проверки или уже смержен?
если не смержен, то при git push вы увидите в консоли ссылку на ваш мерж реквест, можете перейти по ссылке и посмотреть его, если смержен, то в консоли увидите ссылку на создание нового мерж реквеста

Худший ответ:
Если у вас есть ветка A и делается MR в ветку B, а потом коммитите и пушите в ветку A, то пересоздавать MR не нужно.
Вопрос: Возможны ли коллизии паролей в WPA2?

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

Худший ответ:
В зависимости от имплементации на конкретном устройстве. По RFC и спеке ключ 128 бит, но обычно хитрят и вместо просто HMAC-SHA1 наворачивают раундов PBKDF2 от него же, чтобы получился 256-битный ключ, чтобы снизить вероятность коллизии до бесконечно малой.
Вопрос: Как взять объект из массива с текущей датой?

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

Худший ответ:
var arr = [
  {date:"2020-04-28"},
  {date:"2020-04-29"},
  {date:"2020-04-30"},
  {date:"2020-05-01"},
  {date:"2020-05-02"},
  {date:"2020-05-03"}
];
var find = Math.floor(+new Date()/86400000);
var finded = arr.find(e=>Math.floor(+new Date(e.date)/86400000) == find);//{date:"2020-05-01"}, если сегодня это число
P.S. Если объектов с этой датой несколько и нужно достать все то можно вместо find, filter. Если объект не найден то в finded будет undefined
Вопрос: Правда ли что C# работа одни госы и unity?

Лучший ответ:
Нет, неправда.

Худший ответ:
Можно открыть hh и самому себе ответить на этот вопрос.
Вопрос: Как корректно сверстать подобное?

Лучший ответ:
Например, вот так
https://codepen.io/hisbvdis/pen/MWgvZRrsnippet

Худший ответ:
У общего блока добавляем: background-image: url(<картинка с точками, можно как data url>);
background-position: top left; 
background-repeat: repeat-y; 
padding-left: <размер фона по Y + отступ до контента>;
Для каждого из элементов добавляем:position: relative; 
&:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0 - <размер отступа>;
  transform: translate(50%, 50%);
  border: <размер белого пространства сверху / снизу> solid #fff;
  <и здесь либо рисуем элемент через width, height, background-color, border-radius либо картинками, думаю что второе предпочтительнее> 
}
Правда такой способ в зависимости от высоты элементов может дать частично закрытые точки, для того чтобы этого избежать надо будет контролировать высоту элементов с тем чтобы она была кратна шагу между точками.
Вопрос: Typescript generic function. How use with other types?

Лучший ответ:
Нет, проблем тут куча. 

T extends [], K extends keyof T - K тут что-то производное от number, потому что ключи(keyof) массива([]) - только цифры.
let resultSort: T = arr; - бессмысленно, так как arr.sort в любом случае меняет исходный массив.
a[propertyName].toLowerCase() - упадёт если propertyName будет year, т.к. Number не имеет метода toLowerCase.
...

В итоге функция должна выглядеть как-то так: function sortArray<T extends {[key: string]: unknown}, K extends keyof T>  (originArr: T[], propertyName: K, cb: (a: T[]) => T[]): T[] {
  let arr: T[] = JSON.parse(JSON.stringify(originArr));  //deep copy array

  arr.sort((a, b) => {
    let nameA = String(a[propertyName]).toLowerCase(),
        nameB = String(b[propertyName]).toLowerCase();

    if (nameA < nameB)
      return -1;
    if (nameA > nameB)
      return 1;
    return 0;
  });

  return cb(arr);
}

Можно не приводить строго к String, но тогда вместо unknown надо указать конкретные типы с которыми предполагается работать, и в самой функции сортировки их учесть.

Худший ответ:
Вместо T extends [] должно быть T extends T[]

И везде по коду массив — это не Т, а Т[]
Вопрос: Процессор для информационной безопасности: intel или amd?

Лучший ответ:
 linux, утилит kali,
Ясненько.

Берите любой. Это ответ.

Худший ответ:
Насколько я понимаю, дистрибутивы Linux делаются одинаково тщательно для обеих платформ.
Вопрос: Как выровнять кнопку по правому краю в html?

Лучший ответ:
Вариант 1 - float: right;.
Вариант 2 - flex.
Вариант 3 - grid.
Вариант 4 - position: absolute/fixed.

Худший ответ:
1. Родителю text-align: right
2. Родителю flex
 - margin-left: auto кнопке
 - justify-content: flex-end родителю
3. Абсолют кнопке

и еще пачка других возможностей
Вопрос: Как правильно обучить классификатор?

Лучший ответ:
Да уж, изучать ML по "статейкам" это жесть.

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

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

Худший ответ:
любая задача построения классификатора начинается с построения корпуса - исходного набора данных для анализа  - в вашем случае картинок.

то есть если вы хотите научить распознавать порезанные вены на руках - вам надо иметь 10000 картинок порезанных вен и 10000 - целых рук

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

Лучший ответ:
Вроде того может? https://jsfiddle.net/uqb2f9on/

Худший ответ:
Просто используйте созданное для этого свойство: document.hidden или document.visibilityStatedocument.addEventListener("visibilitychange", function() {
  if (document.visibilityState === 'visible') {
    console.log("is visible");
  } else {
    console.log("isn't visible");
  }
});
Вопрос: Все ли веб разработчики являются инженерами? Кого стоит причислять к таковым?

Лучший ответ:
Почитал что инженер это тот кто имеет высшее образование, но я знаю людей которые уже синьеры и у них (в более чем 30 лет) нет ВО, так что мне кажется что такое определение притянуто за уши.
Когда возникло слово "инженер", еще не существовало высшего образования.
Причислять или не причислять кого-либо к инженерам следует в контексте. Если вы в вашей компании хотите должность разработчика назвать инженерной - называйте. Если хотите назвать так себя или друга - как хотите, так и поступайте.
А википедию лучше читайте англоязычную, там четче сказано, что основной признак инженера - инженерная деятельность. Инженерная деятельность - дизайн/разработка/тестирование/сопровождение чего-либо. Предпочитается с использованием научного подхода.

Худший ответ:
Модно отправить вас почитать в Википедию или рассказать что данное слово заимствовано из английского. Инженерную специальность назвали именно в честь изобретателей и исследователей на поприще технологий и механизмов. Не стоит путать причину и следствие
Вопрос: Где найти подходящий календарь и как отключить определенные даты?

Лучший ответ:
Может подойдет https://vcalendar.io/ вроде опции есть которые вам нужны

Худший ответ:
Вот отличный вариант, пользуюсь везде им
t1m0n.name/air-datepicker/docs/index-ru.html
Вопрос: Как вы формируете свой прайс?

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

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

Лучший ответ:
Я предпочитаю большие объемы данных писать в БД.
Подключите room, ormlite или любой другой ORM и используйте SQlite.

Худший ответ:
Идеальное решение -  удалённый сервер с развёрнутой базой данных и Rest API к нему.
Можно использовать Firebase бесплатно.
Вопрос: Как отобразить нужный контент без медиа-запросов?

Лучший ответ:
Можно так же медиа запросами:
https://developer.mozilla.org/ru/docs/Web/API/Wind...
Можно даже подписаться на изменение состояния по медиа запросу:
https://developer.mozilla.org/en-US/docs/Web/API/M...

Худший ответ:
Проверять размер окна браузера:
window.innerWidth

Сравнивать с нужным значением.
Например мобильные: window.innerWidth < 768
И если сравнение истинно, то менять класс элемента, или напрямую свойство display.
Например: if(window.innerWidth < 768) {
  var elem = document.querySelector('.hamburger')
  elem.style.display = 'block'
}

Но я настоятельно рекомендую всё же делать это с помощью css.