🔥 Сегодня последний день скидки!
На недавнем вебинаре «ИИ-агенты: новая фаза развития AI» мы показали, как агенты уже меняют работу Data Scientists и инженеров.
Что тебя ждёт на курсе:
⚡️ создашь своего ИИ-агента с нуля
⚡️ соберёшь RAG-систему
⚡️ научишься адаптировать LLM под реальные данные бизнеса
⏳ До конца этого дня цена на курс 57 000 ₽. Уже завтра будет 69 000 ₽. Успевай записаться (используй промокодdatarascals ).
🔗 Записаться на курс
На недавнем вебинаре «ИИ-агенты: новая фаза развития AI» мы показали, как агенты уже меняют работу Data Scientists и инженеров.
Что тебя ждёт на курсе:
⚡️ создашь своего ИИ-агента с нуля
⚡️ соберёшь RAG-систему
⚡️ научишься адаптировать LLM под реальные данные бизнеса
⏳ До конца этого дня цена на курс 57 000 ₽. Уже завтра будет 69 000 ₽. Успевай записаться (используй промокод
🔗 Записаться на курс
😁3
💻 Подборка новостей по 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❤1🌚1
Совет по Laravel💡: Встроенная валидация
Хотя Laravel предлагает множество правил валидации, иногда возникает необходимость в использовании пользовательских правил. Обычно они записываются в пользовательском классе. Но знаете ли вы, что можно выполнять и валидацию в строке? 🚀
#vardump
Библиотека пхпшника
Хотя Laravel предлагает множество правил валидации, иногда возникает необходимость в использовании пользовательских правил. Обычно они записываются в пользовательском классе. Но знаете ли вы, что можно выполнять и валидацию в строке? 🚀
#vardump
Библиотека пхпшника
Как устроены массивы в PHP и как код влияет на скорость работы с ними
Массивы — это хлеб и масло PHP-разработчика. Мы используем их постоянно, но редко задумываемся, как они устроены внутри. А от этого устройства напрямую зависит скорость и память нашего приложения. Давайте разберемся.
🔗 Хабр
Библиотека пхпшника
Массивы — это хлеб и масло PHP-разработчика. Мы используем их постоянно, но редко задумываемся, как они устроены внутри. А от этого устройства напрямую зависит скорость и память нашего приложения. Давайте разберемся.
🔗 Хабр
Библиотека пхпшника
👍7
Forwarded from Библиотека задач по PHP | тесты, код, задания
🤖 Курс «ИИ-агенты для DS-специалистов»
Последняя возможность в этом году освоить ИИ-агентов — курс стартует уже 3 октября! Первый вебинар пройдёт в день старта, а подробности вебинара можно найти на сайте.
📚 Бонус: при оплате до 30 сентября вы получите дополнительный лонгрид для подготовки к курсу. Это отличный способ подойти к занятиям уже с базой.
🔥 А ещё после прохождения курса у вас будет достаточно знаний, чтобы участвовать в хакатоне с призовым фондом 1 125 000 ₽.
🔗 Записаться на курс и узнать подробности
Последняя возможность в этом году освоить ИИ-агентов — курс стартует уже 3 октября! Первый вебинар пройдёт в день старта, а подробности вебинара можно найти на сайте.
📚 Бонус: при оплате до 30 сентября вы получите дополнительный лонгрид для подготовки к курсу. Это отличный способ подойти к занятиям уже с базой.
🔥 А ещё после прохождения курса у вас будет достаточно знаний, чтобы участвовать в хакатоне с призовым фондом 1 125 000 ₽.
🔗 Записаться на курс и узнать подробности
🧠 DSL vs паттерны: что выбрать в проекте
В разработке часто встаёт вопрос: использовать ли DSL (Domain Specific Language) или опираться на дизайн-паттерны. Оба подхода помогают структурировать работу с данными и бизнес-логикой, но дают разный результат.
🔍 В чём разница
Паттерны делают код более гибким и слабо связанным, позволяют легко подменять компоненты. Но вместе с этим усложняют ментальную модель — приходится держать в голове фабрики, адаптеры и репозитории, а сама бизнес-логика может «растворяться» в слоях абстракций.
DSL описывает действия напрямую. Язык ближе к предметной области и проще для восприятия, особенно когда задачи сложные или действия цепочкой. Он позволяет выразить логику в явном виде и сократить количество лишних запросов и пост-обработки.
⚠️ Ограничения DSL
🔸 Создание DSL требует серьёзной подготовки: язык должен быть достаточно гибким, чтобы покрывать текущие и будущие сценарии.
🔸 Поддержка DSL может быть трудозатратной, особенно если доменные действия часто меняются.
🔸 Строковые DSL работают как «фронтенд кода» — за ними скрывается движок, который тоже нужно развивать.
✅ Когда что выбрать
Если предметная область хорошо понятна и устойчива — стоит строить DSL.
Если действия ещё уточняются, а изменения происходят часто — лучше опираться на паттерны.
В сложных проектах возможен гибрид: паттерны для структуры и расширяемости, DSL для выражения бизнес-логики.
💬 А как у вас в проектах? Чаще используете паттерны или внедряете DSL?
👉 Читать статью
Библиотека пхпшника
#элементарный_выбор
В разработке часто встаёт вопрос: использовать ли DSL (Domain Specific Language) или опираться на дизайн-паттерны. Оба подхода помогают структурировать работу с данными и бизнес-логикой, но дают разный результат.
🔍 В чём разница
Паттерны делают код более гибким и слабо связанным, позволяют легко подменять компоненты. Но вместе с этим усложняют ментальную модель — приходится держать в голове фабрики, адаптеры и репозитории, а сама бизнес-логика может «растворяться» в слоях абстракций.
DSL описывает действия напрямую. Язык ближе к предметной области и проще для восприятия, особенно когда задачи сложные или действия цепочкой. Он позволяет выразить логику в явном виде и сократить количество лишних запросов и пост-обработки.
⚠️ Ограничения DSL
🔸 Создание DSL требует серьёзной подготовки: язык должен быть достаточно гибким, чтобы покрывать текущие и будущие сценарии.
🔸 Поддержка DSL может быть трудозатратной, особенно если доменные действия часто меняются.
🔸 Строковые DSL работают как «фронтенд кода» — за ними скрывается движок, который тоже нужно развивать.
✅ Когда что выбрать
Если предметная область хорошо понятна и устойчива — стоит строить DSL.
Если действия ещё уточняются, а изменения происходят часто — лучше опираться на паттерны.
В сложных проектах возможен гибрид: паттерны для структуры и расширяемости, DSL для выражения бизнес-логики.
💬 А как у вас в проектах? Чаще используете паттерны или внедряете DSL?
👉 Читать статью
Библиотека пхпшника
#элементарный_выбор
CPX
Это как npx но для PHP. Этот инструмент позволяет выполнить любую команду из любого пакета Composer, даже если он не установлен в вашем проекте.
🔗 Github
Библиотека пхпшника
#инструменты
Это как npx но для PHP. Этот инструмент позволяет выполнить любую команду из любого пакета Composer, даже если он не установлен в вашем проекте.
🔗 Github
Библиотека пхпшника
#инструменты
🤖 Курс «ИИ-агенты для DS-специалистов»
Последняя возможность в этом году освоить ИИ-агентов с Proglib— старт живых вебинаров на курсе уже 3 октября!
Уже 24 студента изучают 5 лонгридов подготовительного модуля, чтобы сформировать базу к старту живых вебинаров с Никитой Зелинским.
📚 Бонус: при оплате до 30 сентября вы получите дополнительный лонгрид для подготовки к курсу. Это отличный способ подойти к занятиям уже с базой.
🔥 А ещё после прохождения курса у вас будет достаточно знаний, чтобы участвовать в хакатоне с призовым фондом 1 125 000 ₽.
🔗 Записаться на курс и узнать подробности
Последняя возможность в этом году освоить ИИ-агентов с Proglib— старт живых вебинаров на курсе уже 3 октября!
Уже 24 студента изучают 5 лонгридов подготовительного модуля, чтобы сформировать базу к старту живых вебинаров с Никитой Зелинским.
📚 Бонус: при оплате до 30 сентября вы получите дополнительный лонгрид для подготовки к курсу. Это отличный способ подойти к занятиям уже с базой.
🔥 А ещё после прохождения курса у вас будет достаточно знаний, чтобы участвовать в хакатоне с призовым фондом 1 125 000 ₽.
🔗 Записаться на курс и узнать подробности
🚀 How to: защититься от гонок данных в Laravel с помощью Cache::lock()
Когда несколько процессов одновременно пытаются изменить один и тот же ресурс, появляется риск race condition — непредсказуемых ошибок и потери данных.
В Laravel есть элегантное решение —
🔒 Как это работает
Вы создаёте именованный лок (
Пока лок удерживается, другие процессы не смогут выполнить код внутри него.
По окончании работы лок освобождается (или снимается автоматически по таймауту, если процесс «упал»).
🛠 Где применять
🔄 Обновление стока в интернет-магазине: гарантировать, что количество товара не «улетит» в минус при одновременных заказах.
💳 Финансовые транзакции: исключить двойное списание при параллельных платежах.
⚡️ Почему это удобно
Работает с Redis, Memcached и другими драйверами.
Таймаут защищает от «вечных» блокировок.
Минимальная нагрузка, но максимум безопасности для критичных операций.
👉 Если у вас распределённые воркеры или несколько серверов, используйте Cache::lock() для критичных секций кода. Это простой способ сохранить целостность данных и избавиться от коварных багов конкурентности.
🔗 Ссылка на статью
Когда несколько процессов одновременно пытаются изменить один и тот же ресурс, появляется риск race condition — непредсказуемых ошибок и потери данных.
В Laravel есть элегантное решение —
Cache::lock()
, которое помогает реализовать атомарные блокировки даже в распределённых системах.🔒 Как это работает
Вы создаёте именованный лок (
Cache::lock("key", $seconds)
), который «занимает» ресурс.Пока лок удерживается, другие процессы не смогут выполнить код внутри него.
По окончании работы лок освобождается (или снимается автоматически по таймауту, если процесс «упал»).
🛠 Где применять
🔄 Обновление стока в интернет-магазине: гарантировать, что количество товара не «улетит» в минус при одновременных заказах.
💳 Финансовые транзакции: исключить двойное списание при параллельных платежах.
⚡️ Почему это удобно
Работает с Redis, Memcached и другими драйверами.
Таймаут защищает от «вечных» блокировок.
Минимальная нагрузка, но максимум безопасности для критичных операций.
👉 Если у вас распределённые воркеры или несколько серверов, используйте Cache::lock() для критичных секций кода. Это простой способ сохранить целостность данных и избавиться от коварных багов конкурентности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2