🔒 Symfony: Lock vs Semaphore — когда и что выбрать?
В разработке многозадачных PHP-приложений часто возникает необходимость контролировать доступ к общим ресурсам. Symfony предоставляет два мощных инструмента для этой цели: Lock и Semaphore. Хотя оба компонента служат для синхронизации процессов, их подходы и области применения существенно различаются.
🔐 Lock — эксклюзивный доступ
Lock обеспечивает исключительный доступ к ресурсу:
🔸Один процесс — один доступ: только один процесс может получить «ключ» к ресурсу в любой момент времени.
🔸Идеально для критических секций: обновление файлов, обработка платежей, изменение данных в базе данных.
🔸Простая модель: либо у вас есть доступ, либо вы ждёте.
🚦 Semaphore — ограниченный параллелизм
Semaphore позволяет контролировать количество одновременно работающих процессов:
🔸Ограниченное количество разрешений: каждый процесс «потребляет» одно разрешение.
🔸Идеально для ограничения параллелизма: обработка изображений, API-запросы, очереди задач.
🔸Модель «ограниченного доступа»: несколько процессов могут работать одновременно, но не более заданного лимита.
🧠 Когда использовать что?
Lock: используйте, когда необходимо обеспечить, чтобы только один процесс выполнял задачу в определённый момент времени.
Semaphore: используйте, когда нужно ограничить количество одновременно выполняющихся процессов, например, для предотвращения перегрузки системы.
📚 Документация:
Symfony Lock
Symfony Semaphore
🐸 Библиотека пхпшника
#элементарный_выбор
В разработке многозадачных PHP-приложений часто возникает необходимость контролировать доступ к общим ресурсам. Symfony предоставляет два мощных инструмента для этой цели: Lock и Semaphore. Хотя оба компонента служат для синхронизации процессов, их подходы и области применения существенно различаются.
🔐 Lock — эксклюзивный доступ
Lock обеспечивает исключительный доступ к ресурсу:
🔸Один процесс — один доступ: только один процесс может получить «ключ» к ресурсу в любой момент времени.
🔸Идеально для критических секций: обновление файлов, обработка платежей, изменение данных в базе данных.
🔸Простая модель: либо у вас есть доступ, либо вы ждёте.
🚦 Semaphore — ограниченный параллелизм
Semaphore позволяет контролировать количество одновременно работающих процессов:
🔸Ограниченное количество разрешений: каждый процесс «потребляет» одно разрешение.
🔸Идеально для ограничения параллелизма: обработка изображений, API-запросы, очереди задач.
🔸Модель «ограниченного доступа»: несколько процессов могут работать одновременно, но не более заданного лимита.
🧠 Когда использовать что?
Lock: используйте, когда необходимо обеспечить, чтобы только один процесс выполнял задачу в определённый момент времени.
Semaphore: используйте, когда нужно ограничить количество одновременно выполняющихся процессов, например, для предотвращения перегрузки системы.
📚 Документация:
Symfony Lock
Symfony Semaphore
#элементарный_выбор
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🚀 composer/xdebug-handler — отключение Xdebug для повышения производительности
Библиотека composer/xdebug-handler предназначена для временного отключения расширения Xdebug в процессе выполнения PHP-скриптов, что позволяет значительно ускорить операции, такие как установка зависимостей с помощью Composer.
Зачем это нужно?
Xdebug предоставляет мощные возможности для отладки и профилирования PHP-кода, однако его включение может существенно замедлить выполнение скриптов. Например, Composer может работать в 3–4 раза медленнее при активном Xdebug, даже если не используются функции профилирования.
Когда стоит использовать?
В CLI-скриптах, например, при запуске Composer.
В CI/CD пайплайнах, где важна скорость выполнения.
В разработке, когда необходимо временно ускорить выполнение скриптов без отключения Xdebug.
Установка
📦 GitHub
Библиотека пхпшника
#инструменты
Библиотека composer/xdebug-handler предназначена для временного отключения расширения Xdebug в процессе выполнения PHP-скриптов, что позволяет значительно ускорить операции, такие как установка зависимостей с помощью Composer.
Зачем это нужно?
Xdebug предоставляет мощные возможности для отладки и профилирования PHP-кода, однако его включение может существенно замедлить выполнение скриптов. Например, Composer может работать в 3–4 раза медленнее при активном Xdebug, даже если не используются функции профилирования.
composer/xdebug-handler
автоматически перезапускает процесс PHP без загрузки Xdebug, сохраняя при этом все необходимые настройки и переменные окружения. После завершения работы Xdebug восстанавливается.Когда стоит использовать?
В CLI-скриптах, например, при запуске Composer.
В CI/CD пайплайнах, где важна скорость выполнения.
В разработке, когда необходимо временно ускорить выполнение скриптов без отключения Xdebug.
Установка
composer require composer/xdebug-handler
📦 GitHub
Библиотека пхпшника
#инструменты
❤4👍3
🔍 How to: добавить автозаполнение в Laravel с MongoDB Atlas Search
Хотите улучшить поиск в вашем Laravel-приложении? Воспользуйтесь MongoDB Atlas Search для реализации автозаполнения. В статье на Laravel News подробно описан процесс создания приложения для поиска фильмов с автозаполнением.
Что вас ждёт:
🔹 Настройка MongoDB Atlas и подключение к Laravel.
🔹 Создание модели Eloquent для коллекции фильмов.
🔹 Реализация поиска и автозаполнения с использованием индексов Atlas Search.
🔹 Создание API-эндпоинтов для поиска и автозаполнения.
🔹 Интеграция автозаполнения в интерфейс с использованием JavaScript.
Это руководство поможет вам добавить мощный и быстрый поиск в ваше приложение, улучшив пользовательский опыт.
👉Читать статью
Хотите улучшить поиск в вашем Laravel-приложении? Воспользуйтесь MongoDB Atlas Search для реализации автозаполнения. В статье на Laravel News подробно описан процесс создания приложения для поиска фильмов с автозаполнением.
Что вас ждёт:
🔹 Настройка MongoDB Atlas и подключение к Laravel.
🔹 Создание модели Eloquent для коллекции фильмов.
🔹 Реализация поиска и автозаполнения с использованием индексов Atlas Search.
🔹 Создание API-эндпоинтов для поиска и автозаполнения.
🔹 Интеграция автозаполнения в интерфейс с использованием JavaScript.
Это руководство поможет вам добавить мощный и быстрый поиск в ваше приложение, улучшив пользовательский опыт.
👉Читать статью
❗ Сегодня премьера
В 19:00 МСК стартует бесплатный вебинар с Максимом Шаланкиным — «ИИ-агенты: новая фаза развития искусственного интеллекта».
В программе:
— почему агенты ≠ чат-боты;
— живое демо простого агента;
— и как эта тема встроена в курс, который разработан под руководством Никиты Зелинского.
⏰ Это прямой эфир: подключиться можно через лендинг курса.
В 19:00 МСК стартует бесплатный вебинар с Максимом Шаланкиным — «ИИ-агенты: новая фаза развития искусственного интеллекта».
В программе:
— почему агенты ≠ чат-боты;
— живое демо простого агента;
— и как эта тема встроена в курс, который разработан под руководством Никиты Зелинского.
⏰ Это прямой эфир: подключиться можно через лендинг курса.
This media is not supported in your browser
VIEW IN TELEGRAM
Он не представлен в виде общедоступного API, но когда это кого-то останавливало? Есть способ считать датчик и сделать так, чтобы он звучал как звук старой двери.
🚪Коллеги, держитесь
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱5🤔1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
Джуны, освоившие вайбкодинг, могут рассчитывать на высокую зарплату уже через пару лет. Сеньоры, понимающие как возможности, так и ограничения ИИ, становятся бесценными сотрудниками.
Gergely Orosz утверждает, что инструменты на основе ИИ похожи на «очень старательных джунов — они быстро пишут код, но нуждаются в постоянном контроле. Разница в том, что ИИ-джуны никогда не становятся старшими. Им всегда будут нужны специалисты по очистке кода.
В итоге получаем: компании, добившиеся успеха в разработке с помощью ИИ, не просто используют его — они используют его с умом. Они создают прототипы с помощью ИИ, а затем вкладывают средства в оптимизацию, чтобы не накапливался технический долг.
Они относятся к вайбкодингу как к любому другому инструменту: мощному, но опасному без специальных знаний. В следующий раз, когда кто-нибудь скажет, что ИИ заменит программистов, спросите его, кто будет чистить код. Вот где кроется реальная возможность.
👉 Команда Donado Labs предлагает очистку кода как услугу — и, похоже, движется в правильном направлении
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8❤1🔥1
Если хочешь работать быстрее и умнее в PhpStorm, открой Productivity Guide: меню Help → Productivity Guide или Ctrl+Shift+A → «Productivity Guide».
🔍 Что это?
Это встроенный инструмент, который показывает, какие функции PhpStorm ты используешь, а какие — нет. Он помогает выявить недоиспользуемые возможности IDE и предлагает способы улучшения твоей продуктивности.
⚡️ Как это работает?
🔸Использованные функции: видишь, какие инструменты ты применяешь часто.
🔸Неиспользованные функции: узнаёшь, какие возможности ты ещё не освоил.
🔸Рекомендации: IDE предлагает способы улучшения твоего рабочего процесса.
💡 Пример: Live Templates
Если ты часто пишешь конструкции вроде foreach, if, while, то можешь использовать Live Templates. Просто набери сокращение, например, forek, и нажми Enter — PhpStorm автоматически развернёт его в полный код.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
🐘 PHP для начинающих: JSON CRUD API
Современные веб-приложения не обходятся без JSON API: они позволяют создавать, читать, обновлять и удалять данные (CRUD) с помощью лёгкого и универсального формата JSON.
Что полезного можно вынести из этой статьи:
CRUD операции: POST — добавить, GET — получить, PUT/PATCH — изменить, DELETE — удалить.
JSON vs БД: JSON файлы подходят для маленьких проектов, для масштабных приложений лучше базы данных.
Среда PHP: PHP 8.0+ с расширениями
Фреймворк или нативный PHP: Laravel и Slim ускоряют разработку сложных API, нативный PHP — для простых или кастомных решений.
Безопасность: проверка и очистка входных данных, CSRF-токены, подготовленные SQL-запросы, корректные права доступа к файлам.
Масштабирование: кэширование, пагинация, профилирование производительности, переход на базу данных при росте проекта.
Статья также показывает, как структурировать проект, готовить API к переходу с JSON на БД и использовать инструменты для управления API, например Zuplo.
👉 Читать статью
Библиотека пхпшника
#php_азбука
Современные веб-приложения не обходятся без JSON API: они позволяют создавать, читать, обновлять и удалять данные (CRUD) с помощью лёгкого и универсального формата JSON.
Что полезного можно вынести из этой статьи:
CRUD операции: POST — добавить, GET — получить, PUT/PATCH — изменить, DELETE — удалить.
JSON vs БД: JSON файлы подходят для маленьких проектов, для масштабных приложений лучше базы данных.
Среда PHP: PHP 8.0+ с расширениями
ext-json
и ext-pdo
, Composer, Docker, PHPUnit.Фреймворк или нативный PHP: Laravel и Slim ускоряют разработку сложных API, нативный PHP — для простых или кастомных решений.
Безопасность: проверка и очистка входных данных, CSRF-токены, подготовленные SQL-запросы, корректные права доступа к файлам.
Масштабирование: кэширование, пагинация, профилирование производительности, переход на базу данных при росте проекта.
Статья также показывает, как структурировать проект, готовить API к переходу с JSON на БД и использовать инструменты для управления API, например Zuplo.
👉 Читать статью
Библиотека пхпшника
#php_азбука
🌚1
Почему никто не говорит, что стал PHP лучше, чем JavaScript?
Интересное видео на тему изменений в современном PHP
Интересное видео на тему изменений в современном PHP
YouTube
Почему никто не говорит, что стал PHP лучше, чем JavaScript?
Мы редком говорим о том, как меняется зык япрограммирования PHP. В принципе, вообще об этом не говорим, а ведь этот язык стал уже лучше, чем JavaScript.
https://hcanovas.medium.com/php-8-5-is-more-modern-than-javascript-deal-with-it-1ac5a73fefb2
Таймкоды:…
https://hcanovas.medium.com/php-8-5-is-more-modern-than-javascript-deal-with-it-1ac5a73fefb2
Таймкоды:…
💯11🤔5
🙂 В Laravel при создании записей с помощью
Библиотека пхпшника
#vardump
Factories
вы можете использовать класс Sequence
, чтобы заменить некоторые значения и применить к ним специальную логику.Библиотека пхпшника
#vardump
❤2👾1
🚫 Хватит бороться с монолитом!
Узнайте, как создавать масштабируемые и гибкие приложения на PHP и Symfony.
🎯 На открытом уроке разберем современную event-driven архитектуру:
— Symfony Messenger: обработка событий синхронно и асинхронно.
— CQRS: разделение команд и запросов для производительности.
— Event Sourcing: как хранить историю всех изменений состояния.
✅ Поймем, в каких проектах эти подходы действительно необходимы, и посмотрим на живой код.
💡 Вебинар будет полезен:
— PHP и Symfony-разработчикам, растущим до уровня мидл+ и сеньоров.
— Тимлидам и архитекторам, планирующим устойчивые к нагрузкам системы.
— Начинающим специалистам, чтобы увидеть перспективы развития.
📅 Регистрируйтесь на бесплатный вебинар «Event-driven архитектура в PHP и Symfony» 1 октября в 20:00!:
https://clc.to/i9no6Q
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Узнайте, как создавать масштабируемые и гибкие приложения на PHP и Symfony.
🎯 На открытом уроке разберем современную event-driven архитектуру:
— Symfony Messenger: обработка событий синхронно и асинхронно.
— CQRS: разделение команд и запросов для производительности.
— Event Sourcing: как хранить историю всех изменений состояния.
✅ Поймем, в каких проектах эти подходы действительно необходимы, и посмотрим на живой код.
💡 Вебинар будет полезен:
— PHP и Symfony-разработчикам, растущим до уровня мидл+ и сеньоров.
— Тимлидам и архитекторам, планирующим устойчивые к нагрузкам системы.
— Начинающим специалистам, чтобы увидеть перспективы развития.
📅 Регистрируйтесь на бесплатный вебинар «Event-driven архитектура в PHP и Symfony» 1 октября в 20:00!:
https://clc.to/i9no6Q
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🛠️ Опишите свой рабочий день одним PHP-массивом
Представьте, что ваш день — это ассоциативный массив.
Какие ключи и значения там будут?
#байтовый_юмор
Представьте, что ваш день — это ассоциативный массив.
Какие ключи и значения там будут?
#байтовый_юмор
❤2
Forwarded from Книги для программистов
Книга рассказывает не просто историю кода, а историю людей, которые закладывали фундамент. Тут и войны, и победы, и фейлы уровня «ну кто же так пишет».
📌 В книге:
— Корни программирования и как они влияют на нас до сих пор — Пионеры, которые страдали депрессией и насмешками, но всё равно тащили вперёд прогресс — Прорывы от ассемблера до ООП — Вторая мировая как главный акселератор IT — И, конечно, куда нас ведут AI и этические вопросы
Если вы хоть раз ругались на баг в проде — почитай, чтобы вспомнить: до тебя тоже было весело 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
Недавно на реддите один разработчик поделился историей: его уволили за то, что он нашёл уязвимость в системе компании и сообщил о ней бэкенд-разработчику.
Казалось бы — инициативность, забота о безопасности, защита бизнеса. Но результат оказался противоположным: увольнение. Автор поста теперь задаётся вопросом, можно ли что-то предпринять юридически и вообще правильно ли он поступил.
Ситуация неоднозначная. С одной стороны, ответственность за безопасность — это зона компании, и сотруднику логично сигнализировать о проблемах. С другой — всё упирается в корпоративную культуру: где-то за такие находки благодарят, а где-то воспринимают как «влез не в своё дело».
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Всё о курсе «ИИ-агенты для DS-специалистов»
❓ Зачем нужны ИИ-агенты?
Это системы, которые берут на себя задачи аналитики и автоматизации. Именно они становятся основой для работы с корпоративными данными и для поддержки принятия решений.
❓ Зачем мне курс?
Курс отвечает на три ключевых вопроса:
— Как построить собственную систему агентов с нуля?
— Каким образом использовать RAG-подход для работы с корпоративными данными?
— Как адаптировать LLM под реальные задачи бизнеса?
❓ Подходит ли это мне?
Курс рассчитан на специалистов уровня middle+ и senior: ML/AI инженеров, Data Scientists, backend и platform-разработчиков. Подойдёт и студентам CS/DS, если вы готовы к продвинутым практикам.
Запись вводной встречи «ИИ-агенты: новая фаза развития искусственного интеллекта» доступна по ссылке.
❓ Когда старт?
Обучение начинается 3 октября.
❓ Сколько стоит?
До 28 сентября действует скидка → 57 000 ₽ вместо 69 000 ₽ (промокод datarascals).
🔗 Описание программы и регистрация
❓ Зачем нужны ИИ-агенты?
Это системы, которые берут на себя задачи аналитики и автоматизации. Именно они становятся основой для работы с корпоративными данными и для поддержки принятия решений.
❓ Зачем мне курс?
Курс отвечает на три ключевых вопроса:
— Как построить собственную систему агентов с нуля?
— Каким образом использовать RAG-подход для работы с корпоративными данными?
— Как адаптировать LLM под реальные задачи бизнеса?
❓ Подходит ли это мне?
Курс рассчитан на специалистов уровня middle+ и senior: ML/AI инженеров, Data Scientists, backend и platform-разработчиков. Подойдёт и студентам CS/DS, если вы готовы к продвинутым практикам.
Запись вводной встречи «ИИ-агенты: новая фаза развития искусственного интеллекта» доступна по ссылке.
❓ Когда старт?
Обучение начинается 3 октября.
❓ Сколько стоит?
До 28 сентября действует скидка → 57 000 ₽ вместо
🔗 Описание программы и регистрация
🔥 Сегодня последний день скидки!
На недавнем вебинаре «ИИ-агенты: новая фаза развития AI» мы показали, как агенты уже меняют работу Data Scientists и инженеров.
Что тебя ждёт на курсе:
⚡️ создашь своего ИИ-агента с нуля
⚡️ соберёшь RAG-систему
⚡️ научишься адаптировать LLM под реальные данные бизнеса
⏳ До конца этого дня цена на курс 57 000 ₽. Уже завтра будет 69 000 ₽. Успевай записаться (используй промокодdatarascals ).
🔗 Записаться на курс
На недавнем вебинаре «ИИ-агенты: новая фаза развития AI» мы показали, как агенты уже меняют работу Data Scientists и инженеров.
Что тебя ждёт на курсе:
⚡️ создашь своего ИИ-агента с нуля
⚡️ соберёшь RAG-систему
⚡️ научишься адаптировать LLM под реальные данные бизнеса
⏳ До конца этого дня цена на курс 57 000 ₽. Уже завтра будет 69 000 ₽. Успевай записаться (используй промокод
🔗 Записаться на курс
😁2
💻 Подборка новостей по PHP за неделю:
🔹 Laravel MCP (Beta) — представлен новый пакет для быстрой разработки Model Context Protocol (MCP) серверов в Laravel. MCP дополняет Laravel Boost и укрепляет курс фреймворка на интеграцию с AI.
🔹 PrettyPHP — новый детерминированный форматтер кода для PHP. Он быстрый, работает «из коробки» без конфигурации и написан на самом PHP.
🔹 Laravel 12.29 — обновление принесло новую локальную debug-страницу, драйвер сессий на кэше, поддержку PHP-атрибутов для ресурсных моделей и ряд мелких улучшений.
🔹 Symfony 15–21 сентября 2025 — развитие Symfony 7.4: улучшена поддержка enum в workflow, добавлены дженерики в config builder API, устарели свойства FQCN в PersistentToken и RememberMeDetails.
Библиотека пхпшника
#свежак
🔹 Laravel MCP (Beta) — представлен новый пакет для быстрой разработки Model Context Protocol (MCP) серверов в Laravel. MCP дополняет Laravel Boost и укрепляет курс фреймворка на интеграцию с AI.
🔹 PrettyPHP — новый детерминированный форматтер кода для PHP. Он быстрый, работает «из коробки» без конфигурации и написан на самом PHP.
🔹 Laravel 12.29 — обновление принесло новую локальную debug-страницу, драйвер сессий на кэше, поддержку PHP-атрибутов для ресурсных моделей и ряд мелких улучшений.
🔹 Symfony 15–21 сентября 2025 — развитие Symfony 7.4: улучшена поддержка enum в workflow, добавлены дженерики в config builder API, устарели свойства FQCN в PersistentToken и RememberMeDetails.
Библиотека пхпшника
#свежак
⏳ Последние часы со скидкой!
Мы уже закрыли вебинар «ИИ-агенты: новая фаза развития AI», но запись всё ещё доступна.
А дальше остаётся только практика. На курсе «ИИ-агенты для DS-специалистов» ты научишься разрабатывать агентов, собирать RAG-системы и адаптировать LLM под бизнес.
⏰ Сегодня цена ещё 57.000 ₽ с промокодом datarascals.
Завтра — 69.000 ₽.
👉 Успеть оплатить до полуночи
Мы уже закрыли вебинар «ИИ-агенты: новая фаза развития AI», но запись всё ещё доступна.
А дальше остаётся только практика. На курсе «ИИ-агенты для DS-специалистов» ты научишься разрабатывать агентов, собирать RAG-системы и адаптировать LLM под бизнес.
⏰ Сегодня цена ещё 57.000 ₽ с промокодом datarascals.
Завтра — 69.000 ₽.
👉 Успеть оплатить до полуночи
😁4