Контроль времени обработки кода в PHP с помощью Time Warden
Time Warden — это легкая PHP-библиотека, позволяющая отслеживать время обработки задач и предпринимать действия при превышении заданных порогов времени выполнения.
Эта библиотека имеет отличную документацию в readme проекта, которая вкратце предлагает следующие возможности:
🔸Мониторинг времени обработки критических задач при разработке и отладке
🔸Реактивные действия при превышении времени (миллисекунды, секунды, минуты и часы)
🔸Отладочный вывод времени выполнения
🔸Измерение времени выполнения отдельной задачи и групп задач
🔸Библиотека, не зависящая от фреймворка, которую можно использовать с Laravel, Symfony, автономно и т.д.
🔸PHP 8.2+
Time Warden — это легкая PHP-библиотека, позволяющая отслеживать время обработки задач и предпринимать действия при превышении заданных порогов времени выполнения.
Эта библиотека имеет отличную документацию в readme проекта, которая вкратце предлагает следующие возможности:
🔸Мониторинг времени обработки критических задач при разработке и отладке
🔸Реактивные действия при превышении времени (миллисекунды, секунды, минуты и часы)
🔸Отладочный вывод времени выполнения
🔸Измерение времени выполнения отдельной задачи и групп задач
🔸Библиотека, не зависящая от фреймворка, которую можно использовать с Laravel, Symfony, автономно и т.д.
🔸PHP 8.2+
🔥7❤4👍1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
😌 5 техник для снятия стресса на работе
Чувствуете, что стресс мешает вашему рабочему процессу? Не отчаивайтесь! Мы подготовили для вас пять простых и доступных техник, которые помогут справиться с ним.
🔗 Читать статью
🔗 Зеркало
Чувствуете, что стресс мешает вашему рабочему процессу? Не отчаивайтесь! Мы подготовили для вас пять простых и доступных техник, которые помогут справиться с ним.
🔗 Читать статью
🔗 Зеркало
👍2🔥2😁2
#дайджест новостей по PHP за неделю:
🔎Выпущены PHP 8.2.20 и PHP 8.3.8! — Команда разработчиков PHP объявляет о выходе PHP 8.2.20 и PHP 8.3.8. Это релиз безопасности.
🔎Обновление Xdebug: май 2024 года — В этом ежемесячном обновлении рассказывается о том, что произошло с разработкой Xdebug за прошедший месяц.
🔎Использование замыкания в updateOrInsert() в Laravel 11.10 — На этой неделе команда Laravel выпустила версию 11.10, в которой появилась возможность передавать замыкание в updateOrInsert, поддержка мягко удаленных моделей с явной привязкой модели маршрута и многое другое.
🔎Неделя Symfony #910 (3-9 июня 2024 года) — На этой неделе были выпущены поддерживающие версии Symfony 5.4.40, 6.4.8, 7.0.8 и 7.1.1. Кроме того, организовали конференцию SymfonyOnline June 2024 и объединили первые функции Symfony 7.2, которая выйдет в конце ноября 2024 года.
🔎Выпущены PHP 8.2.20 и PHP 8.3.8! — Команда разработчиков PHP объявляет о выходе PHP 8.2.20 и PHP 8.3.8. Это релиз безопасности.
🔎Обновление Xdebug: май 2024 года — В этом ежемесячном обновлении рассказывается о том, что произошло с разработкой Xdebug за прошедший месяц.
🔎Использование замыкания в updateOrInsert() в Laravel 11.10 — На этой неделе команда Laravel выпустила версию 11.10, в которой появилась возможность передавать замыкание в updateOrInsert, поддержка мягко удаленных моделей с явной привязкой модели маршрута и многое другое.
🔎Неделя Symfony #910 (3-9 июня 2024 года) — На этой неделе были выпущены поддерживающие версии Symfony 5.4.40, 6.4.8, 7.0.8 и 7.1.1. Кроме того, организовали конференцию SymfonyOnline June 2024 и объединили первые функции Symfony 7.2, которая выйдет в конце ноября 2024 года.
👍6❤1😢1
Архитектурное тестирование в Laravel с помощью Pest
Статья посвящена архитектурному тестированию в Laravel с использованием тестового фреймворка Pest. В статье рассматриваются следующие ключевые моменты:
Введение в архитектурное тестирование: Объясняется, что такое архитектурное тестирование и почему оно важно. Это помогает убедиться, что структура приложения соответствует заданным архитектурным принципам и правилам.
Знакомство с Pest: Pest представляет собой современный и упрощенный тестовый фреймворк для PHP, который фокусируется на простоте и удобстве использования. В статье дается краткое введение в Pest и его особенности.
Настройка Pest для Laravel: Пошаговое руководство по установке и настройке Pest в Laravel-проекте. Включает команды для установки и основные конфигурации, необходимые для начала работы.
Примеры архитектурных тестов: Приводятся конкретные примеры того, как писать архитектурные тесты с использованием Pest. Описываются тесты, которые проверяют структуру каталогов, зависимости между модулями и соблюдение архитектурных правил.
Практические советы и рекомендации: Предоставляются полезные советы по написанию и поддержке архитектурных тестов, а также рекомендации по улучшению качества кода и архитектуры проекта.
Статья посвящена архитектурному тестированию в Laravel с использованием тестового фреймворка Pest. В статье рассматриваются следующие ключевые моменты:
Введение в архитектурное тестирование: Объясняется, что такое архитектурное тестирование и почему оно важно. Это помогает убедиться, что структура приложения соответствует заданным архитектурным принципам и правилам.
Знакомство с Pest: Pest представляет собой современный и упрощенный тестовый фреймворк для PHP, который фокусируется на простоте и удобстве использования. В статье дается краткое введение в Pest и его особенности.
Настройка Pest для Laravel: Пошаговое руководство по установке и настройке Pest в Laravel-проекте. Включает команды для установки и основные конфигурации, необходимые для начала работы.
Примеры архитектурных тестов: Приводятся конкретные примеры того, как писать архитектурные тесты с использованием Pest. Описываются тесты, которые проверяют структуру каталогов, зависимости между модулями и соблюдение архитектурных правил.
Практические советы и рекомендации: Предоставляются полезные советы по написанию и поддержке архитектурных тестов, а также рекомендации по улучшению качества кода и архитектуры проекта.
👍3
⚛️ 6 самых важных шаблонов проектирования в React
Правильное использование паттернов проектирования — ключ к созданию надежных, эффективных и масштабируемых React-приложений. Рассказываем о шаблонах, которые стоит освоить в первую очередь.
👉 Читать статью
👉 Зеркало
Правильное использование паттернов проектирования — ключ к созданию надежных, эффективных и масштабируемых React-приложений. Рассказываем о шаблонах, которые стоит освоить в первую очередь.
👉 Читать статью
👉 Зеркало
Работа с новой архитектурой в Laravel 11
Основная «киллер-фича» фреймворка Laravel версии 11 — «плоский код». Под капот убрано всё, что большинством разработчиков не используется и, по сути, является «мусором». А также убраны некоторые действительно полезные вещи.
Здесь показано что куда делось и как улучшить взаимодействие с новой архитектурой.
Основная «киллер-фича» фреймворка Laravel версии 11 — «плоский код». Под капот убрано всё, что большинством разработчиков не используется и, по сути, является «мусором». А также убраны некоторые действительно полезные вещи.
Здесь показано что куда делось и как улучшить взаимодействие с новой архитектурой.
Хабр
Работа с новой архитектурой в Laravel 11
В одном из прошлых постов было озвучено изучение мидлварей в Laravel 11 до его релиза. Что изменилось с тех пор и с чем мы столкнулись на практике, рассмотрим ниже. Основная "киллер-фича" фреймворка...
👍6🌚1
Каковы основные компоненты Symfony и как они взаимодействуют друг с другом?
Symfony состоит из нескольких ключевых компонентов, которые взаимодействуют между собой, создавая надежный PHP-фреймворк. Компонент HttpFoundation заменяет глобальные переменные PHP объектно-ориентированным слоем, что позволяет проще работать с HTTP-запросами и ответами. Routing управляет генерацией и подбором URL, а EventDispatcher позволяет разделить код с помощью слушателей событий. DependencyInjection обеспечивает функциональность контейнера сервисов, способствуя многократному использованию и тестированию кода.
HttpKernel выступает в качестве ядра, используя другие компоненты для обработки запросов и генерации ответов. Он использует EventDispatcher для отправки нескольких событий во время обработки запроса, что позволяет внедрять пользовательское поведение в различных точках. Например, он отправляет событие 'kernel.request', которое может быть использовано Routing для сопоставления запроса с маршрутом и определения контроллера.
Компонент Twig — это шаблонизатор Symfony, взаимодействующий с HttpKernel для рендеринга представлений. Doctrine ORM взаимодействует с базой данных, обеспечивая персистентность данных.
Security обеспечивает аутентификацию и авторизацию, тесно взаимодействуя с HttpKernel и EventDispatcher. Translation помогает в интернационализации, а Validator обеспечивает соблюдение правил проверки объектов.
#вопросы_с_собеседований
Symfony состоит из нескольких ключевых компонентов, которые взаимодействуют между собой, создавая надежный PHP-фреймворк. Компонент HttpFoundation заменяет глобальные переменные PHP объектно-ориентированным слоем, что позволяет проще работать с HTTP-запросами и ответами. Routing управляет генерацией и подбором URL, а EventDispatcher позволяет разделить код с помощью слушателей событий. DependencyInjection обеспечивает функциональность контейнера сервисов, способствуя многократному использованию и тестированию кода.
HttpKernel выступает в качестве ядра, используя другие компоненты для обработки запросов и генерации ответов. Он использует EventDispatcher для отправки нескольких событий во время обработки запроса, что позволяет внедрять пользовательское поведение в различных точках. Например, он отправляет событие 'kernel.request', которое может быть использовано Routing для сопоставления запроса с маршрутом и определения контроллера.
Компонент Twig — это шаблонизатор Symfony, взаимодействующий с HttpKernel для рендеринга представлений. Doctrine ORM взаимодействует с базой данных, обеспечивая персистентность данных.
Security обеспечивает аутентификацию и авторизацию, тесно взаимодействуя с HttpKernel и EventDispatcher. Translation помогает в интернационализации, а Validator обеспечивает соблюдение правил проверки объектов.
#вопросы_с_собеседований
🔥7👍5🤔1
Гайд по валидации в Laravel
Статья посвящена теме валидации данных в Laravel. Она объясняет, как использовать встроенные возможности Laravel для проверки данных, поступающих от пользователей, чтобы обеспечить их корректность и соответствие определённым правилам.
Основные моменты:
✔️Основы валидации в Laravel: Описаны основные принципы и подходы к валидации данных в Laravel, включая использование встроенных методов и правил.
✔️Создание правил валидации: Рассматривается, как создавать и применять правила валидации в контроллерах и формах.
✔️Сообщения об ошибках: Обсуждается, как настраивать сообщения об ошибках валидации, чтобы сделать их более понятными для пользователей.
✔️Кастомные правила валидации: Описывается процесс создания кастомных правил валидации для специфических требований приложения.
✔️Примеры использования: Приводятся примеры кода и сценарии, демонстрирующие различные аспекты валидации данных в Laravel.
Статья посвящена теме валидации данных в Laravel. Она объясняет, как использовать встроенные возможности Laravel для проверки данных, поступающих от пользователей, чтобы обеспечить их корректность и соответствие определённым правилам.
Основные моменты:
✔️Основы валидации в Laravel: Описаны основные принципы и подходы к валидации данных в Laravel, включая использование встроенных методов и правил.
✔️Создание правил валидации: Рассматривается, как создавать и применять правила валидации в контроллерах и формах.
✔️Сообщения об ошибках: Обсуждается, как настраивать сообщения об ошибках валидации, чтобы сделать их более понятными для пользователей.
✔️Кастомные правила валидации: Описывается процесс создания кастомных правил валидации для специфических требований приложения.
✔️Примеры использования: Приводятся примеры кода и сценарии, демонстрирующие различные аспекты валидации данных в Laravel.
Laravel News
The ultimate guide to Laravel Validation - Laravel News
Validation is an important part of any web application. It can help to prevent security vulnerabilities, data corruption, and a whole host of other issues that can arise when you're working with user input.
👍2
Функция Str::slug в Laravel предназначена для создания «слагов» из строк. «Слаг» — это URL-подобная строка, которая используется для идентификации статьи или страницы на сайте. Слаг обычно состоит из слова или фразы, разделенной дефисами.
Итак, функция Str::slug превращает строку в «слаг», используя заданные параметры. Например, для строки «Это пример строки для Slug» функция вернет «ce-priklad-ryadka-dlya-slug». Вот несколько примеров использования функции Str::slug в Laravel:
В первом примере функция Str::slug берет строку $title и превращает ее в «слаг» с дефисами как разделителями. Во втором примере разделитель изменен на подчеркивание.
Итак, функция Str::slug превращает строку в «слаг», используя заданные параметры. Например, для строки «Это пример строки для Slug» функция вернет «ce-priklad-ryadka-dlya-slug». Вот несколько примеров использования функции Str::slug в Laravel:
В первом примере функция Str::slug берет строку $title и превращает ее в «слаг» с дефисами как разделителями. Во втором примере разделитель изменен на подчеркивание.
🥱13👍6🤔4❤2🔥1
Как делиться своими TwigComponent с командой
Здесь рассматриваются шаги и лучшие практики по созданию, документированию и распространению ваших Twig-компонентов, чтобы сделать их доступными для всей команды разработчиков.
Здесь рассматриваются шаги и лучшие практики по созданию, документированию и распространению ваших Twig-компонентов, чтобы сделать их доступными для всей команды разработчиков.
DEV Community
How to share your TwigComponent with your team ?
Quick Reminders This article follows my previous one. If you haven't read it yet, you can...
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии PHP разработчиков уровня Junior
▪️PHP-developer
Удаленка. Офис в Москве. UREMONT — агрегатор страхования
Подробнее
▪️PHP-программист
Москва. Флекскор — система управления сайтами
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️PHP-разработчик
Москва. Д-проджект — создание и продвижение веб-проектов
Подробнее
▪️Fullstack разработчик
Томск. BlaBlaCar — международный онлайн-сервис поиска автомобильных попутчиков
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Backend developer
Москва. PUSK — IT, интернет-маркетинг
Подробнее
▪️Backend-разработчик
Удаленка. Офис в Нижнем Новгороде. АДЕПТ — разработчик ПО для строительной отрасли
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии PHP разработчиков уровня Junior
▪️PHP-developer
Удаленка. Офис в Москве. UREMONT — агрегатор страхования
Подробнее
▪️PHP-программист
Москва. Флекскор — система управления сайтами
Подробнее
Вакансии PHP разработчиков уровня Middle
▪️PHP-разработчик
Москва. Д-проджект — создание и продвижение веб-проектов
Подробнее
▪️Fullstack разработчик
Томск. BlaBlaCar — международный онлайн-сервис поиска автомобильных попутчиков
Подробнее
Вакансии PHP разработчиков уровня Senior
▪️Backend developer
Москва. PUSK — IT, интернет-маркетинг
Подробнее
▪️Backend-разработчик
Удаленка. Офис в Нижнем Новгороде. АДЕПТ — разработчик ПО для строительной отрасли
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
hh.ru
Вакансия PHP-developer (junior) в Москве, работа в компании UREMONT (вакансия в архиве c 26 июня 2024)
Зарплата: от 80000 до 110000 ₽ за месяц. Москва. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 17.06.2024.
🤔5👍1
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
👏1🎉1
Как использовать новую команду Symfony Maker для работы с GitHub Webhooks
Статья описывает, как использовать новую команду Symfony Maker для работы с веб-хуками GitHub. Веб-хуки — это распространенный способ взаимодействия внешних сервисов с вашим приложением. Они похожи на подписчика событий: удаленный сервис объявляет список шагов в своем жизненном цикле (например, для github: открыта проблема, сделан комментарий к PR и т.д.), и для каждого из этих шагов он отправляет событие с соответствующими данными.
Symfony 6.3 представил компоненты Webhook и RemoteEvent. Компонент Webhook упрощает создание конечной точки и проверку запроса, в то время как RemoteEvent обеспечивает передачу полезной нагрузки события через Messenger и обработку ее RemoteEventConsumer, где будет жить ваша логика.
Чтобы установить эти компоненты, выполните:
$ composer require symfony/webhook
После установки компонента, чтобы создать новый веб-хук, выполните:
$ symfony console make:webhook
Создатель попросит вас указать имя веб-хука, которое будет использоваться для генерации URL веб-хука.
Статья описывает, как использовать новую команду Symfony Maker для работы с веб-хуками GitHub. Веб-хуки — это распространенный способ взаимодействия внешних сервисов с вашим приложением. Они похожи на подписчика событий: удаленный сервис объявляет список шагов в своем жизненном цикле (например, для github: открыта проблема, сделан комментарий к PR и т.д.), и для каждого из этих шагов он отправляет событие с соответствующими данными.
Symfony 6.3 представил компоненты Webhook и RemoteEvent. Компонент Webhook упрощает создание конечной точки и проверку запроса, в то время как RemoteEvent обеспечивает передачу полезной нагрузки события через Messenger и обработку ее RemoteEventConsumer, где будет жить ваша логика.
Чтобы установить эти компоненты, выполните:
$ composer require symfony/webhook
После установки компонента, чтобы создать новый веб-хук, выполните:
$ symfony console make:webhook
Создатель попросит вас указать имя веб-хука, которое будет использоваться для генерации URL веб-хука.
Как масштабировать PHP-приложение, чтобы оно выдерживало высокую нагрузку, и каковы некоторые связанные с этим проблемы?
Для масштабирования PHP-приложения можно использовать горизонтальное масштабирование, при котором несколько экземпляров приложения могут работать на разных серверах за балансировщиком нагрузки. Это поможет справиться с высокой нагрузкой. Одной из проблем является обеспечение согласованности данных в нескольких экземплярах приложения.
Другая задача — обеспечить эффективную связь между экземплярами приложения и гарантировать, что каждый экземпляр имеет достаточно ресурсов, чтобы справиться с нагрузкой. Для снижения нагрузки на серверы можно также использовать методы кэширования и оптимизации.
#вопросы_с_собеседований
Для масштабирования PHP-приложения можно использовать горизонтальное масштабирование, при котором несколько экземпляров приложения могут работать на разных серверах за балансировщиком нагрузки. Это поможет справиться с высокой нагрузкой. Одной из проблем является обеспечение согласованности данных в нескольких экземплярах приложения.
Другая задача — обеспечить эффективную связь между экземплярами приложения и гарантировать, что каждый экземпляр имеет достаточно ресурсов, чтобы справиться с нагрузкой. Для снижения нагрузки на серверы можно также использовать методы кэширования и оптимизации.
#вопросы_с_собеседований
❤3👍1
Автоматизируйте резервное копирование баз данных с помощью Laravel
В этом гайде показан пошаговый процесс автоматизации резервного копирования баз данных с помощью Laravel, в частности с использованием пакета spatie/laravel-backup.
В этом гайде показан пошаговый процесс автоматизации резервного копирования баз данных с помощью Laravel, в частности с использованием пакета spatie/laravel-backup.
DEV Community
Automate your database backups with Laravel: A comprehensive guide
👋 Hello everyone! 🚀 Today, we'll explore how to automate database backups using Laravel. 📁 The...
❤4🤔2👏1😢1🥱1
Версионирование API в Laravel-приложениях
Версионирование API — важная и зачастую сложная задача, у которой скорее всего нет какого-то универсального решения. Здесь показан один из возможных подходов в приложениях на базе Laravel.
Версионирование API — важная и зачастую сложная задача, у которой скорее всего нет какого-то универсального решения. Здесь показан один из возможных подходов в приложениях на базе Laravel.
Хабр
Версионирование API в Laravel-приложениях
Версионирование API – важная и зачастую сложная задача, у которой скорее всего нет какого-то универсального решения. Рассказываю об одном из возможных подходов в приложениях на базе Laravel. Впрочем,...
🔥10
💬 Час для экзистенциальных размышлений: на что вы бы тратили своё время, если бы вам не нужны были деньги?
👇Пишите в комментарии👇
#интерактив
👇Пишите в комментарии👇
#интерактив
👍4