Задать вопрос
  • Как сделать чтобы задача запускалась в диапазоне 0:00 - 01:00?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    В systemd-timer есть параметр, добавляющий разброс в указанном диапазоне. Задача в кроне со слипом - для 2023 года жуткий костыль и атавизм.
    Ответ написан
    Комментировать
  • (Теория) В каких случаях принято ставить L3 в центре?

    @Disel0k
    Например имеем ОЧЕНЬ большое количество устройств в сети и для уменьшения широковещательного трафика разбиваем сеть на Vlan'ы (допустим у нас /16 сеть и мы ее побили на /24 сети). Тогда будет логично использовать L3 свитч для маршрутизации трафика между /24 подсетями (здесь могут быть и 40G/s каналы) и использовать отдельный маршрутизатор для выхода в интернет.
    Кстати шлюзов на устройствах может быть прописано и несколько: маршрутизатор дефолтным и L3 свитч для /16 подсети в нашем примере.
    Ответ написан
    5 комментариев
  • Возможно ли получить белый IP бесплатно?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    чтобы доступ к SSH был из любой точки планеты, не имея белого айпи?

    Нет. Хотя многие провайдеры раздают белые IP просто так. Например РТК. У него PPPoE, он не может его не выдать :)
    У мобильных операторов это практически не решаемая задача - физикам их практически не дают.
    Ответ написан
    1 комментарий
  • Как сделать регулярное выражение на проверку телефона и замену первой цифры на 7?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Единственный способ гарантированной проверки телефона - звонок на него или отправка смс. Если вопрос про проверку формата, то регулярка не нужна, достаточно выбросить всё нечисловые символы и убедится, что длина получившейся строки не ниже заданного предела.
    Ответ написан
    Комментировать
  • Как в запросе сослаться на предыдущие строки?

    scoffs
    @scoffs
    Fullstack | C# | Student
    Возможно, вам надо что-то типа этого:
    SELECT * FROM (
      -- Внутренний подзапрос, применяющий оконную функцию LAG() к таблице calls
      SELECT *,
        LAG(duration) OVER (PARTITION BY cid_from ORDER BY call_time) AS previous_duration
      FROM calls
    ) AS subquery
    -- Основной запрос, фильтрующий результаты
    WHERE duration > 20 -- Длительность звонка больше 20 минут
      AND previous_duration < 2; -- Предыдущая длительность меньше двух минут
    Ответ написан
    1 комментарий
  • Как запустить php и nginx в одном контейнере?

    @humoured
    Вы всё на свете найдёте в коробке с карандашами
    PHP и Nginx незачем запускать в одном контейнере. Что бы контейнеры были связаны друг с другом, нужно их объединять в docker-compose.yml.
    Ответ написан
    2 комментария
  • В postgresql параметр max_wal_size - размер всех сегментов или одного?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Ни то ни другое.

    max_wal_size - пороговое значение, при срабатывании которого начинаем checkpoint. Ближайший родственник checkpoint_timeout, только checkpoint_timeout вызывает checkpoint по прошествии указанного времени с прошлого чекпойнта, а max_wal_size - после записи такого объёма WAL. Работают оба, чекпойнт начинается смотря что произойдёт раньше.
    Ответ написан
    7 комментариев
  • Какой вариант организации домашней виртуализации выбрать?

    @rPman
    Зачем? очень важный вопрос, зачем платить ресурсами (память, процессор, накладные расходы дает даже паравиртуализация lxc) да еще и устраивать многоуровневые системы для хранения данных?

    Все активно забывают, что доступ к файлам по сети в домашних конфигурациях (это 1гбит) - медленно, больше сотни мегабайт в секунду не получится, плюс заметный оверхед на протоколы (самба дает заметный, особенно это видно когда с мелкими файлами работаешь), плюс нагрузка на процессор NAS (например iscsi выше нагружает чем простой nbd).

    Вторая неприятность, большие системы виртуализации типа xen могут вообще не давать удобного (т.е. штатного интерфейса) механизмы работы с локальными образами или с образами nbd (т.е. работать можно но только как ручные настройки, т.е. возвращает в ковыряние в конфигах вместо того чтобы в интерфейсе выбрать что либо).

    Как это ни странно, самая удобная система виртуализации для домашнего пользователя (нет кластера и его фишек) - это VirtualBox

    Так же штатный libvirt имеет свой интерфейс и он так же рекомендуется как основной инструмент виртуализации (к нему доустанавливаются поддержка lxc а так же сетевых накопителей и становится совсем неплохо), так же для домашнего использования без кластера и его фишек
    Ответ написан
    Комментировать
  • Как подключить PostgreSQL к react-app вебсайту?

    Суть вопроса, как мне делать INSERT и SELECT запросы в вебсайте?

    Никак. Эти запросы должен делать бэкенд.
    А сайт должен делать http запросы к нему, например, при помощи функции fetch
    Ответ написан
    Комментировать
  • Почему возникает утечка памяти в php-fmp?

    @Vitsliputsli
    Утечка - это когда процесс не пользуется памятью, но и не высвобождает. По вашему описанию, php-fpm прекрасно использует память для других скриптов, а также высвобождает при необходимости. Т.е. это не утечка.

    Чтобы утечка проявила себя более явно установил memory_limit = 1G

    Выделение памяти операционкой это медленный процесс, поэтому при возможности выгоднее запросить побольше, вы выставили лимит в 1G, почему бы не зарезервировать сразу 18%.

    В общем, если без перезапуска php-fpm рано или поздно получите ошибку недостатка памяти, тогда можно будет говорить об утечке.
    Ответ написан
    6 комментариев
  • Чем различаются версии Postgres 13, 14, 15?

    В документации же русским по белому написано:
    PostgreSQL 15 содержит много новых возможностей и улучшений, в том числе:
    • Поддержка SQL-команды MERGE.
    • Выборочная публикация содержимого таблицы в рамках логической репликации с возможностью указывать списки столбцов и фильтры строк.
    • Больше возможностей для использования сжатия и поддержка сжатия Zstandard (zstd). В том числе реализована возможность сжатия на стороне сервера при создании копии с помощью pg_basebackup.
    • Поддержка структурированного вывода журнала сервера в формате JSON.
    • Улучшения производительности, в частности, оптимизация операций сортировки в памяти и на диске.

    https://postgrespro.ru/docs/postgresql/15/release-...


    PostgreSQL 14 содержит много новых возможностей и улучшений, в том числе:

    • Хранимые процедуры теперь могут возвращать данные через параметры OUT.
    • Реализованы описанные в стандарте SQL параметры SEARCH и CYCLE для общих табличных выражений.
    • Операцию обращения по индексу теперь можно применять не только к массивам, но и к любому типу данных, для которого она имеет смысл. В этом выпуске такие операторы добавлены для типов jsonb и hstore.
    • Диапазонные типы были дополнены мультидиапазонными, позволяющими представлять несплошные диапазоны данных.
    • Проведена большая работа по улучшению производительности параллельных запросов, обработки многопоточной нагрузки, секционированных таблиц, логической репликации и процедуры очистки.
    • Изменения в индексах-B-деревьях теперь обрабатываются более эффективным методом, уменьшающим замусоривание индексов.
    • Процедура VACUUM автоматически становится агрессивнее и пропускает несущественные операции очистки в случае приближения базы данных к моменту зацикливания идентификаторов транзакций.
    • Расширенную статистику теперь можно собирать по выражениям, что позволяет получить лучшие планы для сложных запросов.
    • Библиотека libpq теперь поддерживает конвейерную передачу нескольких запросов, что позволяет ускорить получение результатов через сетевые соединения, которым свойственны большие задержки.


    https://postgrespro.ru/docs/postgresql/14/release-14
    Ответ написан
    Комментировать
  • Какой диск 2-4 ТБ взять для хранения файлов с гарантией 5 лет?

    @Drno
    гарантии чего?
    любой выбирайте у которого есть такая гарантия - например WD black. у них гарантия 5 лет. в случае выхода из строя Вы можете вернуть диск и Вам его обменяют.

    Если Вы про гарантию сохранности файлов - её никто никогда не дает, делайте бэкапы
    Ответ написан
    Комментировать
  • Как сделать сертификаты для поддоменов?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если портятся сертификаты - лечить нужно причину порчи сертификатов, а не вот это вот все!
    Ответ написан
    Комментировать
  • Что означает ошибка "Error: relocation ... cannot be used with -shared"?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Что означает ошибка «Error: relocation ... cannot be used with -shared»

    Эта ошибка значает, что такой объектник содержит код, работа которого зависит от адреса по которому он будет размещён. Так называемый position-dependent code. Альтернатива -- position-independent code, такой, который выполняется одинаково, независимо от адреса, а все данные и константы, которые зависят от адреса, если таковые есть, вынесены из кода в отдельный изменяемый сегмент. Такой код генерируется компилятором если его вызывать с правильным флагом (например gcc -fpic). Из-за того что динамические библиотеки могут быть загружены в процесс по любому адресу существует требование, что код в них должен быть position-independent. Поэтому объектники скомпилированные как position-dependent обычно не могут быть слинкованы в динамическую библиотеку.

    В данном случае запись о релокации с типом R_AARCH64_TLSLE_ADD_TPREL_HI12 говорит (частью TLSLE, где LE означает Local Executable) о том, что код объектника в котором она находится был намеренно собран с рассчётом на то, что объектник будет частью исполняемого файла, а не динамической библиотеки. Здесь можно почитать об отличиях моделей адресации TLS, в частности о модели Local Exec в разделе 4.4.
    Ответ написан
    Комментировать
  • Как шифровать текст в python?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    способ расшифровки должен быть непопулярным.

    А вот это уже смешно. Чем тебя не устраивают популярные способы типа RSA?
    Ты, видимо, не слышал о термине Security through obscurity , на котором обожглись многие и ты хочешь повторить их путь
    Ответ написан
    10 комментариев
  • Как шифровать текст в python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Был такой вредный стрик Керхгофс. И он как-то придумал сет законов касающихся инфо-безопасности. На основе их сегодня работает почти вся криптография. Вкратце основной момент - замена алгорима(ключа) шифрования в любой системе должна быть очень быстрой и легкой. И второй момент - злоумышленник обычно знает систему изнутри. Он знает исходный код. Возможно он - бывший сотрудник.

    Вот исходя из этих принципов и проектируются надежные и безопасные системы. А если автор надеется на то что непопулярный алгоритм шифрования его спасёт - то он сильно ошибается. На этом погорели многие самоуверенные архитекторы. Они тоже надеялись что на незнании можно делать секрет. В принципе вся военная секретная переписка до 20 го века базировалась на предположении что противник не знает. А современная - уже считает что это не главное. А главное - как быстро мы сможем заменить скомпрометированный ключ на новый. И эта замена как раз и есть замена алгоритма. Потому что ключ в крипторгафии и это и есть секретность. А сами алгоритмы вообще ни разу ни секретных. Это кстати - требование. Под сертификацию идут обычно публично известные алгоритмы и их обсуждают. Их анализируют. Их брутфорсят. И только благодаря этому процессу они и являются надежными.
    Ответ написан
    Комментировать
  • Как можно обойти проблему и решить проблему?

    @Wexter
    1. Восстановить из бекапа
    2. Переустановить
    Ответ написан
    Комментировать
  • Что происходит в момент добавления нового столбца в БД?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    https://ru.stackoverflow.com/q/721985/203622

    Вот есть таблица с 1000 записей. В ней 9 колонок. На 3 из них есть индексы.

    На такой мелочи без разницы. Перезапись такой крохи штука быстрая.

    1. Возможно ли дозапись новой колонки в существующую структуру? Или под капотом происходит полное копирование всех данных в новую таблицу (табличное пространство?)

    В зависимости от конкретного alter table add column.
    Если вы добавляете add column score float default random() - то будем переписывать всю таблицу и перестраивать все существующие индексы.
    Если default с константой и у вас pg11 или новее - то обновим в системном каталоге описание таблицы, а саму таблицу трогать не будем.
    Если нет default (т.е. null) - то без оглядки на версию базы просто обновим описание таблицы и сами файлы таблицы трогать не будем.

    2. Происходит ли пересоздание индексов?

    да, если выполняется table rewrite

    3. Происходят ли какие-то еще важные для понимания сути работы в БД процессы?

    классическая история частых даунтаймов, что для операции нужна эксклюзивная блокировка. То есть для взятие блокировки не должно быть совсем никого, кто эту таблицу трогал в транзакции, начавшейся до alter table. Если у вас в это время работает какая-то аналитика на 10 минут или pg_dump - будут приключения, нужен statement_timeout
    Ответ написан
    2 комментария
  • Как удалить ненужные и добавить нужные кодировки MySQL8?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Во-первых, всё указанное - ни разу не кодировки. Это COLLATION - набор правил сравнения строковых значений.

    Во-вторых, убирать/удалять ничего не нужно. То, что не используется, ресурсов не потребляет.

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

    Adding a Character Set
    Adding a Collation to a Character Set

    Ну и вообще желательно изучить весь раздел Character Sets, Collations, Unicode.
    Ответ написан
    6 комментариев