- Регистрация
- 09.04.2020
- Сообщения
- 353 752
- Реакции
- 32 655
- Монеты
- 1 191
- Оплачено
- 0
- Баллы
- 0
- #SkladchinaVip
- #1
[javascript.ninja] JavaScript-инженер [Илья Климов]
- Ссылка на картинку
-
"Продвинутый" курс для тех, кто владеет конструкциями языка и желает улучшить качество своего кода
Уровень разработчика в моей картине мира определяют четыре вещи:
Темы
Каждая тема ответит на вопросы по конкретной инженерной практике:
Когда нужны типы? Как это типизировать? Когда типы не нужны? Как строить DSL на типах. Мы не будем рассказывать "смотрите, это TypeScript" так здесь пишутся типы", вместо этого сконцентрируемся на основах теории
Контракты
Зачем нужно контрактное программирование, как выражать контракты, как с ними работать и как управлять контрактами в системе.
Как контракты снижают стоимость владения кодом
Реактивность
Что мы вкладываем в понятие реактивности? Как строят реактивность на get/set и на Proxy? Когда реактивность полезна, а когда ухудшает управляемость, добавляя слишком много магии?
Потоки
Кому нужны "промисы на стероидах" и когда их использование оправдано. Всегда ли стоит брать RxJS как лидера среди "observables" или смотреть на другие примитивы?
Функции для землян
Писать код в чисто функциональном стиле - огромные риски. Как грамотное применение базовых монад и pattern-matching позволяет ускорить разработку?
Конечные автоматы в коде
Как упрощать код с помощью конечных автоматов? Какие решения не стоит описывать с помощью конечных автоматов, а какие - крайне полезно?
Метрики кода
Что, как и зачем мерять в коде? Как правильно проводить замеры, начиная от бизнес-метрик и заканчивая производительностью решений. Как анализировать собранную информацию?
Кодогенерация
Как код, который пишет код упрощает код? Как провести границы между кодогенерацией и рантаймом?
О курсе
Для практикующих frontend или backend-программистов. Рекомендуется базовой знакомство хотя бы с одним framework'ом для разработки для понимания применимости инженерных подходов в вашей архитектуре
Уровень разработчика в моей картине мира определяют четыре вещи:
- навыки реального применения архитектурных подходов, осознание их преимуществ и недостатков;
- знание инженерных практик и понимание границ их применимости
- владение конкретными инструментами для реализации подходов и практик
- уровень развития "синергетических навыков" (soft-skills, документирование кода и все, что позволяет команде работать продуктивнее)
Темы
Каждая тема ответит на вопросы по конкретной инженерной практике:
- когда стоит применять;
- когда не стоит применять;
- какие инструменты реализуют эту практику
- как интегрировать практику в жизнь команды
Когда нужны типы? Как это типизировать? Когда типы не нужны? Как строить DSL на типах. Мы не будем рассказывать "смотрите, это TypeScript" так здесь пишутся типы", вместо этого сконцентрируемся на основах теории
Контракты
Зачем нужно контрактное программирование, как выражать контракты, как с ними работать и как управлять контрактами в системе.
Как контракты снижают стоимость владения кодом
Реактивность
Что мы вкладываем в понятие реактивности? Как строят реактивность на get/set и на Proxy? Когда реактивность полезна, а когда ухудшает управляемость, добавляя слишком много магии?
Потоки
Кому нужны "промисы на стероидах" и когда их использование оправдано. Всегда ли стоит брать RxJS как лидера среди "observables" или смотреть на другие примитивы?
Функции для землян
Писать код в чисто функциональном стиле - огромные риски. Как грамотное применение базовых монад и pattern-matching позволяет ускорить разработку?
Конечные автоматы в коде
Как упрощать код с помощью конечных автоматов? Какие решения не стоит описывать с помощью конечных автоматов, а какие - крайне полезно?
Метрики кода
Что, как и зачем мерять в коде? Как правильно проводить замеры, начиная от бизнес-метрик и заканчивая производительностью решений. Как анализировать собранную информацию?
Кодогенерация
Как код, который пишет код упрощает код? Как провести границы между кодогенерацией и рантаймом?
О курсе
Для кого?Спойлер
10 недель, из которых 2 недели (4 и 8) зарезервированы для выполнения домашних заданий.
Каждая неделя состоит из:
- лекции-обсуждения проблем, вопросов и пожеланий
- материалов для дополнительного погружения в тему, если Вы с ней не знакомы
- 2 заданий (обычно одно из них отвечает на вопрос "как это работает?" а второе - на вопрос "как это применять?")
- асинхронного code-review решений
Для практикующих frontend или backend-программистов. Рекомендуется базовой знакомство хотя бы с одним framework'ом для разработки для понимания применимости инженерных подходов в вашей архитектуре
Зарегистрируйтесь
, чтобы посмотреть скрытый авторский контент.