• Как захватить все запросы с trailing slash на конце?

    fzfx
    @fzfx
    18,5 дм
    вот так будет работать:
    location ~ /$ {
    ...
    }
    Ответ написан
    Комментировать
  • Как поставить на линукс драйвера на realtek адаптер rtl8811?

    @tifco
    Заголовочные файлы ядра Linux (linux-headers) нужны только лишь в том случае, если планируется собирать (компилировать) модуль (драйвер) из исходных кодов. Зачем вам это надо? Это в крайнем случае.

    На сайте Realtek, найдены устройства, что работают по шине USB (см. ваш вывод lsusb).
    RTL8811AU
    https://www.realtek.com/en/products/communications...
    RTL8811CU
    https://www.realtek.com/en/products/communications...

    На сайте Realtek, в разделе Download, есть драйвера только для Windows. Так что, идем мимо.

    Посмотрим на совместимость с Linux (linux-hardware.org).
    AU-вариация устройства у некоторых заработала ("Status", на 11, 12 Дебьяне):
    https://linux-hardware.org/?view=search&vendor=Rea...
    https://linux-hardware.org/?id=usb:0bda-a811
    Как написано, в ядре Линукса драйверов нет ("Kernel Drivers").
    Предлагается установить какие-то сторонние драйвера ("Other Drivers").
    Эти все про 8812au. Насколько совместимы они с 8811au? И да, их надо собирать из исходников.
    https://github.com/lwfinger/rtl8812au
    https://github.com/abperiasamy/rtl8812AU_8821AU_linux
    https://github.com/aircrack-ng/rtl8812au
    https://github.com/gnab/rtl8812au
    Вот здесь явно сказано про 8811au:
    https://github.com/Rajpratik71/Realtek-rtl8811AU_8...
    Но, вообще, они могут быть совместимыми. Вероятно, используется один драйвер на три модели (11, 12 и 21).

    CU-вариация устройства не совместима:
    https://linux-hardware.org/?view=search&vendor=Rea...

    Окольными путями, найден комплектный диск с драйверами:
    https://ya.ru/search/?text=Realtek+Drivers+RTL8811...
    https://archive.org/details/realtekdrivers_rtl8811...
    https://ia803100.us.archive.org/view_archive.php?a...

    Я скачал файл из содержимого образа диска "RTL8811CU_8821CU_WiFi_linux_v5.2.5.3.zip", распаковал. В readme есть отсылка на файл "/document/Quick_Start_Guide_for_Driver_Compilation_and_Installation.pdf". В котором сказано, что, для автоматической установки драйвера, нужно выполнить скрипт install.sh. Да, есть такой в корневом каталоге.

    Само имя файла, также, фигурирует на разных сторонних источниках в Интернете. Можно ли им доверять?
    https://ya.ru/search/?text=RTL8811CU_8821CU_WiFi_l...
    Вот он тоже:
    https://github.com/yohikofox/8811CU-drivers

    Самые разные инструкции по установке из Интернет. Можно ли им доверять и следовать? Пожалуй, на свой страх и риск. Т. к. это не официальная инструкция от производителя. А где, сейчас, официальная - интересно?
    https://4te.me/post/realtek-8821-linux-driver/?ysc...
    forum.matuntu.info/index.php?topic=1090.0
    https://www.cyberithub.com/how-to-install-rtl8821c...

    Мне лично повезло со своим Интеловским адаптером. Там требовалось всего-то скачать архив с сайта производителя и скопировать файлы в нужный каталог. Никаких сборок из исходников.
    Хорошо бы заранее, перед покупкой, проверять совместимость железа на вышеозначенном сайте (linux-hardware.org).
    Правда, надо заметить, что на февраль 2024 г., по старой ссылке на драйвер, на сайте Интел, висит сообщение: "Мы немедленно приостановили все деловые операции в России. Это следует за нашим предыдущим решением приостановить все поставки клиентам в России и Беларуси.". Спасибо, че! :/
    Так что, возможно, и вам, где-то по архивам, по Интернетам, окольными путями, придется выискивать драйвер для своей железяки. Если не сохранили комплектный диск. :(

    В остальном, как говорится, остается лишь: компилить, компилить и еще раз компилить. :)

    Нашел, кстати, еще такой пакет для Дебьяна: firmware-realtek. Там бинарники есть. Правда для 12, 21 - моделей, 11-я не указана. Надо пробовать.

    Теперь про установку. Я бы, лично, действовал в такой последовательности.

    I. Для начала, стоит попробовать поставить бинарник, не усложняя себе жизнь:
    apt-get install firmware-realtek

    II. Если устанавливать в автоматическом режиме, при помощи install.sh.

    1) Распаковать архив, перейти, в терминале, в каталог с модулем.
    2) Запустить установку:
    ./install.sh


    III. Примерная схема сборки модуля вручную, из исходников, такая. В общем-то, почти тоже самое, что и обычной программы.

    1) Нужно установить требуемые для сборки пакеты (компилятор, заголовочные файлы ядра, возможно, что-то еще не упомянул):
    gcc++, linux-headers

    2) Распаковать архив, перейти в каталог с ним. И скомпилировать исходник модуля:
    ./configure
    make
    make install

    3) Загрузить модуль (где после modprobe указано имя_модуля):
    modprobe 8811au
    или
    modprobe rtl8811au

    4) Проверить что он работает:
    lsmod | grep wifi
    или
    lsmod | grep 8811au
    или
    lsmod | grep rtl8811au

    5) Дальше можно проверять, настраивать, устанавливать само wifi-подключение при помощи NetworkManager (графика) или ifconfig (терминал).


    В каких-то случаях могут потребоваться права суперпользователя (команда: sudo ...).
    Ответ написан
    6 комментариев
  • Как выбрать данные, если нет в одной таблице, то взять из другой?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    COALESCE?
    SELECT
        comment.*,
        COALESCE(users.avatarInGames, usersCache.avatarInGames) AS avatarInGames,
        COALESCE(users.gameId, usersCache.gameId) AS gameId
    FROM comment
    LEFT JOIN users ON comment.UID = users.userId
    LEFT JOIN usersCache ON comment.UID = usersCache.userId
    WHERE comment.status = 1
    ORDER BY comment.OID DESC;

    COALESCE(users.avatarInGames, usersCache.avatarInGames) AS avatarInGames avatarInGames берет из users или если его там нет, то возьмет из usersCache.
    Ответ написан
    2 комментария
  • Почему код не может записать в БД определённое строковое значение?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ошибка, скорее всего, возникает из-за символов в $description, не попадающих в кодировку поля `description`. Такой эффект, например, дают новые эмодзи, требующие utf8mb4.
    Также стоит включить режим выброса исключений для всех ошибок Mysqli, перейти на драйвер mysqlnd, если ещё не сделали этого, и использовать подготовленные выражения.
    Рекомендую прочитать статью: https://habr.com/ru/articles/662523/
    Ответ написан
    Комментировать
  • Как избежать создания папки .idea в PhpStorm?

    yesbro
    @yesbro
    Думаю, помогаю думать
    Никак. Сперва создавай проект через vue-cli, потом уже добавляй его в PhpStorm. Плюс, если используешь git, не забудь добавить эту папку в .gitignore.
    Ответ написан
    1 комментарий
  • Как оформить данный CURL запрос на PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать
  • Как числа из строки поместить в массив?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    $str = ' 86, 92, 98, 104, 110';
    $arr = json_decode("[ $str ]");
    Ответ написан
    Комментировать
  • Как числа из строки поместить в массив?

    kawabanga
    @kawabanga
    $arr = explode(',', $str);
    foreach ($arr as $value) {
        $new_arr[] = trim($value);
    }


    Зачем использовать регулярки, если они не нужны в задаче.
    А если нужны по заданию, то
    Ответ написан
    3 комментария
  • Подключения питания процессора?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Покупка подходящего блока питания обойдется дешевле, чем покупка новой матери или процессора.
    Ответ написан
    Комментировать
  • Подключения питания процессора?

    @SunTechnik
    Разъем не влезет физически.

    Отличается разводка ( назначение контактов).

    Если нужны детали, ищите по словам:
    PCIE power pinout
    CPU power pinout
    Ответ написан
    Комментировать
  • Изменять пропорции аватара на стороне фронта или несколько размеров на стороне бэка?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Для такого маленького изображения я бы передавал только самый большой вариант.

    Экономия с точки зрения пользователя тут будет лишь в том случае, если везде используется 40*40, и, например, только в редакторе профиля показывается 100*100. Тогда люди в 99% случаев не будут качать лишние пиксели. Но их объём настолько мал, что заморачиваться нет смысла.
    Если же разные размеры используются повсеместно, то, делая три отдельных изображения, вы увеличите объём трафика на 21%, т.е. сделаете хуже и себе, и пользователю.
    Ответ написан
    2 комментария
  • Как записать массив PHP в базу данных MySQL?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Ответ на вопрос, который вы почему-то решили вынести в заголовок (при том что, судя по тексту вопроса, вы прекрасно знаете ответ на него) - и который имеет очень мало общего с вашей реальной проблемой - уже дал Slava Rozhnev.

    Если же говорить про проблему медленной записи, то она происходит из того факта, что mysql по умолчанию убеждается в успешности записи каждой строки, перед тем как записывать следующую. Отсюда будут и варианты её решения

    Вариант 1, при котором никакой код менять не надо. Отключаем эти проверки устанавливая переменную mysql innodb_flush_log_at_trx_commit=0. Для этого надо обладать правами рута.
    Вариант 2: заключить все вставки в транзакцию
    Вариант 3: добавлять все записи одним запросом. Это можно сделать либо кодом Slava Rozhnev, либо запросом LOAD DATA INFILE

    Да, и между вашими вариантами 2 и три нет никакой разницы. Это один и тот же вариант, про который в любом случае надо забыть: он вообще никогда не должен применяться. Переменные должны попадать в запрос только через плейсхолдеры.
    Ответ написан
    2 комментария
  • Как записать массив PHP в базу данных MySQL?

    rozhnev
    @rozhnev Куратор тега PHP
    Fullstack programmer, DBA, медленно, дорого
    Если массив не очень большой - сделайте всё одним запросом:
    <?php
    $data = [
        ['a' => 1, 'b' => 2, 'c' => 3],
        ['a' => 1, 'b' => 2, 'c' => 3],
        ['a' => 1, 'b' => 2, 'c' => 3],
        ['a' => 1, 'b' => 2, 'c' => 3],
        ['a' => 1, 'b' => 2, 'c' => 3]
    ];
    
    $query="INSERT INTO t (a, b, c) VALUES " . implode(
        ', ', 
        array_fill(
            0,
            count($data), 
            '(' . implode (', ', array_fill(0, count($data[0]), '?')) . ')'
        )
    );
    
    echo $query;
    
    $values = array_reduce(
        $data,
        function($ac, $el) {
            return array_merge($ac, array_values($el));
        },
        []
    );
    
    var_export($values);
    
    $q=$pdo->prepare($query);
    $q->execute($values);


    Здесь вы можете протестировать код
    Ответ написан
    1 комментарий
  • Как разместить вентиляторы в корпусе LIAN LI PC-O11 Dynamic?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Уважаемые форумчане, вопрос такой, как надо размещать вентиляторы в корпусе (вдув/выдув) чтобы всем комплектующим было хорошо.

    Вдув снизу на одной стороне (обычно спереди), выдув сверху с другой стороны (обычно сзади или сзади сверху). Корпус должен быть плотно закрыт со всех остальных сторон, чтобы циркуляция воздуха не сбивалась и горячий воздушный поток быстрее выходил из корпуса.
    Но имеется также водянка, которую буду устанавливать наверх, на выдув.

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Код ничего не делает, чего вы от него ждете? Либо форму добавьте, либо какой-то код, отправляющий чекбоксы на бэкенд аяксом, например...
    Ответ написан
    Комментировать
  • Установка FASTPANEL на сервере, какую ОС в 2024год?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Любой дистрибутив из списка поддерживаемых панелью и получающий обновления безопасности (не EOL).
    Ответ написан
    Комментировать
  • Как можно посмотреть базу данных компьютерной игры?

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    А почему вы считаете, что data.bin это данные sql базы?
    Если игра пользуется SQL, то и данные в ней лежат прямо в её SQL Базе, а не в каких-то data.bin
    и уж тем более, локации в SQL?

    Во-вторых, базы данных обычно используются в сетевых играх, а не которые можно просто себе скачать, потому что ставить базу данных для singleplayer игры - оверинженеринг. Данные могут храниться в каком-то запакованном виде, оптимизированном именно для этой игры, и данная информация (формат и утилиты для работы с этим форматом) не обязательно публично доступны или задокументированы. Зачастую наоборот, для избежания того, чтобы в них лез каждый школьник, применяют простые способы защиты, которые может быть и не сложно обойти, но для этого нужно обладать определенной квалификацией, потому что объяснить на пальцах долго и неудобно, а простых программ типа эксель, чтобы взять и открыть кастомные файлы - нет.
    Те же, кто такие программы пишет, не заморачиваются красивыми и удобными кнопочками, они делают простой инструмент для себя
    Ответ написан
    4 комментария
  • Как создать скрытый input для передачи технической информации на другую страницу?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Какие могут быть варианты решения проблемы?

    Не выдумывать на ровном месте проблемы. Всё на стороне клиента можно отредактировать и подменить.
    Ответ написан
    2 комментария
  • Как создать скрытый input для передачи технической информации на другую страницу?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Тип hidden не подходит, потому что его можно редактировать? А что из html вы вообще можете НЕ редактировать?

    Вам тут стоит понять одну очень важную штуку: html/css/js образуют client side. Вы должны понимать, почему это называется вообще "Клиентом"? Потому что эта вся информация полностью загружается на клиента и он имеет к ней доступ.

    По этому существует server side - часть программной системы, к какой конечный пользователь не имеет доступа, в отличии от клиентской части.

    Цель сервера - обрабатывать запросы с клиента. Первое, что делает сервер с данными, которые ему отправил клиент - ВАЛИДИРУЕТ. Соответственно, если данные не валидны - запрос разворачивается обратно на клиента и отдаёт ему какую-то ошибку

    Это всё так, к слову. Вам важно понять, что клиент может редактироваться, вы никак не сможете этого избежать. Но этого не стоит бояться, т.к. то, за что вы переживаете должно обрабатываться на сервере.

    Client side должен обрабатывать данные перед отправкой на сервер (Но сервер обязан их повторно валидовать) и после получения данных от сервера для наилучшего представления ИХ конечному пользователю

    UPD: для справки. Вы можете полностью редактировать html в режиме реального времени, но он не будет сохранён для всех пользователей, а только для вас, т.к. эта часть загружается только два вас как для конечного пользователя. Сам html хранится на сервере и является результатом работы сервера. Эту часть html, что вы видите в браузере вы можете редактировать.

    Вы можете динамически подключать стили или их удалять. Можете менять скрипты, удалять их из сайта (Тогда отправка вообще работать не будет и, соответсвенно, отключится весь функционал, за который отвечаел скрипт) или добавить новые скрипты. А можете вообще написать свой скрипт прямо в консоли браузера и он будет работать.

    Проблема в том, что даже после элементарной перезагрузки страницы (Через Ctrl + R или другими способами) это всё будет утеряно и вам загрузится тот самый html/css/js, который является результатом рабыты сервера того сайта, который вы просматриваете
    Ответ написан
    1 комментарий