Задать вопрос
  • Почему так отображается объем оперативной памяти?

    @alexalexes
    Посмотрите в настройках Региона -> Дополнительные параметры, что там с разделителями чисел.
    6859383c3892d773347244.png
    Не поставили ли случайно букву "б" вместо запятой.
    Ответ написан
    10 комментариев
  • Что делать: есть проблема со скоростью интернета из-за длинного кабеля?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Прокинуть оптику! С двух сторон поставить медиаконверторы, оптический кабель купить оконцованный.
    Ответ написан
    1 комментарий
  • Не работает сайт crates.io, как исправить вез VPN?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    как исправить вез VPN

    Переехать
    Ответ написан
    6 комментариев
  • Не работает сайт crates.io, как исправить вез VPN?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Я прошерстил весь интернет на предмет блокировок или сбоев интернета в России и моей области, но ничерта не нашёл.

    Серьёзно? Уже неделю роскомпозор шатает половину интернета, а мужики-то не в курсе.
    Ответ написан
    4 комментария
  • Могу ли я прогнать через password_hash пароли в бд, которые md5, чтобы не сломалась авторизация?

    @alexalexes
    Смену способа хеширования пароля вы можете провернуть только при участии каждого пользователя, в два этапа.
    1 этап.
    Делаете патч в функцию авторизации.
    Когда пользователь авторизуется, проверяете, что заполнено поле по хешу новой функции.
    Если оно заполнено по новой функции, то все проверки верности пароля проводите с ней, поле старой функции игнорируете.

    Если хеш по новой функции не заполнен, то проверяете, что пароль верен с точки зрения хеша старой функции. Если верен пароль, то записываете хеш по новой функции, так как у вас есть исходный пароль.
    Так вы накапливаете базу пользователей, которые часто заходят. И для них вы бесшовно меняете хеши.

    2 этап
    Когда число поменянных хешей примерно будет равно числу активных пользователей за определенный период, то в патче запрещаете пользоваться старым хешем для проверки паролей, отправляете пользователя принудительно восстанавливать пароль по другим учетным данным, например, по эл. почте.
    При восстановлении доступа пароль хешировать новой функцией.
    Все, с этого момента можно избавиться от логики использования старого хеша.
    Ответ написан
    Комментировать
  • Можно ли настроить запросы к php через вебсокет и http одновременно?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Разумеется можно. Никаких нюансов в одновременной работе нет, поскольку тут нет никакой "одновременности". php-fpm и websocket - это два разных сервиса, которые могут располагаться на одном и том же сервере или на разных, но в любом случае никак не пересекаются. В добавление к текущему веб-серверу вы просто запускаете вебсокет сервер и посылаете на него вебсокет запросы из браузера.

    Ну то есть вам всего лишь надо осознать, что никакой одновременности нет, а дальше просто поставить вебсокет сервер, например workerman, и написать код, который по запросу будет соединяться с БД, получать нужную инфу и отправлять клиенту.

    1. Да.
    2. Как говорилось выше - можно. Любой сервер в сети по определению обеспечивает работу множества сервисов, количество которых ограничено только количеством свободных портов. Можно поставить два веб-сервера и пять вебсокет серверов.
    3. Нет, разумеется. unix сокет это как раз внутренняя кухня сервера, но мы же говорим о сетевом взаимодействии. А tcp взаимодействие nginx и php-fpm тут вообще не при чём.
    Ответ написан
    8 комментариев
  • Можно ли настроить запросы к php через вебсокет и http одновременно?

    @rPman
    Да, подходит.

    websocket это расширение http запроса, т.е. там добавляются специфические заголовки и можно отправлять туда-сюда пакеты в одном соединении.

    Для этого приложение на php нужно реализовывать в виде http сервера (готовых библиотек тьма, включая штатные расширения), рекомендуется использовать swoole ну или по старинке на сокетах (библиотеки phpreact)
    Ответ написан
    4 комментария
  • Как реализовать переход с Bootstrap 3 на Bootstrap 5?

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    Варианты перехода с Bootstrap 3 на Bootstrap 5:
    1. Постепенная миграция (Hybrid approach)

    Подключить Bootstrap 5 с префиксом классов
    Переписывать компоненты по одному
    Использовать CSS-изоляцию для избежания конфликтов
    Плюсы: Сайт остается рабочим, можно мигрировать частями
    Минусы: Увеличенный размер CSS, сложность поддержки

    2. Использование Bootstrap Migration Tool

    Автоматические инструменты для замены классов
    Скрипты для массовой замены в файлах
    Плюсы: Быстрая автоматизация базовых изменений
    Минусы: Не покрывает все кейсы, нужна ручная доработка

    3. Создание CSS-моста (Polyfill)

    Написать CSS-правила для совместимости классов BS3
    Создать алиасы для старых классов
    Плюсы: Минимальные изменения в HTML
    Минусы: Не все компоненты можно эмулировать, устаревший подход

    4. Полная перепись с нуля

    Установить Bootstrap 5
    Переписать все компоненты и страницы
    Плюсы: Современный код, лучшая производительность
    Минусы: Много времени, высокий риск поломок

    5. Использование CSS-in-JS или препроцессоров

    Создать миксины для совместимости
    Использовать SCSS для переопределения
    Плюсы: Гибкость настройки
    Минусы: Нужны знания препроцессоров

    6. Bootstrap 4 как промежуточный этап

    Сначала мигрировать на BS4, потом на BS5
    Плюсы: Меньше кардинальных изменений за раз
    Минусы: Двойная работа

    7. Микросервисный подход

    Переписывать отдельные секции сайта на новом Bootstrap
    Постепенно заменять старые части
    Плюсы: Изолированные изменения
    Минусы: Сложность интеграции

    Для больших проектов: Постепенная миграция (#1)
    Для средних проектов: Bootstrap 4 как промежуточный этап (#6)
    Для небольших сайтов: Полная перепись (#4)
    При ограниченном времени: CSS-мост (#3)
    Ответ написан
    2 комментария
  • Какие гарантии на выравнивание адреса указателя?

    @BulatZiganshin
    A read r of a memory location x holding a value that is not larger than a machine word must observe some write w such that r does not happen before w and there is no write w' such that w happens before w' and w' happens before r. That is, each read must observe a value written by a preceding or concurrent write.

    https://go.dev/ref/mem
    Ответ написан
    4 комментария
  • Почему PHP считает int числа после математических операций как float?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Так как в выражении одним из операндов присутствует деление, результатом которого будет число с десятичной частью, естественно все дальнейшие действия будут переводить операнды в совместимый формат - с плавающей запятой. Читать про неявные преобразования в языках со слабой типизацией.
    Ответ написан
    Комментировать
  • Почему SOP не блокирует запросы с разных источников, позволяя воспроизвести CSRF?

    vabka
    @vabka Куратор тега Веб-разработка
    CORS умеет блокировать не только ответы, но и запросы, но только в случае "сложных" запросов.
    (Например POST с Content-Type: application/json будет сложным)
    А банк от csrf-уязвимостей должен защититься при помощи csrf-токенов.

    https://habr.com/ru/companies/macloud/articles/553826/
    Ответ написан
    2 комментария
  • Как можно сделать проверку номеров квартиры, дома и улицы введенных пользователем?

    sabramovskikh
    @sabramovskikh
    dadata.ru
    Ответ написан
    Комментировать
  • Как построить свой маршрут в обход провайдерского (mikrotik 7)?

    martin74ua
    @martin74ua
    Linux administrator
    Становитесь провайдером, заключайте договора с магистралами, получайте AS, настраивайте BGP связность, ставьте оборудования для взаимодействия с органами, прокладывайте магистрали так, как вам надо. Делов то...
    Ответ написан
    Комментировать
  • Как установить драйвер mysql для golang?

    У вас проект не инициализирован, надо сделать go mod init имя
    Вы пытаетесь добавить модуль как это делалось лет 7 назад, когда в Го не было модулей. Теперь надо все проекты делать через модули.
    https://go.dev/blog/using-go-modules

    После того как сделаете init, добавляйте модуль через
    go get github.com/go-sql-driver/mysql@latest
    Ответ написан
    Комментировать
  • Не пойму как скопировать?

    @historydev Куратор тега JavaScript
    Mistkerl, drück den Knopf.
    - var html = e.target.parentNode.querySelector('.firmware-window');
    + var html = e.target.parentNode.querySelector('.firmware-window').innerHTML;
    			$('.modal-wrapper').attr('class', 'modal-wrapper').html(html);
    			html.classList.remove('hiden');
    Ответ написан
    1 комментарий
  • После запуска в github - page выдает ошибку 404, отображается только главная страница- index.html, как заставить работать остальные html страницы?

    delphinpro
    @delphinpro
    frontend developer
    гитхаб пэйджес только для статических сайтов. Чисто html. Там нет серверных языков, в том числе питона. Вам нужен нормальный хостинг с поддержкой python.
    Ответ написан
    Комментировать
  • Возможно ли задать подсказку в phpstorme для возвращаемого типа?

    @Vitsliputsli
    Это не просто подсказки, это контроль типов. То, что зная какой тип возвращается Шторм может подсказать варианты это побочное удобство. Основное же должно быть то, что конкретная переменная имеет определенный тип, а значит не нужны дополнительные проверки и методы будут лаконичны и конкретны. У вас пока, то ли объект, то ли массив, то есть каждый раз нужно проверять что это. Лучше бы сделать объект-коллекцию.
    Чтобы указать Шторму, что в конкретной переменной лежит только этот тип используется хинт, типа такого:
    /** @var User $user */
    но разумеется, он должен быть только в том коде где в $user лежит обязательно объект класса User и ни что иное.
    Ответ написан
    1 комментарий
  • Как мне защитить файл подключения к бд?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Такие файлы кладут вне директории, которую обслуживает веб-сервер. Примерно так:
    ./db.php
    ./public/index.php

    В db.php вы подключаетесь, реквизиты храните в нём же или в .env-файле рядом (или ещё как-то), а в настройках веб-сервера в качестве корневой директории указана public. Тогда через него невозможно будет обратиться к "секретному" файлу.
    (есть ещё всякие уязвимости, которые делают такую защиту всё же не стопроцентной, но они далеко за рамками данного вопроса).
    Ответ написан
    6 комментариев
  • CSS как сделать div изображений ровно под наклоном друг за другом?

    наверное, корректнее поворачивать весь блок изоображений
    Ответ написан
    Комментировать