Руководство по модульному тестированию. Часть II: Утверждения, написание настоящего теста и аннотация @dataProvider

  • PHP
  • 2 года назад

В первой части этой серии статей я рассказал о первоначальной установке и конфигурации PHPUnit для нового проекта. Я рассказал о некоторых соглашениях, необходимых для работы PHPUnit, а также показал, как создать простой, глупый и бесполезный тест.

Но этот тест познакомил вас с самым базовым утверждением PHPUnit - assertTrue().

Википедия дает следующее определение утверждения:

Читать далее...

Развертывание Symfony приложения на Ubuntu 14

  • PHP
  • 2 года назад

В этом уроке будет рассказано, как вручную развертывать базовое приложение Symfony на сервере Ubuntu 14.04. Мы рассмотрим, как правильно конфигурировать сервер, учитывая при этом меры безопасности и эффективности, чтобы получить приложение, готовое для производства. Если вам нужен вводный урок по Symfony, вы можете почитать о том, как установить и запустить Symfony на Ubuntu 14.04.

Читать далее...

Установка и использование Docker Compose на Ubuntu 14.04

Docker это отличный инструмент, но чтобы воспользоваться его преимуществами по полной, каждый компонент вашего приложения должен работать в своем собственном контейнере. Если у вас сложное приложение со множеством компонентов, то вам будет сложно делать так, чтобы все контейнеры запускались и закрывались вместе (не говоря уже о сообщении между ними).

Сообщество Docker придумало популярный инструмент под названием Fig, который позволил использовать один файл YAML для управления всеми контейнерами и конфигурациями Docker. Инструмент стал насколько популярен, что команда Docker наконец решила создать свою собственную версию, основанную на Fig. Они назвали свою новую разработку Docker Compose. Если вкратце, то он упрощает процессы управления Docker-контейнерами (например, запуск, закрытие и настройка связей и объемов внутри контейнеров).

Читать далее...

Новое Symfony 2.8: Улучшенные формы

В списке встроенных типов форм в Symfony отсутствовало поле формы range из HTML5. Этот новый тип отображается в виде слайдера в тех браузерах, которые поддерживают элементы управления форм HTML5. Используйте атрибуты min и max, чтобы ограничить выбираемые значения:

$builder->add('rating', 'Symfony\Component\Form\Extension\Core\Type\RangeType', [
    'attr' => ['min' => 0, 'max' => 10]
]);

Формы, содержащие коллекции, позволяют индивидуально настраивать HTML, используемый для добавления новых элементов (параметр prototype ) и имени заполнителя, используемого в этом шаблоне (параметр prototype_name ). Благодаря параметру prototype_data, Symfony 2.8 также позволяет задавать данные по умолчанию каждого нового ряда коллекции:

Читать далее...

Как создать простую, но эффективную систему очереди сообщений

  • PHP
  • 2 года назад

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

Читать далее...

Новое в Symfony 2.8: Symfony как микрофреймворк

Микрофреймворк это термин, обозначающий «минималистичный фреймворк веб-приложений». Под этим словом разработчики обычно понимают «быстрые и небольшие фреймворки» - например, Silex. Но под минифреймфорками можно понимать также простые и более гибкие фреймворки, в которых вы можете воспользоваться различными архитектурными решениями.

Благодаря гибкой внутренней архитектуре, Symfony можно было использовать в качестве микрофреймворка с самого начала. Однако лишь немногие разработчики использовали Symfony таким образом, поскольку это было не совсем удобно.

Читать далее...

45 лучших ресурсов для бесплатного изучения программирования

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

Но выбор бесплатных ресурсов, уроков и книг просто огромен. В этой статье собраны 45 лучших из них.

Для удобства я распределил все ресурсы по темам. Чтобы быстро перейти к определенному разделу, воспользуйтесь Содержанием, приведенным ниже.

Читать далее...

Интервью с Дэвидом Коэном, основателем Techstars

В этом посте приведены ответы Дэвида на вопросы о стартапах, в том числе – о том, как обсуждать вопрос собственности с соучредителями, как защитить свою идею, с какими материалами следует ознакомиться основателям стартапов, и многое другое. Эта статья основана на видеоконференции Codementor Office Hours, которую провел известный инвестор и основатель Techstars Дэвид Коэн.

Читать далее...