Продолжение изучения составных данных на более продвинутом уровне. Рассматриваем тип данных «список». В течение курса работаем над проектом «Генератор HTML», и на практике учимся понимать и использовать функции высшего порядка filter, map и reduce. Знакомимся с иерархическими структурами и уровневым проектированием.
Чему вы научитесь:
- Строить сложные структуры данных на базе более простых
- Проектировать функции так чтобы их можно было легко соединять друг с другом
- Обрабатывать коллекции представленные списками с помощью функций высшего порядка (map/filter/reduce)
- Разделять код на уровни выстраивая правильное взаимодействие между слоями
Уроки курса
-
2
Представление последовательностей
Вспомнить пары (pairs) и рассмотреть представление списков с помощью пар. -
5
Фильтрация списков
Изучить новую очень важную операцию — фильтрацию. Рассмотреть функцию filter, которая является одной из трех главных функций высшего порядка в функциональном программировании. Понять, как реализована функция filter внутри, и как она помогает писать хороший декларативный код на примере функции удаления тегов. -
7
Стандартные интерфейсы
Понять, какие преимущества дает хорошая абстракция, и как писать код таким образом, чтобы его было легче комбинировать впоследствии. Рассмотреть примеры построения сложных конструкций с помощью простых базовых элементов. Вникнуть в идею стандартных интерфейсов. -
8
Иерархические структуры
Перейти к построению иерархических структур с помощью пар. -
9
Уровневое проектирование
Изучить подход «уровневого проектирования», примером которого является наша реализация библиотеки для работы с HTML.тесты
Испытания
Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки.
# | Задание | % завершений |
---|---|---|
1 | Уникальное объединение | 81% |
2 | Выбор по селектору | 80% |
3 | Задача про ферзей | 88% |
4 | Молния | 90% |
5 | Периметр многоугольника | 90% |
6 | Первые n элементов | 90% |
7 | Выравнивание | 83% |
8 | Быстрая сортировка | 88% |
9 | Одинаковая четность | 90% |
10 | Списки на базе строк | 88% |
Автор
Сооснователь и CEO образовательного проекта Хекслет. Программирую с 2007 года. За это время прошёл путь от разработчика до технического директора и управляющего отдельным подразделением (филиалом). Управлял командами, в которых больше 50 разработчиков.
- Программирую на языках: Elixir, Clojure, JavaScript, PHP, Ruby.
- Соорганизатор конференции Nastachku.ru.
- Вимер.
- Топлю за DevOps и автоматизированные тесты.