• Какую конфигурацию лучше использовать для гипервизора с многопользовательской рабочей станцией?

    @LuchS-lynx
    инженер-ПТО
    посмотрите в сторону ProxMox, полностью бесплатный, с веб-интерфейсом, позволяет делать бэкапы, работает как на серверном, так и на игровом железе, установил на свой рабочий ноут и пробросил ВК в ВМ... Под капотом Debian Linux + KVM, что будет точно быстрее Hyper-V.
    https://www.proxmox.com/en/

    https://pingvinus.ru/gallery/4067

    Эта опенсорс-платформа виртуализации, построенная на базе Debian, KVM, LXC, Ceph, давно зарекомендовала себя. Авторы, кстати, говорят о более чем полумиллионе хостов, где она развернута.

    https://habr.com/ru/post/589901/
    Ответ написан
    7 комментариев
  • Как хранить строку в виде байтов?

    @Akela_wolf
    Extreme Programmer
    Что-то я не понимаю чего вы хотите добиться. То что вы говорить - низкоуровневое программирование, для этого вам не нужен C#. Берите C/C++ и наслаждайтесь прямой работой с памятью.

    Вообще со строками есть два подхода. Первый использовал Pascal: в нулевом байте строки хранится её длина. Так как паскаль использовал однобайтную кодировку (ANSI), то этого было достаточно для хранения строк длиной до 255 байт. Вы, в принципе, можете использовать и 2 и 4 байта. И это неплохо работало.
    Второй подход - это подход из C++, когда строка заканчивается символом '\0' (zero-terminated string). Тут тоже есть свои тонкости, в основном связанные с тем, что при определении длины строки нужно помнить что '\0' не входит в её длину. Еще есть потенциальная ошибка, связанная с выходом за пределы строки и повреждением следующих за ней блоков памяти.

    Выбирайте - какой подход вам больше нравится.
    Ответ написан
    2 комментария
  • Почему транслятор ожидает указатель в моем коде?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Параметр функции int arr[],

    Но далее у вас arr[i][j]. Компилятор пытается взять индекс j, но перед ним же уже число. Вот он вам и говорит "начальника, индекс я у массива (указателя) взять могу, а тут число, непонятно".

    Вы обращаетесь с одномерным массивом, как будто бы он двумерный.
    Ответ написан
    Комментировать
  • Как сделать проверку на null?

    Вообще хз, как ты не додумался до самого простого - через if:
    string name;
    if(entity.Name == null)
    {
      name = "Name";
    }
    else
    {
      name = entity.Name;
    }
    DataModel dataModel = new DataModel()
    {
      Id = entity.Id,
      Name = name
    };
    // ...

    Но вообще есть вот такой синтаксис:
    new DataModel
    {
      Id = entity.Id,
      Name = entity?.Name ?? "Name"
    }

    Если нужно ещё обрабатывать пустоту, то самый короткий вариант будет как у freeExec
    Вот ссылки на документацию:
    string.IsNullOrEmpty: https://docs.microsoft.com/ru-ru/dotnet/api/system...
    Про ??: https://docs.microsoft.com/en-us/dotnet/csharp/lan...
    Про ?.: https://docs.microsoft.com/en-us/dotnet/csharp/lan...
    Ответ написан
    Комментировать
  • Стоит ли обновляться на Windows 11?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    переехал на устаревающем железе (десктоп)
    (адрес скрипта https://github.com/AveYo/MediaCreationTool.bat)
    доволен как слон - впечатлила экономия ресурсов (w10 была без кастраций, только свой легкий тюнинг для облегчения)
    основное применение компа:
    - кодинг VS (иногда и тяжелые проекты собираю, обычно это пересборка под себя опенсорсных серьезных либ)
    - WSL2 как приложение к пункту выше
    - БД, но не тяжелые, макеты к пп 1
    - активный вебсерф
    - ни каких игр

    ps к новым пуск/таскбар адаптировался легко и доволен. из тюнинга не хватает только вертикального таскбара. личные давние вкусы :)... но его и в 10 то мало кто использовал. так что это только примечание. вряд ли аргумент :)
    Ответ написан
    1 комментарий
  • Как реализовать union типы для action?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    Также как и всегда, в этом суть типов.
    Переданное значение может быть или одного типа или другого. И пока ты явно не проверишь через if какого же именно типа прилетело значение - использовать его нельзя.
    Ответ написан
  • Нужно ли везде использовать TypeScript? или это хайп?

    @Akela_wolf
    Extreme Programmer
    В пет-проектах вы можете использовать то что нравится лично вам. На то они и пет-проекты. Лично я обычно использую в пет-проектах то что хочу опробовать на практике, просто чтобы понять как с этим работать. В разное время это были Python, Typescript, Scala, Haskell, сейчас добрался до Kotlin Multiplatform.

    Если же говорить о целесообразности использования TypeScript - она есть. И начинает раскрываться на больших проектах, когда становится сложно уместить в голове все детали: что, где, и какого черта типа? Вот в таких случаях тайпскрипт и выручает. В том числе когда запутался в трех объектах и передал не тот тип - джаваскрипт свалится в рантайме (да и то может свалиться не всегда, а только когда звезды сойдутся), тайпскрипт не скомпилируется.

    Так что изучать этот язык на мой взгляд стоит. Использовать ли его в игрушечных проектах, не будет ли он там overkill - решать вам.
    Ответ написан
    Комментировать
  • Как принято шарить *.proto файлы между командами?

    @Akela_wolf
    Extreme Programmer
    В дополнение к ответу Василий Банников
    Сложить файлы *.proto в отдельный репозиторий и настроить CI чтобы он по этим файлам генерил артефакты для Go и nodejs (и складывал их в репозиторий артефактов, для npm и что там у го в качестве менеджера пакетов). А в проектах добавить зависимости от этих артефактов и, таким образом, избавиться от необходимости иметь сами *.proto файлы в проектах.
    Ответ написан
    4 комментария
  • Как создать контейнер приложения, которое развернуто?

    @rPman
    в общем случае это невозможно
    docker файл это список команд, которые необходимо выполнить на 'нулевой системе' чтобы приложение заработало

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

    в некоторых случаях, пакетный менеджер linux предлагает вполне законченное описание того что нужно для того чтобы приложение заработало, к сожалению в реальности не все так просто, не все приложения корректно описаны, а для некоторых требуется ручная первоначальная настройка
    Ответ написан
    2 комментария
  • Языки, похожие на F# и Rust?

    Haskell, Ocaml, ML, Swift, Crystal, Idris
    ML из них самый старый, и языки, которые имеют схожие моменты с ним, называются ML-подобными.
    Ответ написан
    Комментировать
  • Почему 0.2f + 0.3f == 0.5f?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    0.2 = 1.100110011001100110011012 * 2-3
    0.3 = 1.001100110011001100110102 * 2-2
    Приводим к старшей степени, сохраняя количество двоичных разрядов.
    0.2 = 0.110011001100110011001102 * 2-2
    Складываем, получаем
    0.110011001100110011001102 * 2-2
    +
    1.001100110011001100110102 * 2-2
    =
    10.00000000000000000000002 * 2-2
    = 1.0000000000000000000002 * 2-1 = 0.5
    Ответ написан
    Комментировать
  • Как сделать свой сервер для своего сайта у себя дома?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Установить на ПК любой web-сервер, настроить его на раздачу нужных вам файлов, купить белый IP-адрес у провайдера, настроить проброс 80-го порта на домашнем маршрутизаторе, купить доменное имя у любого регистратора и прописать в A-запись доменной зоны ваш белый IP.
    Ответ написан
    Комментировать
  • Как испольовать npm link?

    bingo347
    @bingo347
    Crazy on performance...
    https://docs.npmjs.com/cli/v7/commands/npm-link#sy...
    Пример в самом начале.
    Суть в том, что npm link нужно использовать 2 раза, сначала в папке линкуемого пакета без параметров, потом в папке куда линкуем с именем линкуемого пакета из его package.json

    Но вообще это инструмент для отладки, а для Ваших целей лучше просто отдать webpack абсолютный путь до файла с лоадером, который проще всего получить через require.resolve
    Ответ написан
    1 комментарий
  • Работа с огромным количеством файлов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    bash отлично справится

    find . -name "file.ext" | xargs -n 10 -P 10 "phraze"
    Ответ написан
    Комментировать
  • Верно ли это утверждение?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Добавлю к пессимизму.
    Верно ли это утверждение? 59 минут назад
    Сломался WordPress Кто поможет? 14 окт.
    Почему так произошло Опенкарт? 06 июл.
    Стоит ли учить Python по книгам? более года назад
    Как двигаться в гейм дев? более года назад
    Как начать путь в сферу game дизайна? более года назад
    Не получается верстать самостоятельно. Как преодолеть это? более года назад


    Этот список говорит нам открытым текстом, что увлекаетесь вы не программированием, а "вайти".
    Ой, геймдев! Ой нет, Питон! А, нет - вёрстка! Ну и понятное дело что всё кончилось вордпрессом.

    Люди, которые действительно увлекаются программированием, не задают вопросов, "стоит ли учиться по книгам". и "как войти вайти". Они учатся. И входят.

    Есть очень большая вероятность, что программирование - это не ваше призвание. А интересуетесь вы им только из-за хайпа. В этом нет ничего плохого. Надо просто найти дело, к которому действительно лежит душа.
    Ответ написан
    2 комментария
  • Многократное использование len() или кеширование в переменную?

    С помощью этой штуки можно посмотреть, во что это компилируется: https://github.com/badamczewski/PowerUp

    Но вообще len должен просто возвращать длину слайса, которая записана в поле, по тому большой разницы не будет.
    Если у тебя действительно, внутри цикла не может измениться слайс - можно закэшировать.
    Если может измениться - кэшировать не следует.
    Ответ написан
    3 комментария
  • Обьясните правда ли эти 2 процессоры очень разные по мощности?

    xez
    @xez
    TL Junior Roo
    Процессор - слишком сложная штука для того чтобы делать вывод о его производительности только по количеству ядер и его частоте.
    До пентиума 4, включительно, все было довольно просто: чем больше мегагерц (а потом гигагерц) - тем процессор быстрее. С тех пор прошло уже 20 лет, кстати.
    У Pentium 4EE частота была уже 3.8Ghz и стало как-то понятно, что дальнейшее ее повышение не дает такого сильного прироста к производительности, как и раньше, да и "стоит" значительно дороже. Поэтому производители начали наращивать количество ядер, увеличивать объем кеш-памяти, и, самое главное, улучшать микроархитектуру (микроархитектуру, вобщем-то, они и так всегда улучшали).

    Вот скриншот из AIDA64:
    61c039d0a31d3774198992.png

    Можно заметить, что частоты у процессоров не слишком то коррелируют с их производительностью.

    Поэтому и существуют многочисленные тесты и бенчмарки, по которым можно понять реальную производительность конкретного процессора в конкретной задаче.
    И да, видимо, i5-2500K быстрее чем Athlon II X4 650
    Ответ написан
    Комментировать
  • Как добавить определённое количество пустых строк в бд?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Никакие "пустые строки" в БД не добавляют. Это не тетрадка в клеточку.
    Она работает по-другому.
    Строки добавляют сразу заполненные, когда нужно.
    Ответ написан
    Комментировать
  • Есть ли в c++ стандартная функция для обхода директорий под винду?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    filesystem
    Важно!

    в выпуске Visual Studio 2017 заголовок еще не является стандартом C++. C++ в Visual Studio 2017 RTW реализует окончательный черновой стандарт, который находится в стандарте ISO/IEC JTC 1/SC 22/WG 21 N4100.
    Ответ написан
    Комментировать
  • Сохранится ли активация если переустановить Windows?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Проверьте, есть ли у вас цифровая лицензия для Windows. Она появляется как результат активации через интернет и её наличие должно быть указано в Параметрах на странице Активация.
    Цифровая лицензия привязывается к параметрам железа компьютера (кроме периферии и дисков). При переустановке она подхватывается при первом же обращении в интернет и таким образом возобновляется, активировать заново не требуется (конечно, только если серьёзных изменений в железе не произошло, т.е. если компьютер реально тот же самый).
    О том, что этот механизм нормально работает, я не раз убеждался на практике.
    Ответ написан
    2 комментария