Задать вопрос
  • Какие есть бесплатные UI для управления docker-контейнерами на нескольких серверах?

    portainer вроде умеет работать с docker swarm.

    и также запустить build или снова up

    А за это ci/cd должен отвечать по хорошему.

    В идеале еще чтобы можно было просматривать логи контейнеров.

    Вообще вроде в любом ui можно посмотреть логи контейнера, но я бы подумал над тем, чтобы затащить grafana/loki или ELK
    Ответ написан
    1 комментарий
  • Как удалить объект переменной var в Юнити?

    Тебе нужно либо сохранить этот объект в поле.

    Либо в OnTriggerExit как-то его найти на сцене (по имени, типу, тегам, parent, по взаимодействию с триггером. Как угодно)
    Ответ написан
  • Как реализовать архитектуру для регуляр отправки сообщенийя в Telegram?


    1. сохранять то что ввел пользователь в БД

    Заводишь БД и сохраняешь туда. В реляционке это будет три колонки (минимум): Id, user id, text
    Без конкретики сложно подсказать.


    2. регулярно отправлять информацию пользователю.

    Если регулярность определяет пользователь, то проще это будет реализовать на уровне кода при помощи Quartz или Hangfire - они позволяют описывать регулярные задачи и создавать их из кода.

    Если регулярность одинаковая для всех пользователей - можно в отдельном процессе через сторонний планировщик (например cron)

    Для реализации бота можешь использовать библиотеку Telegram.Bot. Давно ей не пользовался, и вроде там из коробки только поллинг есть, но я бы советовал использовать вебхуки с asp net core.

    В принципе никто не запрещает использовать от Telegram.Bot только dto-шки и возможность отправлять запросы в telegram bot API


    как реализовать 2 задачу вместе с 1-й ?

    При такой постановке - это две независимые задачи.


    какой паттерн реализовать ?

    Да тут вообще никаким особым паттерном и не пахнет.


    Просто сделать асинхронную задачу?

    Что это вообще значит?


    Сейчас приходит на ум просто еще одну прогу сделать которая будет регулярно отправлять информацию пользователю

    Звучит как вполне рабочий вариант
    Ответ написан
    Комментировать
  • Почему когда парсю из CSV получаю Unicode c \\ вместо \?

    Это норма. Просто студия тебе показывает две черты, тк так бы выглядела такая строка в коде.

    На самом деле там только одна черта, в чём ты можешь убедиться, если попробуешь сделать WriteLine
    Ответ написан
  • Как заставить телеграмм бота работать постоянно?

    Используй Console.Cancelkeypress и TaskCompletionSource, чтобы можно было закрыть нажатием ^C

    Примерно так:
    var cts = new TaskCompletionSource();
    Console.CancelKeyPress += () => cts.SetResult();
    await cts.Task;


    Либо ты можешь использовать generic host (загугли) с IHostedService

    Либо ты можешь перейти на asp net core и начать использовать вебхуки, вместо поллинга

    Заворачивать ли это в виндовые сервис, чтобы он автоматом перезапускал при падении и запускал при включении - это на твоё усмотрение.
    Ответ написан
    Комментировать
  • Как сравнить два списка с помощью хеш-кода?

    Значит, если будет стоять задача сравнить два списка (одинаковы ли они), то достаточно вычислить хеш двух списков?

    Нет. Хэши могут быть одинаковыми просто из-за коллизий. Так что если у тебя совпал hashcode - тебе следует ещё и содержимое на равенство проверить.
    Если хэшкод не совпал - тогда они точно разные.
    в то время как хеш возьмётся быстрее.

    Разве для вычисления хэша не нужно точно также пройтись по всем элементам?
    Или хэш кэшируется при добавлении новых элементов в список?
    Ответ написан
    Комментировать
  • Что нужно для подключения сайта к Юмани?

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

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

    Тебе ещё нужно будет оплатить услуги ОФД, и купить КЭП, но это, как правило, делают бесплатно при регистрации (юкасса по крайней мере заявляет, что сама бесплатно выпустит тебе КЭП, а услуги ОФД бесплатны)

    UPD: вроде сейчас ИП не обязательно. Можно обойтись самозанятостью
    Ответ написан
    5 комментариев
  • Как заранее знать уровень подготовки спрашивающего?

    Отвечаешь и чувсвтуешь себя дураком. Отвечал не то. И не так.

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

    Либо после встречного вопроса в комментариях и некоторой дискуссии - дополнять ответ.
    Ответ написан
    Комментировать
  • Какой набор библиотек используют в веб-геймдве?

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

    А почему обязательно JavaScript? Браузерные игры вполне могут делаться и на юнити.

    Что-то может и под Wasm делаться, а там уже и C++ и Rust живут со своими экосистемами.

    А некоторые браузерки и не требуют 3d вообще - там может использоваться и какой-нибудь кастомный 2д движок, а часть логики может обрабатываться на сервере, который вообще написано на php.
    Ответ написан
    Комментировать
  • Почему выскакивает ошибка установить NET Framework 3.5?

    1. А зачем тебе framework 3.5? Он же не поддерживается уже лет 10.
    2. Тебе нужно установить devpack, а не просто net framework. Разверни список в компонентах - у тебя там явно не все галочки.
    3. Ещё по пути установи .NET SDK

    UPD: после переписки с gowwa123 оказалось, что после установки SDK, devpack-ов и перезагрузки всё запустилось нормально.
    Ответ написан
    4 комментария
  • Как экранировать строку со множеством кавычек одной ковычкой?

    На данный момент в C# так сделать нельзя, но в ближайшие месяцы выйдет NET 7 с C# 11, в котором так можно:
    https://learn.microsoft.com/en-us/dotnet/csharp/la...
    Но ты уже можешь использовать их в preview режиме.

    А пока либо экранируй каждую кавычку \, либо используй @"" и пиши по две кавычки, либо читай строку из файла
    Ответ написан
    Комментировать
  • Почему msbuid создает dll и exe?

    Есть опция PublishSingleFile - как раз склеит DLL и exe.

    self-contained можно отключить
    dotnet publish -c Release -r win-x64 -o ./pub -p:PublishSingleFile=true --self-contained false
    Ответ написан
    8 комментариев
  • Что лучше использовать ИИ или готовые библиотеки?

    В случае, если ты с нуля попытаешься сделать ИИ для таких переводов, то тебе понадобится:
    1. Перегнать русский звук в текст
    2. Перевести текст
    3. Перевести английский текст в речь
    В идеале ещё подобрать интонации, скорость, и голос.

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

    Так что если у тебя стоит задача, которую надо решить - советую взять какой-нибудь готовый сервис. Тот же Яндекс вроде как умеет в перевод речи в реальном времени. Цена вроде меньше рубля за минуту

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

    насколько ИИ будет эффективнее?

    Исходя из того что вы ни разу до этого с подобными технологиями не работали, то эффективность ИИ будет отрицательной - потратите много времени на самостоятельное изучение темы, потратите кучу ресурсов компьютера, а в результате в лучшем случае получите эффективный обогреватель.
    Ответ написан
    1 комментарий
  • Что стоит прочесть первым?

    CLR via c# ориентирован больше на разработчиков, которые уже достаточно хорошо знают C#, чтобы активно его применять, но интересуются недрами CLR.

    Так что я бы начал с изучения самого Шарпа, не важно каким способом.

    PS: clr via c# местами устарел, так что некоторые советы из него следует воспринимать с долей скептицизма, да и сам его автор имеет немного специфичные взгляды.
    Ответ написан
    Комментировать
  • Не нагружается ГП в играх на 100% на ноутбуке. Что делать?

    Наводящие вопросы:
    1. Какая нагрузка на процессор? Успевает ли процессор подготовить больше кадров для видеокарты?
    2. Включен ли лимит кадров? Может видеокарта простаивает по этой причине?
    3. Укладывается ли ноутбук в теплопакет, есть ли запас по мощности?
    Современные ноутбуки имеют общий power limit на процессор и на видеокарту.
    4. Что с температурами? При высоких температурах ноут вполне может троттлить

    Например:
    1. Заметно меньше 100% на каждом ядре
    2. Лимита кадров и vsync нигде точно нет.
    3. Есть ещё N ватт в запасе
    4. Температуры на видеокарте и процессоре сильно (градусов на 10) меньше предела (обычно около 90)

    Если ответ у тебя похож на такой, значит где-то явно что-то не так - либо баг в игре, либо ноутбук неисправен и его надо нести в сервис, либо ты что-то не так посчитал.
    Ответ написан
  • Как установить windows 11?

    Если ты в России, то не дождёшься, когда винда сама предложит обновиться.
    Скачивай iso образ откуда-нибудь и устанавливай руками (флешка для обновления не нужна и все данные и приложения сохранятся)
    Ответ написан
    1 комментарий
  • Подойдёт ли книга "Изучаем C# через разработку игр на Unity" для изучения c#?

    Эта книга больше про Unity, чем про C#.
    Ответ написан
    Комментировать
  • Изменяют ли поведение классов или методов применяемые аттрибуты?

    Атрибуты на поведение класса не влияют, но какие-нибудь сторонние штуки могут эти атрибуты читать и менять поведение (например это может делать Fody)

    Но обычно всё-таки атрибуты ничего не делают, а просто предоставляют какую-то доп инфу другим классам:
    Serializable - сообщает инфу сериализатору
    DynamoDBTable и прочие - сообщают инфу ОРМ-ке или что там.
    Ответ написан
    7 комментариев
  • Правильно ли я реализую свойство с "частичной поддержкой"?

    Вообще это нарушение принципа подстановки Лисков.
    Тот кто зависит от BaseFormContext ожидает, что можно вызвать set у свойства IsFormReadyToSend, а ты тут кидаешь NotSupported.

    Более разумное тут решение - вообще не определять IsFormReadyToSend в BaseFormContext и обойтись интерфейсом с геттером.
    А конкретный наследник уже сам решит, что будет делать геттер, и нужен ли вообще сеттер.
    Ответ написан
  • Как достать участников чата?

    var chatFull = await client.GetFullChat(peer);
    foreach (var (id, user) in chatFull.users)
        Console.WriteLine(user);
    Ответ написан