Задать вопрос
  • Статьи из вебархива?

    Добрый день,можно ли взять статьи с вебархива?

    Да
    может ли быть проблемы?

    Да, если автор не давал согласия на копирование своей статьи
    Ответ написан
    Комментировать
  • Открылось 4-5 вкладок в браузере и перезагрузился ноутбук. Взломали?

    Вообще, если перейти по последней ссылке, то можно найти объяснение - да, тебя действительно взломали, через недавно открытыю уязвимость в log4j, пока ты играл в майнкрафт.
    https://vk.com/kolya5544?w=wall127172472_3706%2Fall

    Вот подробнее про то, как обезопасить себя:
    https://habr.com/ru/news/t/594751/

    Ну и ещё советую перейти на лицензионную версию, чтобы регулярно получать обновления (предположу, что в Minecraft её уже исправили)
    Ответ написан
    Комментировать
  • Что из себя представляет интернет соединение?

    Мой ответ - нет, это не "непрерывный поток" а просто некоторое состояние, которое зафиксировано в узлах сети.
    Это состояние меняется с каждым отправленным блоком данных. Сами эти блоки данных кодируются определённым образом и передаются через какой-то физический канал.
    На уровне сети - это вполне дискретные сообщения.
    На физическом уровне - это непрерывный поток из сигналов, но не обязательно, тк есть IP over Avian carriers
    img7.jpg
    Смотрим по уровням:
    • Прикладной - тут будет HTTP и прочие прикладные протоколы. Это не совсем интернет, так что пропускаем.
    • Транспортный - TCP и UDP. Так что их тоже пропускаем, тк в "интернете" используются оба.
    • Сетевой - IP и прочие - как раз на этом уровне происходит обмен полезными данными в интернете. Тут нет "непрерывного потока", и как правило общение происходит в виде "фреймов" и "сообщений" с определённым набором полей.
    • Физический - тут всё очень зависит от физической реализации сети


    PS: Но при этом, с точки зрения программы на ПК, TCP-соединение может выглядеть как непрерывный поток байт, но это всё зависит от абстракций.
    Ответ написан
    Комментировать
  • Что делать, если зарубежный работодатель кинет на зарплату (работа в сфере IT)?

    Первое что выдал гугл:
    https://advokat-osherov.ru/blog/kak-podat-v-sud-na...

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

    Очень часто - шанс получить деньги мал, либо потребует потратить на судебный процесс денег и времени больше, чем вам должны
    Ответ написан
    Комментировать
  • Стоит ли постоянно использовать css файлы для стилей в React?

    Почему нет? Многие так делают.
    Правда я бы лучше посмотрел в сторону scss

    Из за ошибок зависимостей не смог установить Radium

    Ну тут бы следовало разобраться с этими ошибками, но ладно.
    Ответ написан
    Комментировать
  • Есть ли сервисы для приблизительного анализа дохода сайта?

    vabka
    @vabka Куратор тега Веб-разработка
    То что вы называете сайтом - это целый бизнес, который оказывает некие свои услуги при помощи сайта.
    Так что в автоматическом режиме, зная только адрес сайта - посчитать реальный доход невозможно, тк вы не знаете ни среднего чека, ни конверсии (в случае магазина), и не можете знать, как клиент пользуется сайтом (сколько времени и как часто), если это какой-то контентный сайт.
    Ответ написан
  • Заполнить динамически экземпляр 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 комментария