Задать вопрос
  • В чём преимущество Clang перед GCC? Что использовать для кросс-компиляции?

    Vamp
    @Vamp
    res2001, я не большой специалист по данному вопросу. Так что предлагаю обратиться к экспертам.

    Избранная цитата:
    В 2016 году Google полностью отказались от поддержки GCC в Android NDK из-за слишком плохой поддержки стандартов и слишком свободного следования стандартам C++. В этот момент GCC стал неконкурентоспособным относительно оставшихся двух самых широко используемых трансляторов.
    Clang же, наоборот, сегодня считается, буквально, бастионом идеального следования стандартам C++. Clang точно поддерживает стандарты во всех деталях, максимально быстро интегрирует изменения и добавления стандартов, позволяет в самых первых рядах поиграться с функциональностью из драфтов следующего стандарта C++.
    Clang обладает обширной системой статической и динамической проверки кода: богатый статический анализ, возможность подключения санитайзеров, поддержка C++ Core Guidelines, очень качественные отчеты об ошибках трансляции, хорошая скорость трансляции.


    GCC дополнительными опциями то же можно заставить строже относиться к стандартам. Так что не вижу тут большой разницы, конечно могут быть нюансы в разных местах и разные трактовки тонких мест стандарта.
    Полагаю, гугл выкинул gcc не из-за того, что не смог разобраться в парочке опций компилятора.
    Написано
  • Почему INPUT_ENV - null?

    Vamp
    @Vamp
    я на встройке сижу сейчас
    Если речь идёт про встроенный в php веб сервер, то его нужно рестартить после любых изменений в php.ini.
    Написано
  • Почему INPUT_ENV - null?

    Vamp
    @Vamp
    Изменение нужно вносить прямо в файл php.ini или через аргумент -d: php -d 'variables_order=EGPCS' test.php. Через ini_set эту настройку устанавливать бессмысленно, так как проверка опции variables_order и заполнение массива $_ENV происходит ещё до того как выполнится хотя бы одна строка вашего скрипта.
    Написано
  • Почему INPUT_ENV - null?

    Vamp
    @Vamp
    <?php // test.php
    var_dump(ini_get('variables_order'));
    var_dump(filter_input(INPUT_ENV, 'HELLO'));
    var_dump(getenv('HELLO'));
    var_dump($_ENV['HELLO']);


    export HELLO=123
    php test.php


    /home/vamp/test.php:2:
    string(5) "EGPCS"
    /home/vamp/test.php:3:
    string(3) "123"
    /home/vamp/test.php:4:
    string(3) "123"
    /home/vamp/test.php:5:
    string(3) "123"

    Кажется, вы проигнорировали самую первую строчку из моего ответа:
    Чтобы filter_input заработал вместе с INPUT_ENV, нужно в php.ini опцию variables_order добавить букву E

    Без E не заполняется массив $_ENV в том числе.
    Написано
  • Почему INPUT_ENV - null?

    Vamp
    @Vamp
    Что нужно сделать с массивом $_ENV, чтобы получить значение $_ENV['TEST'] с помощью filter_input(INPUT_ENV, 'TEST') ?
    Ничего вы с этим не сделаете. Функция filter_input не работает с $_ENV.

    вы опять путаетесь, этот варнинг написан для глобальных массивов, которые РЕКОМЕНДУЕТСЯ ФИЛЬТРОВАТЬ с помощью filter_var, если в них были внесены изменения, а нужно ПОЛУЧИТЬ
    Вы пишете про вторую часть ворнинга, где советуют применять filter_var на $_ENV, чтобы иметь возможность работать с пользовательскими модификациями массива $_ENV. В первой же части написано как раз про то, что filter_input being filtered is the original "raw" content provided by the SAPI. То есть filter_input берёт данные напрямую из SAPI. Не из $_ENV.
    Написано
  • Почему INPUT_ENV - null?

    Vamp
    @Vamp
    баг даже не в null, а в том что INPUT_ENV не детектирует массив $_ENV
    И не должен детектировать. Об этом написано в документации:

    Warning
    The content of the superglobal that is being filtered is the original "raw" content provided by the SAPI, prior to any user modification to the superglobal. To filter a modified superglobal use filter_var() instead.
    Берётся "оригинальный" контент, а не данные из $_ENV. Другими словами, при старте скрипта все переменные окружения копируются в $_ENV, а функции типа getenv и filter_input работают с тем самым местом, откуда эти переменные окружения копировались, а не с $_ENV.
    Написано
  • Как создать docker-контейнер в проекте на Yii2, в котором бы работал cron?

    Vamp
    @Vamp
    такой контейнер я могу создать разными способами на основе разных образов, но вот добиться следов выполнения заданий по cron - я никак не могу. Cron вроде как оказывается запущенным, но ожидаемых результатов от работы - нет :(
    Хотелось бы увидеть что конкретно вы уже пробовали сделать. Приведите пример Dockerfile и docker-compose.yml, с вашими экспериментами с кроном.
    Написано
  • Как изменить идентификатор контейнера в котором находится GitLab на доменное имя?

    Vamp
    @Vamp
    Не очень понятно что значит "подставляется идентификатор контейнера". Куда подставляется, где и в какой момент? Приложите скриншот.
    Написано
  • Как ограничить подключение к MongoDB?

    Vamp
    @Vamp
    dmvlch_dev, нужно на всех нодах включить авторизацию для всех и каждого. Для этого в конфиг монго нод надо добавить:

    security:
        authorization: enabled
    Написано
  • Как ограничить подключение к MongoDB?

    Vamp
    @Vamp
    dmvlch_dev, если пользователю можно коннектиться на любую ноду реплика сета, то serverAddress заполнять не нужно.

    db.updateUser(
      "graylog",
      {
        authenticationRestrictions: [
          {
            clientSource: ["10.223.223.223", "10.223.223.224"]
          }
        ]
      }
    )
    Написано
  • Как ограничить подключение к MongoDB?

    Vamp
    @Vamp
    dmvlch_dev, получится. Я же целых два варианта предложил как это можно сделать.
    Написано
  • Как деплоить php приложение вместе с docker?

    Vamp
    @Vamp
    Дмитрий, воу, полегче. Вы написали только про healthcheck, который сам по себе к бесшовному деплою никакого отношения не имеет. А вот start-first / stop-first имеет. Надо было сразу про это написать.

    А wait-for-it.sh в docker (compose) по-прежнему сам по себе никак не влияет на бесшовный деплоймент. Более того, я об этом даже в ответе упоминал: "и после того как он полностью будет готов". wait-for-it.sh и healthcheck решают только одну вот эту маленькую задачу из цитаты. А по вашему комментарию складывается впечатление, что достаточно только хелс чек настроить и всё, атомарный деплой обеспечен.
    Написано
  • Как деплоить php приложение вместе с docker?

    Vamp
    @Vamp
    Дмитрий, эти штуки никак не влияют на даунтайм в момент обновления.
    Написано
  • Как работать с DI-контейнером?

    Vamp
    @Vamp
    fasewyby, контроллеры могут быть в DI. А могут и не быть. Здесь нет какого-то жесткого правила. В symfony контроллеры в DI - обычное дело. Попробуйте оба варианта.

    Но в чем разница между DI-контейнером и сервис-контейнером не понимаю.

    Это одно и то же.
    Написано
  • Будет ли работать витая пара?

    Vamp
    @Vamp
    Drno, необязательно. Современное оборудование способно автоматически определить схему обжимки, так что можно обжимать как попало. Но лучше конечно по схеме.
    Написано
  • Что за "ключи шифрования" которые требуют у администрации Телеграм?

    Vamp
    @Vamp
    Если у вас есть какое-то вменяемое объяснение почему билд делает ТРИ разных сборки, которые отличаются друг от друга (та, что можно скачать с telegram.org/android и те что для разных сторов), кроме как различиями в ограничениях по цензуре контента, озвучьте их.

    Никита Геннадич, у меня нет объяснения. Мне это не нужно и не интересно. Могу предположить, что как минимум манифест приложения для разных сторов будет отличаться. Может харкодится параметр с именем стора для запросов на телеграмовское апи, чтобы применять соответствующие настройки цензуры на серверной стороне. Код, вероятно, идентичен.

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

    Так разбирайтесь, если хотите. Вы же теперь в курсе, что билды соответствуют исходникам. Значит можете сами разобраться и понять чем отличаются билды для разных сторов.
    Написано
  • Что за "ключи шифрования" которые требуют у администрации Телеграм?

    Vamp
    @Vamp
    Никита Геннадич, в первом же абзаце:
    This page contains instructions for verifying that Telegram's open source code is exactly the same as the code that is used to build the apps that are available in the App Store, Google Play and directly on the Telegram website.

    Не знаю где вы там цензуру нашли и вообще зачем отдельная версия с цензурой, если она на сервере делается.
    Написано
  • Что за "ключи шифрования" которые требуют у администрации Телеграм?

    Vamp
    @Vamp
    И чо, вот прям регулярно кто-то проверяет новые версии?

    Никита Геннадич, мне-то откуда знать? Хейтеры наверняка регулярно проверяют.

    Где ссылка-то на инструкцию? Я бы даже просто ради интереса проверил.

    Гуглится за 5 секунд по запросу "telegram reproducible builds".
    Написано
  • Какой софт поставить на домашний файловый сервер из древнего железа?

    Vamp
    @Vamp
    Павел Нежинский, я пользовался очень малым количеством функционала из OMV. Синхронизацией не пользовался и не интересовался, так что не в курсе есть ли она там вообще.

    Попробуйте установить nextcloud. Там точно есть синхронизация как в дропбоксе.
    Написано