Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как отслеживать состояние компонента через систему событий в Unity?

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

Напишу тот же пример, что и на SO тебе написал.
public class SomeCanvas : MonoBehaviour
{
    public event Action<bool> ActiveStateChanged;
        
    [SerializeField] private CanvasGroup _canvasGroup;

    public void Activate()
    {
        SetActiveState(true);
    }

    public void Deactivate()
    {
        SetActiveState(false);
    }

    private void SetActiveState(bool state)
    {
        if (_canvasGroup.interactable == state) return;
        
        _canvasGroup.interactable = state;
        ActiveStateChanged?.Invoke(state);
    }
}

public class NotSomeCanvas : MonoBehaviour
{
    [SerializeField] private SomeCanvas _someCanvas;

    private void OnEnable()
    {
        _someCanvas.ActiveStateChanged += LogActiveState;
    }

    private void OnDisable()
    {
        _someCanvas.ActiveStateChanged -= LogActiveState;
    }

    private void LogActiveState(bool state)
    {
        print($"Current state - {state}");
    }
}

SomeCanvas - обертка, через него делаешь интерактивным/не интерактивным свой канвасгруп, он вызывает ивент, на ивент подписываешь нужные методы. Можешь разделить на 2 ивента Activated/Deactivated чтобы не делать проверки на false или true, как тебе удобно

Худший ответ:
Спасибо! Мысль понял) Просто конкретно в данном примере с canvas.interactable элементы ui выводит сторонний плагин,  модифицировать логику, которая делает канвасгруп интерактивным, возможности нет. Есть только возможность обращаться к _canvas.interactable и поверять текущее значение. Получается, в таких случаях, решение - только проверять в Update() ?
Вопрос: Как работают приложения реального времени?

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

Один из вариантов решения — упомянутые в других ответах веб-сокеты.

Приложения реального времени используют «событийную» архитектуру. В обе стороны.
На сервере: появилась новость – это событие, есть его обработчики (вызвалась функция), где это сообщение рассылают тем, кто сейчас на связи (установлено WebSocket соединение), и подписывался на события такого типа.
На клиенте: нажали вдруг кнопку лайк! – слушатель-обработчик этого события (функция) отправил сообщение на сервер, мол под таким-то постом юзер Ю поставил лайк.

Худший ответ:
Либо вебсокеты,  либо еще есть longpoll запросы. Но второй вариант только на случай если вебсокеты не работают у клиента
Вопрос: Можно припаять jack 3.5 стерео на один наушник?

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

Худший ответ:
Многие так и делают - скручивают два канала вместе. Причём всё даже как-то работает. Но по-хорошему, хотя бы через резисторы соединять стоит. Загуглите "стерео в моно", там всё в картинках есть.
Вопрос: Дает ли преимущество тот или иной язык (или направление) преимущества при поиске работы зарубежом?

Лучший ответ:
Ну да, у некоторых языков выше дисбаланс спроса и предложения. К тому же Java, C# и C++ практически полностью захватили корпоративный сектор, а именно корпрации действуют на глобальном рынке, в том числе нанимают. Плюс от страны к стране может несколько отличаться восстребованность тех или иных технологий. Например в РФ Ruby востребован менее, чем в США. Так что разумно выбрать интересующую страну заранее, помониторить их рынок труда и сделать упор на востребованное там.

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

Лучший ответ:
JavaScript или Python, можешь кидать монетку. И нет, не каждый ЯП создан для определенной области и уж темболее нет специального языка для ботов дискорда и прочих подобных.
99% шанс что как быстро ты загорелся, так быстро и потухнешь.

Худший ответ:
ну так смотри какие есть SDK у дискорта и примеры. 
https://discord.com/developers/docs/getting-started
тут javascript - в развитие знаний - node.js  и прочее как на фронт разработку так и бэк

https://discord.com/developers/docs/game-sdk/sdk-s...
СиШарп - Вижуал студия от мелкомяких и крос платформенная разработка на Unity

В общем изучай документацию на апи и смотри примеры на каком ЯВУ больше понравятся
Вопрос: Маршрутизация на пк или 6 сетевых интерфейсов?

Лучший ответ:
Для начала решить, что так жить нельзя и закопать, наконец, стюардессу :) Windows - однопользовательская развлекательная система, не наждо тащить ее в роль сервера видеонаблюдения.

Поставить роутер с PoE, настроить на нем маршрутизацию, подключить винду в один из интерфейсов.

Худший ответ:
Собственно да - проще потратить 4т и купить пое свитч

А теперь вопросы. Какие ip на камерах?

На ПОЕ не нужен шлюз... только ip и маска

И почему должны другие пк подключаться к камерам, если ПОЕ никуда не воткнут?)) кроме как в камеры?) 
И NAT на ПК тоже не включён?)

О том что на ПК есть еще интерфейс другие не знают, они просто стучаться на GB адрес))

Так что либо делайте NAT, либо бридж. Почему он у Вас лагает - хз, это странно
Назначте 1 IP на обычный порт и объедините с пое.
Вопрос: Как настроить корпоративную сеть?

Лучший ответ:
Ууу.... наймите сисадмина, если такие вопросы возникают ))
Надо - объединить офисы посредством VPN(в общую локалку) - я бы юзал опенВПН
Далее уже пробовать загрузку с PXE, тут надо будет на роутерах выставить правильные маршруты на точках

Ансибл тут для чего? обычно он используется для автоматизации чего то на большом количестве узлов. либо для установки софта \ исполнения последовательных команд на какой то ПК

Худший ответ:
Не создавайте сами себе костыли.
Обычно такие кейсы решаются предварительной настройкой всего оборудования у себя в офисе и отправкой его на удаленную точку с листиком "какой проводок куда втыкнуть".
А так, даже если отпправить туда роутер/сервак с vpn и pxe то очень далеко не факт что все к нему автоматом подцепится и начнет устанавливаться/настраиваться.
Вопрос: Как решить эту ошибку в Joomla?

Лучший ответ:
Удалите модуль mod flexi customcode и используйте что-то другое, например Sourcerer от Regular lab. Этот модуль устарел имеет уязвимости и ошибки, и даже из JED удалён.
Когда ставите расширение следите за его актуальностью, не скачивайте где попало. Только с оф сайтов разработчиков. Иначе ваш сайт взломают.

Худший ответ:
Приведите пожалуйста либо полный текст файла C:\OpenServer\domains\nk\modules\mod_flexi_customcode\tmpl\default.php, либо строки 45-65. Надо смотреть, что именно ему в этом файле не нравится. А там может быть всё что угодно.
Так же не помешали бы версия Joomla и версия PHP.
Вопрос: Как автоматически запускать баш скрипт при включении пк?

Лучший ответ:
а) написать systemd unit
б) написать init.d скрипт
в) вроде крон умеет делать запуск с условием @reboot, но тут есть баги
г) если включение = логин пользователя, то профиль-скрипт этого пользователя тоже подойдёт

Худший ответ:
Вам уже почти всё написали...
Забыли только добавить ещё и Supervisor.

Вполне гибкий инструмент.
Вопрос: Что означает -'0' на C?

Лучший ответ:
Это вычитание значения '0' из значения str[j]. И то и другое - символы, они же char. В языке Cи, это целочисленный тип. Просто каждому символу дается его ascii код.

Тут это используется для получения численнного значения цифры из ее символьного значения, ведь символы '0'-'9' в ascii идут подряд в натуральном порядке.

Худший ответ:
Это символьная константа - текстовый символ цифры "ноль". Компилятор сам переведет в число, а записывать так проще и быстрее - я вот не помню код цифры "ноль".
Вопрос: В процессах компьютера есть активное приложение «cmd.exe», хотя сама командная строка не запущена, вирус ли это?

Лучший ответ:
https://ru.m.wikipedia.org/wiki/Process_Explorer

Смотрите по ключам запуска с помощью этой утилиты

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

Лучший ответ:
Ну для начала надо определить что значит маленькая скорость, и что ее ограничивает.
Канал у вас 1гигабит. 
Значит теоретически по нему можно прокачать в районе 120мегабайт/с. 
Практически меньше - зависит от настроек сети, типа трафика, используемых протоколов.
К тому же канал может быть загружен.
В общем нормальная скорость передачи в среднем для гигабитного канала это 50-60мб/сек.
Ваши значения вроде такие и есть.

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

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

Худший ответ:
Ну для начала надо определить что значит маленькая скорость, и что ее ограничивает.
Канал у вас 1гигабит. 
Значит теоретически по нему можно прокачать в районе 120мегабайт/с. 
Практически меньше - зависит от настроек сети, типа трафика, используемых протоколов.
К тому же канал может быть загружен.
В общем нормальная скорость передачи в среднем для гигабитного канала это 50-60мб/сек.
Ваши значения вроде такие и есть.

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

Поэтому определите какая скорость вам нужна,  насколько реальная отличается от нужной. 
И тогда уже можно думать что именно стоит сделать.
Вопрос: Микросервисная архитектура для crm это нормально?

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

Худший ответ:
нет! если это конечно не SaaS.
Монолит проще, быстрее, понятней и жрет в разы меньше ресурсов.
Вопрос: Как работает сетевое обнаружение?

Лучший ответ:
Обычно такие вещи основаны на широковещательных (broadcast) запросах.
Программа посылает запрос на определённый порт широковещательного адреса сети и ждёт ответов.

Худший ответ:
МОжно через впн, но муторно и надо настраивать
Вопрос: Как понять что не так с сетью?

Лучший ответ:
внешний ip, который пишет роутер 100.64.54.* (и в личном кабинете провайдера тоже написан этот IP), а всякие сервисы (вроде 2ip.ru) пишут 194.58.181.*.
При чем, если подключить интернет на прямую в компьютеру (минуя роутер), то выдаётся IP 42.56.33.* и всё работает отлично.

100.64.0.0 — 100.127.255.255 (маска подсети 255.192.0.0 или /10) - Данная подсеть рекомендована согласно RFC 6598 для использования в качестве адресов для CGN (Carrier-Grade NAT). (педивикия)

Адрес у вашего роутера серый, всего и делов

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

Лучший ответ:
Java и Kotlin живы и умирать не собираются.
C# и юнити - это для игр.
Хотите чего-нибудь свежего: вот fluter 2 вышел на днях https://flutter.dev/

Худший ответ:
Добрый день!
Ну чтобы ответить на ваш вопрос более корректно, то нужно уточнить, что приложения могут быть нативными и ненативными. Нативные приложение пишутся на Kotlin или Java (IDE можно выбирать любую, будь то Android Studio или Intellij IDEA и т.д.). Нативные приложения в отличие от иных могут использовать все возможности Anroid API, в то время, как ненативные в принципе ограничены. С другой стороны, разработка ненативных приложений относительно дешевле, нежели нативных. + можно обеспечить кроссплатформенность (Android, iOS) на том же React Native.

Жив ли еще andr.studio+java(или лучше kotlin), что лучше если сравнивать с xamarin, react native итд. 

Да, java & kotlin живы и здоровы) К вопросу о том, что лучше тут каждый выбирает под свою задачу. Хочется дешевле и быстрее и в принципе не сильно требовательные приложения, то React Native. Хочется нативные приложения, то Kotlin | Java.

Слыхал что ща для разработки под мобилу, популярен шарп+юнити, правда ли?
Нет, но на C# тоже можно написать приложение используя Xamarin.

 В общем решил влиться в эту область, какие технологии мне рекомендуете изучать(порог вхождения, востр.на рынке)?
Ну если хотите пойти именно в мобильную разработку, то изучите Kotlin. + знание Java рекомендуется.
Как по мне, изучать React Native только для моб. разработки не имеет смысла. Имхо, если выбирать реакт, то надо пойти во фронт-энд и как дополнение изучить react native.

В планах разрабатывать простые приложения вроде - аппов для тренировки(100отж итд), какие-то новостные ленты, читалки эпуб, пдф итд итп 
Перечисленные вами приложения не столь требовательные и могут быть разработаны на чем угодно. 
Можно и на flutter писать. Вроде бы на Dart пишут.

Мне кажется, что java / kotlin проще, чем js для новичка и соответственно, лучше начать с них...
Вопрос: Может ли администрация сайта определить, что посетитель использует VPN?

Лучший ответ:
Это не ребята хитрые, а вы. Но на каждую хитрую попу, как известно...

Худший ответ:
Администрация может. К сожалению. Не стоит с этим заигрывать, можно на пожизненный бан попасть. 
В целом, работать под VPN можно, но только если вы не пытаетесь обмануть платформу(в частности, с локацией, работать на ряде территорий запрещено, в т.ч. ДНР).
Вопрос: Можно ли пропустить изучение Jenkins и заменить его Ansible?

Лучший ответ:
Так это разные вещи
Примерно как спросить можно я пропущу физкультуру и начну сразу математику

Худший ответ:
пропустить изучение Jenkins и заменить его Ansible
Лично я пропустил изучение не только Jenkins но и Ansible. Так сильно пропустил что даже не знаю что это за хрень. Тем не менее мне это мне совсем не мешает. Думаю таких как я миллионы.

Короче, если в вашей работе требуется  Jenkins изучайте его, если Ansible - изучайте его. Если вам платят за что-то другое, изучайте другое.
Вопрос: Как сверстать пародию на тег progress в виде круга?

Лучший ответ:
SVG, и нужно разобраться с атрибутами stroke-dasharray и stroke-dashoffset:
snippet

Худший ответ:
Блоки сгибаются через border-radius: 50%;
А анимацию делать примерно так (sass notation):
.loader
  animation: rotation 1s infinite linear;
  border: 3px solid rgba(70, 84, 14, 0.2);
  border-radius: 50%;
  border-top-color: rgba(70, 84, 14, 0.8);
  display: inline-block;
  height: 2em;
  width: 2em;
  margin: 0 1em;

@keyframes rotation
  to
    transform: rotate(360deg);
Вопрос: Объединение белого и серого ip?

Лучший ответ:
Самый простой вариант - подключить 2 LAN'а к серверу и поставить шлюзом по умолчанию роутер с серым IP. Через белый к серверу можно будет подключаться, а по умолчанию в инет он будет ходить через сеть с серым IP.

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

Layer 7 не предлагаю так как сейчас все сервисы через https|ssl
Вопрос: Как сохранить сообщение в sqlite после нажатия на inline кнопку?

Лучший ответ:
Ссылка просто текстом отправлена?

В вашей функции query_handler вы можете получить текст оригинального сообщения (в данном случае это ссылка) через call.mesaage.text, дальше уже сохраняйте в БД

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

Лучший ответ:
Можно. Но вам нужен роутер поддерживающий резервирование каналов. Подберите подходящий.

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

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

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

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

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

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

Лучший ответ:
А не факт что это вообще обратимо, так как при умножении на 31663 гарантированно произойдёт переполнение 16-разрядного целого, и старшие разряды будут потеряны.

Можешь попробовать так, конечно: создай массив всех возможных 16-разрядных чисел: 0, 1, 2, ..., 65535.
Затем каждый элемент этого массива зашифруй этим алгоритмом.
Если в полученном массиве какие-то элементы повторяются, то полностью обратить операцию невозможно - только частично, только для уникальных элементов в массиве. 
Если же все элементы массива уникальны, то можно обратить операцию, просто определив индекс входной пары байт в этом массиве. Этот индекс и будет исходным значением. Тут уже есть простор для оптимизации.

Худший ответ:
Нужно обратить все операции и делать их задом наперед.

Шифрование делает 34567890 итераций, вам надо сделать столько же. Внутри порядок операций надо развернуть, чтобы отмены выполнялись в обратном порядке. Если в строке 2 операции, например умножение и вычитание, то сначала надо выполнить обратное к вычитанию и только потом обратное к умножению.

Обратные к вычитанию и сложению - сложение и вычитание соответственно. Если шифрование прибавляет 12345, то вам надо 12345 вычитать в дешифраторе. Побитовое исключающее ИЛИ обратно само себе, ведь если его применить 2 раза, то получится исходное число.

С умножением все гораздо сложнее. Я предполагаю, что тип state - unsigned int. Если он знаковый, то умножение с переполнением - это undefined behavior вообще. В безнаковых целых умножение с переполнением есть просто умножение и взятие по модулую 2^32. Т.е вам нужно найти операцию, обратную умножению по модулю 2^32.

Это будет умножение на обратное по модулю.

Для его нахождения вам надо будет использовать расширенный алгоритм эвклида (в статье по ссылке выше оно расписано). Его можно или реализовать отдельно для нахождения обратных к 31663 (и другим множителям). Или можно его руками на бумажке прогнать. 

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

Edit, только заметил в вопросе, что state - двубайтовый. Значит, все происходит по модулю 2^16.
Вопрос: Стоит ли разбивать css/js для разных страниц?

Лучший ответ:
В общем случае -- стоит. 

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

Можно всё сгрести в один огромный бандл. Тогда первичная загрузка будет дольше, особенно ощутимо на медленном интернете. Но навигации по страницам будут быстрее, а нагрузка на сервер меньше. Но при изменении, скажем цвета одной кнопки, пользователю придётся заново качать весь бандл. И наоборот. Можно уйти и в другую сторону: дробить всё на как можно меньшие кусочки. (Например вынести весь код для какой-то модалки отдельно) и загружать каждый чанк только в момент когда он понадобится. Так первичная загрузка будет намного быстрее, но реакция на действия пользователя будет медленнее.

В общем случае -- дробить код сайта на куски и отдавать их частями -- стоит. Но вмеру. А как именно делить -- зависит от вашего случая.

Худший ответ:
Делайте как удобнее,  разницы в производительности не заметите, несколько микросекунд будет и то врятли. Главное кешировать файл.
Вопрос: Какая из профессий в сфере IT предполагает и программирование и работу непосредственно с оборудованием/с железом?

Лучший ответ:
Для энергетики дело не очень хорошее, т.к. это будет не программирование, а работа с готовыми пакетами, которые опрашивают, напр., электросчётчики. Ваше же дело - смотреть на текущие показатели и делать ежемесячные отчёты.
АСУ ТП хороша в машиностроении. Там и программирование ПЛК (текстовые и графические языки Codesys), и рисование SCADA.
Сети тоже есть, но и они не программируются, а настраиваются.

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

Если же хочется больше программирования, то тут уже не до работы в поле. Можно программировать железо, тогда вы "поле" можете частично перенести к себе за раб.стол. Если вам это направление подходит, то налегайте на Си и потом на С++ и ищите вакансии связанные с низкоуровневой разработкой.
Вопрос: Ansible — как проверить перед установкой, установлено ли ПО?

Лучший ответ:
Не надо проверять. Ansible идемпотентен и приводит конфигурацию сервера к описанной в плейбуке.
Если в плейбуке описана установка ПО, а оно уже есть на сервере, то Ansible ничего не будет делать, в лог будет выведено зелёное сообщение о том, что изменений нет.

Manage packages on OpenBSD

PS
Главное latest не использовать, так как будет выплнено обновление до актуальной версии, что, в общем-то, не противоречит вышесказанному.

Худший ответ:
Не надо, рецепты установки по в ансибле идемпотентны, если софт уже стоит он снова не поставится