Задать вопрос
  • Куда пропало свободное место на диске?

    GenuZ
    @GenuZ
    Не нашёл полностью правильный ответ, поэтому напишу его.

    По-умолчанию файловая система ext4 резервирует под служебные нужды 5% свободного места на разделе. На больших дисках это бывает много. Изменить такое поведение можно, сказав в терминал подмонтированному разделу:
    tune2fs -m 1 /dev/sda1
    где 1 - количество резервируемого места в процентах (0% тоже можно), а /dev/sda1 - раздел, к которому это применить

    Эффект немедленный и без перезагрузок.

    Также после этого можно слегка дефрагментировать этот смонтированный раздел:
    e4defrag /dev/sda1
    Ответ написан
    3 комментария
  • Как можно увеличить место dev/sda2 на "горячую"?

    @SunTechnik
    :) свою версию изложу :)
    1. Сделать бэкап.
    2. В конце диска создать раздел под swap. (sda4)
    3. mkswap на новый раздел (mkswap /dev/sda4)
    4. Добавить swap: swapon /dev/sda4
    5. Удалить старый swap: swapoff /dev/sda3
    Поправить /etc/fstab для замены swap
    устройства.
    6. С помощью parted или fdisk удалить раздел sda3; расширить раздел sda2
    7. Сделать resize для sda2. Команда будет отличаться, в зависимости от типа файловой системы. (смотреть вывод: mount -p или содержимое /etc/fstab).

    Предварительно рекомендуется создать стенд и на нем потренироваться.
    Ответ написан
    1 комментарий
  • Почему PHP выполняет математические операции неправильно?

    Vamp
    @Vamp
    Потому что типом данных double нет возможности представить число 0.58. Поэтому компьютер берёт наиболее близкое к 0.58 число, которое double может выразить.

    Если вам нужны точные вычисления, то следует воспользоваться специальными функциями:

    $format = bcdiv("580000000", "1000000000", 2); // "0.58"
    
    var_dump(bcmul($format, "100")); // string(2) "58"


    Существует даже специальный сайт, рассказывающий о данной особенности математики чисел с плавающей запятой: https://0.30000000000000004.com/
    Ответ написан
    Комментировать
  • Почему PHP выполняет математические операции неправильно?

    Коротко - потому что IEEE 754

    Выполняет он математические операции правильно, но некоторые числа компьютер просто не способен представить со 100% точностью, тк для них нужно было бы бесконечное количество памяти.

    Точно также, как мы не можем записать все цифры числа 1/3 в десятичной системе, точно также и компьютер иногда не может записать все цифры в двоичной.

    Если ты работаешь с деньгами, то тогда используй то, что делают все банки - представляй суммы денег не как дробные числа, а как целые. Например место 1.5 рублей записывай как 150 копеек. Запятую добавишь при выводе человеку.
    btw тут в комментах пишут, что для денег тоже есть паттерн по-лучше конкретно для php.

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

    Если ты делаешь какие-то математические вычисления - возможно тебе нужны рациональные числа.
    Не знаю, что обычно для этого в пхп используют, но нагуглил https://github.com/webgriffe/rational
    https://github.com/markrogoyski/math-php

    Но в случае с целыми числами ты всё равно можешь упереться в ограничение на максимальное число, а в случае с рациональными числами ты получишь очень сильную просадку в производительности.

    Если тебе критически важна скорость, а точность - не так важна, то оставайся на IEEE754 и просто округляй то N значимых цифр (обычно больше 5 цифр мало кому нужно)
    Ответ написан
    13 комментариев
  • Пропадает интернет но ping идёт?

    @VoidMarquis
    привет, попробуй глянуть частотные настройки у роутера. у меня такая же фигня была, сидели с соседями на одном канале сети. и каждый день в 7-8 часов вечера переставал у нас обоих wi-fi работать вообще.

    если не работает и с кабеля, то проверь настройки прокси и впн-ов.

    на крайняк ресетни настройки у роутера.

    ещё сетую проверить обжимку у провайдеровского кабеля
    Ответ написан
    4 комментария
  • Как такое возможно, 2 ip на 1 мак адресе?

    @Gynaecologist
    Ну вообще-то в любой ОС можно на одному адаптеру присвоить несколько IP-адресов, причем с разными масками и/или разных сетей. И при этом настроить серверное ПО публиковать сервисы по конкретным адресам. Файрволом запретить отвечать на ICMP по конкретным локальным адресам. Если вы точно уверены, что таких настроек на компе нет, то да, скорее всего это глюк программы сканера. В пользу этой версии так же говорит, что напротив адреса 192.168.0.10 нет хостнейма.
    Ответ написан
    Комментировать
  • Как такое возможно, 2 ip на 1 мак адресе?

    @pilligrimm
    Или настроено два ip на одном устройстве. Или, если устройства разные, на одном из них вручную прописан такой же mac как и на другом.
    Ответ написан
    1 комментарий
  • Как такое возможно, 2 ip на 1 мак адресе?

    Это баг IP scaner, часто такую проблему вижу
    Ответ написан
    2 комментария