курс

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

7378 студентов 4039 сообщений
Последнее обновление: 28 февраля 2024
Курс JS: Составные данные
3 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 для закрепления. Хотя, я так понимаю, в дальнейшем мы еще не раз будем это делать...

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

профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 7 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 7 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 7 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 7 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 7 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 7 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 7 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 7 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 7 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 7 ноября