курс

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

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

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

профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря