что тут произошло?
мы добавили параметр
это позволяет уменьшить количество фреймов, хранимых в памяти
мы добавили параметр
cur в который записываем текущий результатэто позволяет уменьшить количество фреймов, хранимых в памяти
нашла хорошую картинку
слева — хвостовая рекурсия, справа — обычная
как мы видим, у хвостовой меньший уровень вложенности
картинка вот из этой статьи:
https://maxglassie.github.io/2017/08/24/tail-recursion.html
слева — хвостовая рекурсия, справа — обычная
как мы видим, у хвостовой меньший уровень вложенности
картинка вот из этой статьи:
https://maxglassie.github.io/2017/08/24/tail-recursion.html
главная польза от иммутабельности в реальной жизни
когда мы следуем принципам иммутабельности, мы не мутируем объекты, а пересоздаем.
и когда после пересоздания мы сравниваем объекты, они оказываются разными (пушто на них разные ссылки) и так мы можем легко понять, что в объекте что-то изменилось
когда мы следуем принципам иммутабельности, мы не мутируем объекты, а пересоздаем.
и когда после пересоздания мы сравниваем объекты, они оказываются разными (пушто на них разные ссылки) и так мы можем легко понять, что в объекте что-то изменилось
Значения с плавающей точкой
Чтобы определить значение с плавающей точкой, необходимо ввести десятичную
точку и как минимум одну цифру после нее.
Для хранения значений с плавающей точкой требуется вдвое больше памяти, чем для целых чисел и ECMAScгipt по возможности преобразует значения в целые числа. Если после десятичной точки нет разрядов, число становится целым.
Если значение не имеет дробной части (например,
Чтобы определить значение с плавающей точкой, необходимо ввести десятичную
точку и как минимум одну цифру после нее.
10.1
Для хранения значений с плавающей точкой требуется вдвое больше памяти, чем для целых чисел и ECMAScгipt по возможности преобразует значения в целые числа. Если после десятичной точки нет разрядов, число становится целым.
Если значение не имеет дробной части (например,
1 .0), оно также преобразуется в целое число, например:Очень большие и очень малые числа с плавающей точкой можно представлять
в экспоненциальном формате (e-notation), в котором значения умножаются на 10
в соответствующей степени
в экспоненциальном формате (e-notation), в котором значения умножаются на 10
в соответствующей степени
var floatNum = 3 . 125е7Можете понимать эту запись как умножение числа 3.125 на 10^7
// 31250000
Значения с плавающей точкой представляются с точностью до 17 -го десятичного разряда, но все равно они гораздо менее точны в арифметических вычислениях, чем
целые числа.
Например, сложение 0.1 и 0.2 дает в результате 0.30000000000000004 вместо 0.3.
целые числа.
Например, сложение 0.1 и 0.2 дает в результате 0.30000000000000004 вместо 0.3.
Ошибки округления - это побочный эффект арифметических операций над числами
с плавающей точкой формата IEEE-754, а не особенность ECMAScript. В других языках,
в которых используется этот формат, наблюдаются такие же проблемы.
с плавающей точкой формата IEEE-754, а не особенность ECMAScript. В других языках,
в которых используется этот формат, наблюдаются такие же проблемы.
Создавать свои сниппеты просто и приятно и они улучшают девелопер экспириенс в миллион раз ✨
Документация лежит тут: https://code.visualstudio.com/docs/editor/userdefinedsnippets
А вот удобнейший сниппет-генератор: https://snippet-generator.app
Документация лежит тут: https://code.visualstudio.com/docs/editor/userdefinedsnippets
А вот удобнейший сниппет-генератор: https://snippet-generator.app
Visualstudio
Snippets in Visual Studio Code
It is easy to add code snippets to Visual Studio Code both for your own use or to share with others on the public Extension Marketplace. TextMate .tmSnippets files are supported.
Между прочим отличный доклад Ивана Акулова о простых способах оптимизировать перформанс в 2019
https://youtu.be/iEv1rFujYm4
https://youtu.be/iEv1rFujYm4
YouTube
Быстрые приложения в 2019 / Иван Акулов (PerfPerfPerf )
Приглашаем на FrontendConf 2024, которая пройдет 30 сентября и 1 октября 2024 в Москве.
Программа, подробности и билеты по ссылке: https://frontendconf.ru/moscow/2024
________
РИТ++ 2019
Frontend Conf
Тезисы и презентация:
http://frontendconf.ru/moscow…
Программа, подробности и билеты по ссылке: https://frontendconf.ru/moscow/2024
________
РИТ++ 2019
Frontend Conf
Тезисы и презентация:
http://frontendconf.ru/moscow…
Статья (с примерами кода) о том, как пара строчек css помогают докручивать элементы до края экрана
https://css-tricks.com/practical-css-scroll-snapping/
https://css-tricks.com/practical-css-scroll-snapping/
CSS-Tricks
Practical CSS Scroll Snapping | CSS-Tricks
CSS scroll snapping allows you to lock the viewport to certain elements or locations after a user has finished scrolling. It’s great for building interactions
Forwarded from Про