• Почему file_put_contents увеличивает число на единицу?

    @pantsarny
    Вы вызываете скрипт через консоль или браузер ?
    Если через браузер - может ли быть такое , что запрос к favicon.ico вызывает данный скрипт? В таком случае у вас происходит вызов скрипта дважды
    Ответ написан
    Комментировать
  • Использование Linux?

    @ewgenc
    Покупать корпоративный ноутбук, на котором производителем заявлена поддержка Linux. Или Dell XPS в версии для разработчиков, там Ubuntu стоит изначально. Ну и компании изначально делающие ноутбуки на Linux не стоит забывать, например System76.
    Ответ написан
    Комментировать
  • Какой процессор лучше: i7-640m или i5-580m?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    Оба хуже.

    Этим изделиям более 12 лет.
    spoiler
    6565ab4a71554293018587.jpeg

    Фактически на сколько быстро работают мобильные процессоры - больше зависит от решения производителя ноутбука (теплового пакета и системы охлаждения). Разница может достигать и 2-х раз. При чем не в пользу более "топового".
    Это просто рулетка...
    А что на счет шины - боюсь там просто неверные данные. Процессоры сделаны из одного кристалла и выпиленные из одной вафли. Они полностью технологически одинаковы, оба мобильные. Только небольшая маркетинговая разница.

    А возраст данных процессоров - это уже за гранью добра и зла и он обоснованно может требоваться только в случае, когда требуется именно древнее железо для обеспечения нормального функционирования другого древнего решения (например - для узкоспециализированного ПО).
    Если же вы покупаете "новый" ноутбук на ОЗОН и там такие варианты - откажитесь от затеи. Новые изделия не бывают на старых и БУ компонентах.
    Ответ написан
    Комментировать
  • Как вывести общий объем свободного и занятого дискового пространства?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    есть замечательная утилита lsblk
    например, вывести информацию по всем смонтированным FS(файловым системам) в виде - имя, доступный размер, используемый размер и процент от использования
    $ lsblk -lo NAME,FSAVAIL,FSUSED,FSUSE\% | awk 'NF>1'
    NAME      FSAVAIL FSUSED FSUSE%
    nvme1n1p1    423M    88M    17%
    nvme1n1p2  423,2G    29G     6%
    nvme0n1p2  360,2G  73,3G    16%

    awk здесь используется для отсечения не смонтированных ФС и самих дисков у которых естественно будет отсутствовать доступный размер.
    Если нужен общий размер файловой системы то добавьте параметр FSSIZE

    если нужно без шапки то используй ключ -n
    $ lsblk -nlo NAME,FSAVAIL,FSUSED,FSUSE\% | awk 'NF>1'
    nvme1n1p1    423M    88M    17%
    nvme1n1p2  423,2G    29G     6%
    nvme0n1p2  360,2G  73,3G    16%

    если нужно по конкретной ФС то просто указываем её
    $ lsblk -nlo NAME,FSAVAIL,FSUSED,FSUSE\% /dev/nvme1n1p2
    nvme1n1p2  423,2G    29G     6%

    если нужна конкретная цифра то оставляем тока нужный параметр
    $ lsblk -no FSUSED /dev/nvme1n1p2
       29G

    при желании можно получить данные через json и после нужным образом обработать, например:
    $ lsblk -Jo FSUSED /dev/nvme1n1p2 | jq -r '.blockdevices[].fsused'
    29G

    если нужно в байтах, то используйте ключ -b
    $ lsblk -Jbo FSUSED /dev/nvme1n1p2 | jq -r '.blockdevices[].fsused'
    31178240000


    еще как пример, для файловой системы nvme1n1p2 отобразим в форматированном виде информацию по свободному и занятому пространству:
    $ lsblk -Jo FSAVAIL,FSUSED /dev/nvme1n1p2 | jq -r '.blockdevices[] | "Всего занято:\t\(.fsused)\nВсего свободно
    :\t\(.fsavail)"'
    Всего занято:	29G
    Всего свободно:	423,2G


    п.с.
    если нужна обобщённая информация сразу по всему диску то наверное проще будет использовать smartctl
    sudo smartctl -ja /dev/nvme0n1 | jq -r '.nvme_namespaces[] | "Всего занято:\t\(.utilization.bytes)\nВсего свободно:\t\(.capacity.bytes - .utilization.bytes)"'
    Всего занято:	88322768896
    Всего свободно:	411785093120

    правда это скорее всего будет с учетом размера метаданных самих файловых систем расположенных на диске, что будет не так интересно, хотя для быстрой оценки диска сойдёт.
    (здесь вывод json под nvme, для других видов дисков скорее всего нужно будет подправить)

    и да, для преобразования размеров довольно удобно использовать утилиту numfmt
    $ sudo smartctl -ja /dev/nvme0n1 | jq -r '.nvme_namespaces[] | "Всего занято: \(.utilization.bytes)\nВсего свободно: \(.capacity.bytes - .utilization.bytes)"' | numfmt --to=iec --field 3 --padding=1 --format %.1f
    Всего занято: 82,3G
    Всего свободно: 383,6G
    Ответ написан
    1 комментарий
  • Как зайти под root в Alt Linux?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Клоунам, которые пишут мне про пароль пробел, ваше мнение мне не нужно

    Клоунам, которые приходят за консультацией, но почему-то начинают "палцы веером, сопли пузырями" - проходишь мимо - проходи, раз такой умный!
    Пробел в качестве пароля использоваться не может. Он скорее всего отбрасывается (и надо сказать, вообще непонятно, как устанавливается пароль). Надо смотреть pam, как настроена цепочка на проверку. Для безусловного сброса пароля - загрузка с livedvd, монтирование диска, удаление пароля рута, перезагрузка.
    Можно попробовать загрузиться в режиме emergency, если пароль запрашивать не будет.
    Ответ написан
    Комментировать
  • Можно ли увеличить радиус покрытия вайфай сигнала?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    В вопросе детектируются взаимоисключающие параграфы. С одной стороны вы хотите расширить радиус покрытия, а с другой боретесь с помехами на канале.
    Видимо имеет место сумбур, и еще недостаток диагностики ситуации.

    Давайте по порядку...
    Радиус покрытия:
    - у 2ГГц выше, чем у 5 ГГц
    - сильно зависит от расположения роутера и препятствий на пути
    - может быть частично увеличен подъемом мощности передачи (но вы не сможете поднять мощность приема, и ваш роутер может перестать слышать телефон, хотя телефон будет ловить сильный сигнал от роутера)
    - может быть значительно увеличен направленными антеннами (как правило это роутер совмещенный с антенной, типа DAP-3310), но решение не для любого случая
    - может быть увеличен до огромных размеров за счет технологии mesh (а там есть разные способы и пути решения вопроса, но для стадиона или гостиницы - на роутерах уровня SOHO выехать не получится)

    Зашумленность эфира:
    - на 5ГГц ниже чем на 2ГГц (и роутеров меньше, и частоты "ширше")
    - непересекающиеся частоты на 2ГГц - это всего три канала: 1, 6 и 11.
    - соседние роутеры повешенные на каналах как попало (например на 3 и на 4) - сильно фонят и мешают друг другу.
    - роутеры повешенные на один канал (например все на 6) - "договариваются" между собой и делят канал честно, но работают на скорости самого медленного из всех устройств.

    Соответственно задачи "расширить" и "выбрать правильный канал" - совершенно разные и частично взаимоисключающие.

    Типичная бедственная ситуация выглядит так: офисное здание или новостройка из пенобетона. Ловятся по 50 точек доступа. Роутеры и устройства дико мешают друг другу. Вайфай еле работает.
    Как надо решать:
    - посадить всех принудительно на 1, 6, и 11 канал.
    - снизить мощность передачи на всех роутерах
    Как решают (эгоистичный способ):
    - покупают роутеры помощнее, передачу ставят на 100% мощности
    - ищут каналы посвободнее
    Ну и итог - сперва у одного эгоиста становится лучше, за счет резкого ухудшения ситуации у остальных. Потом остальные "подтягиваются" и работать перестает у всех.

    Теперь к вашему вопросу... Да, вы можете настроить в роутере (ну в большинстве можно) автовыбор канала по расписанию, или динамически. Но это не решит проблему. Это приведет к коллапсу...
    Ответ написан
    Комментировать
  • На каком Raspberry Pi можно поднять Git-сервер?

    @Dmtm
    Android
    > для конторы внутренний GIT сервер на raspberry pi.
    будет программный RAID1 на USB дисках?
    любая древняя материнка + pci-e raid controller - намного, намного лучше
    Ответ написан
    6 комментариев
  • Учитывает ли Git регистр имени файла и как его поменять?

    ValdikSS
    @ValdikSS
    Дело, вероятно, в вашей файловой системе, а не в Git. У вас, полагаю, Windows?
    В Windows не учитывается регистр файлов. Если вы попробуете записать данные в файл "test" и в файл "tEst", обе записи выполнятся в один файл, а имя ему выберется в зависимости от порядка записи.
    Ответ написан
    1 комментарий
  • Как установить и настроить кучу пакетов в debian через скрипт, и есть ли такие готовые скрипты?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Для подобных вещей существует прекрасный Ansible.
    Ответ написан
    Комментировать
  • На сервер приходит Buffer длиннее, чем я отправляю с фронта, как это исправить?

    @zkrvndm
    Софт для автоматизации
    Ты не правильно данные отправляешь. Во первых, у тебя абсолютно некорректные заголовки, когда отправляешь бинарные данные заголовки можно не прописывать, браузер сам их пропишет. Во вторых, почему ты пытаешься отправить arrayBuffer? Откуда он у тебя? Отправляй File или Blob при помощи FormData, тогда проблем не будет.
    Ответ написан
    Комментировать
  • Можно ли использовать Bitrix Framework без Bitrix CMS? Как начать?

    @fuldaxxxx
    1) Покупаем и устанавливаем 1C-Битрикс: Управление сайтом - старт -https://www.1c-bitrix.ru/products/cms/editions/sta...
    2) Заходим в /bitrix/modules/ и удаляем все кроме модулей main, main.admin, iblock
    3) Заходим в /bitrix/components/ и удаляем все компоненты
    4) Читаем документацию к ядру D7 - https://dev.1c-bitrix.ru/learning/course/index.php...
    И создаем непревзойдённый по качеству продукт
    Ответ написан
    Комментировать
  • Можно ли использовать Bitrix Framework без Bitrix CMS? Как начать?

    gromdron
    @gromdron
    Работаю с Bitrix24
    TLDR: Никак.

    Давно читал что Битрикс CMS -- это продукт, построенный на Bitrix Framework. Как и Битрикс 24. И по идее, можно построить на нём свой собственный продукт. Использовать без CMS или любого готового решения или продукта.


    Да, есть Bitrix Framework, но это не фреймворк в общепринятом виде, а именно каркас проприетарной системы который непрерывно связан с CMS (точнее обмазан вокруг).

    Есть ядро продукта (которое состоит из модулей main, fileman, ui, rest и сайта-админки), так вот Framework это часть модуля main который обеспечивает работоспособность системы.
    Ответ написан
    Комментировать
  • Как запретить вход на сайт по ip через nginx?

    Daemon23RUS
    @Daemon23RUS
    Включить на сервере Firewall и оставить открытыми только те порты по которым можно обращаться из вне. В той части что Вы опубликовали это 80й порт. И да, не забыть оставить 22й порт, т.к вы же к серверу скорее всего подключаетесь по SSH.
    Ответ написан
    Комментировать
  • Как запретить вход на сайт по ip через nginx?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Слушать порт не для 0.0.0.0, а только для localhost
    Ответ написан
    Комментировать
  • Какую технологию выбрать для выдачи результата по выбранным параметрам?

    @Refguser
    Делаю ИМ и другие решения
    Вопрос в том, какую технологию, библиотеки или алгоритмы выбрать под эту задачу?

    У тебя описан простой фильтр. Реализовывается на любой "технологии".
    Ответ написан
    5 комментариев
  • Как можно оптимизировать SQL запрос?

    @Akina
    Сетевой и системный админ, SQL-программист.
    насколько оптимально такое решение?

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

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

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

    Хотя как по мне, следует отделить систему безопасности Постгресса от авторизации в приложении. Мнение по данному вопросу от Everything_is_bad в комментарии - это не сарказм, а весьма правильное замечание.
    Ответ написан
    Комментировать
  • Почему в .txt файле на Linux появляется "лишний" байт?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Откройте файл в шестнадцатеричном редакторе/вьюере, например wxHexEditor или GHex и посмотрите, что в нём лежит.
    Ответ написан
    Комментировать
  • Как скрыть элемент при изменении размеров экрана с помощью медиа запросов?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Если вы меняете картинку, то используйте специально для этого придуманный тег picture
    Ответ написан
    Комментировать
  • Как скрыть элемент при изменении размеров экрана с помощью медиа запросов?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    да все правильно
    https://codepen.io/delphinpro/pen/KKJqNoJ
    Ответ написан
    Комментировать
  • Как удалить склонированный репозиторий с локальной машины (linux)?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Рабочий каталог удаляйте таким-же способом.
    cd .. # разумеется надо выйти из него
    rm -r "название каталога"


    И избегайте статей с названием «Git за полчаса» — это развод.
    Вбивание непонятных команд в терминал это не обучение.
    Git простой, но лучше потратить неделю чтобы понять азы и потренироваться.
    Ответ написан
    Комментировать