Задать вопрос
  • Какие принципы нужно соблюдать при разработке фреймворков по типу Bootstrap/Tabler, UIKit и прочих?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Те же самые, как и при разработке любого другого ПО: планирование, декомпозиция, модульность, документация, а так же фокусировка на достижении приоритетных целей. Определитесь сначала с проблемами, которые вы хотите решить с помощью данного фреймворка и уже от этого отталкивайтесь. Описываете проблему, ограничения, требования - далее ищите возможные решения, выбираете оптимальное и проектируете уже более конкретно. Постановка задачи -> техническое задание -> частное техническое задание -> проект -> декомпозированный и проработанный проект -> реализация. Примерно так.
    Ответ написан
    Комментировать
  • Комфортно ли работать с текстом и кодом за большими и изогнутыми мониторами?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, вполне комфортно. И даже с 43" плоским монитором вполне комфортно, а к небольшому искажению картинки на краях привыкаешь быстро и никаких проблем не возникает. Естественно большой стол и комфортная посадка на достаточном расстоянии от монитора обязаны быть. Для 43" - около метра. А вот для мониторов больше 43" надо либо ещё дальше сидеть и вешать монитор на стену и кронштейн, а стол отодвигать от стены - либо брать изогнутый. Изогнутых мониторов 43" - крайне мало, а большего размера - ещё меньше. Например 55" Samsung Odyssey Ark G97NC - но там матрица VA (так-то матрица неплоха, да и самсунг - но всё равно IPS/OLDE будет лучше). В общем, рекомендую брать большой экран, минимум 32" - это очень удобно. Особенно для разработчика. И кино смотреть тоже очень комфортно именно на большом экране.

    Альтернативное решение: несколько мониторов - два или три одинаковых. Или один большой и один-два меньше или вертикально ориентированных - главное, чтобы матрицы одинаковые были и в цветопередаче и пискелях не было перекосов. Для разработчика - несколько мониторов однозначно удобное и практичное решение. Я бы рекомендовал три одинаковых полукругом. Сверхширокоформатные лично мне не нравятся - уж лучше три в ряд, хоть и с рамками.

    В целом же при работе с текстом важно разрешение экрана и частота развёртки. 4к и 120герц - крайне желательны. Размер - от 32". Смысла в мониторе меньшего размера не вижу. Рекомендую сходить в шоурум (например) или любой магазин и посмотреть своими глазами, а так же почитать статьи и обзоры. Матрица - IPS или OLED/QD-OLED. Вот тут хороший разбор всех технологий по мониторам: https://habr.com/ru/articles/687782/
    Ответ написан
    2 комментария
  • Почему скачет пинг?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вот поэтому:
    Сижу через WIFI

    WiFi - не для онлайн игрушек. Слишком перегруженный радиоэфир и куча помех от разной электроники. Подключайтесь кабелем для стабильной связи.
    Ставьте на мобилу какой-нибудь Wifi Analyzer и смотрите нагруженность вашего эфира, можно место поменять, канал, переставить ротуер ближе или добавить ретранслятор.
    Ответ написан
  • Как мониторить программу в Windows?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Например Zabbix, Munin, Grafana + Prometheus.
    Ответ написан
    2 комментария
  • Что произойдет с кабелем usb 3.0 если в нем будет оборвана жила? Он опустится до 2.0 или в принципе откажется работать?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Зависит от того, какая именно жила - там их целый пучок. Если раньше диск определялся как 3.0, а теперь как 2.0 - то да, такое вполне возможно. Замените кабель и проверьте результат.
    Ответ написан
    Комментировать
  • Есть проблемка с symlinks... Как деплоить с минимальным downtime?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    1. Деплой в каталог по номеру выполняемой задачи
    2. Выполнить скрипты подготовки деплоя приложения
    3. Удалить симлинк на текущую версию проекта
    4. Создать новый симлинк на свежую версию
    5. Выполнить скрипты завершения деплоя приложения

    А если запустить два-три инстанса приложения - то можно их обновлять по очереди и без полной остановки проекта. Само собой если в коде проекта допускается работа в несколько инстансов.
    Ну и если что-то пойдёт не так - можно быстро откатить версию.
    Ответ написан
  • Как два монитора подключить к одному пк и переключать их на второй пк?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Есть, называется KVM свитч - их полно всяких разных. Если надо 4к - вот тут уже выбор небольшой и надо смотреть обзоры и статьи по конкретным моделям.
    Ответ написан
    Комментировать
  • Существует ли USB клавиатура-NumPad игнорирующая состояние NumLock?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Программное решение для винды:
    1. Скачиваете KeyTweak / RemapKeyboard (или любой аналог для переназначения клавиш)
    2. Переназначаете цифры на нампаде на обычные цифры
    3. Перезагружаете ПК
    Ответ написан
    4 комментария
  • Как подключить два или более монитора к macbook m1?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Только через специальную док-станцию с дополнительным видеоконтроллёром, т.к. Air и Pro M1 поддерживают только один внешний монитор. В характеристиках этот момент, кстати, указан. Или ещё можно подключить iPad вторым монитором.
    UPD. Модели док-станций: Dell d6000 (спасибо SirVantuz)
    Ответ написан
  • Можно ли получить значение свойства, прототип которого помечен в интерфейсе атрибутом?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    using System.Reflection;
    
    namespace ConsoleAppTest
    {
        public static class Program
        {
            private static void Main(string[] args)
            {
                Test obj = new() { Prop1 = "Prop1 Value" };
                // Получаем тип объекта
                Type objType = typeof(Test);
                // Получаем список интерфейсов
                Type[] interfaces = objType.GetInterfaces();
                foreach (Type iface in interfaces)
                {
                    // Получаем список свойств интерфейса
                    PropertyInfo[] ifaceProperties = iface.GetProperties();
                    foreach (PropertyInfo prop in ifaceProperties)
                    {
                        // Ищем нужный аттрибут в свойстве
                        Attribute? attribute = prop.GetCustomAttribute<TestAttribute>();
                        if (attribute != null)
                        {
                            // Получаем значение свойства
                            object? propValue = prop.GetValue(obj); // -> Prop1 Value
                        }
                    }
                }
            }
        }
        
        [AttributeUsage(AttributeTargets.Property)]
        public sealed class TestAttribute : Attribute
        { }
    
        internal sealed class Test : ITest
        {
            public string Prop1 { get; set; } = string.Empty;
        }
    
        internal interface ITest
        {
            [Test]
            public string Prop1 { get; set; }
        }
    }
    Ответ написан
  • Можно как то улучшить сигнал мобильного интернета где работают глушилки?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Если кратко и упрощённо: разве что можно попробовать более дорой девайс с более чувствительным приёмником, более мощным передатчиком и более узконаправленной антенной, а так же более качественными усилителем и фильтрами помех. Топ - усилитель непосредственно в антенне, а из него уже идёт ethernet кабель в дом в роутер. Сделать что-то ещё вряд ли получится просто потому что мощность гражданских радиоустройств ограничена законодательно. А у военных устройств - нет. Так что глушиться будет всё равно: более дорогой девайс может лучше поймает сигнал, а может нет. Ну и более чувствительный приёмник точно так же и помехи поймает лучше.
    Ответ написан
    4 комментария
  • Как учить понять школьную геометрию?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Старые советские учебники вам вам в помощь. Есть учебники, где всё достаточно просто расписано и объяснено - ищите в гугле по отзывам. Года - пятидесятые, примерно. Может есть и более свежие адекватные издания.
    Ответ написан
    Комментировать
  • VirtualBox: VMDK, VDI, VHD - какой формат дисков лучше и стабильнее?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Загрузилась Windows 10 и я открыл Disk Management, нашел свой диск и выполнил команду Extend Volume.....и все.....виртуалка упала.

    Собственно, с форматом дисков и виртуалбоксом данная проблема никак не связана - это вполне обычная работа встроенного в винду менеджера дисков. Используйте загрузочный образ GParted или Акронис ДД для управления дисками. И никогда не используйте виндовое управление дисками без предварительного полного бэкапа в виде образа диска. А лучше вообще не используйте его.

    Стоит ли разбивать образ диска на части?

    Если вам нужно и удобно - разбивайте. Ни разу не пригодилось. Использую стандартный родной формат и qcow2 для портативных машин.
    Ответ написан
    Комментировать
  • Как/где настроить второй монитор от сброса параметров?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Это очень старый глюк рабочего стола винды, когда при изменении разрешения или конфигурации мониторов все значки на рабочем столе перемешиваются и получается бардак, а в некоторых случаях даже и возврат обратно на предыдущую конфигурацию не помогает. Используйте сторонние утилиты типа DesktopOK для частичного исправления этой проблемы.
    UPD: для восстановления положения окон следует использовать стороннее ПО для управление окнами. В винде нету встроенного функционала для этого.
    Ответ написан
    8 комментариев
  • Есть ли какой-нибудь заменитель pattern matching в Javascript/ECMAScript?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Если хочется больше синтаксического сахара и читабельности - посмотрите в сторону CoffeeScript.
    Ответ написан
    2 комментария
  • Как упростить и убыстрить процесс переноса правок с docker на прод?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    То, что вам нужно называется "автоматизация доставки и развёртывания". CI/CD и прочее. На вашем сервере один раз настраиваете деплой с гит-репозитория и далее просто вносите ваши изменения в репозиторий, а дальше по скрипту всё само задеплоится. Только не забудьте настроить и отладить процесс отката изменений на любую другую версию.
    Ответ написан
    4 комментария
  • Какие нужны знания для работы в провайдере тех поддержке l2?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Инструкция по выполнению рабочих обязанностей на вашем рабочем месте.
    Ответ написан
    2 комментария
  • Как реализовать на C# интерфейс программы не просто кнопки на wpf или winForms?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    WPF/MAUI позволяет рисовать любые интерфейсы с любыми эффектами. Да, можно кинуть элемент на форму, но возможности формошлёпа ограничены, поэтому обычно пишут кодом, а формошлёпы полезны для прототипов и нубов. В WPF/MAUI стандарт - MVVM паттерн и плюс ещё несколько других вариантов есть. На хабре поищите статьи про него и библиотеку Prism (рекомендую) - там есть очень хорошие и подробные статьи. Интерфейс описывается с помощью XML, а именно - XAML. Да, оно не идеально, для маленьких проектов не очень практично, хоть и вполне применимо. А вот в средних и больших/сложных проектах - отличное решение, особенно в команде.

    WinForms сегодня имеет смысл использовать только если вам нужна поддержка специфических функций, Windows XP или просто хотите по-быстрому наформошлёпить что-то маленькое и одноразовое. В остальном признано устаревшей технологией и применяется только как дополнение или костыль для исправления костылей WPF. Да, в WPF тоже есть костыли и они очень хорошо чувствуются и с которыми приходится бороться (например невозможность абсолютно точного позиционирования WPF окна на мультимониторной конфигурации из-за костылей в механизмах DPI винды и WPF).

    Ну и плюс отдельного упоминания заслуживают альтернативные UI библиотеки и фреймворки типа Avalonia, Uno и иже с ними.

    Вот вам несколько реальных примеров реализации дизайнерских интерфейсов:
    WPF custom GUI
    900181ba79.png
    2791f5a63c.png
    71ab1f8462.png

    Вот тут можно посмотреть исходный код небольшого проекта с использованием паттерна MVVM: https://github.com/VoidVolker/LockScreen (тут уже интерфейс максимально простой). Несмотря на то, что само приложение на WPF, окно с картинкой пришлось делать на WinForms из-за костыльного DPI в современных виндах и, особенно в WPF. Аналогично пришлось поступать и в приложении со встроенным RDP клиентом - там всё ещё веселее в виде взаимного встраивания WPF и WinForms друг в друга и разделения на несколько проектов для создания работающих зависимостей от системных библиотек - спасибо LibMSTSC и мелкомягким за очень весёлые приключения.
    Ответ написан
  • Очень странно зависает экран что делать?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Возврат на десятку - оптимальный вариант решения проблем, раз там всё отлично работало. А если есть время и хочется приключений - можно попробовать поковырять винду один-один. Для начала - попробовать откатить версию видеодрайвера на более старую. Последние версии зелёных дров несколько глючные и есть много жалоб на них. Так же имеет смысл проверить остальные дрова. Если не поможет - диагностировать железо: диски, память, проц, видео, температуры и прочее. Фризы или полное зависание в системе в любое время характерны при неисправности диска.
    Ответ написан
    Комментировать
  • Какой компилятор выбрать для указанной задачи?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Спокойно ставьте студию и пишите код на ваших плюсах. Там всё из коробки работает вполне нормально. Любые дополнительные библиотеки и внешние зависимости спокойно пакуются в одну кучу. Если, они конечно использовались. А вот если есть время и хотите приключений - то можете искать и ставить что угодно другое. Вариантов миллион - от банального асма до MinGW какого-нибудь с разработкой и кросс-сборкой в линуксе (рекомендую, кстати - очень интересный и занимательный процесс, так-то).
    Ответ написан
    Комментировать