Задать вопрос
  • Какой микроконтроллер выбрать, чтобы отправить сигнал на пк/телефон?

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

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

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

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

    PS: нет такого понятия, как "универсальный класс"
    Ответ написан
    Комментировать
  • Есть ли альтернатива cherry-pick для отмены коммитов?

    Черри пик же не отменяет коммиты, а копирует из одной ветки в другую.

    А тебе, кажется, нужен либо revert, либо reset.
    Ответ написан
    Комментировать
  • Почему Юнити зависает при цикле While?

    Start, как и Update выполняется в пределах одного кадра.
    Делай эту проверку, которую ты делаешь сейчас, внутри Update.
    Без while

    //нет бесконечного цикла, почему так?

    Есть же.
    Если условие выхода никогда не будет достигнуто - значит цикл вечный
    Ответ написан
  • Как получить список устройств подключенных WiFi точке на Unity Android?


    Мне нужно найти определенное устройство в wifi сети и подключиться к его серверу.

    Для решения такой задачи уже существует mDNS.
    Тебе не нужен список всех устройств.
    Тебе будет достаточно списка ip-адресов, на которых доступен нужный "сервис".

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

    https://habr.com/ru/company/touchinstinct/blog/342046/

    Хз, работает ли способ сейчас
    Ответ написан
    Комментировать
  • Как изменить уровень яркости?

    Для десктопа можно попробовать monitorian:
    https://github.com/emoacht/Monitorian
    У него кроме GUI есть и CLI.

    Для регулировки яркости на десктопе он использует DDC/CI, который по идее должен быть у всех дислееев, даже если подключение идёт по VGA (возможно, придётся включить в настройках монитора)
    Ответ написан
    Комментировать
  • Какие способы копирования электронных данных?

    1. У тебя есть диск с произвольной структурой.
    Ты берёшь ещё 1 такой же диск и копируешь всё 1-в-1 не заботясь о том, что именно там за данные.
    В результате получаешь точную копию носителя.

    2. У тебя есть диск с произвольной структурой. Ты при помощи софта создаёшь образ этого диска и сохраняешь как файл на другом диске.

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

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

    Убери const
    Ответ написан
    Комментировать
  • Создавать ли интерфейсы с единственной реализацией?

    Смысл имеет, например, для облегчения написания тестов.

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

    Например нет никакого смысла вводить интерфейсы для DTO-шек.

    В остальном тред для C# также актуален, за исключением того что оверхед таки есть, ибо добавляет лишней работы JIT-компилятору, тк ему сложнее будет решить, какие виртуальные вызовы можно девиртуализировать.
    Ответ написан
    4 комментария
  • Как упросить это if...else выражение?

    Вообще тут напрашивается перегрузка для каждого T:
    public void SetStrategy(Action<SomeOne> action) {
      _someOne = action;
    }
    
    public void SetStrategy(Action<SomeTwo> action) {
      _someTwo = action;
    }

    Но можно и так, если прям необходимо один метод (стоит задуматься, а действительно ли необходимо):
    switch(executor) {
      case Action<SomeOne> one:
        _someOne = one;
        break;
      case Action<SomeTwo> two:
        _someTwo = b;
        break;
      default:
        throw new NotSupportedException($"{typeof(T).FullName} is not supprted");
    }
    Ответ написан
    Комментировать
  • В чем различие Code First Database First Model First?

    Видимо, Model first - это когда ты проектируешь через GUI, а из него потом генерируется и код, и база
    Ответ написан
    1 комментарий
  • Как правильно разбить код по файлам?

    Ну вот например:
    Program.cs:
    using MyNamespace;
    
    var obj = new MyClass();
    obj.DoThings();


    MyClass.cs:
    namespace MyNamespace;
    
    public class MyClass {
      public void DoThings() {
        Console.WriteLine("Hello world");
      }
    }


    Использовал .NET 7 и C# 11.

    Структура проекта:
    MyProject/
    - MyProject.csproj
    - Program.cs
    - MyClass.cs
    Ответ написан
    Комментировать
  • Почему возвращается true а не 5?

    Потому что || - это ленивая операция и приоритет у неё ниже, чем у &&.
    => Сначала будет вычислено выражение 5 === 5 && 3 > 1, которое имеет значение true
    А раз оно true, то и правую часть 5 вычислять не нужно.
    Ответ написан
    Комментировать
  • Кау перевести PostgreSQL Column с типом jsonb в строки C#?

    1. Нормально ли это, ведь оно содержит бинарные данные?

    Бинарные данные там с точки зрения постгреса. Для драйвера там обычная строка.

    2. Почему во второй строке используется стринг, а не json например - public string Line { get; set; } ?

    Этот вопрос не понял. Вообще, по хорошему следовало бы там использовать JsonDocument или конкретный объект.
    Ответ написан
    Комментировать
  • Какой простой, бесплатный 3D редактор лучше использовать для 3Д печати?

    Раз нужны точные размеры, значит нужен CAD.
    Я бы смотрел на:
    1. Fusion360 - почти бесплатный (очень легко можно получить бесплатно на пару лет, а потом точно также продлить), при этом он очень мощный и простой в изучении. При этом он достаточно хорошо оптимизирован, у него удобный интерфейс, и даже есть встроенный рендер и средства для анализа конструкций и генеративного дизайна.
    2. FreeCAD - совсем бесплатный, хоть и не очень (совсем не) удобный и не очень много гайдов по нему.
    + достаточно много плагинов, чтобы его расширить.
    3. OpenSCAD - бесплатный, но в нём используется процедурное моделирование при помощи кода
    4. Российский Компас 3D - не бесплатный, но домашняя версия стоит около 1к в год. Гайдов по нему много, да и в нём самом вполне неплохие уроки есть, которые объясняют, как с ним работать. Из минусов - не самый удобный (но не на столько, как у FreeCAD) интерфейс и есть что-то не так настроить, то будет тормозить. Но по логике работы идентичен тому же Inventor или Fusion

    Ну и остаются совсем не бесплатные и не дешёвые Autodesk Inventor и Solidworks, которые пиратят все кому не лень.
    Ответ написан
    8 комментариев
  • Какую базу данных посоветуете для перехода с локального sqlite3 в online на Python?

    С Яндекс.Database я так понял можно работать если приложение лежит у них в Яндекс.Cloud.. Или я ошибаюсь?

    1. Не Yandex Database, а YDB, но не советую её брать, если вам не нужны конкретные её фичи (типа автоматического масштабирования между несколькими ДЦ)

    Требуется создать аналог этой sqlite базы где-то на серваке с возможностью работы так же с дэсктопной версии приложения.

    2. Обычно, в такой ситуации делается так:
    - Десктопное приложение, которое общается с серверном (бэкендом). При этом Десктопное приложение отвечает только за рисование GUI для пользователя и некоторые простые валидации и кэширование на стороне клиента.
    - Бэкенд общается с базой данных и отвечает за выполнение всей логики приложения (аутентификация, авторизация, валидация всех данных, контроль доступа к данным, фильтры и прочее)
    - СУБД в таком случае может быть выбрана любая, какая тебе подойдёт - можешь даже продолжать пользоваться sqlite на сервере.

    Перед выбором СУБД тебе следует ответить на следующие вопросы:
    1. Какие конкретно данные будут храниться? Какая у них структура?
    2. Сколько этих данных будет?
    3. Какие конкретно операции с этими данными будут производиться? Какие выборки, с какими фильтрами, и какого размера выборки.
    4. Сколько одновременных пользователей будет с этими данными работать?
    Ответ написан
    9 комментариев
  • Как отловить ошибку в Mappere?

    Если идёт работа с dbcontext (IQueryable), то маппинг будет происходить на стороне базы данных => никаким способом не проверить.

    Если работаешь с IEnumerable, то в Select ты можешь прокинуть номер элемента (второй параметр лямбды), и сделать любые проверки через if или try-catch
    Ответ написан
    Комментировать
  • Какой самый быстрый дистрибутив Linux для программирования?

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

    Резюмируя, причины могут быть такие (именно в таком порядке):
    1. Ты используешь медленный диск. Например hdd, вместо ssd или nvme.
    2. Ты не установил драйвера, которые соответствуют твоей видеокарте. Вместо проприетарных используешь свободные или вообще программный рендер.
    3. Тот софт, который ты хочешь использовать, имеет более высокие требования для решаемых тобой задач.
    4. Ты выбрал слишком жрущий дистрибутив.

    В целом, для слабых компьютеров рекомендуется брать дистрибутивы на основе окружений xfce или lxqt.
    Я бы выбирал между Xubuntu и Manjaro+xfce
    Ответ написан
    Комментировать
  • Из за чего может не выводить в консоль dbug?

    Из за чего может не выводить в консоль dbug?

    Из-за того что у тебя явно в конфиге указаны минимальные уровни логирования (в твоём случае отрабатывает строчка Default: Information):
    "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft.AspNetCore": "Warning",
          "Microsoft.EntityFrameworkCore": "Information"
        }
      }

    Уровни логирования такие, от самого высокого к самому низкому:
    • None = 6
    • Critical = 5
    • Error = 4
    • Warning = 3
    • Information = 2
    • Debug = 1
    • Trace = 0

    Как видишь, Information и Warning идут выше, чем Debug.
    Чтобы сообщение залогировалось - его уровень должен быть выше или равен минимальному уровню.

    https://learn.microsoft.com/ru-ru/dotnet/api/micro...
    Ответ написан
    Комментировать