На сайте AvitoTech есть два бесплатных курса — по JavaScript и по паттернам проектирования в коде. Решили напомнить о них: оба курса актуальны, доступны в любое время и будут полезны независимо от того, сколько лет вы уже пишете код. Все лекции можно смотреть онлайн и без регистрации. Рассказываем, что там внутри.
Курс по JavaScript
➡ Смотреть материалы
Уроки ведёт Василий Новиков, фронтенд-инженер Авито. В разработке больше 6 лет, успел поработать над самыми разными проектами — от почтовых клиентов до крупных интернет-банков, а до Авито преподавал веб-разработку студентам. Сейчас занимается рекламными продуктами компании.
Курс — это глубокое погружение в устройство фронтенда и его базовые технологии: JavaScript, HTML и CSS. Программа построена так, чтобы не просто дать рецепты «как писать код», а объяснить, почему JavaScript ведёт себя именно так, а не иначе.
Из того, что разбирается по модулям:
-
Устройство современного веба — как работает браузер, от получения страницы до её отрисовки, и как происходит обмен данными в сети.
-
Введение в JavaScript — стек и куча в памяти, хранение данных в движке V8, первый скрипт в разных средах исполнения.
-
Работа с данными — типы данных, стандарт IEEE 754 и хранение чисел, BigInt, область видимости, лексическое окружение, замыкания, hoisting, var/let/const, приведение типов.
-
Контекст исполнения и
this— из чего состоит контекст исполнения, откуда берётсяthis, методыbind,call,apply, особенности стрелочных функций. -
ООП и прототипное наследование — прототип объекта,
protoи.prototype, цепочка наследования, дескрипторы свойств. -
Инструменты конструирования объектов — функции-конструкторы, оператор
new, классы и их наследование.
Курс подойдёт тем, кто хочет не просто пользоваться JavaScript, а понимать, что происходит под капотом.
Курс «Паттерны и практики написания кода»
➡ Смотреть материалы
Второй курс ведёт Юра Афанасьев, бэкенд-инженер: больше 15 лет в коммерческой разработке, 6 из них — в Авито, за плечами 12 лет на PHP и 4 года на Go.
Курс рассчитан на начинающих и мидл-разработчиков и состоит из трёх сезонов.
Первый сезон — про качество кода как таковое: код-ревью и читаемость, работа с исключениями, проблемы долгоживущих проектов, MVC и абстракции, GRASP-шаблоны, low coupling и high cohesion, UML.
Второй сезон — про принципы, на которые опирается «хороший» код: DRY, KISS, YAGNI, закон Деметры, весь цикл SOLID-принципов, а также Dependency Injection и DI-контейнеры.
Третий сезон — классические паттерны проектирования: порождающие (Builder, Factory Method, Abstract Factory, Prototype, Singleton), структурные (Adapter, Composite, Decorator, Facade, Bridge, Proxy, Flyweight) и поведенческие (Strategy, State, Command, Mediator, Observer, Chain of Responsibility, Memento, Template Method) — с разбором истории паттернов и лежащих в их основе правил.
К обоим курсам приложены списки материалов — книги, на которые опираются авторы, от «Совершенного кода» Макконнелла до классического Design Patterns «банды четырёх».
Видеозаписи курсов выложены с видео на YouTube, RuTube и VK — можно смотреть там, где удобнее.
Источник: habr.com