PRO курс

PHP: Последовательности

17 сообщений в сообществе 31 учащихся

Продолжение изучения составных данных на более продвинутом уровне. Рассматриваем тип данных «список». В течение курса работаем над проектом «Генератор HTML», и на практике учимся понимать и использовать функции высшего порядка filter, map и reduce. Знакомимся с иерархическими структурами и уровневым проектированием.

Чему вы научитесь:

  • Строить сложные структуры данных на базе более простых
  • Проектировать функции так чтобы их можно было легко соединять друг с другом
  • Обрабатывать коллекции представленные списками с помощью функций высшего порядка (map/filter/reduce)
  • Разделять код на уровни выстраивая правильное взаимодействие между слоями
функции высшего порядка стандартные интерфейсы уровневое проектирование
Последнее обновление: 15 сентября 2020

Уроки курса

  • 1

    Введение

    Познакомиться с курсом и проектом «Генератор HTML», который будет постепенно разрабатываться в течение всего курса.
  • 2

    Представление последовательностей

    Вспомнить пары (pairs) и рассмотреть представление списков с помощью пар.

    тесты

    упражнение

  • 3

    Разметка

    Начать разрабатывать библиотеку для работы с HTML. Познакомиться с Markdown. Изучить общие принципы языков разметки на примере HTML.

    тесты

    упражнение

  • 4

    Отображение списков

    Рассмотреть функцию map и способ отображения списков.

    тесты

    упражнение

  • 5

    Фильтрация списков

    Изучить новую очень важную операцию — фильтрацию. Рассмотреть функцию filter, которая является одной из трех главных функций высшего порядка в функциональном программировании. Понять, как реализована функция filter внутри, и как она помогает писать хороший декларативный код на примере функции удаления тегов.

    тесты

    упражнение

  • 6

    Свертка

    Рассмотреть третий «столп» функционального программирования — функцию reduce. Понять, как она может помочь нам при создании обработчика HTML.

    тесты

    упражнение

  • 7

    Стандартные интерфейсы

    Понять, какие преимущества дает хорошая абстракция, и как писать код таким образом, чтобы его было легче комбинировать впоследствии. Рассмотреть примеры построения сложных конструкций с помощью простых базовых элементов. Вникнуть в идею стандартных интерфейсов.

    тесты

    упражнение

  • 8

    Иерархические структуры

    Перейти к построению иерархических структур с помощью пар.

    тесты

    упражнение

  • 9

    Уровневое проектирование

    Изучить подход «уровневого проектирования», примером которого является наша реализация библиотеки для работы с HTML.

    тесты

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки.

Автор

Аватар пользователя Kirill Mokevnin

Кирилл Мокевнин

Сооснователь и CEO образовательного проекта Хекслет. Программирую с 2007 года. За это время прошёл путь от разработчика до технического директора и управляющего отдельным подразделением (филиалом). Управлял командами, в которых больше 50 разработчиков.

  • Программирую на языках: Elixir, Clojure, JavaScript, PHP, Ruby.
  • Соорганизатор конференции Nastachku.ru.
  • Вимер.
  • Топлю за DevOps и автоматизированные тесты.
Курс PHP: Последовательности
продолжительность
11 часов
награда
76 баллов