Що нового?

Придбаний Computer Science во Frontend [kobezzza] [Андрей Кобец]

Інформація про покупку
Тип покупки: Складчина
Ціна: 45334 ГРН
Учасників: 0 з 60
Організатор: Відсутній
Статус: Набір учасників
Внесок: 785.8 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
Computer Science во Frontend [kobezzza] [Андрей Кобец]

ЦЕЛЬ КУРСА

  • Формирование базы программирования
  • Трансформация в крепкого Middle Frontend Developer
ЧТО ТЫ ПОЛУЧИШЬ В РЕЗУЛЬТАТЕ
  • Избавишься от проблемы "чистого листа" при разработке приложения или библиотеки
  • Поймешь, чем отличается хорошая архитектура от плохой
  • Начнешь осмысленно применять алгоритмы и структуры данных в своей работе
  • Будешь прагматично подходить к выбору инструмента для решаемой задачи
  • Создашь проект, который можно будет развивать дальше или использовать в портфолио
ПРОГРАММА КУРСА

Модуль 1. Ядро
Чему научишься:
  • Сформируешь базовое понимание о работе процессора и памяти
  • Узнаешь о самых важных алгоритмах и структурах данных в программировании и начнешь их применять
  • Освоишь техники работы с асинхронным и многопоточным кодом
  • Познакомишься с WASM
Практика:
  • Практика этого модуля основана на реализации своего проекта-библиотеки
  • Идея библиотеки берется из заранее подготовленного пула или можно придумать самостоятельно
План лекций
  1. Кодирование информации. Данные, типы и структуры данных. Типизация в языках программирования.
  2. Процессор и память. Адресация памяти и разрядность процессора. Кэш-память. Классификация вычислительных систем.
  3. Фундаментальные структуры данных. Кортеж и структура. Массив и связный список.
  4. Абстрактные структуры данных. Стек и очередь. Очередь с приоритетом. Ассоциативный массив.
  5. Сегменты памяти программы. Многозадачность и роль ОС. Ручное и автоматическое управление памятью.
  6. Важнейшие структуры данных. Вектор и хеш-таблица.
  7. Графы. Обход узлов графа. Топологическая сортировка графа.
  8. Бинарный поиск. Деревья поиска. Бинарные и многопутевые деревья. Самобалансирующееся деревья поиска.
  9. Бинарное дерево на основе массива. Бинарная куча.
  10. Строки. Кодовые таблицы. ASCII и совместимые кодовые таблицы. UCS-2.
  11. Наборы символов и Юникод. Графемы. Нормальная составная и разряженные формы. Кодировки. UTF-16 и UTF-8.
  12. Алгоритмы поиска в строке. Конечные автоматы. Структура данных Бор.
  13. Грамматики. Регулярные выражения.
  14. Продвинутые регулярные выражения. Ретроспективные и опережающие проверки.
  15. Паттерн "Итератор". Итерируемые объекты. Рекурсивные итераторы. Ленивые вычисления.
  16. Продвинутые итераторы. Продьюсеры, модификаторы, агрегаторы и коллекторы.
  17. Автоматы и генераторы. Поточная обработка данных. Парсеры и парсерные комбинаторы.
  18. Асинхронное программирование. Функции обратного вызова. Паттерн "Источник событий".
  19. Ошибки и исключения в JS. Обработка ошибок в асинхронном программировании. Простые и контейнерные типы данных.
  20. Композиция контейнерных типов. Функторы, монады и моноиды.
  21. Каррирование и частичное применение функций. Аппликативные функторы.
  22. Promise API и Thenable объекты. Операторы async/await. Макро и микро таски.
  23. Асинхронные итераторы и генераторы. Реактивные структуры данных.
  24. Конкурентное программирование. Структуры данных RWLock, Семафор и Мьютекс.
  25. Параллельное вычисления в JS. Веб-воркеры. Структуры данных SharedBuffer и Atomics.
  26. Введение в WASM.


Модуль 2. Инфраструктура

Чему научишься:
  • Получишь глубокие знания об организации модулей и пакетов в JS
  • Познакомишься со способами сборки JS приложений и начнешь использовать Webpack
  • Узнаешь о способах тестирования программных модулей
  • Начнешь использовать Jest и Playwright
Практика:
  • Практика этого модуля основана на домашних заданиях, которые будут после части лекций
План лекций
  1. Модули и пакеты в JS.
  2. Способы и системы сборки JS приложений.
  3. Введение в Webpack.
  4. Тестирование программных модулей. Способы автоматизации.
  5. Знакомство с Jest и Playwright.

Модуль 3. Архитектура
Чему научишься:
  • Узнаешь о разных парадигмах программирования
  • Научишься эффективно применять объектно-ориентированное и функциональное программирование на практике
  • Узнаешь об паттернах построения Frontend приложений
  • Напишешь свой реальный и интересный проект
Практика:
  • Практика этого модуля основана на реализации своего проекта-приложения
План лекций
  1. Парадигмы программирования. Идиомы и паттерны. Выбор языка программирования.
  2. Модули и их метрики. Паттерны и антипаттерны организации модулей.
  3. Введение в ООП. Реализация ООП в разных ЯП. Понятие абстракции и реализации. Принципы SOLID.
  4. ООП в JS. Объекты-прототипы, функции конструкторы и ES6 классы. Паттерны создания объектов.
  5. Продвинутая работа с объектами в JS. Рефлексия и мета-программирование в JS.
  6. Знакомство с TypeScript. Введение в обобщенное программирование.
  7. ОО паттерны. Композиция и стратегия. Примеси и характеристики.
  8. Паттерн "Декоратор". Декораторы в JS/TS.
  9. Взаимодействие объектов. Событийная модель. Реактивное программирование.
  10. Паттерн "Посетитель". Посетители vs декораторы.
  11. Архитектура Frontend приложения. MV\* паттерны.
  12. Паттерны работы с состоянием компонента или приложения.
  13. Компонент и внешние данные. Чистые компоненты.
  14. View компонента. Декларативный и императивные подходы. JSX и шаблоны.
  15. Внедрение зависимостей. Разделение приложения на слои. Микрофронтенды.
  16. Сквозной функционал. Аспектно-ориентированное программирование.
  17. Способы описания компонента. DSL.
  18. Оптимизация Frontend приложений. Способы профилирования.

https://kobezzza.ru/
 
Угорі