курс

JS: Составные данные

6989 студентов 4002 сообщения
Последнее обновление: 26 октября 2022
Курс JS: Составные данные
3 900 ₽ в месяц
за все курсы Хекслета
Зарегистрироваться
  • Тренажер с практикой
  • Бессрочный доступ к теории
  • Асинхронный формат обучения

Включено в курс

7 уроков (видео и/или текст)
9 упражнений в тренажере
33 проверочных теста
Помощь в «Обсуждениях»
Доступ к остальным курсам платформы

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

  • Создавать код, который легко читать и понимать что он делает
  • Научиться создавать удобные абстракции и скрывать внутреннюю реализацию данных
  • Определять границу между слоями приложения так, чтобы поддерживать высокий уровень модульности (независимости разных частей) кода

Описание

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

Программа курса

Продолжительность 9 часов
  • 1

    Введение

    Познакомиться с курсом, его целями и структурой. Рассмотреть понятие «составные данные» и понять смысл их создания и использования.
  • 2

    Точки

    Начать проектирование примитивной графической библиотеки с создания специальных данных, которые будут моделировать точки на плоскости.

    тесты

    упражнение

  • 3

    Пары

    Разобраться с тем, как устроены и реализованы точки в нашей графической библиотеке.

    тесты

    упражнение

  • 4

    Моделирование

    Познакомиться с понятием «Моделирование предметной области».

    тесты

    упражнение

  • 5

    Барьеры абстракции

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

    тесты

    упражнение

  • 6

    Реализация пар

    Написать собственную реализацию пар на языке JavaScript.

    тесты

    упражнение

  • 7

    Рациональные числа

    Рассмотреть рациональные числа как новый пример абстракции на основе пар чисел.

    тесты

    упражнение

  • 8

    Дополнительные материалы

    Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса

Формат обучения

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже

#
Задание
% завершений
2
95%

Отзывы

Аватар пользователя Dmitry Fedotov
Dmitry Fedotov 28 ноября 2019

Офигенное упражнение! На других ресурсах с первого урока дают массивы и объекты, здесь же треть курса позади и только пары начались, круто :)


Аватар пользователя Денис Потехин
Денис Потехин 07 сентября 2019

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


Аватар пользователя Андрей Бирюков
Андрей Бирюков 13 апреля 2019

OMG. Это гениально и запредельно просто (оказалось после неск. часов). Стоило только час поломать голову, сходить потренироваться, поломать еще час голову и 5 минут ругать себя за невнимательность, ведь всё очевидно. Маленькую подсказку дам в конце топика. Но, друзья, будьте честны с собой, пролистайте ссылку на пройденный когда-то урок (ссылка в списке).

  • Благодарность авторам курса за упражнения. Только сейчас я осознал, что такое это всё вот это вот:). Это одно из лучших упражнений, которое встречалось мне на этом курсе. Вот за него просто мегареспект, поскольку оно также и на внимательность.
  • Благодарность Voltaire Aurelio за отсылку к пройденному (похоже, пройденному мимо) уроку про объекты первого класса. Когда всплыла в памяти теория, тогда меня и осенило.

Небольшая подсказка: Суть - в начале модуля:

 const cons = (x, y) => f => f(x, y);
//Просто напишем это как 
 const cons = (x, y) => (f) => f(x, y);

Аватар пользователя Максим Григорьев
Максим Григорьев 15 марта 2019

Даже не сомневался, что у учителя функция containsTheOrigin будет решена в несколько строк, респект учителям, которые учат, смотря на сложные вещи, видеть простые решения!😜


Аватар пользователя Станислав Черевков
Станислав Черевков 14 декабря 2018

Согласен. Интересный курс. Как и все на Hexlet. Мне кажется, в последнем упражнении уже можно позволить самим создать cons, car и сdr для закрепления. Хотя, я так понимаю, в дальнейшем мы еще не раз будем это делать...