code_notes
71 subscribers
136 photos
1 video
134 links
учусь делать веб

обратная связь: t.me/dmorenogogoleva
Download Telegram
https://nastachku.ru/images/companies/1/archives_presentation/inno_2019/frontend/Madyankin.pdf

слайды доклада Александра Мадьянкина про гексагональную архитектуру на фронтенде
статья про линзы и призмы — это такие инструменты из фп. Используются для работы с частями сложных структур

https://medium.com/@gcanti/introduction-to-optics-lenses-and-prisms-3230e73bfcfe
в генераторах можно вызывать другие генераторы (все итерации выполнятся последовательно, как будто это шаги в одном генераторе)
чем отличается троттлинг от дебаунса

тротилинг срабатывает раз в несколько секунд, дебаунс ждёт последнего вызова и срабатывает после него и после таймера

https://medium.com/nuances-of-programming/%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-throttling-%D0%B8-debouncing-4f0a839769ef
для чего нужны веб-воркеры
измерять время выполнения вот так — плохо

это время будет зависеть от 100500 других факторов, которые мы не можем учесть. К тому же такой способ может вселить в нас ложную уверенность в том, что мы знаем что делаем и тестируемый код быстрый/медленный

для бенчмарков можно использовать библиотеку benchmark.js https://github.com/bestiejs/benchmark.js

также измерять скорость выполнения кода нужно всегда на настоящем коде из реального проекта
хвостовая оптимизация
рекурсия / хвостовая рекурсия
можно передавать выражения в качестве default value
async/await это синтаксический сахар над промис+генератор подходом

ух
слайды доклада Анны Селезневой про разработку интерфейсов

https://askd.rocks/pres/ui-2020/
надеялась, что прицепится сниппет

короче вот так:
Math.random().toString(36).substring(2);



рандомное число конвертируем в строку в 36-ричной системе счисления, потом обрезаем целую часть от Math.random