Task Scheduling in Packages

In your package’s service provider, you can use: use Illuminate\Console\Scheduling\Schedule; class ServiceProvider extends \Illuminate\Support\ServiceProvider { public function boot() { $this->app->booted(function () { $schedule = app(Schedule::class); $schedule->command(‘foo:bar’)->everyMinute(); }); } } <?XML:NAMESPACE PREFIX = «[default] http://www.w3.org/2000/svg» NS = «http://www.w3.org/2000/svg» />

Время до первого байта: что это такое и почему это важно

Сейчас я работаю над проектом для одного клиента. Речь идёт о сайте из сферы электронной коммерции, поэтому меня очень сильно интересуют некоторые аспекты производительности. Для начала это — различные показатели, характеризующие время загрузки сайта. Дальше — это время начала рендеринга страницы, которое важно для тех посетителей, которые хотят, после захода […]

Простой способ узнать Time To First Byte (TTFB) используя cURL

Немного Википедии (хоть и переведенной на русский) Time To First Byte («Время до первого байта, TTFB) — это измерение, используемое как указание на отзывчивость веб-сервера или другого сетевого ресурса. TTFB измеряет продолжительность от пользователя или клиента, делающего HTTP-запрос к первому байту страницы, получаемой браузером клиента. Это время составлено из времени […]

Live reload Prometheus configuration in docker(-compose)

prometheus: restart: always container_name: prometheus image: prom/prometheus:v2.10.0 privileged: true volumes: — ./configuration/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml — prometheusdata:/prometheus command: — ‘—config.file=/etc/prometheus/prometheus.yml’ — ‘—web.enable-admin-api’ — ‘—web.enable-lifecycle’ ports: — 9090:9090 POST /-/reload HTTP/1.1> Host: prometheus

How to Set API Rate Limiting in Laravel

What is rate limiting? Rate limiting is the control of the number of requests per unit time. It can be applied to ports, IPs, routes, etc. when used correctly, it can efficiently block out malicious bots. In the case of our API, it can mitigate DOS attacks , thus, making […]

PHPUnit worst practices

One of my recent larger projects at work was to improve our pretty large PHPUnit test suite, which consists of nearly 7000 test cases. While accomplishing this useful but exhausting work, I made my notes of the most common bad coding, architecture and setup patterns, and this compilation I’d like […]

Кратко об SSO через OAuth2

Устройство SSO Как устроено SSO? Принцип всегда один — всегда есть кто-то, кто авторизует первым — это провайдер. Дальше все сервисы получают от провайдера какой-то вид ключа (токен). Точнее в OAuth2 пара токенов — access и refresh, но не суть. С токеном ты идёшь в API провайдера и спрашиваешь — […]

Booting Eloquent Model Traits

So I’ve learnt a little Laravel/Eloquent trick today that is very much under-documented. Save for a casual mention in the Laravel documentation. Skip to TL;DR if you’re you just want to see the trick. You may know that you can add a static boot() function to an Eloquent model which […]

Ротация функций на практике (feature toggling) 22 января 2013, 17:40

Один из самых распространенных способов параллельной (конкурентной) разработки нескольких функций – применение при контроле версий самостоятельных функциональных веток. В каждой из таких веток конкретная функция разрабатывается отдельно от других, а потом интегрируется в основной рабочий поток, когда разработка данной функции будет завершена. Такой паттерн называется «Feature Branch» (ветвление функций), см. […]