Задать вопрос
  • Заполнить динамически экземпляр list?

    ну вообще не красивый код, но если прям очень нужно, то пиши так:
    var employeeList = objListList[0].Select(x=>x as Employee).ToList();

    Каст необходим, тк у тебя лист из объектов
    Ответ написан
  • Как заставить программу использовать CPU только по мере небходимости?

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

    Это данность.

    Если расскажешь, зачем тебе пустой цикл - мб кто-то подскажет, как его исправить.
    Ответ написан
  • Возможно ли отличить мобильные прокси от обычных IP?

    В общем случае - нет.
    Но вы можете кинуть в бан все публичные прокси, и использовать какой-нибудь антифрод, если для вас это критично. Добавить капчу, в случае подозрительной активности (например показывать пользователю капчу, если он хочет поставить "лайк" на "пост", который подозрительно активно лайкают в последнее время)
    Ответ написан
  • Будет ли сайт нарушать авторские права, если на веб-сервере будет просто лежать аудиофайл к-н исполнителя, при этом ссылок нигде нет?

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

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

    Да, если у вас нет прав на распространение.

    Будут ли от этого какие-либо последствия - зависит.
    Ответ написан
    Комментировать
  • Какая самая быстрая проверка на null?

    Я проверил на 10 млн объектов и получилось что foo is null в 20 раз быстрее чем foo == null. Поэтому и интересно какой способ самый быстрый.

    Вы же в курсе, как нужно проводить тесты на производительность ?)
    foo == null, foo is null, ReferenceEquals(foo, null) - все они компилируются в одно и то же, по тому разницы никакой нет.
    Пояснение

    Вот код:
    public class Benchmark
    {
        private static readonly object? Obj = new();
        [Benchmark]
        public bool EqualityOperator() => Obj == null;
        [Benchmark]
        public bool PatternMatching() => Obj is null;
        [Benchmark] public bool ComplexPatterMatching() => Obj is not { };
        [Benchmark] public bool ConstantReturn() => false;
        [Benchmark] public bool EqualsCall() => Obj!.Equals(null);
        [Benchmark] public bool ReferenceEqualsCall() => ReferenceEquals(Obj, null);
    }

    Вот IL:
    .method public hidebysig instance bool
        EqualityOperator() cil managed
      {
        .custom instance void [BenchmarkDotNet.Annotations]BenchmarkDotNet.Attributes.BenchmarkAttribute::.ctor()
          = (01 00 00 00 )
        .maxstack 8
    
        // [10 39 - 10 50]
        IL_0000: ldsfld       object Benchmark::Obj
        IL_0005: ldnull
        IL_0006: ceq
        IL_0008: ret
    
      } // end of method Benchmark::EqualityOperator
    
      .method public hidebysig instance bool
        PatternMatching() cil managed
      {
        .custom instance void [BenchmarkDotNet.Annotations]BenchmarkDotNet.Attributes.BenchmarkAttribute::.ctor()
          = (01 00 00 00 )
        .maxstack 8
    
        // [12 38 - 12 49]
        IL_0000: ldsfld       object Benchmark::Obj
        IL_0005: ldnull
        IL_0006: ceq
        IL_0008: ret
    
      } // end of method Benchmark::PatternMatching
    
      .method public hidebysig instance bool
        ComplexPatterMatching() cil managed
      {
        .custom instance void [BenchmarkDotNet.Annotations]BenchmarkDotNet.Attributes.BenchmarkAttribute::.ctor()
          = (01 00 00 00 )
        .maxstack 8
    
        // [13 56 - 13 70]
        IL_0000: ldsfld       object Benchmark::Obj
        IL_0005: ldnull
        IL_0006: cgt.un
        IL_0008: ldc.i4.0
        IL_0009: ceq
        IL_000b: ret
    
      } // end of method Benchmark::ComplexPatterMatching
    
      .method public hidebysig instance bool
        EqualsCall() cil managed
      {
        .custom instance void [BenchmarkDotNet.Annotations]BenchmarkDotNet.Attributes.BenchmarkAttribute::.ctor()
          = (01 00 00 00 )
        .maxstack 8
    
        // [15 45 - 15 62]
        IL_0000: ldsfld       object Benchmark::Obj
        IL_0005: ldnull
        IL_0006: callvirt     instance bool [System.Runtime]System.Object::Equals(object)
        IL_000b: ret
    
      } // end of method Benchmark::EqualsCall
    
      .method public hidebysig instance bool
        ReferenceEqualsCall() cil managed
      {
        .custom instance void [BenchmarkDotNet.Annotations]BenchmarkDotNet.Attributes.BenchmarkAttribute::.ctor()
          = (01 00 00 00 )
        .maxstack 8
    
        // [16 54 - 16 80]
        IL_0000: ldsfld       object Benchmark::Obj
        IL_0005: ldnull
        IL_0006: ceq
        IL_0008: ret
    
      } // end of method Benchmark::ReferenceEqualsCall

    Тоесть в теории всё должно быть одинаково, кроме ReferenceEquals и ComplexPatternMatching. Но есть же ещё JIT и PGO. (надеюсь, что они не испортят результаты теста, и не превратят сравнение в константу)
    Блин, таки превратил в константу

    |                Method |      Mean |     Error |    StdDev |    Median |
    |---------------------- |----------:|----------:|----------:|----------:|
    |      EqualityOperator | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.0000 ns |
    |       PatternMatching | 0.0300 ns | 0.0164 ns | 0.0145 ns | 0.0271 ns |
    | ComplexPatterMatching | 0.0401 ns | 0.0327 ns | 0.0376 ns | 0.0267 ns |
    |        ConstantReturn | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.0000 ns |
    |            EqualsCall | 1.3787 ns | 0.0437 ns | 0.0409 ns | 1.3770 ns |
    |   ReferenceEqualsCall | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.0000 ns |


    Вот нормальный результат бенчмарка после засовывания поля в свойство и запрета на инлайнинг и оптимизацию этого свойства:
    |                Method |      Mean |     Error |    StdDev |
    |---------------------- |----------:|----------:|----------:|
    |      EqualityOperator | 2.5751 ns | 0.0062 ns | 0.0049 ns |
    |       PatternMatching | 2.5682 ns | 0.0073 ns | 0.0065 ns |
    | ComplexPatterMatching | 2.6456 ns | 0.0744 ns | 0.0696 ns |
    |        ConstantReturn | 0.0065 ns | 0.0044 ns | 0.0035 ns |
    |            EqualsCall | 4.6958 ns | 0.0337 ns | 0.0282 ns |
    |   ReferenceEqualsCall | 2.9525 ns | 0.0667 ns | 0.0557 ns |

    Тоесть все различия на уровне погрешности.
    А вот и JITAsm: sharplab


    PS: результаты бенчмарка не актуальны для Nullable, но там должно быть аналогично - только ReferenceEquals не стоит звать, и хз что будет при is not {}
    Так что я бы использовал is null либо == null
    PPS: если используется юнити - то там тоже не очень актуально, тк в юнити другой JIT, нет PGO, да и вообще может использовать IL2CPP
    PPPS: тут ещё подсказывают, что == может иметь неожиданное поведение из-за перегрузок операторов.
    Ответ написан
    6 комментариев
  • Почему возвращает Promise { }?

    Что-то ты намудрил

    const fetch = require("node-fetch");
    async function gen() {
        await fetch("https://www.reddit.com/r/memes/hot/.json?count=100")
            .then(res => res.json())
            .then(json => {
                let postID =
                    json.data.children[
                        Math.floor(Math.random() * json.data.children.length)
                    ];
                result = {
                    image: postID.data.url,
                    category: postID.data.link_flair_text,
                    caption: postID.data.title,
                    permalink: postID.data.permalink
                };
            });
        return result;
    };
    console.log(gen())


    Попробуй так:
    const fetch = require("node-fetch");
    
    async function gen() {
      const response = await fetch("https://www.reddit.com/r/memes/hot/.json?count=100");
      const json = await response.json();
      const post = json.data.children[Math.floor(Math.random() * json.data.children.length)];
      return {
            image: post.data.url,
            category: post.data.link_flair_text,
            caption: post.data.title,
            permalink: post.data.permalink
          };
    }
    
    gen().then(x=>console.log(x));
    Ответ написан
  • Какая программа под WINDOWS Умеет создавать архив по SFTP на Сервере и выгружать?

    По SFTP ты не сможешь ничего заархивировать, тк протокол просто не позволяет такого.
    Используй ssh и bash скрипты, чтобы заархивировать, а потом что угодно, чтобы скачать получившийся архив.
    Ответ написан
    Комментировать
  • Как стать разработчиком? Есть ли вузы связанные с разработкой?

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

    Может я что-то не понимаю, но в чём смысл после получения ВО получать ещё одно ВО за границей?
    Если хочется за границей - ищи ВУЗы за границей и поступай в них. Вроде в Эстонии, Чехии, и Германии есть варианты получения высшего образования бесплатно даже для иностранцев, даже со стипендией.

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

    Теоретически - любой с поддержкой аппаратной виртуализации.
    Смотри чтобы в характеристиках было AMD-V (в случае AMD) или Intel VT или Intel VT-x (в случае Intel).
    Это практически все современные процессоры, даже супер бюджетные, даже atom 2013 года https://www.intel.ru/content/www/ru/ru/products/sk...

    На практике - смотри на требования своих тестовых виртуалок, чтобы тебе хватило и ОЗУ, и ядер.
    Ответ написан
    Комментировать
  • Где взять/купить официальную библиотеку компонентов Material Design?

    И мне этот же самый фронтэндер выдал такую инфу, что этот kit платный.

    Ну пусть тогда аргументирует это в виде ссылки.

    Для фигмы вот kit: https://www.figma.com/community/file/1035203688168...
    Бесплатный

    PS:
    Если у вас кто-то что-то просит, то лучше задавайте все уточняющие вопросы сразу ему, а не пытайтесь додумать, или узнать в интернете.
    Иначе получится как с глухим телефоном.
    Ответ написан
    1 комментарий
  • Как хранить переменную в сети c#(unity)?

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

    PS: Абстрактный вопрос = абстрактный ответ.

    PPS: Посмотрел на твои предыдущие вопросы: раз уже знаком с Flask, то почему бы не сделать на нём апишку и какой-нибудь базой данных?
    А на стороне юнити делать запросы через HttpClient
    Ответ написан
    Комментировать
  • Какое лучшее и удобное gui приложение для Ruby вы можете посоветовать?

    Посмотри на libui: https://github.com/kojix2/LibUI
    Shoes я бы не стал брать, тк он уже 3 года никакой поддержки не имеет.
    Ответ написан
  • Тестирование больших vue приложений?

    а как тестировать крупные приложения?

    Да точно также.

    Как понять, что именно мне нужно покрыть тестами?

    Этот вопрос решает тест-анализ.
    Как за минимальное количество прогонов узнать как можно больше о состоянии приложения, и чтобы это принесло как можно больше пользы.

    Ведь по логике нужный каждый кусок покрывать, чтобы быть на 100% уверенным в этом коде?

    Да, но полное покрытие - это очень дорого, и часто не оправдано.

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

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

    А vue тут ни при чём.
    Ответ написан
    3 комментария
  • Зачем 2 Microsoft Visual C++, x86 И x64?

    x86 приложения не могут потреблять библиотеки от x64 и наоборот.
    По тому и есть сразу два варианта
    Ответ написан
    Комментировать
  • Авторизация пользователя по устройству(смартфону)?

    Это крайне не секурно, тк без аутентификации невозможно убедиться, что это именно тот девайс, который заявлен.
    Посмотри в сторону SSO и доменной аутентификации (через Active Directory)
    Ответ написан
    Комментировать
  • Чем отличается язык программирования?

    Могу ли я использовать свой опыт C# .NETFramework 4.8 в остальных реализациях?

    Да. Хотя не уверен, что у тебя есть какой-то значимый опыт, судя по вопросам.
    В интернете есть 3 версии языка программирования

    Версии самого C# идут от 1 до 10, включая ещё дробные 7.1 и 7.2
    А ты перечислил разные версии конкретных реализаций рантайма (mono, netcore, .net framework)
    Да и вообще сейчас актуальная - .NET 6 (без слова "framework")
    Ответ написан
    Комментировать
  • Какие существуют протоколы удаленного рабочего стола?

    Как например реализуются системы стриминга? (Тот же Parsec и GFN)

    При помощи протоколов собственной разработки, в чём можно убедиться, если сравнить качество связи и картинки у разных сервисов.
    Тут есть две задачи:
    С минимальной задержкой передать данные об управлении
    Также с минимальной задержкой, но и с минимальным трафиком передать картинку, но желательно без артефакторв сжатия, и хотябы в 30 кадров в секунду.
    Обе задачи решаются по разному, по тому, скорее всего, используется сразу два протокола
    Ответ написан
  • Опасно ли иметь дело с рекламной сетью от Yodo1 Games?

    Каким образом они могут упереть игру?
    Интеграция SDK не подразумевает передачу каких-либо прав, исходников, или доступов к магазинам приложений.

    When you integrate the MAS SDK, you import its SDK library file into your project so you can use its functions.
    Integrating the MAS SDK into your mobile app project gives you access to MAS’ fully managed monetization solution. This solution taps into multiple ad mediation platforms, and selects the one best suited for your game. Monetizing through high quality ad networks that serve in-app ads follows.

    You need to integrate the MAS SDK before you can start monetizing your app.


    Как быть ? чё делать ?

    Ну что как маленький - никогда консультанты в магазине чтоли не подходили? Никогда спам на почту не получал?
    Если нужны их услуги - соглашайся. Не нужны - не соглашайся (просто проигнорируй)
    Ответ написан
    4 комментария
  • Как работает dispose в c#?

    Нужно ли явно реализовывать логику уничтожения объекта?

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

    IDisposable необходим только тогда, когда ты используешь какие-нибудь внешние ресурсы, например файлы, сокеты, мутексы, и прочее.
    Ответ написан
    Комментировать