Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Можно ли настроить ежечасное выполнение PHP-скрипта без Cron и без изменения настроек веб-сервера?

Лучший ответ:
Взять внешний cron сервис и дёргать api по расписанию. Но дешевле и проще нормальную виртуалку арендовать

Худший ответ:
На удивление сработала простая идея - перезапускать скрипт через самого себя в рамках определенного промежутка времени, меньшего чем установлено ограничение на сервере. Например:
// test.php

<?php 

// max_execution_time на сервере равна 300 секунд (5 минут), 
// поэтому устанавливаем меньше - 240 секунд (4 минуты)
sleep(240);

// оставляем временнУю метку в файле или в БД
// проверяем - прошел ли час, затем обновляем её 

// перезапускаем сами себя
$url = 'https://site.ru/test.php';
$headers = []; // создаем заголовки
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_URL, $url);
$result = curl_exec($curl);

?>

Вот и весь скрипт. Однократно запустил в браузере (не ждал, а закрыл вкладку сразу же). Дальше он сам перезапускает себя раз в 4 минуты и каждый раз проверяет - не прошёл ли час. Тест на полтора часа показал, что работает :) Сообщу если потом вдруг что отвалится...

UPDATE: рано радовался. Проработал скрипт с перезапусками часа 2 и потом просто взял и перестал перезапускаться. Видимо какая-то неведомая шестерёнка в веб-сервере бдит и закрывает это дело...
Вопрос: Система списков на JavaScript как?

Лучший ответ:
С помощью базы данных и серверной части.

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

Лучший ответ:
Тебе - ничего. Ты для ЕС - мошка, толкущаяся возле лампы :) Это все во сновном касается юриков, причем наиболее заметным пунктом тая является запрет крипты. Причем, я вовсе не уверен, что это "санкции" :)  а не очередное ужесточение в работе с ох..вшими фрилансерами, живущими в России, гадящими России и презирающими Россию. Многое множество их ломанулось уже в Грузию, Армению, Казахстан и даже Монголию (sic!), но есть еще те, кто упорно желает гадить здесь, используя крипту. Спасибо, ЕС!
Что касается остального:
- youtube. Скорее всего, придет к блокировке, так же как FB и инста. Думаю, что незаблокирован до сих пор только потому что нечем заменить.
- windows. M$ здорово виляет задом, то "дам", то "не дам" винду, но процесс отказа от винды запущен - к 01.01.2025 в КИИ винды быть не должно, хотя у физиков я думаю, она еще долго будет.
- Прочее ПО. Будет постепенно падать в популярности, если немедленно не самозаблокируется. Также есть предположение, что в будущем скачивать лямпортное ПО при наличии хоть сколько-нибудь сносного аналога будет опасно для благонадежности :) которая снова станет важна...

Худший ответ:
https://amp.rbc.ru/rbcnews/economics/06/10/2022/63...

Это касается юрлиц.
Вопрос: Стоит ли учить C++, если нет возможности использовать Unreal Engine?

Лучший ответ:
но переходить с C# на C++ ,болезненно ,как я думаю
Если на глубоком уровне будешь понимать C#, то нетрудно будет перейти на C++.
В принципе, на слабом железе можешь работать с C# в юнити, а C++ отрабатывать на Godot и в каких-то собственных небольших играх на том же SFML.

Так ты сможешь потом при устройстве на работу опираться и на опыт работы с Unity и шарпом, и на опыт работы с C++, хоть и не в UE.

Худший ответ:
но переходить с C# на C++ ,болезненно ,как я думаю
Если на глубоком уровне будешь понимать C#, то нетрудно будет перейти на C++.
В принципе, на слабом железе можешь работать с C# в юнити, а C++ отрабатывать на Godot и в каких-то собственных небольших играх на том же SFML.

Так ты сможешь потом при устройстве на работу опираться и на опыт работы с Unity и шарпом, и на опыт работы с C++, хоть и не в UE.
Вопрос: Проекты для DBA и как их презентовать?

Лучший ответ:
Как показать такой готовый проект на гитхабе?
SQL Dump со всеми триггерами / процедурами  и прочи view , данных по минимуму

на гитхабе сорян поищи сам, их нет практически

Худший ответ:
Как показать такой готовый проект на гитхабе?
SQL Dump со всеми триггерами / процедурами  и прочи view , данных по минимуму

на гитхабе сорян поищи сам, их нет практически
Вопрос: Как подключить vds (от fvds н-мер) к своему wifi без использования vpn?

Лучший ответ:
Никак. Только через vpn.

Ну или ты можешь протянуть отдельный кабель непосредственно от серверной стойки до своего дома)

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

Лучший ответ:
Шторм лицензируется на пользователя, а не на машину.
Просто активируйте после установки через jetBrains аккаунт, введя свои логин и пароль.

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

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

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

Лучший ответ:
Проприентарный кабель для работы с некторорыми mp3 плеерами, там вместо того чтобы делать USB, для экономии места впихнули его в TRRS разъем.
Если подключить его к компу, то звук с него не получишь

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

Фактически с таким кабелем единичные плееры работали 
Например  Apple iPod Shuffle 3-го, 4-го, 5-го поколения

Для остальных бесполезная вешь
Вопрос: Почему миллиардные компании используют электрон, а не создают нативные приложения?

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

И дополню еще тем, что многое зависит от самое задачи и ПО, что и электрон один хорошо справляется со всеми задачами.

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

UPD. 
Еще кажется что рынок разработчиков под js, больше чем под нативные приложения. Возможно, дело еще и в более простом поиске разработчиков на проект.
Вопрос: Возможно ли внутри VPN назначать IP по device-id?

Лучший ответ:
Вот руководство
https://www.itsfullofstars.de/2018/09/openvpn-assi...
Или так
https://openvpn.net/vpn-server-resources/assigning...

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

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

Но часто бывает так, что данные приходится передавать многократно.

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

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

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

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

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

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

func myFunc(arg type) type
...
bigArg = myFunc(bigArg)
В первом случае вы увеличиваете нагрузку на коллектор по подсчёту ссылок.
Во втором случае делаете аллокацию и два копирования, что тоже затратно, особенно если аргумент занимает много места в памяти.
Вопрос: Возможна ли оцифровка VHS-видео с помощью аудиокарты ПК?

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

Тюнер, который все это прекрасно оцифрует, стоит 20 баксов.

Худший ответ:
Эммм... входящий это не микрофонный вход. Это LINE. Микрофонный вход работает на ВЫХОД

Нет, нельзя в АУДИОКАРТУ принять ВИДЕОсигнал. купите тюнер на алике дешевый

Либо отдайте за на оцифровку, это для 1 касеты не думаю что дорого
Вопрос: Почему подход «главное чтобы работало» неправильный в программировании?

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

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

  Около 1 года назад я начал изучать Js,html,css и не плохо создавал сайты, приложение на react. Но потом начал смотреть видео типа: 8 ошибок новичков, почему программисты не нужны?, Конкуренция в web и все такое. Потом я задумался и понял что стану я джуном не смогу выдержат конкуренцию. 

 И решил уйти покорят java Учил java где то пол года. Делал приложение, игры.  Там я многое не понимал потому что мне сказали Хей новичок иди читай книги! И убивали с ооп. И вот теперь я изучаю ардуино. 

  Вот что я хочу сказать: Главное результат! То есть есть у вас проект в уме. Сделать там игру змейка или сайт.         То делайте. Не важно что вы основы не знайте или не умейте библиотеками пользоваться.  Главное видеть результат. Или станете как я который за 2 года даже не определился куда идти.
Вопрос: Почему в Python можно не описывать поля классов, а в C# обязательно?

Лучший ответ:
Здравствуйте. Это всё из-за того, что Python является языком с динамической типизацией, а C# - язык со строгой типизацией, что помогает избежать дополнительных расходов на память. За счёт этого Python более простой, но C# безопаснее и быстрее. В общем, в C# всё должно быть определено заранее, без каких-либо сюрпризов.

Худший ответ:
Ох, не надо так делать. Утилита mypy на такое ругается. PyCharm будет - пошел issue создавать.
Вопрос: Что нужно установить и сделать, чтобы начать пользоваться?

Лучший ответ:
Консоль линукса и команду grep. Там много аргументов и возможностей.
Команда sed - это фактически консольный потоковый текстовый редактор. Очень мощный, но сложный в понимании. Проще освоить питон и пользоваться для ваших целей вот такими однострочниками:
$ man py | py 're.compile("\w{10,}").findall(sys.stdin.read())'
completion
expression
DESCRIPTION
expression
interpreter
compatible
expression
expression
arithmetic
automatically
distribution
Что тут происходит:
Берём справку по консольной тулзе pythonpy, конвейером передаём в эту утилиту, которая выполнит кусочек питоновского кода. Код читает всё, что приходит на вход и находит все слова длинной 10 и более символов.

Худший ответ:
Когда аналогичная задача появилась - сделал утилиту на C# простейшую, и ей пользовался.
Вопрос: Почему vpn на роутере медленнее?

Лучший ответ:
Предполагаю, что ему не хватает производительности, т.к. OpenVPN шифрованный и требует определенных ресурсов для шифровки/дешифровки трафика, с чем, вероятно MT7628N 575 МГц с 128 Мбайт DDR2 справляется плохо.

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

Лучший ответ:
Да, LiveUSB любого линукса или WinPE

Худший ответ:
Любой дистрибутив linux,
Linux mint, Debian, Ubuntu, lite....
Главное что бы бы live образ, скачать его модно с сайта разработчика.
Вопрос: Как правильно клонировать репозиторий?

Лучший ответ:
Если я правильно понял, то здесь требуется не клон, а форк.
То есть надо
1. Клонировать
2. Создать в гите новый репозиторий
3. Сделать его апстримом к текущему коду

git clone https://github.com/userName/Repo New_Repo
cd New_Repo
git remote set-url origin https://github.com/userName/New_Repo
git remote add upstream https://github.com/userName/Repo
git push origin master
git push --all
В общем все как написано тут

Худший ответ:
Если этот репозиторий вы используете как шаблон, то можно сделать его в соответствии с шаблонами с которыми может работать cookiecutter и потом новые проекты инициализировать командой:
cookiecutter <путь до репозитория-шаблона>
Вопрос: Кто знает как делать такие анимации?

Лучший ответ:
Простые без затей на css
snippet
Сложные уже на three.js

Худший ответ:
Похоже что сделано на основе Perlin noise.
Упрощенный вариант на canvas:
snippet
Вопрос: Что такое абстракция?

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

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

В объектно-ориентированном программировании абстракции принимают форму абстрактных классов и интерфейсов.
В обобщенном программировании абстракции принимают форму шаблонных классов и функций.
В функциональном программировании абстракции принимают форму функций высшего порядка.

"Чистая выдумка" - с моей точки зрения это не абстракция, это лишь способ выделения ответственности в отдельный класс. Но эта самая ответственность вполне конкретна.
Классы - тем более не абстракция. При любом моделировании мы переносим в модель существенные черты моделируемого явления (системы) и отбрасываем несущественные. То о чем вы говорите - неизбежная потеря деталей при построении модели.

Худший ответ:
Абстрактный класс в ООП - это не законченный класс, на основе которого нельзя создать объект, т.к. не всё описано.

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

Лучший ответ:
Да нет таких увы, вы опоздали на 20 лет

Худший ответ:
Попробуйте искать клиентов не на биржах.
Вопрос: KYOCERA ошибка при сканировании. как решить проблему?

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

Худший ответ:
Найдено решение - 
как оказалось необходим СМБ 1.0, а не 2.0. Не известно почему кое как работало с 2.0 - не известно
Вопрос: Пк потух от подключения наушников, возможные причины?

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

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

на этом бп проверить все напряжения.

Худший ответ:
бп запустился но через 10 секунд отключилсякак определили включение и отключение - по вентилятору БП? Он без нагрузки и при малой нагрузке может уходить в пассивный режим, это не означает, что он отключился. Для уверенности нужно замкнуть 3-4 и измерять напряжение на выходе. Или подключить нагрузку - любой вентилятор с molex-разъёмом, DVD-ROM, что угодно, позволяющее легко наблюдать наличие питания.

Если БП действительно отключается через 10 секунд, значит он неисправен. Если на самом деле он выдаёт напряжение, только не крутится его вентилятор, тогда переходить к версии о сдохновении материнки.

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

Лучший ответ:
"Страница Wordpress" - это запись в БД. Туда и копайте.

Худший ответ:
Добрый день!
Мне приходилось писать подобные приложения.
Вам необходимо работать с Wordpress REST API.
Есть Java клиент.
Используйте эту либу:
https://github.com/Afrozaar/wp-api-v2-client-java
Также на ВП сайт установите этот плагин, чтобы можно было авторизовать сторонний клиент
https://github.com/WP-API/Basic-Auth
Если вам нужно редактировать метаданные на сайте ВП, то установите этот плагин на сайт
https://github.com/Afrozaar/wp-api-v2-client-java-...
Можете также глянуть на:
https://github.com/Afrozaar/wp-api-v2-afrozaar-extras

При необходимости вы можете использовать другой фреймворк:
Apache Camel + Apache Camel WP Component
https://camel.apache.org/
https://camel.apache.org/components/3.4.x/wordpres...
Вопрос: AMD EPYC NVMe RAID — решение?

Лучший ответ:
Программный linux raid.
Что помимо простоты будет ещё и работать быстрее. Без шуток. Хорошим SSD упереться в производительность аппаратного RAID контроллера не так уж сложно.

Худший ответ:
Хотелось бы аппаратное решение. 
Хотя бы потому, что программный RAID не увидится в BIOS как загрузочное устройство. А он должен быть именно таким.
Если я всё правильно понимаю, конечно. Читал про mdadm - и вот его не видит BIOS.
Вопрос: Как найти принадлежность точки к такому графику?

Лучший ответ:
"График" в твоей терминологии - серая область? Если да, то здесь просто набор ифов
if (y > 0) {
  return (y >= x) && (y*y + x*x <= 9);
} else {
  return (y >= -3) && (x <= 3) && (x >= -3) && !(y < -1 && y > -2 && x < -1 && x > -2);
}

Худший ответ:
Разбейте область на простые фигуры (квадраты, окружности, полуплоскости) и опишите логически. Вроде точка в области, если она в фигуре А, но не фигуре Б; или в фигурах В и Г, или в фигурах Д и Е. 

Далее перевести это в код - это один if с кучей условий объедененных логическими или (||) или логическими И (&&).
Вопрос: Yamaha NS-6490 — как правильно подключить кабель к RCA-разъему (см. фото)?

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

Худший ответ:
Это не RCA, это бананы

можно прям провод зацеплять (лучше залудив предварительно), можно купить штекеры.
Вопрос: Нормальная ли у меня теория по оценке вклада участников в стартап?

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

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

Худший ответ:
Изъяны в том что в определенный момент времени некоторые "участники' перестанут генерировать токены для себя
например
вы разрабатываете приложение, тратите на это кучу времени и денег - разработчики получают кучу токенов
потом выпускаете его, и токены начинают получать рекламщики, продажники, менеджеры...
разработчики вроде и хотят дальше чтото развивать, но 'нам это пока не надо' (с) ...и ваш механизм начнет их выдавливать их бизнеса как ненужных... хотя какбы они его и сделали возможным к существованию
буквально тетя клава-уборщица в определенный момент времени может стать более важным участником компании чем её основатели..
p.s. вспомнился скраффи из футурамы
Вопрос: Как направить определенное приложение через определенный ip средставми iptables?

Лучший ответ:
через  iptables это делать нельзя, т.к. оно не для того предназначено, а через ip netns можно, если я правильно уловил суть задачи
посмотри вот эту статью, может наведет на нужные мысли? https://habr.com/ru/post/310646/

Худший ответ:
В этом помогут network namespaces
Вопрос: Как сделать шаблоны в php?

Лучший ответ:
Если не подходят что то из готовых шаблонизаторов типа Smarty
Можете сделать свой на основе PHP функций работы с буфером вывода: 
ob_start
ob_get_clean
/**
 * Функция загрузки шаблона
 * 
 * @param string $template Путь до файлов шаблона
 * @param mixed[] $data Данные для подстановки в шаблон
 * @return string Возвращает готовый код шаблона
 */
 function render_template($template, $data) {
     ob_start();
     if (file_exists($template)) {
         extract($data);
         require($template);
     } else {
         print('Нет файла шаблона: '.$template);
     }
     $html = ob_get_clean();
     return $html;
 }

Пример использования: 
$content = render_template('templates/main.php', ['title' => 'Главная страница');

echo $content;

Код main.php
<html>
 <head>
    <title><?=$title?></title>
 </head>
</html>

Худший ответ:
Вам нужен шаблонизатор. Вариантов масса:
Я предпочитаю Smarty почему-то.
Ещё, очень популярен Blade в силу того, что он используется в Laravel.
Mustache доступен не только для PHP, а ещё для массы других языков. Я его в JS использовал.
+ Twig

Это первые, что приходят в голову. Если погуглите - найдёте ещё миллион.
Вопрос: Как написать интерфейс для массива с объектами?

Лучший ответ:
Чем строже типы в тайпскрипте, тем меньше проблем у вас возникнет в рантайме.
interface Package {
  id: number;
  activated: boolean;
  name: string;
}

interface ActivatedPackage extends Package {
  activated: true;
}

interface OptionalProps {
  foo: string;
  bar: number
}

const activatedPackages: Array<ActivatedPackage & Partial<OptionalProps>> = [ ... ];

Худший ответ:
interface IActivatedPackages {
    id: number;
    activated: boolean;
    name: string;
    // необязательные поля (несколько)
    n1?: string;
    n2?: string;
    n3?: string;
    n4?: string;
    // warn
    type: any;
}

Эм.. на?