• Нужно ли код бота выкладывать в GitHub?

    @alexalexes
    Профит в том, чтобы была резервная копия проекта, и вы ее своевременно обновляли.
    Чтобы не было ситуации "просрочил оплату хостинга/меня забанили, злой провайдер не дает забрать оттуда мои ценные данные".
    Ответ написан
    Комментировать
  • Как выбрать кронштейн для монитора для такого стола?

    @alexalexes
    66a33706c02de752889701.jpeg
    Идете в строительный магазин и покупаете:
    1. Алюминиевый прямоугольный профиль 2 метра (на рисунке обозначен синего цвета).
    2. Монтажные пластины по ширине профиля (на рисунке зеленого цвета).
    3. Два десятка коротких шурупов с широкой шляпкой по металлу.
    4. Баллончик краски чтобы покрасить это дело.
    Для монтажа понадобится ножовка по металлу, шуруповерт, карандаш, линейка, плоскогубцы и молоток (чтобы согнуть монтажные пластины), импровизированная наковальня (ступенька в подъезде дома), крупная наждачка (чтобы сгладить пропилы, острые углы).
    Отпиливаете профиль чуть выше середины предполагаемой высоты монитора, лучше по верхней кромке монитора взять высоту.
    Гнете пластины, чтобы получить лапки для крепления.
    Примеряете детали на краю стола, ввинчиваете но не затягиваете шурупы. Под лапки обязательно делаете подкладки, чтобы не поцарапать стол.
    Делаете отверстия в верхней части профиля для кронштейна VESA (какой сможете подобрать для крепления к стене).
    Снимаете профиль и красите его баллончиком.
    Делаете окончательную сборку в центре стола, шурупы не сильно затягиваем, так как алюминий.
    Крепим кронштейн VESA к профилю.

    PS: Металлический профиль можно заменить на доску, но из натурального дерева, не ДСП.
    Ответ написан
    Комментировать
  • Что представляет из себя эта программа обучения?

    @alexalexes
    Магистратуру должен обладать определенным набором знаний.

    Должен просто обладать дипломом бакалавра или специалиста, и этот диплом должен биться в базе ФРДО, если говорить о стандартах Минобрнауки.
    Если вы поступаете по тем же стандартам в магистратуру, то в качестве вступительного испытания будет всегда профильное комплексное тестирование по тому направлению подготовки, на которое поступаете. У разных направлений подготовки оно разное.

    Если смотреть, что больше похоже на настоящую приемную комиссию этого учебного заведения, то это находится тут https://abit.itmo.ru . Все остальные красивые сайты - это попадает под категорию уровней подготовки повышение квалификации/профессиональная переподготовка. Является хорошим подспорьем только для тех, кто имеет высшее образование (или находится в процессе его получения), чтобы не превращаться в книжного червя, или твой работодатель требует, чтобы ты раз в три года где-то там учился, набирался актуальных знаний у лучших кутюрье, и каждые три года подшивал к портфолио очередной аттестат, что прошел курс вышивания пуговиц и тому подобное.
    Ответ написан
    Комментировать
  • Как настроить кнопку удаления из бд?

    @alexalexes
    при желании ее удалять

    Скорее очищать данные работы программы. Вряд ли вы держите исходный код программы в таблицах БД, чтобы потом ее удалять.
    Не вполне понятно, как называются таблицы, которые вы хотите очищать (сами таблицы как объекты БД останутся, удалится только их содержимое). Но по вашему фрагменту можно что-то работающее при посте action=delete написать так:
    if(isset($_POST['action']) && $_POST['action'] == 'delete') // есть action и он равен delete
    {
        $link = mysqli_connect($host, $user, $password, $database);
        $sql = "DELETE FROM `program_day_1`"; // по одной инструкции удаления на каждую таблицу
        $res = mysqli_query($link, $sql);
        $sql = "DELETE FROM `program_day_2`";
        $res = mysqli_query($link, $sql);
        mysqli_close($link);
        header('location: program-admin.php');
    }
    Ответ написан
  • Безопасно ли отключать жёсткий диск, который подключён к роутеру?

    @alexalexes
    keenetic - Безопасное отключение USB-накопителя
    У продвинутых роутеров извлечение диска реализовано на кнопке на корпусе. И в веб-интерфейсе есть соответствующий пункт меню.
    Если нет такого пункта, и вы накатывали какую-то кастомную прошивку, то можно через ssh команды размонтировать диск.
    Если уж совсем никаких вариантов извлечения нет, то вряд ли вы повредите диск, если он просто использовался для доступа к файлам без изменения. Если используется торрент-качалка на роутере, то максимум повредятся файлы, которые находятся в активном скачивании.
    Ответ написан
    Комментировать
  • Почему такая разница в цене видеокарт 4060?

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

    @alexalexes
    Арифметико-логические устройства, обычно, проводят элементарные двоичные команды с регистрами.
    Регистры имеют фиксированную длину, обычно, кратные байту.
    Загрузка данных в регистры происходит из памяти блоками с фиксированным сдвигом. Размер блока, обычно, кратен байту и соизмерим с размером регистра.
    В общем, архитектура вычислительного устройства реализована так, что вы читаете данные из памяти и оперируете ими "словами", нельзя провести операцию над конкретным битом, не загрузив в регистры целиком "слово". Так что, условный пробел нельзя поставить в произвольном месте, все будет определяться архитектурой вычислительного устройства.
    Ответ написан
    Комментировать
  • Почему одновременно возникает писк в динамиках и плохо работает клавиатура?

    @alexalexes
    1. Отсутствие заземления корпуса ПК/проводки 220 вольт/ нет общей "земли" по всей подключенной аппаратуре.
    2. Резонансные помехи, которые возникают в усилителе звука, и которые передаются обратно в материнскую плату, расстраивая периферию ПК. Возможно в следствии пункта 1, а возможно, просто повезло с параметрами усилителя, что нарвались на резонанс.
    Ответ написан
    Комментировать
  • Как не обрезать тень элемента, используя "overflow: hidden"?

    @alexalexes
    669f3ac55a2de517816393.png
    Банальная геометрия.
    Горизонтальная ширина тени выбирается как значение a, при котором градиент тени полностью уходит от насыщенного цвета в цвет фона.
    Теперь нужно соблюсти условия:
    1) Два горизонтальных отступа между слайдами не должно быть меньше значения 2a - чтобы тени соседних слайдов не накладывались.
    2) Горизонтальный отступ контейнера слайдов должен быть равен ровно значению a, тогда по краям граница контейнера не будет затрагивать ни одну тень крайних и скрытых слайдов. Если сделать больше горизонтальный отступ, то предусмотрите, чтобы скрытые элементы убирали свою тень когда они выходят за пределы контейнера.

    Если соблюсти эти условия, то проблем с обрезкой тени не будет.
    Ответ написан
    Комментировать
  • Как отключить дискретную видеокарту (ПК)?

    @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
    Никак, ВК теперь проверяет на авторские права аудиоконтент.
    Если очень нужно передать файл кому-то, то можно сменить расширение файла, либо использовать облака, где нет интеллектуальной проверки.
    Ответ написан