PRO курс

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

3940 сообщений в сообществе 6200 учащихся

Следующий шаг после освоения основ программирования это изучение идеи составных данных. Этот курс посвящён изучению концепций, позволяющих из простых типов данных составлять более сложные данные, необходимые для решения конкретной задачи и для реализации конкретной программы. На примере разработки простой графической библиотеки мы изучим как «подняться» от уровня простых чисел до уровня двумерных объектов и рисунков.

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

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

Уроки курса

  • 1

    Введение

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

    Точки

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

    тесты

    упражнение

  • 3

    Пары

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

    тесты

    упражнение

  • 4

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

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

    тесты

    упражнение

  • 5

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

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

    тесты

    упражнение

  • 6

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

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

    тесты

    упражнение

  • 7

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

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

    тесты

    упражнение

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки.

# Задание % завершений
1 Пары без функций 82%
2 Тройка 95%
3 Пары на строках 91%

Автор

Аватар пользователя Kirill Mokevnin

Кирилл Мокевнин

Сооснователь и CEO образовательного проекта Хекслет. Программирую с 2007 года. За это время прошёл путь от разработчика до технического директора и управляющего отдельным подразделением (филиалом). Управлял командами, в которых больше 50 разработчиков.

  • Программирую на языках: Elixir, Clojure, JavaScript, PHP, Ruby.
  • Соорганизатор конференции Nastachku.ru.
  • Вимер.
  • Топлю за DevOps и автоматизированные тесты.

Впечатления

Урок: Пары

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

Урок: Пары

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

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

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

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

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

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

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

Курс JS: Составные данные
продолжительность
9 часов
награда
46 баллов