Forwarded from Библиотека задач по PHP | тесты, код, задания
Вызов какой из этих функций значительно увеличит объем используемой памяти (представьте, что мы измеряем пиковое использование памяти до и после вызова функции)?
Forwarded from Библиотека задач по PHP | тесты, код, задания
Вызов какой из этих функций значительно увеличит объем используемой памяти (представьте, что мы измеряем пиковое использование памяти до и после вызова функции)?
Anonymous Quiz
10%
`unset_first` и `add_new`
26%
`add_new`
14%
`get_count` и `unset_first`
27%
`unset_first`
9%
Всех
14%
Никакой
😁3🤔2
⌨️ Топ-вакансий по 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
позволяет вам сделать именно этоБиблиотека пхпшника #буст
🥱3
😡 А вас тоже бесят облачные сервисы?
Согласитесь, статус отношений с облаками — все сложно. Но что, если можно изменить правила игры?
Мы готовим нечто особенное в мире облачных технологий, но сначала хотим услышать правду от тех, кто реально работает с облаками каждый день.
❓Что мы хотим узнать:
— Для чего вы реально используете облако?
— Чего катастрофически не хватает прямо сейчас?
— Что бесит больше всего? (можно материться)
— Как выбираете провайдера — по цене или по любви?
— и тому подобное
По результатам опроса мы подготовим исследование без маркетингового мусора и вы узнаете, как обстоят дела у коллег.
⚡️Время на опрос: меньше, чем на кофе-брейк. Жмите → https://clc.to/nboYDA
Согласитесь, статус отношений с облаками — все сложно. Но что, если можно изменить правила игры?
Мы готовим нечто особенное в мире облачных технологий, но сначала хотим услышать правду от тех, кто реально работает с облаками каждый день.
❓Что мы хотим узнать:
— Для чего вы реально используете облако?
— Чего катастрофически не хватает прямо сейчас?
— Что бесит больше всего? (можно материться)
— Как выбираете провайдера — по цене или по любви?
— и тому подобное
По результатам опроса мы подготовим исследование без маркетингового мусора и вы узнаете, как обстоят дела у коллег.
⚡️Время на опрос: меньше, чем на кофе-брейк. Жмите → https://clc.to/nboYDA
🚀 Как оптимизировать Laravel-приложение: практические советы
Когда приложение растёт или работает с большими объёмами данных, оптимизация — не просто желание, а необходимость. Laravel — мощный фреймворк, который при грамотном подходе может выдавать высокую производительность.
Разбираем ключевые техники:
1️⃣ Оптимизация запросов к базе
Eager Loading: избегайте проблемы N+1 запросов, загружая связи заранее через
Выбирайте только нужные колонки с помощью
Обрабатывайте большие наборы данных по частям через
Используйте
2️⃣ Кэширование
Кэшируйте дорогостоящие запросы через
Используйте кэш конфигураций и шаблонов (
Рассмотрите пакеты типа
3️⃣ Ограничение запросов (Rate Limiting)
Защищайте API от перегрузок, используя встроенный middleware
4️⃣ Индексация базы данных
Правильные индексы — основа производительности SQL-запросов. Laravel миграции позволяют легко добавлять индексы: уникальные, обычные, полнотекстовые.
5️⃣ Советы по Eloquent
Не загружайте лишние связи, используйте
Для получения одного столбца вместо
Для тяжёлой логики используйте сырые запросы через
6️⃣ Очереди и фоновая обработка
Перенесите тяжёлые задачи (отправка писем, интеграции, экспорты) в очереди с помощью Laravel Queues и обработчиков (Redis + Supervisor или Laravel Octane).
👉 Читать статью
Когда приложение растёт или работает с большими объёмами данных, оптимизация — не просто желание, а необходимость. Laravel — мощный фреймворк, который при грамотном подходе может выдавать высокую производительность.
Разбираем ключевые техники:
1️⃣ Оптимизация запросов к базе
Eager Loading: избегайте проблемы 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
👍2❤1
✏️ Промпт для пет-проектов
Составили для вас промпт, который поможет определится с пет-проектом на основе трёх слов, которые первыми придут к вам в голову.
Промпт:
💬 Попробуйте сгенерировать пет-проект по промпту и поделитесь в комментариях, что подкинет вам нейросеть👇
Библиотека пхпшника #буст
Составили для вас промпт, который поможет определится с пет-проектом на основе трёх слов, которые первыми придут к вам в голову.
Промпт:
You are a seasoned Open-Source Developer, known for your creativity and ability to build impactful projects. Your goal is to generate a compelling pet project idea based on three randomly provided words. You will then outline the project's core functionality, potential technologies to use, and its potential impact on the open-source community.
Here is the format you will use to reason through the problem and come up with a fantastic recommendation:
---
## Random Words
$word_1, $word_2, $word_3
## Pet Project Idea
$project_idea_name
### Project Description
$project_description (A brief overview of the project and its purpose)
### Core Functionality
* $functionality_1
* $functionality_2
* $functionality_3
(List the key features and functionalities of the project)
### Potential Technologies
* $technology_1
* $technology_2
* $technology_3
(List potential programming languages, frameworks, libraries, and tools that could be used)
### Potential Impact
$impact_description (Explain how this project could benefit the open-source community or solve a specific problem)
---
Here is the challenge you are tasked with: Generate a pet project idea based on the following three words: [**Word 1, Word 2, Word 3**]
💬 Попробуйте сгенерировать пет-проект по промпту и поделитесь в комментариях, что подкинет вам нейросеть👇
Библиотека пхпшника #буст
😁9🥱3❤1
🧠 Вопросы подписчиков: как вы парсите сложные лог-файлы?
Один разработчик поделился своей болью:
✔️ А вы с таким сталкивались?
✔️ Как парсите большие и сложные логи на PHP?
✔️ Что делаете, если формат логов меняется?
Есть ли библиотеки или приёмы, которые помогли вам?
💬 Делитесь опытом в комментариях — интересно, как вы решаете такие задачи!
Библиотека пхпшника #междусобойчик
Один разработчик поделился своей болью:
«Часто приходится извлекать конкретные данные из огромных логов — десятки тысяч строк. Простая проверка, начинается ли строка с определённого шаблона, не работает.
Использую сложные регулярные выражения, особенно когда нужно вытащить глубоко вложенные структуры.
Периодически формат логов меняется, и приходится переписывать regex заново. А из-за конфиденциальности данных сторонние инструменты использовать нельзя.»
✔️ А вы с таким сталкивались?
✔️ Как парсите большие и сложные логи на PHP?
✔️ Что делаете, если формат логов меняется?
Есть ли библиотеки или приёмы, которые помогли вам?
💬 Делитесь опытом в комментариях — интересно, как вы решаете такие задачи!
Библиотека пхпшника #междусобойчик
Хотите писать код быстрее и кайфовать от процесса? Вот подборка горячих клавиш, которые реально облегчают жизнь:
🔥 Отладка
🔹 F5 — запустите отладку приложения.
🔹 Ctrl + F5 — запустите приложение без отладки.
🔹 F9 — установите точку останова на текущей строке.
🔹 F10 — шаг с заходом (Step Over) через строку.
🔹 F11 — шаг в код (Step Into) для более глубокого анализа.
💬 Какие горячие клавиши вы используете для отладки? Есть ли у вас свои проверенные приёмы для быстрого поиска багов? Напишите в комментариях👇
Библиотека пхпшника #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👾1
🌧️ Облачная терапия: время выговориться!
Знакомая ситуация? Покупаете облако как BMW, а получаете телегу с квадратными колесами. Обещают 99.9% uptime, а сервер падает на релизе. Техподдержка отвечает через сутки фразой «попробуйте перезагрузить».
Пора узнать, как обстоят дела с облаками на самом деле. Поэтому мы собираем ваши реальные истории про облачные сервисы.
🤫 О чем спросим:
— Зачем вам вообще это облако нужно
— Какие косяки достали до печенок
— Сколько денег утекает в никуда ежемесячно
— Что должно случиться, чтобы вы сменили провайдера
— И еще пару каверзных вопросов
⏱️ 2 минуты честности = большое исследование без воды → https://clc.to/nboYDA
Знакомая ситуация? Покупаете облако как BMW, а получаете телегу с квадратными колесами. Обещают 99.9% uptime, а сервер падает на релизе. Техподдержка отвечает через сутки фразой «попробуйте перезагрузить».
Пора узнать, как обстоят дела с облаками на самом деле. Поэтому мы собираем ваши реальные истории про облачные сервисы.
🤫 О чем спросим:
— Зачем вам вообще это облако нужно
— Какие косяки достали до печенок
— Сколько денег утекает в никуда ежемесячно
— Что должно случиться, чтобы вы сменили провайдера
— И еще пару каверзных вопросов
⏱️ 2 минуты честности = большое исследование без воды → https://clc.to/nboYDA
📌 Совет по Laravel: Убираем повторяющийся код с помощью фильтров
При работе с фильтрацией или поиском в Laravel часто приходится повторять одни и те же условия в разных частях приложения. Это приводит к загромождённым запросам, дублирующемуся коду и проблемам с поддержкой.
Решение:
Используй
Почему это круто?
Чистый код: меньше дублирования и путаницы.
Централизованная логика: изменения фильтров нужно вносить только в одном месте.
Переиспользуемость: фильтр можно применять в разных частях приложения, будь то поиск, рекомендации или отчёты.
Масштабируемость: с ростом приложения фильтры становятся легче поддерживаемыми.
🔗 Примеры использования в статье
При работе с фильтрацией или поиском в Laravel часто приходится повторять одни и те же условия в разных частях приложения. Это приводит к загромождённым запросам, дублирующемуся коду и проблемам с поддержкой.
Решение:
Используй
tap()
для создания переиспользуемых фильтров. Создаём один класс фильтра и применяем его в нужных местах, избавляясь от повторов.Почему это круто?
Чистый код: меньше дублирования и путаницы.
Централизованная логика: изменения фильтров нужно вносить только в одном месте.
Переиспользуемость: фильтр можно применять в разных частях приложения, будь то поиск, рекомендации или отчёты.
Масштабируемость: с ростом приложения фильтры становятся легче поддерживаемыми.
🔗 Примеры использования в статье
👍6
😱 Завтра цена на курс «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
🌚5❤2
💻 Подборка новостей по 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.
Библиотека пхпшника #свежак
❤2
Forwarded from Библиотека задач по PHP | тесты, код, задания
Какая функция НЕ считывает данные из файла?
Anonymous Quiz
4%
file_get_contents()
4%
fread()
39%
file()
30%
readline()
8%
readfile()
16%
fgets()
🥱1
⌨️ Топ-вакансий по 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
🥱5❤1
Проблема: необходимо распределить трафик между несколькими 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
👍5
🚀 Как писать чистый код на PHP: практическое руководство
Чистый код — это не просто красиво оформленные строки текста, а важный инструмент для упрощения разработки, поддержания и масштабирования проектов. В этой статье мы расскажем, как придерживаться лучших практик при написании кода на PHP, чтобы ваш код стал более читаемым, удобным для поддержки и безопасным.
💡 Почему это важно?
Чистый код упрощает разработку и минимизирует количество багов.
Он облегчает работу в команде и позволяет быстрее адаптировать код под изменяющиеся требования.
Помогает улучшить производительность, особенно в крупных и долгосрочных проектах.
🔧 Основные принципы чистого кода в PHP:
🔸 PSR-12 и стандарты индустрии: Следование этим стандартам улучшает совместимость кода и облегчает командную работу.
🔸 Четкие и последовательные наименования: Используйте говорящие имена для классов, функций и переменных.
🔸 Использование модификаторов доступа: Применяйте
🔸 Короткие функции и методы: Функции должны выполнять одну задачу и делать это хорошо.
🔸 Комментарии и DocBlocks: Используйте комментарии и PHPDoc для лучшего понимания кода.
🔸 SOLID принципы: Применяйте объектно-ориентированные принципы для упрощения расширяемости и поддерживаемости кода.
🔗 Читайте полностью на Medium
Чистый код — это не просто красиво оформленные строки текста, а важный инструмент для упрощения разработки, поддержания и масштабирования проектов. В этой статье мы расскажем, как придерживаться лучших практик при написании кода на PHP, чтобы ваш код стал более читаемым, удобным для поддержки и безопасным.
💡 Почему это важно?
Чистый код упрощает разработку и минимизирует количество багов.
Он облегчает работу в команде и позволяет быстрее адаптировать код под изменяющиеся требования.
Помогает улучшить производительность, особенно в крупных и долгосрочных проектах.
🔧 Основные принципы чистого кода в PHP:
🔸 PSR-12 и стандарты индустрии: Следование этим стандартам улучшает совместимость кода и облегчает командную работу.
🔸 Четкие и последовательные наименования: Используйте говорящие имена для классов, функций и переменных.
🔸 Использование модификаторов доступа: Применяйте
public
, private
, protected
в зависимости от потребностей.🔸 Короткие функции и методы: Функции должны выполнять одну задачу и делать это хорошо.
🔸 Комментарии и DocBlocks: Используйте комментарии и PHPDoc для лучшего понимания кода.
🔸 SOLID принципы: Применяйте объектно-ориентированные принципы для упрощения расширяемости и поддерживаемости кода.
🔗 Читайте полностью на Medium
🥱3❤1