• Как проверить на существование цепочку объектов?

    KwI
    @KwI
    Frontend developer
    Если не заморачиваться то просто заверните в try..catch.
    Если заморачиваться - то писать функцию, которая пример объект content и строку 'page.search_json.search....', разобьет строку и начнет идти вглубь, проверяя, есть-ли такие поля объекта, и если нет - возвращала что вам надо.
    Если брать готовое - в lodash есть метод _.get
    Ответ написан
    Комментировать
  • Как на Yii2 грамотно закрыть сайт?

    qonand
    @qonand
    Software Engineer
    Используйте для этого свойство приложения catchAll
    более подробно почитать можно здесь https://github.com/yiisoft/yii2/blob/master/docs/g...
    Ответ написан
    2 комментария
  • На чём лучше вести локальную разработку?

    boramod
    @boramod
    Упрощенно.

    Вагрант — система управлением конфигурацией конкретной машины.
    Докер — запуск изолированных процессов на машине.

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

    В терминологии Докера есть Images и Containers.
    Image — образ, шаблон, на основе которого запускается Container.
    Image строится на основе какого-либо базового образа ОС.

    Container — сервис, запущенный и построенный на базе Image.

    Таким образом, вы можете построить несколько образов, например, образ для Nginx, образ для PHP, образ для MySQL. Вдобавок, вы можете построить несколько образо, для каждой желаемой версии PHP, MySQL и т.п.

    Каждый из этих образов будет иметь у себя в базе какую-либо ОС. Т.е., происходит изолирование окружения, на котором работает Docker.
    На базе построенных образов вы можете запускать Containers, т.е., непосредственно строить рабочее окружение. Каждый запущенный контейнер думает, что он запущен один, в образе наследуемой ОС. Но на самом деле, это всего лишь отдельный процесс, работающий на уровне ядра Linux, без виртуализации. Т.е., у вас нет накладных расходов на виртуальные машины. Изолирование контейнеров выполняется на уровне ядра.

    При всем этом, ваша базовая система остается чиста от устанавливаемых пакетов, свободна от неразберихи с библиотеками, версиями и т.п.

    Оба инструмента хороши. Но у каждого свое назначение.

    Vagrant — великолепный инструмент для конфигурации удаленных машин с нуля, VDS/VPS и т.п.
    Docker — великолепный инструмент для быстрого развертывания/переконфигурации рабочего окружения, практически без изменения системы, на которую он устанавливается.
    Ответ написан
    6 комментариев