Задать вопрос
  • Почему компьютер постоянно перезагружается?

    xez
    @xez Куратор тега Компьютеры
    TL Junior Roo
    Похоже, что видеокарта сдохла.
    Ответ написан
  • Как быстро освоить Git?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    https://git-scm.com/book/ru/v2

    Не стоит переписывать в 100500 раз то, что уже написано. Просто прочтите один раз и сохраните закладку. Пригодится, поверьте.
    Ответ написан
    2 комментария
  • Как записать base64 в таблицу?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    1) Хранить картинки в бд крайне кривое решение. Это может быть оправдано только в случае когда там хранится пара иконок, вставленная в текст прям через <имг срц="тут_бэйз64_строка"... и нет желания все это переделывать ради 2 кастомных микрокартинок. В остальном - конвертировать в картинку и хранить на диске. В бд писать путь до картинки. Если это какой-то аватар или картинка, связанная с другим объектом, соответственно заводить отдельную таблицу на картинки и связь один-к-одному или один-ко-многим, в зависимости от ситуации. В худшем случае поле в той же таблице, если точно будете знать что других картинок к объекту относиться не будет, но это должен быть путь до реальной картинки на диске.
    2) Почему хранение в бд - плохая идея: При каждом запросе у вас будет вытаскиваться пару мегабайт данных из бд, передаваться по каналу соединения с бд, помещаться в память, и после этого еще нужно программно отдавать картину, кроме прочего картинка в бэйс64 занимает примерно на 30% больше места.
    Когда у вас есть картинка на диске, вы просто вставляете путь до нее, это ~50 символов, и сервер отдает ее БЕЗ УЧАСТИЯ ПРОГРАММНОЙ ЧАСТИ, средствами вебсервера и ОС. Это быстрее, потребляет меньше памяти и занимает меньше места в хранилище.
    Ответ написан
    Комментировать
  • Как дать перманентный бан за мультиак на сайте?

    vabka
    @vabka Куратор тега Веб-разработка
    По ip точно не получится отследить. А раз тут разные браузеры - по фингерпринтингу тоже не выйдет.
    Так что только по признакам, которые пользователь сам по глупости укажет (одну и ту же почту например) или по поведению.
    Ответ написан
    8 комментариев
  • Количество переменных не совпадает с количеством токенов при записи в таблицу БД. Можно ли использовать массив как переменную?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Здесь, собственно, весь код на выброс.
    -    $i = 0;
    -    $coll = '';
    -    $mask = '';
    -    foreach ($params as $key => $value) {
    -        if ($i === 0) {
    -            $coll = $coll . "$key";
    -            $mask = $mask . "'" . "$value" . "'";
    -        } else {
    -            $coll = $coll . ", $key";
    -            $mask = $mask . ", '" . "$value" . "'";
    -        }
    -        $i++;
    -    }
    +    $coll = implode(',', array_keys($params));
    +    $mask = ':' . implode(',:', array_keys($params));
    Ответ написан
    Комментировать
  • Как правильно расставить скобки при ошибке установки плагина?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    del
    UPD
    function some_plugin_name_get_remote_address() {
      $remote_addr = getenv('HTTP_CLIENT_IP') ? getenv('HTTP_CLIENT_IP') :
          (getenv('HTTP_X_FORWARDED_FOR') ? getenv('HTTP_X_FORWARDED_FOR') :
          (getenv('HTTP_X_FORWARDED') ? getenv('HTTP_X_FORWARDED') :
          (getenv('HTTP_FORWARDED_FOR') ? getenv('HTTP_FORWARDED_FOR') :
          (getenv('HTTP_FORWARDED')?getenv('HTTP_FORWARDED'):
          getenv('REMOTE_ADDR')
          ))));
    
      $remote_addr = str_replace('for=', '', $remote_addr);
    
      return $remote_addr;
    }
    Ответ написан
    9 комментариев
  • Можно ли в корпус где указан Е-АТХ поставить ATX материнку?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Чаще всего в больших корпусах имеются универсальные расположения креплений меньших форм-факторов.
    Так что в большинство таких корпусов встанут как ATX так и mATX, и более меньшие
    Ответ написан
    Комментировать
  • Можно ли в корпус где указан Е-АТХ поставить ATX материнку?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    да
    Ответ написан
    Комментировать
  • Как исправить ошибку при отправке запроса?

    rozhnev
    @rozhnev Куратор тега MySQL
    Fullstack programmer, DBA, медленно, дорого
    То что вы пытаетесь сделать в MySQL можно сделать при помощи типа ENUM

    CREATE TABLE species ( 
        species_id       INTEGER PRIMARY KEY,
        type_id          INTEGER,
        species_name     VARCHAR(255) NOT NULL,
        species_amount   INTEGER,
        date_start       DATE,
        species_status   ENUM ('active', 'absent', 'fairy') NOT NULL DEFAULT 'active'
    );

    https://sqlize.online/sql/mariadb/38af7f7fa3c528d5...

    Но лучше использовать таблицу-справочник
    CREATE TABLE species_statuses ( 
        id       INTEGER PRIMARY KEY,
        name     VARCHAR(255) NOT NULL
    );
    INSERT INTO species_statuses VALUES (1, 'active'), (2, 'absent'), (3, 'fairy');
    
    CREATE TABLE species ( 
        id          INTEGER PRIMARY KEY,
        type_id     INTEGER,
        name        VARCHAR(255) NOT NULL,
        amount      INTEGER,
        date_start  DATE,
        status_id   INTEGER DEFAULT 1,
        FOREIGN KEY (status_id) REFERENCES species_statuses(id)
    );

    https://sqlize.online/sql/mariadb/1121e0d679fb1aae...
    Ответ написан
    Комментировать
  • Как можно быстро подключить шрифты в css?

    @holllop
    Так давай по полкам всё. Я конечно сомневаюсь, что подобного вопроса не было, но всё же
    1. Локальное хранение шрифтов: Вы можете скачать шрифт в нужном формате (например, WOFF или TTF) и сохранить его в своем проекте. Затем в CSS вы можете использовать правило @font-face, чтобы подключить шрифт, указывая путь к файлу на вашем сервере. Например:

    @font-face {
      font-family: 'MyFont';
      src: url('/path/to/font.woff2') format('woff2'),//пример пути
           url('/path/to/font.woff') format('woff');//пример пути
    }

    2.Есть вариант автоматизации этих процессов. Для этого используйте инструментов сборки и управления зависимостями(например GULP или WEBPACK)
    3.Есть ещё возможность. Внедрение шрифтов через сервисы веб-шрифтов: Некоторые сервисы веб-шрифтов, такие как Google Fonts или Adobe Fonts, предоставляют быстрый и простой способ подключения шрифтов на вашем сайте, предоставляя вам готовый код CSS для вставки на ваш сайт.
    Ответ написан
    4 комментария
  • В чем отличие ngnix от golang?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Ну раз с фронта пересели, то аналогию понять должны: В чëм отличие Google Chrome от JavaScript?
    Ответ написан
    2 комментария
  • Как обрабатывать файл полученный пост запросом правильно?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Вероятно вы вообще не изучали тему. Когда на PHP обработчик поступает запрос из браузера в кодировке multipart/form-data, то все полученные файлы автоматически записываются во временную директорию, а ссылки эти файлы добавляются в суперглобальный массив $_FILES.

    Чтобы сохранить файл, надо его из временной директории перенести куда-нибудь в другое место, для этого существует специальная функция move_uploaded_file. Если НЕ использовать данную функцию, то после завершения работы PHP обработчика все полученный файлы из временной директории автоматически будут удалены.

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

    P. S. Я хочу сказать, что при получении файла файл сохраняется на сервере автоматом, пусть и во временную директорию. Это ключевой момент, который вы похоже не поняли. Удаляется он потом тоже автоматом.
    Ответ написан
    Комментировать
  • Не слетит ли windows после обновления Linux?

    Adamos
    @Adamos
    Винда может слететь после обновления Убунты.
    Винда может слететь до обновления Убунты.
    Винда может слететь без обновления Убунты.
    Слеты Винды вообще никак не коррелируют с другими системами.

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

    @rPman
    intVal или floatVal автоматически преобразуют число в начале строки, проигнорировав все остальные символы а так же отсутствие числа в принципе (вернет 0).
    Ответ написан
    1 комментарий
  • Могу ли я удалить всех юзеров ubuntu кроме своих?

    Не трогай. Они все нужные.

    Главное смотри, чтобы у системных не было login shell
    Например ок, если /usr/sbin/nologin или /bin/false
    mark:x:1001:1001:mark,,,:/home/mark:/bin/bash
    [--] - [--] [--] [-----] [--------] [--------]
    |    |   |    |     |         |        |
    |    |   |    |     |         |        +-> 7. Login shell
    |    |   |    |     |         +----------> 6. Home directory
    |    |   |    |     +--------------------> 5. GECOS
    |    |   |    +--------------------------> 4. GID
    |    |   +-------------------------------> 3. UID
    |    +-----------------------------------> 2. Password
    +----------------------------------------> 1. Username
    Ответ написан
    Комментировать
  • Почему nginx устанавливается в etc, а не в bin?

    @pfg21
    ex-турист
    пакет стандартной версии nginx-core устанавливает испоняемый бинарь програмки в /usr/sbin/nginx
    и имеет в зависимостях пакет настроечных файлов nginx-common который распихивает кучу настроек по соответствующими путям.
    что еще непонятно ?? :)
    Ответ написан
    Комментировать
  • Видеокарта HDMI + монитор (DVI-D)?

    vndrussia
    @vndrussia
    Вроде разработчик,а вроде и нет
    Да, вы можете соединить видеокарту с портом HDMI и монитор с портом DVI-D с помощью соответствующего кабеля. Оба кабеля, которые вы упомянули, FinePower HDMI - DVI-D и Buro HDMI - DVI-D, подойдут для этой цели.

    Относительно вашего использования для игр на разрешении 1080p и частоте обновления 60 Гц с настройками Ultra, данное соединение будет работать. Подводных камней особо нет, но есть несколько важных вопросов, на которые стоит обратить внимание:

    Ограничения разрешения и частоты обновления: DVI-D в режиме Single Link (одиночная ссылка) способен передавать сигнал разрешения 1920x1200 при частоте обновления 60 Гц. Если ваш монитор поддерживает более высокие разрешения или частоты обновления, то может потребоваться более продвинутый тип кабеля или другой способ подключения.

    Кабель с характеристикой "прямой": Эта характеристика означает, что кабель имеет одинаковые типы разъемов на обоих концах и просто соединяет два устройства напрямую без конвертации сигнала.

    "Он в обе стороны работает или только в одну?": В большинстве случаев кабели HDMI-DVI-D однонаправленные, то есть они предназначены для передачи сигнала от HDMI к DVI. Если вам нужно соединить DVI-D монитор к HDMI видеокарте, убедитесь, что вы используете правильный тип кабеля (HDMI к DVI-D).
    Ответ написан
    3 комментария
  • Как экранировать sql запрос внутри texarea?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Подготовленные выражения PDO и MySQLi.
    Ответ написан
    1 комментарий
  • Как экранировать sql запрос внутри texarea?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Это очень просто сделать.
    Надо всего лишь освоить подготовленные выражения.
    Например, почитав вот тут https://habr.com/ru/articles/662523/

    И все запросы, в которых участвуют переменные, выполнять только таким образом.
    А texarea там, или tinymce - это уже без разницы.
    Ответ написан
    1 комментарий
  • Видеокарта артефачит в играх, что делать?

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

    Если результат не повторится - смотри на проблемы в остальных комплектующих. Вероятно что-то с памятью.
    Ответ написан
    Комментировать