• Как отключить дискретную видеокарту (ПК)?

    @alexalexes
    У дискретки потребление 10-20 ватт в простое. Если вовремя погасить все 3D процессы, использующие видеокарту, то разницы не будет практически никакой.
    Ответ написан
    7 комментариев
  • Есть ли для ModX дополнение аналог плагина Better search and Replace на Wordpress?

    @alexalexes
    Не допускать ситуаций, где нужно делать массовую замену.
    Если допустили такое, то устранить технический долг:
    1. Создать переменную контекста с телефоном (и другие "глобальные" переменные для описания страниц).
    2. Исправить шаблоны, где формируется описание страницы, чтобы часть сведений бралось из переменных контекста Modx.
    3. Средствами mysql найти все записи в таблице modx_site_content, где упоминается телефон:
    select id,
               pagetitle,
               description,
               regexp_replace(description, '123\-456\-789', '') new_descr -- проверить, как будет выглядеть описание, после применения функции замены !!!
    from modx_site_content
    where description like '%123-456-789%'
    and parent = 1 -- если необходимо, то можно взять только потомков определенной страницы

    4. Помучить регулярку regexp_replace, чтобы корректно получался new_descr (телефон должен быть убран, без ущерба к другим данным строки).
    5. Обновить описание найденных страниц, функцией update используя тщательно выверенную регулярку.
    update modx_site_content
          set description =  regexp_replace(description, '123\-456\-789', '')
    where description like '%123-456-789%'
    and parent = 1 -- если необходимо, то можно взять только потомков определенной страницы

    6. Сброcить кэш страниц через панель управления Modx.
    7. Впредь использовать переменные контекста или отдельные чанки и сниппеты для продуцирования одинаковых данных.
    Ответ написан
    Комментировать
  • Как в текст из базы данных вставить шаблон?

    @alexalexes
    Если слайдер находится всегда в определенном месте статьи или есть фиксированные варианты расположения,
    то нужно доработать редактор статей, чтобы к статье можно было прикрепить список изображений (у одного элемента изображения должен быть путь к файлу, поле описания, порядковый номер в слайдере) как связанный ресурс статьи и генерировать слайдер автоматически по наличию этого ресурса (у самого ресурса слайдера должно быть свойство расположения слайдера - если есть варианты).
    Ответ написан
    1 комментарий
  • Почему вентилятор графического процессора 0 RPM?

    @alexalexes
    Нужно с помощью MSI Afterburner попробовать покрутить график работы вентиляторов.
    Если их не получится сдвинуть с места, то искать уже физическую причину - отключать от платы видеокарты вентиляторы и принудительно подать 5 вольт, чтобы понять, а могут они включиться, или уже все, сгорели.
    Или померить на пинах платы напряжение при подключенных вентиляторах есть ли оно (сгорел контроллер оборотов).
    Ответ написан
    Комментировать
  • PHP: Почему 'mb_convert_encoding' не конвертирует простую строку?

    @alexalexes
    $str = 'Привет 2019 Мир!'; // написано в той кодировке, в которой сохранен файл (хрустальный шар говорит, что utf-8)
    $str = mb_convert_encoding( $str, 'windows-1251', mb_detect_encoding( $str ) ); // конвертируем в cp1251
    header('Content-Type: text/html; charset=windows-1251'); // Откуда трабла с кодировкой? - не соответствие сообщаемой кодировки в http-заголовке от сервера, с выводимым контентом от сервера. Исправляется явным указанием заголовка
    var_dump( $str ); // выводим в той кодировке, что выводит заголовок charset сервера в браузер (хрустальный шар говорит, что до указания header() было charset=utf-8)
    Ответ написан
    2 комментария
  • Как уменьшить кол-во case'ов, и просто подтянуть по другой таблице?

    @alexalexes
    Делаете две таблицы:
    1. Фирма-отправитель Company_Sender
    id - идентификатор компании
    name - наименование компании

    2. Шаблоны поиска отправителя Sender_Template
    id - идентификатор шаблона
    template - текст шаблона
    company_id - идентификатор фирмы-отправителя

    Искать потом можно таким запросом, либо делать Update на какое-нибудь поле в t для пометки результата:
    select t.*, 
    (select Cs.Name
       from Sender_Template St
       join Company_Sender Cs on Cs.Id = St.Company_Id 
      where  t.baza like St.template
      limit 1
    ) as Sender_Name -- если null, значит ни один шаблон не подошел
    from t

    PS: Это самый примитивный вариант автоматизации like. Нельзя задавать шаблоны за пределами возможностей синтаксиса like. Нужно как-то отличать дубликаты, если будет определение на больше чем один шаблон.
    Ответ написан
    Комментировать
  • Как изменить запрос SQL?

    @alexalexes
    Склейте строку под ваш формат вывода:
    SELECT concat(TABLE_SCHEMA, '.', TABLE_NAME, '.', COLUMN_NAME) as COLUMN_NAME
      FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = 'info' 
        AND TABLE_SCHEMA = 'db'

    PS: А зачем вам вычитывать структуру базы, если не секрет? В прикладных задачах вообще не должно быть обращений в служебные таблицы MySQL.
    Ответ написан
  • Что-то давит на матрицу ноутбука Honor MagicBook 15?

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

    @alexalexes
    можно было получить данные ИЗ ВСЕХ созданных мной input'ов

    Ну, например, дотягиваться до них любым методом документа, получающего ноду, и получать свойство value этой ноды:
    let input_value_1 = document.querySelector('CSS селектор на ваш первый input').value;
    let input_value_2 = document.querySelector('CSS селектор на ваш второй input').value;
    Ответ написан
    3 комментария
  • Как лучше оптимизировать запрос в базу?

    @alexalexes
    Есть два дилетантских момента построения БД:
    1. Используется строковый тип данных вместо целочисленного на всех полях, где оно используется как идентификатор, (все, что ...id).
    Вероятно, второе следствие наивного проектирования БД:
    2. На поля, которые участвуют в соединении таблиц или в условии фильтрации через where не предусмотрены индексы. По данному запросу сразу просится проверить наличие или создать индексы на:
    `products`.`category_id`, `product_filter_value`.`value_id`, `product_filter_value`.`product_id`.
    Ответ написан
  • Как перезалить удалённую аудиозапись в ВК?

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

    @alexalexes
    Ответ написан
    Комментировать
  • Как в регулярных выражениях написать, что строка должна начинаться с букв и не может начинаться с нижнего подчеркивания?

    @alexalexes
    Сделайте тремя отдельными элементарными регулярками - поддерживать такой код будет проще намного:
    if(       /^[a-zA-z]+/.test(login)  // проверка первого символа
       && /[a-zA-z0-9\-\.]+/.test(login)  // проверка входа символов в допустимый алфавит
       && !(/[^a-zA-z0-9\-\.]+/.test(login))  // проверка выхода символов из допустимого алфавита
       )
    {
      // комплексная проверка пройдена!
    }
    Ответ написан
  • Как научиться удерживать код в голове?

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

    @alexalexes
    Максимум rx560, rx570 или gtx1050 при блоке питания 400, 450 ватт. Или любая более древняя затычка pci-e подойдет за 500...1000 руб.
    Ответ написан
    Комментировать
  • Как называется подпрограмма внутри массива?

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

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

    @alexalexes
    1734, идеально, если во время ремонта витую пару закладывают вместе с проводкой.
    Первым делом, определяют место под роутер. Если не уверены, куда поставить роутер, то ставьте возле автоматов в щитке возле входной двери в квартиру либо в самом щитке, если он не металлический - не ошибетесь. Далее, витую пару от щитка разводят по топологии звезда к каждой группе розеток, где предполагается, что рядом будет стоять стол, висеть телевизор в любых вариантах компоновки мебели, даже если вы не предполагаете, что к этой розетке когда-то будет подключен компьютер, исключение составляют только те розетки, где четко определена их роль - для холодильника, кондиционера и т.д.
    Закладывать лучше 8 жильный кабель, с цельномедными жилами (не обмедненный - он хуже), иногда к одной группе розеток дублируют кабели, если там будет подключено больше цифровой техники.
    Кабели, которые будут подключены к роутеру, расшивают порт под розетку, те кабели, что не используются , концы аккуратно скрывают в стакане розетки до будущих времен, если около нее будет потребность подключить сеть.
    Да, провайдеру проще довести свой кабель к вашему роутеру, если он будет как можно ближе к входной двери, в этом плюс расположения роутера в щитке в прихожке.
    Если витую пару не развели во время ремонта, то придется довольствоваться кабель каналами плинтуса, и возможностями wifi роутера. Нужно выбрать место под роутер, чтобы до каждой комнаты сигнал wifi проходил препятствие не больше одной стенки, и по плинтусам можно было от него довести кабель до рабочих мест (где нет компьютеров с wifi) по периметру одной стены, и чтобы кабель от провайдера было удобно вести от входа - тогда провести сеть в квартире можно малыми затратами.
    Ответ написан
    1 комментарий
  • Почему разные результаты при проверки вложения (case sensitive)?

    @alexalexes
    Еще явное приведение к типу char работает:
    select instr(convert(json_unquote(json_extract('{"name": "Gamma Electronics"}','$.name')), char), 'ga')
    Ответ написан
    Комментировать
  • Раздражает ли авторизация тех, кто следит заходит на мой Pet-проект?

    @alexalexes
    Не будут регистрироваться, если нет цели проверить, как вы реализовали именно этот функционал.
    Вы должны иметь возможность предоставить максимальный функционал для обзора в режиме "галопом по Европам" по одной единственной ссылке. Можете авторизовать пользователя по какому-нибудь токену, переданный через get-параметр. Учетная запись и сервис должны быть нагружены тестовыми данными. Если где-то выводятся какие-то сведения - то они не должны быть пустыми.
    Ответ написан
    Комментировать