Задать вопрос
  • Можно ли нормально общаться и вести звукозапись при помощи Bluetooth-наушников?

    ValdikSS
    @ValdikSS
    Возможно, но только с профилем HFP. Звук будет максимум 16 кГц моно и с микрофона, и в наушниках. Это ограничение профилей Bluetooth.

    Корпорация, занимающаяся стандартами, за все годы не удосужилась сделать что-то лучше. В новейший стандарт HFP v1.9 добавили поддержку кодека LC3, 32 кГц моно в обе стороны.

    Apple в AirPods сделала поддержку AAC-ELD 24 кГц (+улучшение спектра, которое поддерживает AAC) моно в обе стороны.
    Ответ написан
    1 комментарий
  • Как исправить ошибку error CS1001?

    https://learn.microsoft.com/ru-ru/dotnet/csharp/la...
    Предположу, что ругается на эти строчки, которые действительно не имеют смысла:
    public void InitializePlayer()
    {
    string = Player;
    }
    
    public void AddScore(int points)
    {
    int = 0;
    }

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

    @alexalexes
    select B.*
    (select A.*,
                max(A.Квартал) over (partition by A.Год) as Макс_Квартал
      from A) B
    where B.Квартал = B.Макс_Квартал
    Ответ написан
    Комментировать
  • Нормально ли использовать var вместо явной типизации в C#?

    1. Да, это нормально. Сильно легче код писать таким образом. (а иногда и читать, тк меньше слов дублируется. Например совершенно никакой ценности не несёт User user = userRepository.GetUserById(...) или многослойный женерик)

    2.

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

    А ты давай нормальные названия методам, чтобы возвращаемое значение было очевидным, набирайся опыта, ищи закономерности.

    Ты же не задаёшься вопросом, какой тип возвращает какой-нибудь GetUser, ToString, TryParse, FirstOrDefault?

    Если тебе сложно понять смысл кода без типов - значит кто-то плохие имена дал переменным.


    Данный код достаточно сложно разобрать человеку, который не писал это всё с нуля, а был присоединён через 4-5 лет ведения проекта.

    Очень смелое заявление, которое мало чем подкреплено.


    Как по мне, добавление возможности писать var вместо обычного типа было ужасной ошибкой Microsoft. Сам var был добавлен в язык вместе с анонимными типами и предназначался специально для них.

    1. var далеко не только для анонимных типов полезен, хотя с анонимными типами без var работать было бы очень сложно.

    2. Тренд говорит об обратном - автоматический вывод типов сейчас есть практически во всех статически-типизированных языках в том или ином виде.

    Ну и помни ещё, что ты же не в блокноте код пишешь - у тебя есть всякие inlay hints, которые могут рядом с именем переменной показать её тип, а наведя мышку на слово - ты узнаёшь о нём все (имя переменной, сигнатуру метода, документацию, итд)
    Ответ написан
    7 комментариев
  • Нормально ли использовать var вместо явной типизации в C#?

    xez
    @xez
    TL Junior Roo
    Вполне норм. Просто тип определяется справа, а не слева.
    Подсказки ide должны решить вопрос понимания человеком, что там за тип.
    Ответ написан
    5 комментариев
  • Почему asp net потребляет много оперативной памяти на сервере?

    Пахнет утечкой памяти, даже очень-очень нагруженные приложения редко больше пары гигов потребляют.
    "простейший api-сервис" редко больше 1гб потребляет
    Я бы начал со снятия дампа памяти, чтобы понять, какие объекты столько занимают, а там уже можно будет и найти конкретное местно, где утечка произошла.

    https://learn.microsoft.com/en-us/dotnet/core/diag...
    https://learn.microsoft.com/en-us/dotnet/core/diag...
    Ответ написан
    Комментировать
  • Как переменную string преобразовать в List в C#?

    var str = "a b c";
    var list = str.Split(' ').ToList();

    А вот почему юнити зависает - надо смотреть на код целиком.
    То что написано в вопросе не является валидным C#-кодом в принципе.
    Ответ написан
    Комментировать
  • XRay клиент в качестве gateway в домашней сети?

    @Samodelkin92
    Используй sing-box в качестве клиента
    Настрой в нем tun и маршрут 0.0.0.1 - тогда он будет собирать весть весть трафик приходящий с компа
    Так же пропиши локальную сеть в исключения маршрутов иначе он не отдаст пакеты твоим компас и зациклит их.
    Собираться трафик будет с любых интерфейсов и будет передаваться в tun, а потом в маршрут по умолчанию.

    {
      "type": "tun",
      "tag": "tun-in",
      "interface_name": "tun0",
      "address": [
        "172.18.0.1/30" // ip tun
      ],
    "auto_route": true,
    "strict_route": true,
    "route_address": [
        "0.0.0.0/1",
        "128.0.0.0/1"
      ],
    "route_exclude_address": [
        "192.168.0.0/16" // список всех локальных сетей
      ],
    // Или же можешь через это вместо route_exclude_address
    "include_interface": [
        "lan0"
      ],
      "exclude_interface": [
        "lan1"
      ],
    }


    Так же задать статический адрес для eth1 и настроить для него DHCP server. Все что будет воткнуть в eth1 будет получать свой ip, gw.
    Ответ написан
    2 комментария
  • Вычитаю одно округленное число из другого, в ответе выдается число с кучей знаков после запятой, как это исправить?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Добро пожаловать в реальный мир вычислений чисел с плавающей запятой с погрешностью! Если вам нужны точные вычисления - используйте тип decimal или аналогичный для вашего ЯП.
    https://habr.com/ru/articles/266023/
    https://learn.microsoft.com/ru-ru/office/troublesh...
    https://0.30000000000000004.com/
    Ответ написан
    2 комментария
  • Могут ли возникнуть проблемы с установкой Убунту?

    dyuriev
    @dyuriev
    A posteriori
    слышал что линукс может не встать на ноут

    ставьте дистриб посвежее. если поставите 20.04/22.04 - то со свежим железом могут быть нюансы, ставьте 24.04

    из-за того что снёс винду слететь гарантия

    не знаю в какой вы стране живете, но в юрисдикции РФ - нет. байки для домохозяек.

    и если установить убунту рядом с виндовс, сильно ли это потеряет в производительности?

    у вас будет работать одна ОС в единицу времени, так что на производительность это не скажется.
    разве что только вашу
    когда вы решите переустановить винду, а потом несколько дней будете в тостере ждать инструкции точной, как вернуть к загрузке линукс, ибо загрузчик потрете.
    Ответ написан
    Комментировать
  • Стоит ли брать Macbook AIR 13 m1 для разработки на VS + SQL MS?

    @alexalexes
    Покупайте ноут, на котором 100% установятся все продукты MS.
    Ставить на мак среду разработки и компоненты MS, а потом еще при этом искать ошибки в коде, почему на винде все запускалось, а на маке - нет, будет сравни с поеданием кактуса.
    Ответ написан
    1 комментарий
  • По какой причине появляеться SqliteException: SQLite Error 19: 'NOT NULL constraint failed?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Исправьте вот здесь:
    [Column("profilePicturePath")]
        public string? ProfilePicturePath { get; set; }

    Пояснение. В документации по EF Core написано:
    Если включены ссылочные типы, допускающие значение NULL, свойства будут настроены на основе nullability C# для типа .NET: string? будут настроены как необязательные, но string будут настроены по мере необходимости.

    В современных шаблонах проектов nullability включена по умолчанию, так что ваш тип свойства string EF понимает как то, что соответствующая колонка записи должна иметь ограничение NOT NULL. А потому вам следует использовать в качестве типа свойства string? .
    Ответ написан
    1 комментарий
  • Linux USB HID эмуляция на ПК - возможно?

    ValdikSS
    @ValdikSS
    Чтобы эмулировать устройства, USB-контроллер в вашем компьютере должен поддерживать dual role, т.е. переключаться в OTG-режим. Вот наиболее полная статья, как это сделать на конкретном устройстве, со ссылками на другие.

    В Linux уже есть USB HID-гаджет, достаточно запрограммировать его. Вот первый попавшийся пример в интернете.

    Наиболее универсальный метод — сделать эмулятор на микроконтроллере, эмулирующий клавиатуру с одной стороны и принимающий команды клавиатуры, например, через CDC ACM или HID (чтобы работало без установки драйверов) с другой.
    Ответ написан
    Комментировать
  • Можно ли перенастроить HDMI на ноутбуке на прием?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Нельзя.
    Ответ написан
    Комментировать
  • Что это за неведомый слот?

    @Grand_turizmo
    Любитель поэкспериментировать с пк
    Похоже кто-то из китайцев обрезал планку ddr и продаёт её как ssd
    Ответ написан
    7 комментариев
  • Какая видео карта может поместиться в thinkcentre M82?

    В этот корпус влезут только низкопрофильные карты
    Ответ написан
    Комментировать
  • Работа с api/hash или как правильно защитить http/fetch запросы на сайте?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Лучший (и единственный) вариант - работать через свой бэкенд и нигде никогда не светить ключи от посторонних API. На своём бэке вы можете вводить любые ограничения на частоту и количество запросов к чужому API.
    Всё, что попадает к клиенту, или приходит от клиента - небезопасно по умолчанию.
    А Restrict to domain вам не поможет, в браузере можно написать JS-код, который будет работать с вашим ID прямо на вашей же странице и массово генерировать запросы.
    Ответ написан
    8 комментариев
  • Как лучше сохранять результаты логирования приложения NET?

    Nlog

    Кмк, он немного переусложнён.
    Я бы посмотрел в сторону стандартного Microsoft.Extensions.Logging или Serilog (но из кода всё равно обращаться к M.E.L.Abstractions)

    SQLite

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

    На линуксе уже есть встроенная служба для логов - syslog, ей и пользуйся.

    Хотя опять же зависит от того, что за приложение и что за логи.
    Ответ написан
    2 комментария
  • Можно ли упростить данный код (см. внутри), заменив ConcurrentBag list'ом и установив lock?

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


    1. Для каждого из файлов запусти по потоку (таске), каждый из которых пусть свой файл читает в поисках имеилов.
    2. Для записи в итоговый файл - заведи ещё 1 поток (таску).
    3. Коммуникацию между N читающими и 1 пишущим организуй через System.Threading.Channel

    Таким образом ты избавишься от ненужных блокировок и затрат на синхронизацию доступа к какому-то списку.

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

    UPD: тогда смотрим на количество данных.
    Если имеилов мало (по сравнению с количеством ОЗУ), то тогда можем прямо в памяти держать HashSet и проверять его в пишущем потоке.
    Если имеилов побольше - можем сделать HashSet не по самим и имеилам, а по их хешам.
    Если имеилов совсем много, то тогда можно записывать в отсортированную структуру данных на диск (двоичное дерево поиска например).

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

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

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    ffmpeg
    Ответ написан
    Комментировать