#advanced #laravel
Обрабатываем запросы с помощью Laravel Octane.
https://divinglaravel.com/laravel-octane-bootstrapping-the-application-and-handling-requests
Обрабатываем запросы с помощью Laravel Octane.
https://divinglaravel.com/laravel-octane-bootstrapping-the-application-and-handling-requests
Microservice_Patterns_With_examples_in_Java_Chris_Richardson_2019.pdf
5.5 MB
#book #advanced
Объемная и полезная книга по паттернам разработки, актуальным для микросервисных приложений. Вы узнаете про распределенные транзакции, саги, способы надежных доставок событий между сервисами, о способах увеличить надежность работы микросервисов, о взаимодействии на основе REST или брокерах сообщений и многом другом. Примеров кода практически нет или они на Java, что не вызовет проблем у опытных PHP разработчиков.
Объемная и полезная книга по паттернам разработки, актуальным для микросервисных приложений. Вы узнаете про распределенные транзакции, саги, способы надежных доставок событий между сервисами, о способах увеличить надежность работы микросервисов, о взаимодействии на основе REST или брокерах сообщений и многом другом. Примеров кода практически нет или они на Java, что не вызовет проблем у опытных PHP разработчиков.
Эволюционная_архитектура_Поддержка_непрерывных_изменений_Нил_Форд.pdf
7.8 MB
#advanced #rabbitmq
Подробный туториал по работе с брокером очередей RabbitMQ.
https://www.cloudamqp.com/blog/part1-rabbitmq-for-beginners-what-is-rabbitmq.html
Подробный туториал по работе с брокером очередей RabbitMQ.
https://www.cloudamqp.com/blog/part1-rabbitmq-for-beginners-what-is-rabbitmq.html
CloudAMQP
Part 1: RabbitMQ for beginners - What is RabbitMQ? - CloudAMQP
RabbitMQ for beginners explains what RabbitMQ and message queuing is. It gives a brief understanding of messaging and important RabbitMQ concepts are explained.
#advanced #symfony #video
2 доклада про Symfony со вчерашнего митапа от SkyEng.
https://www.youtube.com/watch?v=2iPNz3p5Xiw
2 доклада про Symfony со вчерашнего митапа от SkyEng.
https://www.youtube.com/watch?v=2iPNz3p5Xiw
YouTube
PHP NN #4: два доклада для поклонников Symfony и сочувствующих
24 апреля нижегородский php-чат провел очередной митап: https://phpcommunity.ru/php-nn-4
06:10 - "Метания ядра или как превратить Symfony-проект в целое направление" (Денис Юрьев, Skyeng)
Слайды https://docs.google.com/presentation/d/1PnY6EMySDi0vZH4yA2k…
06:10 - "Метания ядра или как превратить Symfony-проект в целое направление" (Денис Юрьев, Skyeng)
Слайды https://docs.google.com/presentation/d/1PnY6EMySDi0vZH4yA2k…
#advanced #symfony
В последних версиях Symfony обновился компонент Security и, по словам, мейнтейнтеров стал проще в конфигурации и использовании. Так ли это – разбираемся в статье:
https://smaine-milianni.medium.com/the-new-features-of-the-symfony-security-component-from-5-2-8eff0d2487ce
В последних версиях Symfony обновился компонент Security и, по словам, мейнтейнтеров стал проще в конфигурации и использовании. Так ли это – разбираемся в статье:
https://smaine-milianni.medium.com/the-new-features-of-the-symfony-security-component-from-5-2-8eff0d2487ce
Medium
The new features of the Symfony Security component from 5.2
(Retrouvez cet article en 🇫🇷 sur le blog de Yousign)
#advanced #infrastructure
Библиотека для работы с back-off стратегиями. Если кратко, back-off – это откладывание проблемных запросов (http, запросов к базе и так далее) на некоторое время, чтобы не ронять ни свой, ни чужой сервера.
https://github.com/EventSaucePHP/BackOff
Библиотека для работы с back-off стратегиями. Если кратко, back-off – это откладывание проблемных запросов (http, запросов к базе и так далее) на некоторое время, чтобы не ронять ни свой, ни чужой сервера.
https://github.com/EventSaucePHP/BackOff
GitHub
GitHub - EventSaucePHP/BackOff: A back-off strategy interface for retrying operations.
A back-off strategy interface for retrying operations. - GitHub - EventSaucePHP/BackOff: A back-off strategy interface for retrying operations.
#advanced #video
Ранее Антон Титов, автор RoadRunner, уже проводил воркшоп, в котором демонстрировал sdk на php для взаимодействия с temporal.io. В этом видео он покажет практические примеры работы с temporal.
https://www.youtube.com/watch?v=upL8o-OXYEc
Ранее Антон Титов, автор RoadRunner, уже проводил воркшоп, в котором демонстрировал sdk на php для взаимодействия с temporal.io. В этом видео он покажет практические примеры работы с temporal.
https://www.youtube.com/watch?v=upL8o-OXYEc
YouTube
Оркестрация и закон Мерфи: обрабатываем ошибки-бизнес процессов - Антон Титов (Spiral Scout)
Вторая часть воркшопа по работе с Workflows и Temporal
На нем мы углубимся в инструментарий Temporal и посмотрим на практике, как обрабатывать сложные сценарии с ошибками.
В этот раз будут рассмотрены следующие темы:
- Coroutines, signals, queries
- Retry…
На нем мы углубимся в инструментарий Temporal и посмотрим на практике, как обрабатывать сложные сценарии с ошибками.
В этот раз будут рассмотрены следующие темы:
- Coroutines, signals, queries
- Retry…
#advanced
Back off – это паттерн разработки программного обеспечения, описывающий взаимодействие программных компонентов в случае недоступности вызываемого сервиса или различных ошибок. Back off предполагает, что вызывающая процедура будет откладывать свою работу на некоторое время, чтобы дать другому сервису время на восстановление ресурсов. Подробнее про определение и реализацию на PHP можно почитать в блоге Frank De Jonge, автора популярной библиотеки Flysystem.
https://blog.frankdejonge.nl/back-the-func-off/
Back off – это паттерн разработки программного обеспечения, описывающий взаимодействие программных компонентов в случае недоступности вызываемого сервиса или различных ошибок. Back off предполагает, что вызывающая процедура будет откладывать свою работу на некоторое время, чтобы дать другому сервису время на восстановление ресурсов. Подробнее про определение и реализацию на PHP можно почитать в блоге Frank De Jonge, автора популярной библиотеки Flysystem.
https://blog.frankdejonge.nl/back-the-func-off/
Frank on Software
Back the func off, this is my abstraction!
How to deal with failures when designing abstractions.
#book #advanced
Приложение с API имеют ряд сложностей по развитию по сравнению с обычными веб-приложениями: вы должны соблюдать контракт, не должны ломать обратную совместимость в минорных и патч версиях, должны долгое время жить с легаси и многое другое. Как не запутаться во всем этом и выбирать по большей части лучшие решения – расскажет данная книга.
Приложение с API имеют ряд сложностей по развитию по сравнению с обычными веб-приложениями: вы должны соблюдать контракт, не должны ломать обратную совместимость в минорных и патч версиях, должны долгое время жить с легаси и многое другое. Как не запутаться во всем этом и выбирать по большей части лучшие решения – расскажет данная книга.
#junior
Большой туториал с подробностями про куки: зачем и как использовать, когда не надо использовать, какие есть проблемы с безопасностью, как использовать куки между поддоменами, XSS и многое другое.
https://blog.webf.zone/ultimate-guide-to-http-cookies-2aa3e083dbae
Большой туториал с подробностями про куки: зачем и как использовать, когда не надо использовать, какие есть проблемы с безопасностью, как использовать куки между поддоменами, XSS и многое другое.
https://blog.webf.zone/ultimate-guide-to-http-cookies-2aa3e083dbae
Medium
Ultimate Guide to HTTP Cookies
What every web developer needs to know about HTTP Cookies!!!
#symfony
Разработчики Symfony в очередной раз раньше остальных фреймворков внедряют фичи будущих версий PHP в ядро фреймворка. На этот раз они внедрили поддержку Enum (перечисления), который будет доступен начиная с PHP 8.1.
https://github.com/symfony/symfony/pull/40857
Разработчики Symfony в очередной раз раньше остальных фреймворков внедряют фичи будущих версий PHP в ядро фреймворка. На этот раз они внедрили поддержку Enum (перечисления), который будет доступен начиная с PHP 8.1.
https://github.com/symfony/symfony/pull/40857
GitHub
[DependencyInjection] Add support of PHP enumerations by alexandre-daubois · Pull Request #40857 · symfony/symfony
Q
A
Branch?
4.4
Bug fix?
yes (new PHP version compatibility)
New feature?
no
Deprecations?
no
Tickets
Fix #40233
License
MIT
Doc PR
(see below)
Added support of enums using !php/...
A
Branch?
4.4
Bug fix?
yes (new PHP version compatibility)
New feature?
no
Deprecations?
no
Tickets
Fix #40233
License
MIT
Doc PR
(see below)
Added support of enums using !php/...
#advanced #laravel
Symfony не всегда является хорошим примером, как нужно делать. Например, автовайринг зависимостей через свойства, помеченными аннотацией @required, — это плохая фича. Будем надеяться, авторы Laravel не одобрят данный PR, добавляющий аналогичную возможность в контейнер фреймворка.
https://github.com/laravel/framework/pull/37331
Symfony не всегда является хорошим примером, как нужно делать. Например, автовайринг зависимостей через свойства, помеченными аннотацией @required, — это плохая фича. Будем надеяться, авторы Laravel не одобрят данный PR, добавляющий аналогичную возможность в контейнер фреймворка.
https://github.com/laravel/framework/pull/37331
GitHub
[9.x] Autowire public typed properties by ahmedash95 · Pull Request #37331 · laravel/framework
Hello,
This POC PR adds the Autowiring of public typed properties in PHP 7.4. it's inspired by Symfony 5.1.
It works only for public properties
doc block /** @required */ is required to tell ...
This POC PR adds the Autowiring of public typed properties in PHP 7.4. it's inspired by Symfony 5.1.
It works only for public properties
doc block /** @required */ is required to tell ...
#advanced
Библиотека для создания cron задач без модификации crontab.
https://github.com/jobbyphp/jobby
Библиотека для создания cron задач без модификации crontab.
https://github.com/jobbyphp/jobby
GitHub
GitHub - jobbyphp/jobby: Manage all your cron jobs without modifying crontab. Handles locking, logging, error emails, and more.
Manage all your cron jobs without modifying crontab. Handles locking, logging, error emails, and more. - jobbyphp/jobby
#advanced #nginx
Подробный справочник по nginx с примерами конфигураций и объяснением: что, зачем и когда использовать. Бросайте свой Apache и используйте современные инструменты.
https://www.freecodecamp.org/news/the-nginx-handbook/
Подробный справочник по nginx с примерами конфигураций и объяснением: что, зачем и когда использовать. Бросайте свой Apache и используйте современные инструменты.
https://www.freecodecamp.org/news/the-nginx-handbook/
freeCodeCamp.org
The NGINX Handbook – Learn NGINX for Beginners
A young Russian developer named Igor Sysoev was frustrated by older web servers' inability to handle more than 10 thousand concurrent requests. This is a problem referred to as the C10k problem. As an answer to this, he started working on a new web s...
#advanced #rabbitmq
О RabbitMQ в микросервисной архитектуре.
https://www.cloudamqp.com/blog/why-use-rabbitmq-in-a-microservice-architecture.html
О RabbitMQ в микросервисной архитектуре.
https://www.cloudamqp.com/blog/why-use-rabbitmq-in-a-microservice-architecture.html
CloudAMQP
Microservices - why use RabbitMQ? - CloudAMQP
Today’s monolithic systems are being replaced at a rapid pace by microservice architecture. To understand why this is the case requires a closer look into the core of message queuing and the benefits of using RabbitMQ as a message broker in a microservice…
#advanced #phpfpm
Подробный материал о том, что такое php-fpm, зачем он нужен и как оптимизировать его работу.
https://geekflare.com/php-fpm-optimization/
Подробный материал о том, что такое php-fpm, зачем он нужен и как оптимизировать его работу.
https://geekflare.com/php-fpm-optimization/
Geekflare
Optimizing PHP-FPM for High Performance
PHP is everywhere and is arguably the language most widely deployed on the Internet Web. However, it's not exactly known for its high-performance
#junior #rest
Исчерпывающая статья на тему того, что такое REST. Вы узнаете многое про клиент-серверное общение, заголовки, http и посмотрите примеры реализаций.
https://www.codecademy.com/articles/what-is-rest
Исчерпывающая статья на тему того, что такое REST. Вы узнаете многое про клиент-серверное общение, заголовки, http и посмотрите примеры реализаций.
https://www.codecademy.com/articles/what-is-rest
Codecademy
What is REST?
Learn about the REST (Representational State Transfer) paradigm and how rest architecture streamlines communication between web components.
#advanced #laravel
Большой туториал по laravel tinker.
https://beyondco.de/blog/the-ultimate-guide-to-php-artisan-tinker
Большой туториал по laravel tinker.
https://beyondco.de/blog/the-ultimate-guide-to-php-artisan-tinker
Tinkerwell
The ultimate guide to php artisan tinker
The tinker command is built into every Laravel application and you can use it to run code within the context of your application. Let's explore what this means.
#advanced
Как TDD меняет отношение к тестированию приложений и немного полезных графиков о том, как происходи процесс TDD.
https://proglib.io/w/28da9918
Как TDD меняет отношение к тестированию приложений и немного полезных графиков о том, как происходи процесс TDD.
https://proglib.io/w/28da9918
Medium
TDD changed my relationship with Software Testing
TDD has many benefits, but, for me, the best one is that you have to think how you are going to implement the code before doing it…
ReleaseIt!.pdf
8.4 MB
#advanced #book
Книга о том, как проектировать и правильно эксплуатировать ПО. В книге рассматриваются различные паттерны и антипаттерны, ситуации, при которых нужно действовать быстро, популярные решения многих проблем: отказы, интеграция с API, ретраи, медленные запросы и многое другое. Также в книге рассматриваются примеры плохих решений: слишком много JS, большие Cookie, плохой SQL код, кэширование и т.д.
Книга о том, как проектировать и правильно эксплуатировать ПО. В книге рассматриваются различные паттерны и антипаттерны, ситуации, при которых нужно действовать быстро, популярные решения многих проблем: отказы, интеграция с API, ретраи, медленные запросы и многое другое. Также в книге рассматриваются примеры плохих решений: слишком много JS, большие Cookie, плохой SQL код, кэширование и т.д.