Классическое программирование для фронтендеров
Проблема современной веб-разработки заключается в том, что индустрия развивается очень быстро и в нее приходят ребята совсем без подготовки и сразу же начинают гнаться за бешеным потоком новых инструментов и фич. Я считаю, что разработчики, вместо поиска новых инструментов должны опираться на мощную базу, разработанную программистами из параллельных областей, изучать алгоритмы и структуры данных и приемы, которые применялись другими разработчиками раньше. Многие из этих приемов были придуманы для решения похожих задач, но в гораздо более сложных условиях: раньше компьютеры были не настолько мощными, поэтому приходилось искать действительно эффективные решения.
Разница между решениями и инструментами заключается в том, что решения не зависят от времени и выбранного стека технологий. Один и тот же алгоритм будет работать для UI сделанного как на Реакте, так и на jQuery
Выступления
Практика
Битовые массивы
Битовый массив или битовая карта (bitset, bitarray, bitmap) — последовательность бит (нулей и единиц). Правильное использование битовых массивов поможет писать более производительный и лучше поддерживаемый код. Если же использовать битовые массивы вместе со словарями, можно писать код в декларативном стиле
Библиотека от HTML Academy для работы с битовыми картами
Разработка компоненты со сложным состоянием, интерактивная демка
Деревья
Деревья — это иерархические рекурсивные структуры данных, они помогают описывать отношения между объектами. Описать дерево в JS можно с помощью встроенного объекта, а код визитора, который использует самый простой способ обхода дерева — прямой поиск в глубину — займет всего пять строк, вместе с управляющим кодом
Использование дерева для описания зависимостей в форме, интерактивная демка