Usually, people integrate Google Analytics into their shops via simple pre-generated client-side javascript snippet. It’s pretty straightforward, easy to use and works most of the time correctly from the box. So why would anyone want to use a server-side integration? There could be a helluva lot of reasons for that. For example, you may want to track some events from your server-side workers — it would be ugly and unreliable to involve a browser here. Or you may want to implement a complicated funnel for your sales, mixing client-side events with your CRM events. So, is it possible? Sure, it is, and we’ll use Measurements Protocol for this. At the time, it’s a most modern way to save raw analytics data to Google Analytics from whatever environment you want. I’ll use PHP with Guzzle for code examples, but you surely can use any language and any library: there are no differences in principle at all. And let’s assume that you already have the perfectly working client-side integration.
Server-side Google Analytics
Как я перестал бояться и полюбил конфиг
ContinueКак правило, наибольшего успеха добивается тот, кто располагает лучшей информацией
Бенджамин Дизраэли
Лишь совсем простые приложения могут обойтись без файла конфигурации. У остальных всегда найдется, что хранить в конфиге: настройки окружения, настройки логики, часто меняющиеся фрагменты текста, etc. Словом, вопроса «что хранить в конфигурации» обычно не возникает: кандидатов достаточно. А вот вопрос «как хранить конфигурацию» возникает часто и еще чаще решается не самыми оптимальными способами. В этой статье я хотел бы рассмотреть варианты хранения конфигурации приложения, их плюсы и минусы.
Миграция медиабиблиотеки Wordpress в S3
ContinueВ жизни каждого разработчика есть такие задачи, которыми невозможно гордиться, а упоминать их немного стыдно — потому что всё, абсолютно всё, связанное с такими задачами плохо. Поговорим, например, о Wordpress: он хранит данные в сериализованных массивах в базе данных, не умеет в миграции данных, нарушает все мыслимые и немыслимые, гласные и негласные правила написания хорошего кода… Но зато используется в продакшене, приносит бизнесу деньги, а значит — должен поддерживаться, развиваться… а, ну еще вам может понадобиться перенести всю медиа-библиотеку на S3 (на самом деле, это может быть любой CDN).
Как прочесть переменные окружения в fpm
ContinueЕсли вы используете Docker, скорее всего, вы активно используете и переменные окружения (environment variables). В php-cli или mod_php прекрасно работает стандартный метод их получения:
# ~/envapp/read.php <?php $env = getenv("foo"); echo $env;
php read.php bar
Пакет для балансировки запросов к статическим файлам
ContinueUrl Balancer
Пакет предназначен для балансировки запросов статических файлов (если, вдруг, они у вас не на CDN). Такая техника позволяет параллельно загружать статику, обходя ограничения на количество одновременных потоков до одного домена.
- Поддержка Composer (через packagist)
- Поддержка Silex
- Расширяемость стратегий балансировки
One on the picture is the pinnacle of evolution; another one is me: inspired developer, geek culture lover, sport and coffee addict