• Как создать ЭлементДанных "среднее PING" в Zabbix?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Среднее значение считается функцией .avg(604800) > -1, цифра - это количество секунд в неделе (7 дней), а условие > -1 - ну что бы хоть что-то в условии было.
    Что бы событие срабатывало раз в неделю - можно поставить интервал "По расписанию", и указать конкретный момент времени в неделе, когда элемент данных активен. Разумеется в условии восстановления нужно написать какое-нибудь выражение 1 > 0, оно всегда TRUE, и проблема будет закрываться сразу. А в извещении используйте стандартный макрос {ITEM.VALUE}.

    Правда не представляю, сколько времени Zabbix будет вытаскивать данные из базы и считать среднее арифмитическое. Ещё больше не представляю, какому воспалённому мозгу нужна такая средняя температура по больнице.
    Ответ написан
    5 комментариев
  • Синхронизация двух директорий через ssh?

    saboteur_kiev
    @saboteur_kiev Куратор тега SSH
    software engineer
    Мне постоянно советуют rsync

    Неужели такая странная хотелка, что нет готового решения?

    Так тебе и советуют готовое отличное решение.

    , но это же просто продвинутая замена scp. Там даже для обратной синхронизации надо его запускать второй раз с другим направлением.

    Нет, это не замена scp. То, что используется тот же протокол не значит что работает одинаково. rsync умеет обновлять файлы частично, экономит трафик.

    Вот пишу я какой-то код на ноуте. А запускаю на сервере. Как мне самым простым способом синхронизировать две директории — локальную и серверную?

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

    В твоих требованиях противоречия.
    То тебе нужно, чтоыб какие-то файлы не синкались. То есть уже нужно поддерживать список исключений и возможно настраивать его на каждом сервере.
    Потом у тебя день поработать на каком-то сервере, а завтра на другом. То есть ситуация, когда у тебя 5-10 серверов и ноут будут синкаться друг с другом?
    Потом ты хочешь "готовое решения", но не хочешь ставить его на каждый сервер/ноут и настраивать. Ну вот есть какой-нить unison, который синкает в обе стороны за один запуск, но его нужно будет и ставить и настраивать как и synthing, который ты не хочешь ставить или настраивать.

    Я бы не парился, а просто юзал приватный git репозиторий, который легко поставить везде. И в гите не обязательно сотни веток и даже коммит можешь просто ребейзить постоянно, чтобы был один.
    Или rsync который уже обычно есть почти везде и который понятно как работает.

    Или уж настрой тот же synthing, а настройку добавь себе в гитхаб, чтобы можно было скриптом скачать готовый сетап и все.
    Ответ написан
    8 комментариев
  • Синхронизация двух директорий через ssh?

    Vindicar
    @Vindicar
    RTFM!
    Да, странная. Обычно бэкапы делаются по расписанию, а для этих целей rsync хватает.
    А твой скрипт после написания и отладки как раз и превратится в неполное подобие syncthing, nextcloud и т.п.
    Ответ написан
    1 комментарий
  • Можно ли сделать копию сайта на шаблоне aspro?

    @koder_1
    Битрикс программист
    Решение аспро привязывается к определенному ключу битрикс.
    Нужно не переносить на тестовый битрикс, а именно копировать сайт.
    Ответ написан
    1 комментарий
  • Почему такая разница в цене видеокарт 4060?

    xez
    @xez
    TL Junior Roo
    Предположу, что вас интересует не вопрос "почему такая цена", а вопрос "чем они отличаются".

    Насчет "чем отличиются" есть вот такое видео, надеюсь, станет понятнее.
    Ответ написан
    Комментировать
  • Как запаролить сайт?

    @tyxeo
    дальний знакомый Мурыча
    используй на сервере базовую аутентификацию
    Ответ написан
    Комментировать
  • Не могу настроить сетку Bootstrap 5. Где ошибка?

    delphinpro
    @delphinpro
    frontend developer
    Зачем привязка к бутстрапу, если на css вам хватит двух-трех строк кода для описания желаемого?

    мобильники - вообще ничего не делаете. Блоки и так уже идут в столбик.

    Дальше простой запрос

    @media (min-width: 768px) /* ширина по вашему хотению */ {
      .block {  
        display: grid;
        grid-template-columns: repeat(3, 1fr);
      }
      .yellow {
        grid-column: span 3;
      }
    }
    Ответ написан
    Комментировать
  • Как увеличить производительность проекта на python?

    все упирается в бд, на ум сразу пришло вынести эту часть в микросервис
    Какой ещё микросервис? Микросервис, который делает что?

    В-нулевых, нужно конкретизировать что значит "упирается в БД". Тормозят какие-то конкретные запросы? СУБД не хватает ресурсов? Слишком медленный диск? Или, может, под "упирается в БД" вы понимаете всю бизнес-логику приложения, которую вы называете "берет из бд нужные данные" (и тогда становится понятно про микросервис)?
    Во-первых, нужно вынести СУБД на отдельную машину, желательно на голое железо (если речь про реальный хайлоад, а не про кривой код и конфиги).
    В-третьих, под это железо нужно СУБД корректно сконфигурировать.
    В-четвёртых, нужно добавить кэширование.
    В-пятых, нужно проверить алгоритмы и пофиксить узкие места (на последнем месте, потому что это самое трудоёмкое).

    Я понимаю, что python и django не самые быстрые инструменты (мягко скажем)
    Я вас уверяю, что проблема в вашей компетенции (мягко скажем), а не в инструментах. Есть достаточно проектов, написанных на Джанго, которые вывозят большие нагрузки.
    Вы, в принципе, правильно сделали, что попытались поначалу закидать проблему железом - оно обычно дешевле, чем время разработчиков. Но параллельно надо и оптимизацией заниматься, и это требует системности, которой в вопросе не очень-то видно. Ну и компетенций разных - если тормозят алгоритмы - это одно, если конкретные SQL-запросы - это другое, если СУБД задыхается в принципе - это третье.
    Ответ написан
    5 комментариев
  • Как быть при утечке памяти? Можно ли "очистить" ОЗУ скриптом?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    Вы вообще не в ту сторону шагаете.Какие тут скрипты??

    Утечки памяти это не проблема операционной системы (ну разве что утечки именно в ней).

    Утечки памяти, это проблемы конкретных приложений, которые запрашивают память для создания какой-то переменной или массива переменных, чтобы разместить в них данные. Затем, когда переменные больше не нужны, забывают их удалить. И в следующий раз снова запрашивают еще память. так потихоньку приложение растет и растет.
    При этом никто не может сказать со стороны - ни скрипты, ни операционная система, какую именно память приложение использует активно, а про какую уже "забыло".

    В этом и суть утечек, что их никак не починить, только перезапускать то приложение, которое разрослось.
    Чинить может только разработчик этого приложения, выпустив новую версию с исправлением.

    Тут нужно разбираться с вашими приложениями, с теми кто их писал.
    Иначе - ну ребутать разросшиеся приложения регулярно, если этот вариант возможен.
    Ответ написан
    Комментировать
  • Какую видеокарту и материнскую плату выбрать для процессора Ryzen 7 5700x?

    я сейчас думаю о покупке видеокарты(бюджет +- 80к)

    Можно на эти деньги найти RTX 4070ti

    и материнской платы(+-20к)

    что-нибудь на B550 с нормальным питанием ищи, что будет у тебя в наличии.
    Обзоров достаточно.

    чтобы все было совместимо и было на одинаковом уровне если так можно сказать

    Что такое "одинаковый уровень"?
    Ответ написан
    Комментировать
  • Как правильно организовать выборку зашифрованных данных PostgreSQL?

    Melkij
    @Melkij
    PostgreSQL DBA
    Никак.

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

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

    Единственное возможное исключение: если ваша функция шифрования обязуется быть immutable в терминах postgresql, т.е. на один и тот же ключ и исходные данные генерировать всегда один и тот же бинарно идентичный результат. Тогда делаете индекс по parent_iin и ищете по условию where parent_iin = функция_шифрования(данные, ключ) то есть по зашифрованному представлению данных.
    Ответ написан
    Комментировать
  • Как решить ошибку Warning: mysqli_connect(): (HY000/2002): Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Перед тем, как пытаться подключиться к серверу MySQL, его надо запустить.
    Если вы понятия не имеете, что такое сервер MySQL, то ищите нужную кнопочку в своей панельке управления, которая за вас решает, какие программы вам нужны.
    Ответ написан
    Комментировать
  • Почему компьютеры не используют двоично-десятичный формат для вычислений?

    hint000
    @hint000
    у админа три руки
    Идея двоично-десятичного представления не нова. Как минимум, 60 лет назад (а вероятно, что и ещё раньше) она имела практическую реализацию, как в аппаратной части (например, на IBM System/360), так и на языке высокого уровня (Cobol, 65 лет назад). https://ru.wikipedia.org/wiki/Двоично-десятичный_код
    Поскольку Cobol до сих пор немножко жив (в США есть спрос на опытных программистов на Cobol, в основном в финансовом секторе), то при желании можете его использовать вместе с его реализацией двоично-десятичной арифметики.
    Но скорость вычислений может быть меньше на порядок по сравнению с двоичным кодированием.

    ради точных вычислений
    арифметика с плавающей точкой в принципе не может быть точной. Например, в вашей любимой десятичной системе вы не сможете точно записать 1/3, 1/6, 1/7, 1/9, 1/11, 1/12, 1/13, 1/14, 1/15,.. (вам для этого потребуется бесконечно много разрядов, так же как в двоичной системе для ваших примеров 2,1;3,4;45,9). Проблему можно решить арифметикой с рациональными числами, но это будет ещё на порядок медленнее даже по сравнению с двоично-десятичной арифметикой. Реализации (библиотеки) тоже существуют - можете их найти и использовать, если готовы ради точности потерять в скорости в 100, а то и в 1000 раз (иногда точность на самом деле настолько важна, спору нет, но таких задач мало). Кстати, сравните возможности арифметики рациональных чисел с возможностями длинной арифметики. :) Тут не всё так однозначно.
    https://ru.wikipedia.org/wiki/Длинная_арифметика

    В целом вопрос хороший в плане вашей любознательности.
    Ответ написан
  • Как ускорить поиск по бд MySQL?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Хотелось бы понять как можно ускорить поиск товаров в базе данных MySQL, когда приходится использовать большое количество Id категорий в in.


    Дело не в большом количестве, а в том, сколько уходит времени на поиск одной. Если у колонки нет индекса, то поиск любого количества будет медленным. А если есть индекс, то будет быстрым.

    Плюс непонятно, с чего вы решили, что проблема именно в in. Если у вас сто тыщ товаров, и все их надо отсортировать или сгруппировать, то проблема вообще не в in. А в той самой сортировке или группировке. И надо подбирать составной индекс специально под них.

    Чтобы ускорить поиск по бд MySQL, надо не писать на тостер глубокомысленные умозаключения про три джойна и сто тыщ товаров, а выполнить команду EXPLAIN и начинать тупить в её вывод. или по крайней мере привести его в своем вопросе, чтобы он стал предметным.
    Ответ написан
    3 комментария
  • При использовании ftruncate после сохранения файла fwrite появляются много NULL в начале строки, что сделать чтобы их там не было?

    SilenceOfWinter
    @SilenceOfWinter Куратор тега PHP
    та еще зажигалка...
    используй rewind() после ftruncate()
    Ответ написан
    Комментировать
  • Как обмениваться файлами с VPS с со строгими настройками безопасности?

    @Drno
    WinSCP пробуйте. раз так уж надо отключать зачем то вход по паролю
    И нет - обмен файлов не должен быть такой же простой как в "проводнике". это дыра огромная.
    Ответ написан
    Комментировать
  • Здравствуйте! На хосте fornex php сервер не передает данные в БД, хотя на локалке все работало отлично. Как это исправить?

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

    error_reporting(E_ALL);

    В-вторых, если для работы с БД используется mysqli, то не лишне добавить настройку ошибок и для неё.
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    В-третьих, возникающую ошибку надо, собственно, увидеть.
    Для этого служат ещё две настройки. На локальном/тестовом сервере включаем вывод ошибок прямо на экран.

    ini_set('display_errors',1);

    На боевом - наоборот, выключаем вывод на экран и включаем вывод в лог
    ini_set('display_errors', 0);
    ini_set('log_errors', 1);

    После этого запускаем свой код и смотрим, что написано в сообщении об ошибке.
    Ответ написан
    Комментировать
  • Почему в спящем режиме подсветка оперативной памяти продолжает работать?

    @Tabletko
    никого не трогаю, починяю примус
    В спящем режиме система не выключается и оперативная память ещё работает.
    Ответ написан
    Комментировать
  • Переход с MD5 на SHA256 что нужно сделать чтобы работало)?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Решил сделать переход с MD5 на SHA256

    Первая ошибка.
    Переходить нужно сразу на password_hash
    На переходный период реализовать две системы аутентификации. Сначала пробуете по старой (md5), если неудача, то password_verify
    После удачной аутентификации хешируете пароль новым алгоритмом.
    Ответ написан
    Комментировать