Задать вопрос
  • Что делать со слабым процессором и с мощной видеокартой?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, можно: достаточно снизить настройки игры и тормозить перестанет.
    Ответ написан
    Комментировать
  • На каком сервисе можно разместить БД?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    а) Либо разобраться с проблемой периодической нагрузки — раз некогда, то наймите человека, который сделает эту работу за Вас.
    б) Либо платите за лишнюю нагрузку.
    Кроме того, БД надо размещать территориально рядом с основным сервером — т.е. в том же ЦОДе. Иначе сайт/приложение будет работать заметно или очень медленно.
    Ответ написан
    4 комментария
  • Есть вакансии вообще по ускорению сайта?

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

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Тут два варианта: создать статический класс и в нем ссылку на экземпляр класса для работы с устройством и второй вариант — просто передавать требуемый класс в параметрах конструктора каждой VM.
    Ответ написан
    4 комментария
  • Что эффективнее - один большой php файл или много маленьких в шаблонах?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Эффективнее провести нагрузочное тестирование с логированием времени обработки запросов и ключевых этапов обработки каждого запроса. Затем по итогам анализа логов выявить наиболее проблемные места и исправить недочеты, ошибки и прочее.
    А еще надо сразу грамотно делать декомпозицию проекта и грамотно проектировать архитектуру системы. Кроме того, есть еще такие штуки как БД и веб-сервер/прокси/балансер и т.п., которые вносят свои задержки в обработку запроса. Еще есть очень замечательная штука, которая называется "кэширование", с которой нет необходимости каждый раз загружать данные с диска. А так же еще куча других способов ускорения PHP.
    Ответ написан
    3 комментария
  • Будет ли нормально работать видеокарта?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, вполне будет работать.
    Ответ написан
    Комментировать
  • Какой выбрать SSL сертификат для онлайн сервиса продажи электронных товаров за крипту?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Бесплатный letsencrypt чем не устраивает?
    Ответ написан
    3 комментария
  • Как эмулировать нажатие кнопок в определенной раскладке?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Для эмуляции ввода используйте SendInput API — оно позволяет эмулировать ввод любых символов и поддерживает юникод. Вот тут есть пример использования: https://github.com/nnCron/plugins/blob/master/send...
    Ну или можете просто скачать, поставить ннкрон как приложение, плагины sendinput и strings, и использовать задачу примерно такого типа:
    #( Вставка_даты
    WatchHotKey: "@+d" \ Alt+Shift+D
    SingleInstance
    Action:
    BEGIN 
       VK_MENU KEY-PRESSED? 
       [CHAR] D KEY-PRESSED? OR
       VK_LSHIFT KEY-PRESSED? OR
    WHILE
      50 PAUSE
    REPEAT  
    " %DD%/%MM%/%YYYY% %hh%:%mm%" AKEYS
    )#
    Ответ написан
  • Где взять дешевые номера для переадресации?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Задарма — в целом отличный сервис.
    Ответ написан
    Комментировать
  • Как побороть потерю данных на Mac OS?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Сдох жесткий диск / ссд? Проверяйте смарт и состояние накопителя/накопителей.
    Ответ написан
  • Как сравнивать версии моей программы на c#?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    /// <summary>
    /// Version
    /// </summary>
    public class Version : IComparable<Version>
    {
        /// <summary>
        /// Major version
        /// </summary>
        public readonly int Major = 0;
        /// <summary>
        /// Minor version
        /// </summary>
        public readonly int Minor = 0;
        /// <summary>
        /// Build number
        /// </summary>
        public readonly int Build = 0;
        /// <summary>
        /// Revision
        /// </summary>
        public readonly int Revision = 0;
    
        private readonly int hash;
    
        /// <summary>
        /// Version
        /// </summary>
        /// <param name="version"></param>
        public Version(string version)
        {
            string[] versions = version.Split('.');
    
            if (versions == null)
            {
                throw new Exception("Can't parse version from string: " + version);
            }
    
            if (versions.Length != 4)
            {
                throw new Exception("Can't parse version from string — wrong count of numbers: " + version);
            }
    
            if (int.TryParse(versions[0], out int major))
            {
                Major = major;
            }
            else
            {
                throw new Exception("Can't parse major version from string: " + versions[0]);
            }
    
            if (int.TryParse(versions[1], out int minor))
            {
                Minor = minor;
            }
            else
            {
                throw new Exception("Can't parse minor version from string: " + versions[1]);
            }
    
            if (int.TryParse(versions[2], out int build))
            {
                Build = build;
            }
            else
            {
                throw new Exception("Can't parse build version from string: " + versions[2]);
            }
    
            if (int.TryParse(versions[3], out int revisison))
            {
                Revision = revisison;
            }
            else
            {
                throw new Exception("Can't parse revisison version from string: " + versions[3]);
            }
    
            hash = ToString().GetHashCode();
        }
    
        /// <summary>
        /// Versions compare
        /// </summary>
        /// <param name="other"></param>
        /// <returns></returns>
        public int CompareTo(Version other)
        {
            if (Major > other.Major) { return 1; }
            if (Major < other.Major) { return -1; }
            // Major == other.Major
            if (Minor > other.Minor) { return 1; }
            if (Minor < other.Minor) { return -1; }
            // Minor == other.Minor
            if (Build > other.Build) { return 1; }
            if (Build < other.Build) { return -1; }
            // Build == other.Build
            if (Revision > other.Revision) { return 1; }
            if (Revision < other.Revision) { return -1; }
            // Revision == other.Revision
            return 0;
        }
    
        /// <summary>
        /// Bigger?
        /// </summary>
        /// <param name="left"></param>
        /// <param name="right"></param>
        /// <returns></returns>
        public static bool operator >(Version left, Version right)
        {
            return left.CompareTo(right) == 1;
        }
    
        /// <summary>
        /// Less?
        /// </summary>
        /// <param name="left"></param>
        /// <param name="right"></param>
        /// <returns></returns>
        public static bool operator <(Version left, Version right)
        {
            return left.CompareTo(right) == -1;
        }
    
        /// <summary>
        /// Bigger or equal?
        /// </summary>
        /// <param name="left"></param>
        /// <param name="right"></param>
        /// <returns></returns>
        public static bool operator >=(Version left, Version right)
        {
            return left.CompareTo(right) >= 0;
        }
    
        /// <summary>
        /// Less or equal?
        /// </summary>
        /// <param name="left"></param>
        /// <param name="right"></param>
        /// <returns></returns>
        public static bool operator <=(Version left, Version right)
        {
            return left.CompareTo(right) <= 0;
        }
    
        /// <summary>
        /// Convert version to string
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            return string.Format("{0}.{1}.{2}.{3}", Major, Minor, Build, Revision);
        }
    
        /// <summary>
        /// Get hash
        /// </summary>
        /// <returns></returns>
        public override int GetHashCode()
        {
            return hash;
        }
    }
    Ответ написан
    Комментировать
  • Разработка в Windows 10 под Linux с Docker?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Просто поставьте себе VirtualBox. Делаете один раз базовую настройку нужной версии нужной ОС. Далее делаете нужное количество клонов ОС в один клик для нужных вариантов рабочего окружения. И далее используете нужную ОС. Как виртуалка сломается — делаете новый клон с чистой ОС.
    Ответ написан
    Комментировать
  • Мерцающие белые точки на мониторе, в чем причина может быть?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Если новый — сдавайте обратно и берите другой новый. Явно какой-то брак. Если точки регулярные — повторяются через равные промежутки и преимущественно в одних и тех же местах, то возможно плохая пайка видео/видеопамяти.
    Ответ написан
    2 комментария
  • Всегда ли нужно использовать тип int?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    У каждого типа данных есть свои особенности и ограничения. Например, у вас есть список из максимум пяти элементов, например пункты меню, и каждому из них нужен свой номер или идентификатор. Логичным будет выделить под это поле один байт, 0-255 — этого будет вполне достаточно. Или, например счетчик, который может быть только положительным — для него логично будет использовать беззнаковый тип. Опять же — многое зависит от того, что считать этим счетчиком. Пункты меню или записи в БД. Так что для каждой задачи следует выбирать оптимальное решение.
    Ответ написан
    Комментировать
  • Как выполнить выгрузку информации по классу по определённому правилу?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    1. Документируете код согласно принятым стандартам, типа такого:
      /// <summary>
      /// Class description
      /// </summary>
      public class SomeClass { }

    2. В параметрах проекта на вкладке "Сборка" ставите галочку "XML-файл документации — далее файл документации можно скормить любому приложению/скрипту, понимающему xml.
    3. Далее ставите приложение Doxygen
    4. В doxygen создаете проект документации, указываете xml файл документации и все требуемые настройки и сохраняете проект в файл
    5. Теперь документацию по всему коду в удобном формате (HTML, LaTeX, RTF, Man, XML, DocBook) можно получить просто выполнив команду:
      doxygen.exe doxyproject
    Ответ написан
    4 комментария
  • Как разместить нужные компоненты на странице компонента tabControl в MS VisualStudio 2017?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Очень просто: добавляем на форму табконтрол, а в там контрол добавляем кнопку.
    Ответ написан
  • Как сделать по человечески корп сеть?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Работает? Не трогай. Не работает — собираете требования/спецификации/ТЗ к сети и под эти требования делаете сеть.
    Ответ написан
    Комментировать
  • Оцените сборку игрового пк?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Водяное охлаждение Deepcool Captain 360 EX RGB White

    В топку СВО — ноктуа NHD15 будет куда оптимальнее, тише, а главное намного надежнее (6 лет гарантии, а после 6 лет и дальше вполне нормально работают). В то время как типовые СВО нуждаются в регулярных проверках, а ведь еще может быть мелкий брак и может легко где-то проржаветь и потечь. Особенно при сборке ПК на несколько лет, а на эту СВО гарантия всего-то год.

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

    Потому что винда и софт за несколько лет сожрет SSD на сотку в ноль. А игры на SSD играются намного комфортнее. SSD оптимальный вариант — от 500 Гб, Samsung 970, лучше PRO — надежнее, но можно и EVO версию.

    Жесткий диск 3.5" Toshiba P300 1Tb
    SSD накопитель M.2 128Gb Intel 760p

    Выкидываем оба девайса из конфига (3к + 4к), добавляем еще несколько тысяч от замены ненужной СВО на нормальный кулер и берем вот этот симпатишный Samsung 970 EVO на 500 гигов за примерно 9к. А если добавить еще столько же — можно сразу и на 1ТБ взять. А лучше PRO.
    Материнскую плату тоже можно по-проще взять — в большинстве случаев маркетинговые рюшечки и фенечки не используются.
    Ответ написан
    5 комментариев
  • Как сделать скачивание файлов торент, которые лежат на хосте а не на компьютере?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Скачать торрент файл с хоста и скачать его через торрент клиент.
    Ответ написан
    Комментировать