PRO курс

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

3483 сообщения в сообществе 5591 учащихся

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

Подготовительный курс

JS: Функции

Уроки курса

  • 1

    Введение

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

    Точки

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

    тесты

    упражнение

  • 3

    Пары

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

    тесты

    упражнение

  • 4

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

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

    тесты

    упражнение

  • 5

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

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

    тесты

    упражнение

  • 6

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

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

    тесты

    упражнение

  • 7

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

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

    тесты

    упражнение

Испытания

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

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

Автор

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

Сооснователь и технический директор образовательного проекта Hexlet. Программирует с 2007 года. За это время прошел путь от разработчика до технического директора и управляющего отдельным подразделением (филиалом). Управлял командами, в которых больше 50 разработчиков. Программирует на языках: elixir, clojure, javascript, php, ruby. Со-организатор конференции nastachku.ru. Вимер. Топит за DevOps и автоматизированные тесты.

Впечатления

Спасибо за задание, смотрю на код и часть понимаю, а часть черная магия))) он такой ядерный и концентрированный. Очень помогло в решении просмотр предыдущих моих задач по "Возврат функций из функции" и реализация flip функции, а также работа с pythonTutor. Возможно кому-то это тоже поможет.Причем сначала получилось реализовать получение car через pair(car), а не car(pair) и долго допирал как же сделать наоборот.

P.S. хотелось бы видеть больше задач на использование фишек из предыдущих уроков, даже так: чтобы решить задачу было легче через: каррирование, частичное выполнение, возврат функций из функций. Еще раз спасибо за проект и за крутые тренировочные задания, чувствую себя новичком в буткемпе рейджеров))

Что можно посоветовать при прохождении этого задания? Перечитайте просто заново https://ru.hexlet.io/courses/js-functions/lessons/return-function/theory_unit И вам станет намного легче его решить!) Авторам большое спасибо!

Отзыв. Курс - JS, Составные данные - классный. Особенно конечно урок номер 6 - Реализация пар. Вообще мозги поставил на место. Спасибо.

Решая задачки, такие как эта или Числа Черча, я прям трансцендирую!! =)) Но чую, что это только начало! =)

Спасибо вам, ребята, за Hexlet!!

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

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

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

 const cons = (x, y) => f => f(x, y);
//Просто напишем это как 
 const cons = (x, y) => (f) => f(x, y);
продолжительность
20 часов
награда
46 баллов
Получить доступ к курсу