Задать вопрос
  • Как в JsonSerializer.Deserialize игнорировать ошибки десериализации битого json?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    В System.Text.Json нет такой фичи: https://github.com/dotnet/runtime/issues/38049
    Поэтому используйте библиотеку Newtonsoft и аттрибут OnError: https://www.newtonsoft.com/json/help/html/Serializ...
    Реальный пример: https://github.com/VoidVolker/LockScreen/blob/80c0...
    Ответ написан
    1 комментарий
  • Как в 3D получить игровой звук для объекта приходящий от других объектов?

    @rPman
    В наше время не уметь пользоваться поисковиком или хотя бы ИИ, для таких вопросов, это странно
    промпт
    у меня трехмерная сцена, в ней расположены несколько микрофонов, и есть источники звуков (они могут двигаться, их несколько) нужен инструмент (приложение) которое бы выдавало аудио поток (для сохранения в файл) по каждому микрофонов, с максимальной приближенности к реальности с учетом различных эффектов, переотражений (и учета материала если это возможно)

    openai:gpt5.2 api
    Ваша задача называется **auralization** (аурализация): по 3D‑сцене + материалам нужно получить сигнал **на каждом “приёмнике/микрофоне”**, включая **прямой звук, отражения, реверберацию, затухание в воздухе, дифракцию** и т.п., причём **источники (и иногда приёмники) могут двигаться**.

    Ниже — наиболее практичные варианты (от “почти без разработки” до “максимально реалистично, но дороже/тяжелее”).

    ---

    ## 1) “Готовое приложение” с экспортом WAV по каждому микрофону (самый прямой путь)
    Это специализированные акустические симуляторы с аурализацией. Они как раз умеют: импорт геометрии, назначение материалов (коэффициенты поглощения/рассеяния), расчёт импульсных характеристик и **рендер аудио в файл** для нескольких приёмников.

    ### **ODEON** (проф. стандарт)
    - Очень сильная сторона: помещения/залы, материалы, отражения, статистическая и геометрическая акустика.
    - Есть аурализация и экспорт аудио для разных “receivers”.
    - Подходит, если важна реалистичность отражений/RT60 и “инженерная” акустика.

    ### **CATT-Acoustic**
    - Тоже мощная аурализация/материалы/отражения, расчёт RIR (Room Impulse Response) и рендер.
    - Часто используют в архитектурной акустике.

    ### **EASE (Enhanced Acoustic Simulator for Engineers) + модули аурализации**
    - Хорош для систем озвучивания/помещений, материалы, отражения; может делать аурализацию.

    **Плюсы этих решений:** минимум программирования, максимальная “акустическая” направленность, удобно получать **отдельные файлы на каждую точку микрофона**.
    **Минусы:** платные, и “много движущихся источников в реальном времени” обычно не их сильная сторона (чаще рендер оффлайн/по траекториям).

    ---

    ## 2) Реалистично и с динамикой (движение источников), но это уже “движок + акустический плагин”
    Если вам нужна динамика как в симуляторе/игре (источники движутся постоянно, всё в реальном времени), обычно берут **Unreal/Unity** и плагин акустики.

    ### Unreal Engine + **Microsoft Project Acoustics**
    - Один из лучших вариантов по “почти реалистично”: предрасчёт распространения звука с учётом геометрии и материалов, затем быстрый runtime.
    - Хорошо поддерживает **динамические источники/приёмники** в статической геометрии.
    - По уровню качества часто лучше чисто “игровых” ревербов.

    ### Unreal/Unity + **Steam Audio**
    - Геометрическая акустика (лучи), отражения, окклюзия, дифракция (в определённой мере), материалы.
    - Может работать realtime и/или с “baking” (предрасчётом).

    **Ключевой момент про “несколько микрофонов”:**
    В игровых движках концепция обычно “один listener (слушатель)”. Чтобы получить **N независимых микрофонных потоков**, придётся:
    - либо **рендерить сцену N раз** (оффлайн: каждый прогон с listener в позиции нужного микрофона и записью WAV),
    - либо делать **кастомный аудиопайплайн/плагин**, который считает вклад источников в несколько приёмников сразу и пишет **мультиканальный WAV/отдельные файлы**.

    То есть как “приложение из коробки” — сложнее, но как платформа для симуляции с движением — очень сильный вариант.

    ---

    ## 3) Если вы готовы к “научному/инженерному” пайплайну (самый гибкий, но это разработка)
    Технически самый правильный способ получить сигнал “как в реальности” для каждого микрофона:

    1) Для каждой пары **(источник → микрофон)** считаете **RIR/IR** (импульсную характеристику) с учётом материалов/отражений/дифракции.
    2) Делаете **свёртку**: `mic(t) = source(t) * IR(t)`
    3) Для движения — IR становится **временнОй** (time‑varying): считают по кадрам/сегментам траектории и кроссфейдят/интерполируют.

    Инструменты/библиотеки:
    - **pyroomacoustics** (Python) — больше про моделирование комнат, есть RIR, микрофонные массивы.
    - Исследовательские ray tracing / wave-based пакеты (зависят от задач/частот).

    Плюс: вы реально получаете **любое количество микрофонов** и полный контроль над форматом вывода. Минус: нужно собрать пайплайн и выбрать метод (лучевой/гибридный/волновой).

    ---

    ## Что выбрать на практике
    - Хотите **готовый “инструмент/приложение”, экспорт WAV по множеству микрофонов, материалы/отражения** → смотрите **ODEON / CATT / EASE**.
    - Хотите **динамику как в симуляторе (много движущихся источников), близко к реальности** → **Unreal + Project Acoustics** (или Steam Audio), но “мульти-мик” потребует продуманного экспорта (часто оффлайн-прогоны или кастом).
    - Хотите **максимум гибкости по количеству микрофонов/форматам**, и готовы программировать → пайплайн через **RIR + свёртка** (возможно с предрасчётом).

    ---

    ## Уточняющие вопросы (чтобы назвать лучший конкретный вариант и как именно экспортировать “по микрофонам”)
    1) Вам нужно **в реальном времени** или можно **оффлайн-рендер** (быстрее/медленнее реального времени не важно)?
    2) Сколько микрофонов и источников одновременно (примерно)?
    3) Геометрия статическая? (стены/объекты не движутся)
    4) Нужна направленность микрофонов (кардиоиды/восьмёрки) или достаточно “омни”?
    5) Бюджет: ок коммерческие пакеты (ODEON/CATT/EASE) или только free/open-source?

    Ответьте на эти 5 пунктов — и я предложу конкретный “самый прямой” стек под ваши ограничения (включая как именно получить отдельные файлы/каналы на каждый микрофон).
    Вот тебе ключевые слова для гуглинга и проверки ответа
    Ответ написан
    1 комментарий
  • Как уравлелять устройствами wifi lednet с компьютера?

    @Zerg89
    git magic home
    Модуль home assistant для управления подобныии устройствами, reddit тут есть инфа(хоть и довольно старая) что не все контроллеры поддерживаются
    git magic-home-desktop
    Ответ написан
    1 комментарий
  • Есть ли возможность для проекта .net core mvc при разработке в visual studio установить витруальное приложение для встроенного веб-сервера?

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

    Когда ты запускаешь приложение локально, у тебя нет никакого отдельного веб-сервера (ну вроде по умолчанию на Винде будет(по крайней мере раньше так было) iis express, но это не считается).

    Так что для добавления префиксов к маршруту тебе надо залезть в своё приложение.

    Чтобы не менять роутинг всех методов/контроллеров/ручек, ты можешь воспользоваться методом UsePathBase, который добавит к тебе в конвеер обработки запроса соответствующий middleware, который будет отрезать от запроса указанный префикс перед передачей запроса дальше (чтобы с точки зрения роутера запрос выглядел так, будто запрос пришёл на нормальный путь без префикса)

    Вот тут подробнее это объясняется и с примерами:
    https://andrewlock.net/understanding-pathbase-in-a...
    Ответ написан
    3 комментария
  • С помощью чего можно формировать отчеты из запросов к db в .net core?

    @NSpartak
    Раньше он назывался FastReport
    https://быстрыеотчеты.рф/
    Лицензия оплачивается разово, без подписки.
    Все запрашиваемые потребности может реализовать
    Ответ написан
    Комментировать
  • С помощью чего можно формировать отчеты из запросов к db в .net core?

    @d-stream
    Готовые решения - не подаю, но...
    Вопрос в объёме и степени желания юзать хорошие средства репортинга.
    Как вариант: https://www.stimulsoft.ru/ - и не только из бд и не только отчёты и внятный прайсинг

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

    Ну и в силу происхождения разработчика - локализация включает в себя большинство языков бывших советских республик (впрочем в своё время подцепить отсутствовавшие тогда число прописью для пары языков - не составило большого труда)
    Ответ написан
    4 комментария
  • Как использовать ckeditor поверх поля input (textarea) в форме на веб-странице?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Он прекрасно работает и с textarea. Если у вас обычные формы, то такой вариант будет предпочтительным.

    <textarea id="ckeditor"></textarea>
    ClassicEditor.create( document.querySelector( '#ckeditor' ), {...});
    Ответ написан
    1 комментарий
  • Можно ли управлять телефоном с arduino?

    @11Stepa11
    Копаюсь во всём старом, в надежде что-то найти
    В теории да, но на практике сложно. Нужно будет написать какое-нибудь приложение на телефон по аналогии тех же от смарт-часов. Для Handsfree можно взять какую-нибудь блютуз колонку с микрофоном, а для остальных функций сделать кастомное устройство на базе той-же ардуинки.

    И да, наверное под
    3. на устройстве есть динамик и колонка, с помощью которых можно провести разговор;

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

    @Voland69
    Конкретно в AuthorizeAttribute вам доступен AuthorizationFilterContext, в котором есть RouteData.
    По ключу action как раз будет имя метода, который будет вызываться в данный момент при успешном прохождении авторизации.

    UPD: для этого атрибут должен реализовывать IAuthorizationFilter
    // Licensed to the .NET Foundation under one or more agreements.
    // The .NET Foundation licenses this file to you under the MIT license.
    
    namespace Microsoft.AspNetCore.Mvc.Filters
    {
        /// <summary>
        /// A filter that confirms request authorization.
        /// </summary>
        public interface IAuthorizationFilter : IFilterMetadata
        {
            /// <summary>
            /// Called early in the filter pipeline to confirm request is authorized.
            /// </summary>
            /// <param name="context">The <see cref="AuthorizationFilterContext"/>.</param>
            void OnAuthorization(AuthorizationFilterContext context);
        }
    }
    Ответ написан
    Комментировать
  • Как написать свой кастомный EditorFor и получить значение свойства модели?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    У вас в поле _helper класса FormHelper<TModel> конструктор сохраняет ссылку на интерфейс IHtmlHelper<TModel>.
    Этот интерфейс содержит свойство ViewData типа ViewDataDictionary<TModel>. А в этом типе реализовано свойство Model (типа TModel), которое даст вам ссылку на экземпляр класса (типа TModel) модели для представления/страницы.
    Ну, а дальше, раз вы знаете имя нужного вам свойства объекта и имеете ссылку на экземпляр этого объекта, то можете получить значение этого свойства: либо через составление с последующей компиляцией и вычисление выражения, возвращающего его значение, либо через отражение.
    Как-то так.
    Ответ написан
    1 комментарий
  • Существует ли технология декларативной генерации модели здания?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Можешь поискать подходящий аддон здесь: https://blender-addons.org/
    Алгоритмы генерации мешей по набору параметров в блендере создавать можно, Например посмотри аддон BoltFacory, который позволяет создавать болты, винты и гайки, на любой вкус по куче параметров. Естественно ты можешь написать аналогичный алгоритм, поторый по неким параметрам будет тебе создавать здание. И естественно, ничто тебе не мешает засунуть все эти параметры в xml файл.
    Аддоны для блендера пишутся на Pyton в самом блендере.
    https://www.youtube.com/watch?v=Y67eCfiqJQU
    Ответ написан
    Комментировать
  • Как сгенерировать шахматный бакграунд в ImageMagick.Net?

    @U235U235
    Зачем рисовать квадратики в цикле? Вообще-то шахматный паттерн уже есть в IM.
    convert -size 8x8 pattern:gray50 -scale 5000%  chessboard.png
    Ответ написан
    6 комментариев
  • Можно ли интегрировать галераю фотографий из vk в tilda?

    @pantsarny
    Можно на js
    Делаете запрос к апи, получаете фото, выводите
    Ответ написан
    1 комментарий
  • Как удалить все вхождения каталога в дереве каталогов?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    FOR /R %M IN (__cache) DO RMDIR "%M"
    Ответ написан
    Комментировать
  • Как удалить все вхождения каталога в дереве каталогов?

    @FluffyBeaver
    Get-ChildItem -Path 'путь' -Recursive | Where-Object -Property 'Name' -eq 'имя-папки' | Remove-Item -recursive -Force

    Пишу С телефона, может где опечатки...
    Ответ написан
    Комментировать
  • Как удалить все вхождения каталога в дереве каталогов?

    @NortheR73
    системный инженер
    Get-ChildItem -Path "your_path" -Directory -Recurse -Force | Where{$_.Name -eq "your_folder"} | Remove-Item -recurse -Force
    Ответ написан
    Комментировать
  • Как генерировать код в Visual Studio Code?


    Есть ли возможность разрабатывать свои подобные генераторы?

    Конечно есть. Это обычное консольное приложение, которое упаковано как dotnet global tool.

    А ещё есть source generators.

    А ещё можно писать шаблоны для dotnet new.

    Да и строго говоря T4 никуда не делись:
    https://github.com/mono/t4

    Даже в Rider не так давно завозили их поддержку.
    Ответ написан
    Комментировать
  • Как организовать l10n элементов UI на странице с помощью javascript?

    MoralGray
    @MoralGray
    Если нету бека, для хранения используй json-server. Там в формате .json опишешь для разных языков тексты.

    Подтягивай языки жсом.
    Храни текущий язык и саму дату.

    У элементов в html, где будет выводиться текст относительно языка дай всем дату аттрибут, что-то вроде: data-lang-key="some-key"

    В жсе сделай метод, который находит все эти даты атрибуты.
    По этим ключам сможешь найти текст из джсон файла.
    Ну и сможешь там же вставить этот текст. Т.к. текст уже есть и сам элемент тоже.
    Ответ написан
    2 комментария
  • Как в figma создать копию объекта на холсте с помощью скрипта?

    tank666
    @tank666
    Дизайнер, Figma-эксперт, автор плагинов для Figma.
    Небольшой пример:
    let clone = figma.currentPage.selection[0].clone();
    clone.x += clone.width + 40;

    Узнать больше о Plugin API ты можешь из документации для разработчиков: Figma Developers.
    Ответ написан
    1 комментарий