Библиотека задач по PHP | тесты, код, задания
Ir al canal en Telegram
Задачи и тесты по PHP для тренировки и обучения. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/47bd42b4 Для обратной связи: @proglibrary_feeedback_bot
Mostrar más2 362
Suscriptores
+124 horas
-47 días
-2230 días
Archivo de publicaciones
Письмо ушло, но воркер упал до того как пометил job выполненной. Job запустилась повторно, что получит пользователь?
Модель User с soft delete. В БД уникальный индекс на email. Пользователь удалил аккаунт и регистрируется заново с тем же email:
Какой тип базы данных лучше всего подходит для хранения сложных связей между данными?
💬 Обратная связь
Проверяем динамику роста комьюнити :)
Ваш текущий грейд:
🔥 — Senior
👍🏼 — Middle
❤️ — Junior
😁 — Ещё учусь
Какая аномалия возникает, когда транзакция читает данные, которые были изменены другой транзакцией, но изменения ещё не зафиксированы?
Осталось всего 4 места на курс по ИИ-агентам. 30 апреля закрываем набор окончательно.
В ГС честно рассказали:
— Кому курс не подойдет;
— Какой хардкор в программе (LangGraph, AutoGen, CrewAI);
— Как мы даем токены, чтобы вы не тратили свои деньги.
🏃♀️ Записаться, пока есть места
Какой возникает риск при примой загрузке сущности по ID
🏃♀️ Как провести вечер вторника с пользой для карьеры?
Включайте кружок там личное приглашение от спикера. 👆
Уже завтра в прямом эфире, разбираем архитектуру контекста в мультиагентных системах.
🤫 Секретный лут:
промик на 5.000₽. Он достанется только тем, кто придет на прямой эфир.
👉 Регистрируйтесь на трансляцию
В чём разница между Blue-Green deployment и Canary deployment?
Транзакция читает строку дважды в рамках одной транзакции и получает разные результаты, хотя сама строку не меняла. Какой это феномен и на каком уровне изоляции он устраняется?
Команда git cherry-pick A..B выбирает коммиты:
Что происходит при выполнении git commit --amend с точки зрения объектной модели Git?
❓ Что такое Lazy Collections в Laravel?
Обычная Collection загружает всё в память сразу. При работе с большими объёмами данных — это проблема.
// ❌ Загрузит ВСЕ записи в память
$users = User::all()->filter(...)->map(...);
// ✅ Lazy Collection — обрабатывает по одной записи через генератор
User::cursor()->filter(function (User $user) {
return $user->is_active;
})->each(function (User $user) {
ProcessUser::dispatch($user);
});
cursor() использует PDO fetchRow под капотом — в памяти одновременно одна запись.
Lazy Collection из файла:
// Обработка огромного CSV без OutOfMemoryError
$collection = LazyCollection::make(function () {
$handle = fopen('huge_file.csv', 'r');
while ($row = fgetcsv($handle)) {
yield $row;
}
});
$collection->skip(1)->chunk(100)->each(function ($rows) {
ImportBatch::dispatch($rows->toArray());
});
Когда использовать
— 10k+ записей в обработке → cursor() + LazyCollection
— Файлы, стримы, внешние API с пагинацией → LazyCollection с генератором
Важно: методы типа count() и last() материализуют коллекцию. Их лучше избегать в lazy-контексте.Что произойдёт, если два воркера вызовут deductBalance(1, 100) одновременно при балансе пользователя 150?
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
