PHP: выборка данных из БД и генераторы

Поделиться
HTML-код
  • Опубликовано: 19 дек 2020
  • Карта данной темы:
    1:59 - заготовка приложения
    2:45 - создание тестовой таблицы MySQL
    3:16 - готовим тестовые данные через MySQL процедуру
    5:53 - ремарка про время исполнения скрипта
    7:56 - начало практических примеров. Плохой способ.
    15:40 - улучшаем выборку. Осуществляем выборку итерациями
    20:30 - про генераторы и разделение зон ответственности кода
    28:17 - резюмируем
    Буду рад поддержке: лайк, комментарий (адекватная критика тоже приветствуется), денюжка - все мотивирует в плюс.
    www.donationalerts.com/r/andr... - кошелек.

Комментарии • 44

  • @romeocapuletti2425
    @romeocapuletti2425 Год назад +3

    Thank u, Pavel Durov, for this great lesson)

  • @andipanov
    @andipanov Год назад +3

    Наконец-то наглядный пример, после которого стало понятно как и когда можно использовать генераторы.

  • @EdwardNorthwind
    @EdwardNorthwind 2 года назад +2

    Это самое простое и понятное объяснение yield, которое я слышал/видел. У тебя прям дал объяснять, нужно идти в учителя)))

  • @zCubEz
    @zCubEz 3 года назад +6

    Отличное видео! Надеюсь в будущем больше контента будет! Самое доступное объяснения генератора )

  • @ilyayy
    @ilyayy 2 года назад +1

    Отличный урок, большое спасибо!

  • @cvkarakurt
    @cvkarakurt Год назад +2

    Отличное и интересное повествование, спасибо большое)

  • @estupidoParapente
    @estupidoParapente 3 года назад

    Какой молодец! спасибо!

  • @user-sf5te2yj8w
    @user-sf5te2yj8w 7 месяцев назад

    Отличный пример использования генераторов.

  • @user-wh9yb1rr3i
    @user-wh9yb1rr3i 2 года назад

    Благодарю за урок

  • @modestusmunh93
    @modestusmunh93 Год назад

    Хорошее видео, спасибо!

  • @user-mf3py8du3j
    @user-mf3py8du3j 11 месяцев назад

    Дякую, дуже зрозуміла, чітка та зрозуміла логіка викладання! Успіхів

  • @ihorpetrov3291
    @ihorpetrov3291 Год назад

    Не мог понять куда генераторы прилепить.. теперь все ок . спасибо

  • @TmzMr
    @TmzMr 3 года назад +1

    Спасибо, надо будет посмотреть. Очень полезные и интересные видео Вы выпускаете, еще раз спасибо

  • @user-qq9xt5my8o
    @user-qq9xt5my8o 2 года назад

    Спасибо!

  • @skylamb605
    @skylamb605 3 года назад +1

    Спасибо за видос, странно что мало кто этим пользуется.

  • @fitter2boss72
    @fitter2boss72 Год назад +1

    Понравилось видео, даже не заметил как пол часа пролетело. Жаль, что завязали с этим.

  • @user-kh9yj9sh8c
    @user-kh9yj9sh8c 3 года назад

    спасибо

  • @DrZeD13
    @DrZeD13 5 месяцев назад

    А если еще убрать офсет, то можно и скорость значительно увеличить, например, так как у нас сортировка не важна, то можно использовать where id > :lastId

  • @topalek
    @topalek 3 года назад +1

    Андрей, спасибо вам. очень интересное видео.

    • @user-wz6yb6cp7o
      @user-wz6yb6cp7o  3 года назад

      Благодарю за отзыв.

    • @topalek
      @topalek 3 года назад +1

      @@user-wz6yb6cp7o попал на ваш канал благодаря видео о вебсокете. Хотелось бы рассмотрение более прикладное применение, если можно. Возможно "мгновенные" уведомления о выполнении неких задач.

  • @alexandrskuratovich1394
    @alexandrskuratovich1394 2 года назад +3

    Ошибка с $step++; Надо прибавлять не по единичке, а по размеру страницы, т.е. Sstep +=$size;

  • @Kopatych69
    @Kopatych69 3 года назад +1

    Генераторы = Конвейерная функция. Хороший пример применения генераторов - это чтение файла функцией с передачей строки обработчику.

  • @anatoliypoliakov2290
    @anatoliypoliakov2290 2 года назад

    Видео отличное! Было бы неплохо побольше подобных уроков видеть, жаль не у всех есть на это время...

  • @Tavda
    @Tavda 4 месяца назад

    Жаль нет исходников. Хотелось бы проверить самому. Но набирать всё руками...

  • @typepeak
    @typepeak 3 года назад +1

    Привет, а есть какой-то фло, по мапингу на "кастом дто" в дбал3?

  • @QwerTy-jn4ex
    @QwerTy-jn4ex 3 года назад

    Хотелось бы больше видео по базам данных. Например подробнее о внешних ключах, индексах ...

  • @EdwVee
    @EdwVee 3 года назад +1

    А если вместо генератора просто передать анонимку? Почему нет?
    getMillionRecords($pdo, function($row){ substr($row['text'], 4);});
    В таком использовании генераторов не нравится возможность кейса, когда генератор будет не вычерпан и повиснет соединение с базой.

  • @user-fe6pi9vb6h
    @user-fe6pi9vb6h 11 месяцев назад

    Протокол называется amQP)

  • @statdotastaff6193
    @statdotastaff6193 2 года назад +1

    Можно подобное видео по ресурсам которые требуются на сокеты
    К примеру AJAX скриптик который каждые 2-3 секунды обращается к БД за апдейтом текста, и этот же текст обновляемый на сокетах

    • @user-wz6yb6cp7o
      @user-wz6yb6cp7o  2 года назад +2

      Сокеты - это снижение накладных расходов на поднятие каждый раз соединения по стеку HTTP/TCP. Протокол HTTP 2, а также заголовок keep-alive тоже позволяют переиспользовать подключение.
      Конкретно для примера обновления блока новостей - подойдет и AJAX, тем более если это не нагруженный проект. А вот если бы какие-то критично важные данные (положение игровых объектов в играх, данные котировок биржи) нужны в режиме условного real-time, то это уже вероятно сокеты.

    • @statdotastaff6193
      @statdotastaff6193 2 года назад

      @@user-wz6yb6cp7o спасибо за ответ

  • @NewUser78654
    @NewUser78654 Год назад

    2.00 return @round... интересно, можно ли весь код написать в одном методе, а не только ретерн? Думаю, что можно - нет ничего невозможного.

    • @user-wz6yb6cp7o
      @user-wz6yb6cp7o  Год назад

      Данный метод с длинным в кучу return не является примером хорошей практики при написании кода.

    • @NewUser78654
      @NewUser78654 Год назад

      @@user-wz6yb6cp7o это же функция т.к. вне класса. Хотя для PHP это не так важно, ведь у него методы это functions. Метод=функция?
      А наследование = extends т.е. расширение класса = наследование от класса? Но кого это волнует...это ООП и так сойдет, это-ж ПХП.
      Вот был бы стандарт, чтобы знать что есть хорошая практика, а что плохая. PSR? От него отказались, да и в компаниях свои стандарты.
      Есть конечно дядя Боб со своими книжками, гастролирующий по США для заработка и продажи чистого кода (с автографом 100 баксов), но есть и другие дяди и тети.
      В общем непонятно. Поэтому улыбаемся и машем...т.е. пишем код.

  • @EdwVee
    @EdwVee 3 года назад +1

    Иногда лучше выбрать сразу миллион, чтобы сократить время на написание скрипта, который запускается один раз в сутки или один раз в принципе ;) Не так уж и страшно съесть гиг или два на сервере со 128 или больше.

    • @iMarkusUS
      @iMarkusUS Год назад +2

      Все , вы приняты на работу : гениальное решение

  • @kostyan1983
    @kostyan1983 Месяц назад +1

    Мда... 30 минут смотрел ролик ради живого рабочего примера с генератором, которого в конце просто не оказалось ((

  • @iMarkusUS
    @iMarkusUS Год назад

    15 минут 1м записей ... шот многовато , для трёх полей тем более с хешами . Не могу понять почему

  • @dkushka
    @dkushka 2 года назад

    канал умер?

    • @user-wz6yb6cp7o
      @user-wz6yb6cp7o  2 года назад

      Все как-то времени нет. Не исключаю продолжение в этом году, по ситуации.

    • @dkushka
      @dkushka 2 года назад

      @@user-wz6yb6cp7o Спасибо за ответ 👍

  • @andreydmitriyev4582
    @andreydmitriyev4582 2 года назад

    Спасибо!