курс

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

7411 студентов 4039 сообщений
Последнее обновление: 28 февраля 2024
Курс JS: Составные данные
21 900 ₸ в месяц
за все курсы Хекслета
Зарегистрироваться
  • Тренажер с практикой
  • Бессрочный доступ к теории
  • Асинхронный формат
    обучения

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

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

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

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

Описание

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

Этот курс подойдет новичкам, которые погружаются в основы программирования. Чтобы учиться было проще, стоит заранее изучить курс Основы JavaScript.

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

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

    Введение

    Знакомимся с целями и задачами курса
  • 2

    Точки

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

    тесты

    упражнение

  • 3

    Пары

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

    тесты

    упражнение

  • 4

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

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

    тесты

    упражнение

  • 5

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

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

    тесты

    упражнение

  • 6

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

    Пишем собственную реализацию пар на языке JavaScript

    тесты

    упражнение

  • 7

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

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

    тесты

    упражнение

  • 8

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

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

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

Испытания

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

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

Отзывы

Аватар пользователя Cross Minder
Cross Minder 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 для закрепления. Хотя, я так понимаю, в дальнейшем мы еще не раз будем это делать...

Рекомендуемые программы

профессия
от 25 000 ₸ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 26 декабря
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 26 декабря
профессия
от 14 960 ₸ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 26 декабря
профессия
от 25 000 ₸ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 26 декабря
профессия
от 24 542 ₸ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 26 декабря
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 26 декабря
профессия
от 28 908 ₸ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 26 декабря
профессия
от 39 525 ₸ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 26 декабря
профессия
от 25 000 ₸ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
Старт 26 декабря