Forwarded from Библиотека задач по PHP | тесты, код, задания
Вызов какой из этих функций значительно увеличит объем используемой памяти (представьте, что мы измеряем пиковое использование памяти до и после вызова функции)?
Anonymous Quiz
10%
`unset_first` и `add_new`
26%
`add_new`
14%
`get_count` и `unset_first`
28%
`unset_first`
9%
Всех
14%
Никакой
⌨️ Топ-вакансий по PHP за неделю
PHP/Go разработчик — от 220 000 до 450 000 ₽ удалёнка (Москва)
Java/PHP-разработчик (Кинопоиск) — от 300 000 ₽, Гибрид (Москва, Санкт-Петербург)
Backend-разработчик (PHP) — от 250 000 до 270 000₽, Гибрид (Санкт-Петербург)
➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
PHP/Go разработчик — от 220 000 до 450 000 ₽ удалёнка (Москва)
Java/PHP-разработчик (Кинопоиск) — от 300 000 ₽, Гибрид (Москва, Санкт-Петербург)
Backend-разработчик (PHP) — от 250 000 до 270 000₽, Гибрид (Санкт-Петербург)
➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
⬆️ Мониторинг неудачных заданий
Вам когда-нибудь нужно было следить за неудачными заданиями и получать уведомления, когда это происходит? Метод
Библиотека пхпшника #буст
Вам когда-нибудь нужно было следить за неудачными заданиями и получать уведомления, когда это происходит? Метод
failing
позволяет вам сделать именно этоБиблиотека пхпшника #буст
😡 А вас тоже бесят облачные сервисы?
Согласитесь, статус отношений с облаками — все сложно. Но что, если можно изменить правила игры?
Мы готовим нечто особенное в мире облачных технологий, но сначала хотим услышать правду от тех, кто реально работает с облаками каждый день.
❓Что мы хотим узнать:
— Для чего вы реально используете облако?
— Чего катастрофически не хватает прямо сейчас?
— Что бесит больше всего? (можно материться)
— Как выбираете провайдера — по цене или по любви?
— и тому подобное
По результатам опроса мы подготовим исследование без маркетингового мусора и вы узнаете, как обстоят дела у коллег.
⚡️Время на опрос: меньше, чем на кофе-брейк. Жмите → https://clc.to/nboYDA
Согласитесь, статус отношений с облаками — все сложно. Но что, если можно изменить правила игры?
Мы готовим нечто особенное в мире облачных технологий, но сначала хотим услышать правду от тех, кто реально работает с облаками каждый день.
❓Что мы хотим узнать:
— Для чего вы реально используете облако?
— Чего катастрофически не хватает прямо сейчас?
— Что бесит больше всего? (можно материться)
— Как выбираете провайдера — по цене или по любви?
— и тому подобное
По результатам опроса мы подготовим исследование без маркетингового мусора и вы узнаете, как обстоят дела у коллег.
⚡️Время на опрос: меньше, чем на кофе-брейк. Жмите → https://clc.to/nboYDA
🚀 Как оптимизировать Laravel-приложение: практические советы
Когда приложение растёт или работает с большими объёмами данных, оптимизация — не просто желание, а необходимость. Laravel — мощный фреймворк, который при грамотном подходе может выдавать высокую производительность.
Разбираем ключевые техники:
1️⃣ Оптимизация запросов к базе
Eager Click Me Load More: избегайте проблемы N+1 запросов, загружая связи заранее через
Выбирайте только нужные колонки с помощью
Обрабатывайте большие наборы данных по частям через
Используйте
2️⃣ Кэширование
Кэшируйте дорогостоящие запросы через
Используйте кэш конфигураций и шаблонов (
Рассмотрите пакеты типа
3️⃣ Ограничение запросов (Rate Limiting)
Защищайте API от перегрузок, используя встроенный middleware
4️⃣ Индексация базы данных
Правильные индексы — основа производительности SQL-запросов. Laravel миграции позволяют легко добавлять индексы: уникальные, обычные, полнотекстовые.
5️⃣ Советы по Eloquent
Не загружайте лишние связи, используйте
Для получения одного столбца вместо
Для тяжёлой логики используйте сырые запросы через
6️⃣ Очереди и фоновая обработка
Перенесите тяжёлые задачи (отправка писем, интеграции, экспорты) в очереди с помощью Laravel Queues и обработчиков (Redis + Supervisor или Laravel Octane).
👉 Читать статью
Когда приложение растёт или работает с большими объёмами данных, оптимизация — не просто желание, а необходимость. Laravel — мощный фреймворк, который при грамотном подходе может выдавать высокую производительность.
Разбираем ключевые техники:
1️⃣ Оптимизация запросов к базе
Eager Click Me Load More: избегайте проблемы N+1 запросов, загружая связи заранее через
with()
.Выбирайте только нужные колонки с помощью
select()
для уменьшения объёма передаваемых данных.Обрабатывайте большие наборы данных по частям через
chunkById()
— так снижается нагрузка на память.Используйте
toBase()
, если нужна простая выборка без моделей и лишних данных (без отношений и событий).2️⃣ Кэширование
Кэшируйте дорогостоящие запросы через
Cache::remember()
.Используйте кэш конфигураций и шаблонов (
config:cache
, view:cache
) для ускорения загрузки.Рассмотрите пакеты типа
spatie/laravel-responsecache
для кэширования ответов.3️⃣ Ограничение запросов (Rate Limiting)
Защищайте API от перегрузок, используя встроенный middleware
RateLimiter
. Можно настроить правила по IP, пользователям и ролям.4️⃣ Индексация базы данных
Правильные индексы — основа производительности SQL-запросов. Laravel миграции позволяют легко добавлять индексы: уникальные, обычные, полнотекстовые.
5️⃣ Советы по Eloquent
Не загружайте лишние связи, используйте
withOnly()
(Laravel 11).Для получения одного столбца вместо
get()
применяйте pluck()
.Для тяжёлой логики используйте сырые запросы через
DB::select()
.6️⃣ Очереди и фоновая обработка
Перенесите тяжёлые задачи (отправка писем, интеграции, экспорты) в очереди с помощью Laravel Queues и обработчиков (Redis + Supervisor или Laravel Octane).
👉 Читать статью
Проблема: при работе с несколькими ветками в Git история коммитов может становиться запутанной из-за частых слияний, что усложняет анализ изменений.
Решение: в книге "Mastering Git" автор показывает использование команды git rebase, которая позволяет линейно интегрировать изменения из одной ветки в другую, сохраняя историю чистой и понятной.
Пример кода:
# Переключаемся на ветку feature
git checkout feature
# Выполняем rebase на master
git rebase master
# Если возникают конфликты, разрешаем их и продолжаем rebase
git add <исправленные файлы>
git rebase --continue
# Переключаемся на master и сливаем изменения
git checkout master
git merge feature --ff-only
Преимущества:
— Чистая и линейная история изменений.
— Упрощение процесса ревью кода.
— Лёгкость в отслеживании изменений.
Еще больше полезных книг — в нашем канале @progbook
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Хотите писать код быстрее и кайфовать от процесса? Вот подборка горячих клавиш, которые реально облегчают жизнь:
🔥 Отладка
🔹 F5 — запустите отладку приложения.
🔹 Ctrl + F5 — запустите приложение без отладки.
🔹 F9 — установите точку останова на текущей строке.
🔹 F10 — шаг с заходом (Step Over) через строку.
🔹 F11 — шаг в код (Step Into) для более глубокого анализа.
💬 Какие горячие клавиши вы используете для отладки? Есть ли у вас свои проверенные приёмы для быстрого поиска багов? Напишите в комментариях👇
Библиотека пхпшника #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🌧️ Облачная терапия: время выговориться!
Знакомая ситуация? Покупаете облако как BMW, а получаете телегу с квадратными колесами. Обещают 99.9% uptime, а сервер падает на релизе. Техподдержка отвечает через сутки фразой «попробуйте перезагрузить».
Пора узнать, как обстоят дела с облаками на самом деле. Поэтому мы собираем ваши реальные истории про облачные сервисы.
🤫 О чем спросим:
— Зачем вам вообще это облако нужно
— Какие косяки достали до печенок
— Сколько денег утекает в никуда ежемесячно
— Что должно случиться, чтобы вы сменили провайдера
— И еще пару каверзных вопросов
⏱️ 2 минуты честности = большое исследование без воды → https://clc.to/nboYDA
Знакомая ситуация? Покупаете облако как BMW, а получаете телегу с квадратными колесами. Обещают 99.9% uptime, а сервер падает на релизе. Техподдержка отвечает через сутки фразой «попробуйте перезагрузить».
Пора узнать, как обстоят дела с облаками на самом деле. Поэтому мы собираем ваши реальные истории про облачные сервисы.
🤫 О чем спросим:
— Зачем вам вообще это облако нужно
— Какие косяки достали до печенок
— Сколько денег утекает в никуда ежемесячно
— Что должно случиться, чтобы вы сменили провайдера
— И еще пару каверзных вопросов
⏱️ 2 минуты честности = большое исследование без воды → https://clc.to/nboYDA
📌 Совет по Laravel: Убираем повторяющийся код с помощью фильтров
При работе с фильтрацией или поиском в Laravel часто приходится повторять одни и те же условия в разных частях приложения. Это приводит к загромождённым запросам, дублирующемуся коду и проблемам с поддержкой.
Решение:
Используй
Почему это круто?
Чистый код: меньше дублирования и путаницы.
Централизованная логика: изменения фильтров нужно вносить только в одном месте.
Переиспользуемость: фильтр можно применять в разных частях приложения, будь то поиск, рекомендации или отчёты.
Масштабируемость: с ростом приложения фильтры становятся легче поддерживаемыми.
🔗 Примеры использования в статье
При работе с фильтрацией или поиском в Laravel часто приходится повторять одни и те же условия в разных частях приложения. Это приводит к загромождённым запросам, дублирующемуся коду и проблемам с поддержкой.
Решение:
Используй
tap()
для создания переиспользуемых фильтров. Создаём один класс фильтра и применяем его в нужных местах, избавляясь от повторов.Почему это круто?
Чистый код: меньше дублирования и путаницы.
Централизованная логика: изменения фильтров нужно вносить только в одном месте.
Переиспользуемость: фильтр можно применять в разных частях приложения, будь то поиск, рекомендации или отчёты.
Масштабируемость: с ростом приложения фильтры становятся легче поддерживаемыми.
🔗 Примеры использования в статье
😱 Завтра цена на курс «AI-агенты для DS» вырастет
Пока вы думаете — другие уже покупают. Что вы теряете, откладывая решение? Как минимум — 10 000 рублей, именно столько вы переплатите завтра. Как максимум — шанс войти в топ-1% дата-сайентистов, которые умеют строить AI-агенты.
🎓 Чему вы научитесь на курсе:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой
Решение за вами.
👉 Купить курс по старой цене
Пока вы думаете — другие уже покупают. Что вы теряете, откладывая решение? Как минимум — 10 000 рублей, именно столько вы переплатите завтра. Как максимум — шанс войти в топ-1% дата-сайентистов, которые умеют строить AI-агенты.
🎓 Чему вы научитесь на курсе:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой
Решение за вами.
👉 Купить курс по старой цене
proglib.academy
Курс|AI-агенты для DS-специалистов
На курсе ты разберёшься, как работают AI-агенты и как их применять в работе — от текстовых помощников до систем, помогающих принимать решения. Разберем архитектуру агентов, связку с внешними API, пайплайны действий и популярные библиотеки. Курс включает реальные…
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Подборка новостей по PHP за неделю:
🔹 Laravel 12.17 — добавлен каст
🔹 PHP 8.3.22 и 8.4.8 — багфикс-релизы с улучшениями стабильности. Всем пользователям рекомендовано обновиться.
🔹 2-8 июня 2025 года — Неделя Symfony #962 — активная разработка Symfony 7.4 и 8.0: начинается депрекация устаревших функций. Также опубликован кейс по использованию Symfony в Yousign и идёт подготовка к SymfonyOnline 2025.
🔹 30 лет PHP — в честь юбилея проект FrankenPHP (сервер на базе Caddy) официально стал частью PHP-организации на GitHub.
Библиотека пхпшника #свежак
🔹 Laravel 12.17 — добавлен каст
AsUri
для автоматического приведения атрибутов модели к URI-объектам, а также привязка сервисов к контейнеру через PHP-атрибуты.🔹 PHP 8.3.22 и 8.4.8 — багфикс-релизы с улучшениями стабильности. Всем пользователям рекомендовано обновиться.
🔹 2-8 июня 2025 года — Неделя Symfony #962 — активная разработка Symfony 7.4 и 8.0: начинается депрекация устаревших функций. Также опубликован кейс по использованию Symfony в Yousign и идёт подготовка к SymfonyOnline 2025.
🔹 30 лет PHP — в честь юбилея проект FrankenPHP (сервер на базе Caddy) официально стал частью PHP-организации на GitHub.
Библиотека пхпшника #свежак
Forwarded from Библиотека задач по PHP | тесты, код, задания
Какая функция НЕ считывает данные из файла?
Anonymous Quiz
4%
file_get_contents()
4%
fread()
39%
file()
30%
readline()
8%
readfile()
15%
fgets()
⌨️ Топ-вакансий по PHP за неделю
Backend Developer — от 295 000 до 380 000 ₽ удалёнка (Москва)
Senior PHP Engineer — от 300 000 ₽, Удалёнка (Москва)
Middle PHP Developer — от 200 000 ₽, Удалёнка (Москва)
Fullstack PHP разработчик — от 100 000 р., Удалёнка
➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
Backend Developer — от 295 000 до 380 000 ₽ удалёнка (Москва)
Senior PHP Engineer — от 300 000 ₽, Удалёнка (Москва)
Middle PHP Developer — от 200 000 ₽, Удалёнка (Москва)
Fullstack PHP разработчик — от 100 000 р., Удалёнка
➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
Проблема: необходимо распределить трафик между несколькими TCP-серверами.
Решение: в книге "Nginx Cookbook: Advanced Recipes for High-performance Load Balancing" автор показывает использование модуля stream для балансировки нагрузки на уровне транспортного слоя.
Пример кода:
stream {
upstream mysql_read {
server read1.example.com:3306 weight=5;
server read2.example.com:3306;
server 10.10.12.34:3306 backup;
}
server {
listen 3306;
proxy_pass mysql_read;
}
}
Преимущества:
— Поддержка балансировки для TCP-сервисов.
— Гибкая настройка весов серверов.
— Резервирование серверов для повышения надёжности.
Еще больше полезных книг — в нашем канале @progbook
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Как писать чистый код на PHP: практическое руководство
Чистый код — это не просто красиво оформленные строки текста, а важный инструмент для упрощения разработки, поддержания и масштабирования проектов. В этой статье мы расскажем, как придерживаться лучших практик при написании кода на PHP, чтобы ваш код стал более читаемым, удобным для поддержки и безопасным.
💡 Почему это важно?
Чистый код упрощает разработку и минимизирует количество багов.
Он облегчает работу в команде и позволяет быстрее адаптировать код под изменяющиеся требования.
Помогает улучшить производительность, особенно в крупных и долгосрочных проектах.
🔧 Основные принципы чистого кода в PHP:
🔸 PSR-12 и стандарты индустрии: Следование этим стандартам улучшает совместимость кода и облегчает командную работу.
🔸 Четкие и последовательные наименования: Используйте говорящие имена для классов, функций и переменных.
🔸 Использование модификаторов доступа: Применяйте
🔸 Короткие функции и методы: Функции должны выполнять одну задачу и делать это хорошо.
🔸 Комментарии и DocBlocks: Используйте комментарии и PHPDoc для лучшего понимания кода.
🔸 SOLID принципы: Применяйте объектно-ориентированные принципы для упрощения расширяемости и поддерживаемости кода.
🔗 Читайте полностью на Medium
Чистый код — это не просто красиво оформленные строки текста, а важный инструмент для упрощения разработки, поддержания и масштабирования проектов. В этой статье мы расскажем, как придерживаться лучших практик при написании кода на PHP, чтобы ваш код стал более читаемым, удобным для поддержки и безопасным.
💡 Почему это важно?
Чистый код упрощает разработку и минимизирует количество багов.
Он облегчает работу в команде и позволяет быстрее адаптировать код под изменяющиеся требования.
Помогает улучшить производительность, особенно в крупных и долгосрочных проектах.
🔧 Основные принципы чистого кода в PHP:
🔸 PSR-12 и стандарты индустрии: Следование этим стандартам улучшает совместимость кода и облегчает командную работу.
🔸 Четкие и последовательные наименования: Используйте говорящие имена для классов, функций и переменных.
🔸 Использование модификаторов доступа: Применяйте
public
, private
, protected
в зависимости от потребностей.🔸 Короткие функции и методы: Функции должны выполнять одну задачу и делать это хорошо.
🔸 Комментарии и DocBlocks: Используйте комментарии и PHPDoc для лучшего понимания кода.
🔸 SOLID принципы: Применяйте объектно-ориентированные принципы для упрощения расширяемости и поддерживаемости кода.
🔗 Читайте полностью на Medium
HTML Embed Code: