• Как понять сгорела ли звуковая карта или что с ней не так?

    @alexalexes
    Запустить AIDA64 и посмотреть, что есть в разделе устройств Мультимедиа -> Аудио PCI / PnP. Если вы аппаратно звуковую карту никак не отключали, значит она неисправна совсем, и в этом разделе вы ее не увидите. Если там есть альтернативное устройство от материнской платы, значит, что-то с драйверами в операционной системе.
    Ответ написан
  • Как правильно верстать используя bootstrap?

    @alexalexes
    При использовании bootstrap вы не можете мыслить фиксированными шириной.
    У вас есть 12 колонок - 12 долей единиц ширины экрана, и есть с полдюжины разных размеров экранов.
    Самый маленький, малый, средний, большой и очень большой.
    И логика расстановки классов такая:
    "На большом экране и больше у меня слайдер будет шириной 6 из 12 колонок,
    на среднем 8 из 12 колонок,
    от малого и меньше 12 из 12 колонок".
    С этой логикой и навешиваете нужный набор классов на контейнер слайдера.
    JS код не должен фиксировать размер контейнера в пикселях, нужно ему позволить расширяться по bootstrap сетке.
    Ответ написан
    Комментировать
  • Как перезагрузить удаленно Windows 11?

    @alexalexes
    На каждом компе держать CD/DVD дисковод подключенным, даже если он давно не читает диски.
    Один дисковод одного системника нужно расположить так, чтобы его лоток мог воздействовать на кнопку перезагрузки другого системника. Если одна система зависает, то нужно подключиться к другой системе и вызвать 2 команды извлечения диска из дисковода (одна на открытие лотка, другая - на закрытие) и подождать, когда вторая система перезагрузится.
    Ответ написан
    2 комментария
  • Как отследить когда программа делает и пересылает скриншот экрана?

    @alexalexes
    Сменить работу. Если откроется факт противодействия существующим инструментам контроля, то наказание будет намного суровее, вплоть до того, что заставят делать селфи, когда отлучитесь в туалет.
    Ответ написан
    2 комментария
  • Нормально ли предоставлять скан паспорта при трудоустройстве?

    @alexalexes
    Если вы к скану не приложили заполненную форму согласия на обработку персональных данных, где четко обозначен перечень реквизитов документа (серия номер документа, ФИО, дата и место рождения...), кому вы передаете их, какой перечень допустимых действий (обработка в информационной системе компании, хранение, передача другим системам за пределы информационной системы компании), с какой целью (трудоустройство).
    То это нарушение с юридической точки зрения.
    Ответ написан
    Комментировать
  • Как работать напрямую с базами данных из клиента?

    @alexalexes
    Возможно, если сама СУБД будет давать необходимый API для веб клиентов (который не будет работать из коробки, нужны определенные действия по настройке со стороны администратора СУБД).
    Яркий пример - Oracle REST Data Services.
    Но не каждый производитель СУБД заморачивается над разработкой подобных сервисов. Главное, чтобы самые популярные среды разработки серверных приложений имели необходимое расширение или драйвер, чтобы подключаться к СУБД на стороне сервера. Остальное - головная боль прикладных разработчиков.
    Ответ написан
    Комментировать
  • Почему куллер не охлаждает ЦП мгновенно?

    @alexalexes
    Вы ничего не сказали, что из себя представляет ваша система охлаждения.
    Если это классический радиатор с теплотрубками, то существуют более эффективные альтернативы в виде системы жидкостного охлаждения, или системы с использованием испарительной камеры. Жидкость за счет ее постоянного движения и теплоемкости или испаряющийся теплоноситель будут более эффективнее работать по отводу тепла. Вероятно, пики тепловыделения они будут гасить тоже более эффективнее.
    Ответ написан
    Комментировать
  • Как сделать что бы при нваедении иконки не прыгали?

    @alexalexes
    .header-dropdown-item {
    ...
      height: 4rem;
    ...

    .header-dropdown-item:hover {
    ...
      height: fit-content;
    ...

    Эти значения высот в вычисленном состоянии имеют разный результат в пиксельном выражении?
    Как вы думаете?
    Ответ написан
    Комментировать
  • Можно ли подключить 2 bluetooth аудиоколонки (в устройствах Bluetooth 4.0) к одному проигрывателю?

    @alexalexes
    1. Тогда и конечные устройства должны быть на 5 версии. Иначе адаптер будет работать в режиме совместимости 4 версии со всеми ограничениями.
    2. Рассинхрон гарантирован. Что прилетело в буфер конечного устройства, то и воспроизводится.
    3. Рано или поздно вы столкнетесь, что при включении или после пробуждения одного из устройств оно не встает в сопряжение и нужно передергивать настройки на компьютере. Софт bluetooth очень инертный, когда вкл./выкл. конечные устройства, и не, дай бог, передергивают адаптер - тогда он вообще склонен к зависанию. И да, при сопряжении, софт склонен подключать самый простой голосовой кодек для гарнитур, а не ваши новомодные aptX - это тоже точка зависания и отказа.
    Ответ написан
    Комментировать
  • Какой силы должен быть магнит?

    @alexalexes
    Ключевым показателем будет расстояние от магнита до магнитящей поверхности.
    Сила магнита будет убывать с квадратом расстояния.
    На 40 мм может не хватить никакого неодимового магнита, чтобы удерживать даже свой вес.
    Ответ написан
    Комментировать
  • Как заменить большое кол-во символов на другое?

    @alexalexes
    Перехешировать правильно те пароли, которые по значениям не похожи на хеш пароля.
    Например, так можно перехешировать пароли в MySQL базе с помощью md5 функции.
    UPDATE myTable
    SET password = md5(password)
    WHERE not (password REGEXP '^[0-9a-fA-F]{32}$' )

    PS:
    1) Для других алгоритмов (не md5) нужно подобрать другую регулярку, учитывающую длину хеша и алфавит хеша.
    2) Перехеширование не учитывает использование соли. Нужно точно повторить шаги хеширования в SET, если применяется не только сама функция хеша в оригинальном алгоритме генерации пароля.
    Ответ написан
    Комментировать
  • Как сделать регулярное выражение?

    @alexalexes
    // шаблон в формуле
    $pattern = '[string] * [string] * 0.2';
    // определяем число плейсхолдеров - подстановочных мест для параметров
    $placeholder_count = substr_count($pattern, '[string]');
    $input_params = []; // массив входных параметров
    // заполняем массив входных параметров по кол-ву подстановочных мест
    for($i = 0; $i < $placeholder_count; $i++)
    {
      // имитация процесса получения входных параметров из другого источника
      $input_params[] = floatval('1.32453' + $i);
      // если параметры получают в виде строковых значений,
      // то их нужно обязательно пропускать через функции floatval или intval,
      // чтобы экранировать значения и недопустить попадания в шаблон чего-то,
      // кроме целых или вещественных чисел
    }
    // создаем выходной шаблон для подстановки параметров
    $out_pattern = $pattern;
    // производим подстановку параметров из массива
    for($i = 0; $i < $placeholder_count; $i++)
    {
      $out_pattern = str_replace('[string]', $input_params[$i], $out_pattern);  
    }
    // выполняем выходной шаблон как строку кода PHP.
    // Результат выполнения спроецируется в переменную $exec_result
    eval('$exec_result = '.$out_pattern.';');
    // смотрим пошагово, что происходит
    echo 'pattern: '.$pattern."\n";
    echo 'placeholder_count: '.$placeholder_count."\n";
    echo 'input_params: '.print_r($input_params, true)."\n";
    echo 'out_pattern: '.$out_pattern."\n";
    echo 'exec_result: '.$exec_result."\n";
    Ответ написан
    Комментировать
  • Почему отключается клавиатура на ноутбуке, при том что работает кнопка питания?

    @alexalexes
    Версия 1. У вас в кармане одежды магнит (или на одежде есть намагниченный элемент). Вы воздействуете им на датчик закрытия крышки. Ноутбук ведет себя так, как будто вы закрыли крышку. Возможно, неисправен этот датчик, и локальный магнетизм тут не причем.
    Версия 2. В ноутбуке есть механические повреждения. Отошел шлейф клавиатуры и т.п. после того, как его когда-то уронили.
    Ответ написан
    Комментировать
  • Как сделать логи изменения отдельной таблицы в MariaDB?

    @alexalexes
    Стандартная практика ведения истории изменения данных таблицы.
    Вешаете триггер по операциям UPDATE, INSERT, DELETE перед их выполнением (опция before) на интересуемую таблицу и вставляете данные из атрибутов old.* триггера в таблицу истории.
    Таблица истории:
    history_id - идент. записи истории
    next_history_id - идент. следующей записи истории в пределах одной записи отслеживаемой таблицы (у последней он null)
    oper_type - тип операции (UPDATE, INSERT, DELETE - можно числами записать)
    old.* - все атрибуты таблицы, значения до выполнения операции.
    new.* - все атрибуты таблицы, которые пытались внести операциями UPDATE или INSERT. Этот набор нужен, если вы следите за историей на транзакциях, которые были откатаны назад (неудачные попытки). В этом случае, в триггере нужно указать специальную опцию, чтобы он работал в режиме автономной транзакции.
    При внесении новой записи истории, в предыдущей записи по такому же первичному ключу отслеживаемой таблицы нужно добавлять next_history_id от history_id новой записи.
    Таким образом в отслеживаемой таблице будет актуальное состояние записи, а в таблице истории - цепочка изменений записей.
    По каждому первичному ключу записи отслеживаемой таблицы можно построить цепочку изменений по history_id и next_history_id.
    А по next_history_id is null можно быстро получить последнее изменение из этой цепочки.
    Естественно, к этим полям нужно добавить индексы.
    Ответ написан
    Комментировать
  • Как найти точки максимального изменения графика?

    @alexalexes
    Найдите длину отрезков между точками и отсортируйте массив этих длин по убыванию.
    Если нужно, то получите разницу между длинами (это значения производной первого порядка для длин), записав эти значения в новый массив.
    На основании первого и второго массива составьте целевую функцию, задав критерии аномально длинных отрезков (параметры целевой функции).
    Ответ написан
    2 комментария
  • Как отправить данные с формы $_POST на разные страницы в зависимости от нажатой кнопки (перенаправление)?

    @alexalexes
    Button может отправлять форму с иными атрибутами, если их переопределить в button, например, можно задать другой action.
    <form name="MyForm" method="post" >
        <label for="select-option">Select an option:</label>
        <select name="select-option" id="select-option">
            <option value="option1">Option 1</option>
            <option value="option2">Option 2</option>
            <option value="option3">Option 3</option>
        </select>
        <br>
        <button formaction="/termin" type="submit">termin</button>
        <button formaction="/info" type="submit">termin</button>
    </form>

    Тогда не нужен никакой роутер на стороне сервера для текущей страницы.
    Ответ написан
    6 комментариев
  • Как сделать табы с выводом из бд?

    @alexalexes
    Выводить также как из любого другого источника данных.
    1. Подготовьте источник данных.
    - Разверните службу СУБД в операционной системе сервера.
    - Выберите менеджер, чем вам будет удобно просматривать объекты СУБД.
    - Установите менеджер СУБД.
    - При помощи менеджера СУБД заведите пользователя базы данных, схему базы данных, структуру таблиц и связей, вставьте необходимые данные.
    2. Изучите способы подключения к источнику данных и взаимодействия из PHP (как делать коннект к СУБД, как подготавливать запросы и параметры к ним, как фетчить результат выборки запроса).
    3. Подключитесь к базе, выполните запрос, встройте выборку результата в ваш шаблон HTML (табы).
    Ответ написан
    3 комментария
  • Как создать диаграммы в docx?

    @alexalexes
    Нужно иметь библиотеку, которая может создавать объекты chart-ы, работать с его методами и помещать результат в xml контейнер (docx, pptx - не важно). По сути, делать визуализацию только возможностями этих объектов.
    Пример: https://github.com/python-openxml/python-docx/pull/392
    Ответ написан
    Комментировать
  • Как сделать так, чтобы элемент можно было тащить влево-вправо?

    @alexalexes
    1. На десктопе рулят события мыши: mousedown - эквивалент touchstart, mousemove - эквивалент touchmove, mouseup - эквивалент touchend.
    2. Вместо множества точек касаний (пальцы) у вас одна точка - курсор мыши, поэтому свойства changedTouches в объекте события не будет.
    3. Тестировать, что окружение браузера имеет сенсорный экран, можно проверкой наличием доступного свойства любого события touch в window:
    if("touchstart" in window)
    {
      // работаем с сенсорными обработчиками
    }
    else
    {
      // работаем с мышиными обработчиками
    }

    4. Событие завершения управления элементом (touchend, mouseup) лучше вешать не на сам элемент item, а на его контейнер, который будет занимать всю ширину экрана (идеально, если это будет body). Логика обработки может застрять на обработчике move, если во время движения точка воздействия на объект убежит за пределы объекта.
    В определенных случаях могут выручить события mouseover/mouseout.
    Ответ написан
    Комментировать
  • Что это за разъём в ноутбуке?

    @alexalexes
    Судя по примечанию этой статьи.
    Rear Connector Note: Some laptop/notebook computers may use rear connector adapters to change the position and shape of the rear connectors. In this case, you need to remove that rear adapter from original drive and re-use the rear adapter with the new drive.

    В те далекие времена мало приобрести привод IDE для ноутбука. Нужно еще заказать у производителя ноута проприетарный переходник, так как производитель может сделать разъем на материнской плате для CD rom в удобном для него месте, а не как у типичного CD-rom.
    PS: В вашем случае проще снять жесткий диск, купить под него IDE переходник на USB и подготовить его для установки системы вне ноутбука.
    Вариант 2. Есть вероятность, что живых жестких дисков под ноутбучные IDE не останется в скором времени. Поэтому для этих целей лучше взять переходник-эмулятор жесткого диска под IDE, в которую вставляется SD-карта. Я как-то возился с компом-тонким клиентом, у которого был нестандартный IDE. Проще было подключить такой эмулятор, чем искать оригинальный флеш-диск. Для bios такой эмулятор ничем не отличается от классического IDE диска, так как он себя ничем не выдает, полностью ведет себя по выходному интерфейсу как IDE устройство.
    Ответ написан
    1 комментарий