06 | PHP — Генераторы: yield, корутины и обработка больших данных
MediaTen – digital-агентство | Приводим в порядок код и мысли
Короткий практический разбор генераторов в PHP: как работает yield, почему генераторы экономят память, примеры чтения больших файлов, пакетная обработка и использование сопрограмм (корутин). Показываем реальный кейс: генерация паролей и обработка миллионов записей без OOM. Ставьте лайк, подписывайтесь и включайте уведомления — разберём ваши задачи в следующих выпусках. Таймкоды: 00:00:04 — Введение в генераторы 00:00:46 — Принцип работы генераторов 00:01:42 — Сравнение с массивами 00:03:11 — Ключевое слово `yield` 00:03:58 — История и применение (с PHP 5.5) 00:04:57 — Пример использования генератора 00:05:55 — Методы итератора (next и пр.) 00:06:29 — Преимущества: экономия памяти 00:08:17 — Ограничения массивов и пределы 00:11:22 — Пример: чтение большого CSV файла 00:11:52 — Обработка данных по одной строке 00:12:49 — Генерация паролей для миллионов пользователей 00:13:44 — Обработка данных пачками (batch handler) 00:14:57 — Запуск обработки и офсеты 00:16:01 — Регулировка размера пачки 00:17:01 — Сопрограммы и корутины (send/recv) 00:20:19 — Применение генераторов в продуктиве 00:21:41 — Домашнее задание на оптимизацию 00:23:22 — Обсуждение кейсов 00:24:36 — Домашняя работа и отправка в чат 00:25:32 — Завершение и CTA #Performance