Лучшие ресурсы, которые помогут вам преодолеть страх и откладывание на потом. Повысьте скорость обучения и научитесь покорять TypeScript.

Атака, атака, атака - вот что кричал мне мой инструктор. Я замер, приклеившись к велосипеду, глядя на крутой спуск. Узкая тропа была усеяна препятствиями. Повсюду корни деревьев, рыхлый гравий и узкие щели между прядями. Люди говорят, что никогда не забываешь, как ездить на велосипеде, но это было другое. Я не ездил на велосипеде два года. А теперь я брал уроки катания на горных велосипедах в Глентресс Форест на холмах Шотландии.

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

Но, наконец, я был здесь, на вершине холма, готовый к работе. После многих лет владения «горным велосипедом» я впервые использовал его в естественной среде обитания.

С одной стороны, я еще не начинал, но по другим параметрам я уже многого добился. Я был на горе. Чтобы зайти так далеко, потребовалась большая подготовка. Как долго я думал об этом празднике? Как долго планируете поездку и проживание? Сколько раз я спрашивал себя: «Могу ли я на самом деле это сделать?» Как долго я провел в Интернете, изучая оборудование и различные типы наколенников? Как долго в пункте проката просматривал все варианты велосипедов?

Теперь наступил момент истины. Я отпустил паузы, я начал играть и вскоре начал спускаться с холма. Моим инстинктом было откинуться назад, чтобы защитить себя. Это естественно, но это тоже неправильно. Если вы отклонитесь назад, вы снизите свой контроль. Это увеличивает вероятность падения, а не меньше. Значит, резкие неровности повлияют на вас больше.

Решение - наклониться вперед. Вам нужно преодолеть свой естественный страх. Поднимите голову вперед, ближе к опасности. Поднимите свое тело, чтобы у вас было место для поглощения ударов. Сосредоточьтесь и будьте бдительны, чтобы не ложиться спать. Это не вид спорта для зрителей, он требует 100% концентрации, иначе вы собираетесь врезаться в корень дерева и перелететь через руль.

Что мое приключение на велосипеде может научить меня решению проблемы изучения TypeScript?

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

Моей целью было изучить TypeScript, у меня были некоторые требования к тому, как я хотел учиться:

  • Прозрачность: мне нужна была прозрачность, особенно в том, что я узнал. Я хотел сосредоточиться на кодировании на TypeScript и не отвлекаться.
  • Проверка: мне нужно было анализировать то, что я сделал, и получать отзывы, чтобы я мог учиться. Мне нужно было точно определить, что работает, а что нет, и быть уверенным в своем коде. (Это означало, что я хотел использовать модульные тесты)
  • Адаптация: я хотел иметь возможность быстро учиться на своих ошибках и обновлять свой код. Мне нужны были быстрые циклы обратной связи, чтобы я мог быстрее учиться.

Если вы заметили, вы можете узнать это как из Теории Scrum. Но я здесь учусь, и мне хотелось идти быстро. Циклы обратной связи за секунды, а не за две недели!

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

С кодированием так легко отвлечься подобными способами. Еще один новый инструмент. Другой редактор, у которого больше возможностей. Или скрытые опасности множества зависимостей, которые необходимо установить, чтобы все заработало! Что вы можете сделать, чтобы избавиться от этих отвлекающих факторов и перейти к настоящему обучению?

После многочисленных экскурсий и тестов рекомендую следующие три ресурса:

Новый сайт, который просто потрясает. Минималистичный дизайн. Простые объяснения в виде коротких пакетов с последующими вопросами, чтобы убедиться, что вы усвоили содержание. Мгновенная обратная связь. Он также имеет интервальное повторение содержимого с напоминаниями по электронной почте. Это увеличивает долгосрочное удержание, так что все сразу не забывается. Вы ограничены только тем контентом, который вам нужен для этого урока, в патронах для укуса. Невозможно отвлечься, просматривая будущий контент.

Освоив основы, вы можете сразу приступить к решению реальных задач по программированию. Каждой задаче присваивается рейтинг сложности, поэтому вы можете начать с соответствующего уровня и отслеживать свой прогресс. Вы можете мгновенно протестировать свои решения и посмотреть, работает ли ваш код. Если вы пройдете все тесты, вы сможете увидеть решения других разработчиков. Это отличный способ увидеть разные стили кодирования и разные подходы к проблемам. Геймификация постоянно поддерживает мотивацию.

CodeSandbox позволяет создавать больше, чем просто код TypeScript. Это позволяет создать целый веб-сайт. У вас есть окна для ввода TypeScript, HTML, CSS и мгновенного предварительного просмотра вашего веб-сайта. Я расширил один из стандартных шаблонов, добавив модульные тесты. Модульные тесты имеют решающее значение. Они требуют дополнительных усилий для настройки с самого начала, но затем повышают вашу продуктивность. Заставляет мыслить более структурированно. Мгновенная обратная связь и большая уверенность в точности вашего кода. Вот созданный мной шаблон TypeScript. Это веб-сайт с образцами тестов Jest Unit: https://codesandbox.io/s/typescript-jest-test-template-nj0ky. Вы можете легко расширить и разветвить любой найденный вами пример.

Эти три решения дополняют друг друга и предоставляют отличный способ победить TypeScript. Независимо от того, есть ли у вас предыдущий опыт программирования или нет, они позволят вам структурированно учиться и наращивать свои знания. Они соответствуют критериям моего подхода к обучению:

  • Они обеспечивают прозрачность. У каждого из них есть четкие методы и цели. Программа выполнения чрезвычайно ограничена и сфокусирована. CodeWars предоставляет больший выбор, но каждая задача предельно ясна. CodeSandbox дает вам полную свободу экспериментировать со своими идеями.
  • Они позволяют вам проверять вашу работу. Поскольку все они размещены в Интернете, времени на настройку не требуется. Вы можете сосредоточиться непосредственно на том, чему пытаетесь научиться. У вас есть обратная связь, поэтому вы знаете, как вы продвигаетесь к своей цели.
  • Они позволяют вам адаптироваться. Мгновенная обратная связь с тестами или предварительным просмотром в реальном времени. Эта обратная связь позволяет вам адаптироваться, чтобы вы могли повысить скорость обучения.

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

Некоторые курсы полностью теоретические. Они позволяют пропустить практику. В ExecuteProgram, CodeWars и CodeSandbox эта опция недоступна. Вы должны «атаковать, атаковать, атаковать», столкнуться со своим страхом и получить код.

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

Все эти сайты предлагают гораздо больше, чем TypeScript. ExecuteProgram новый, но уже предлагает RegEx, JS-массивы и TypeScript. CodeSandbox содержит самые популярные JS-фреймворки, например, React, Vue, Angular, Gatsby и другие, полный список находится здесь. CodeWars поддерживает все большее количество языков, включая JS, Java, Python и Ruby.

Чего вы ждете? Атака, атака, атака. Пропустите этап промедления, начните с ExecuteProgram, нажмите здесь и начните изучать TypeScript прямо сейчас!