Nginx: HTTP/2 не работает

Настройка HTTP/2 в Nginx может показаться тривиальной задачей, однако есть ряд потенциальных проблем, с которыми вы можете столкнуться. В данной статье я опишу несколько из тех, с которыми столкнулся лично я при настройке наших серверов.

Как настроить HTTP/2 с Varnish используя Nginx

Все больше и больше компаний начинают использовать HTTP/2 для повышения производительности своих сайтов. Настроить HTTP/2 довольно просто, но что делать, если в вашей инфраструктуре есть Varnish. Т.к. Varnish 4.* не поддерживает SSL, то нам прийдется найти способ заставить все необходимые компоненты работать друг с другом.

Изпользование CSS вместе с RequireJS

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

Автоматизация исправлений ошибок оформления кода с помощью Git и PHP Coding Standards Fixer

Все мы знаем про стандарты оформления кода в PHP сообществе и пытаемся им следовать. Несмотря на это, мы все люди и допускаем ошибки. Это значит, что у нас есть несколько вариантов решения данной проблемы: 1) Править все ошибки стиля вручную. 2) Использовать плагины для IDE или другие инструменты для запуска в терминале. Эти два варианта не те, которые я хотел бы использовать. На самом деле есть еще один вариант - все автоматизировать. Я буду использовать Git и PHP CS Fixer, но несмотря на это принципы очень просты и вы легко сможете применить их к вашему языку программирования и системе контроля версий. Продолжайте читать, чтобы избавиться от рутины и стать более продуктивным разработчиком.

Как использовать произвольное хранилище пользователей в FOSUserBundle

Практически все используют FOSUserBundle в своих Symfony проектах т.к. он ускоряет разработку и обладает хорошим набором функциональности для управления пользователями. Бандл предоставляет несколько готовых реализаций хранилищ данных: Propel и несколько для Doctrine (ORM и ODM). Это здорово, но иногда возникает необходимость работы с другими хранилищами данных. FOSUserBundle достаточно гибок и позволяет реализовать, и использовать произвольное хранилище. Для того, чтобы использовать все возможности FOSUserBundle Вам достаточно будет написать свой менеджер пользователей под конкретного провайдера.

Интеграция Paysera в Symfony

Сегодня сложно представить себе серьезный проект, где не понадобилась бы интеграция с платежными системами. Не смотря на то что существует множество популярных систем и аггрегаторов, таких как PayPal, RBKMoney, Paymentwall, Robokassa и т.д., я хочу рассказать о Paysera. Это еще одна, довольно новая платежная система. Они позиционируют себя как выгодных с точки зрения комиссий за их услуги. Paysera позволяет вашим пользователям расплачиваться карточками, SMS и т.д. Интеграция довольно простая, однако имеет некоторые неочевидные моменты, которые я и хочу осветить.

Высокоуровневая архитектура платежных систем

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

Установка и настройка PHPUnit в OSx

При разработке приложений не обойтись без тестирования. От самого простого на phpunit до тестирования человеком. В данной статье мы рассмотрим как установить, настроить phpunit для Osx.

Установка bower и npm библиотек с помощью composer

В предыдущей статье Использование Component в Symfony2 мы рассматривали как использовать Component для менеджера зависимостей. Есть несколько недостатков, которые не позволяют нам всегда его использовать. Рассмотрим вариант использования composer для управления зависимостями библиотек из bower и npm.

Как избегать распространенных ошибок в JavaScript

Время от времени все мы делаем ошибки. Это может произойти по многим причинам: недостаток опыта, плохое настроение, поджимают сроки сдачи, головная боль и т.д. Не смотря на то, что какие-то моменты в JavaScript'е могут казаться незначительными, они могут стать причиной серьезных проблем и ночной отладки кода в будущем. Поэтому вне зависимости от внешних факторов вы должны уделять внимание деталям во время программирования. Я хочу дать вам пару советов для улучшения всей этой ситуации.