Skip to content

Instantly share code, notes, and snippets.

@R1ZEN
Last active September 23, 2021 12:16
Show Gist options
  • Save R1ZEN/abdca8cc4124118a03615865990e2d4c to your computer and use it in GitHub Desktop.
Save R1ZEN/abdca8cc4124118a03615865990e2d4c to your computer and use it in GitHub Desktop.

План обучения такой:

Нужно осознать базовые структуры данных (просто понимать что это и как можно перенести идеи на свой код):

  • Массив;
  • Стэк;
  • Список;
  • Хэш-таблица;
  • Дерево и Куча;
  • Граф;

Что нужно знать про JavaScript:

  • Примитивные и ссылочные типы данных;
  • Hosting;
  • Scope;
  • Closure;
  • Отличия: var, let, const;
  • Контекст, apply, call, bind;
  • Понимать модель наследования в JavaScript;
  • Чем отличается __proto__ от prototype;
  • Promise, XHR (нужно знать, потому что умеет все);
  • Понимать EventLoop, Microtasks vs Macrotasks;

После этих мучений нужно разобраться с Node.js :)

Нода есть в любом проекте на JavaScript, у тебя может не быть на проекте React но по любому будет нода.

Базовые вещи в Node.js:

  • Что такое process;
  • Что такое переменная окружения;
  • Что такое CommonJS модули или как работает require;
  • Что такое npm)
  • Как написать простой сервер;
  • HTTP Methods: get, post, put, delete;

Далее DOM:

  • Как выбрать из DOM ноду;
  • Чем отличается Element от Node;
  • Что делает addEventListener;
  • Что такое EventDelegation;
  • Жизненный цикл события (Capturing, Target, Bubbling);
  • Отличие stopPropagation от stopImmidiatePropogation;
  • Что такое preventDefault;

React:

  • Что такое виртуальный DOM или json модель DOM;
  • Что такое Reconcile;
  • Почему все так любят однонаправленный поток данных;
  • Почему компоненты на одном уровне не должны использовать друг друга;
  • Паттерны React: HOC как модификатор в БЭМ; RenderProp как элементы в блоке; Компонент как блок;

Инструменты:

  • Git (понимать что внутри на поверхностном уровне, blob, index, commit, merge, rebase, cherry-pick)
  • DevTools Node;
  • DevTools Elements, Performance, Network;
  • DevTools React;

В качестве обучающего задания можно верстку Gmail подключить к API или сделать приложение присылающее в телеграм напоминания.


Обучающие Online курсы и статьи:

По интересам:

Полезные ссылочки:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment