Рекурсия и оптимизация рекурсивных функций
В первой части кода есть простая рекурсивная функция
Во второй части кода представлена оптимизированная версия функции
Таким образом, оптимизированная версия
#полезное
В первой части кода есть простая рекурсивная функция
factorial
, которая вычисляет факториал числа n
. Она вызывает себя с аргументом n - 1
, пока n
не станет меньше или равно 1.Во второй части кода представлена оптимизированная версия функции
factorialMemoized
, которая использует мемоизацию. Мемоизация - это техника, при которой результаты предыдущих вызовов функции сохраняются в памяти и возвращаются в случае повторного вызова с теми же аргументами. В данном случае, мы используем объект memo
для хранения результатов предыдущих вызовов factorialMemoized
. Если результат уже вычислен для конкретного n
, мы возвращаем его из memo
, иначе вычисляем и сохраняем в memo
.Таким образом, оптимизированная версия
factorialMemoized
более эффективна при вычислении факториала для больших чисел, так как избегает переполнения стека вызовов, и вычисляет результаты только один раз для каждого n
.#полезное
👍2
Сообщаются ли ваши тесты?
Чтобы быстро продвигаться в рабочих задачах, необходимо иметь уверенность в том, что можно вносить изменения.
А уверенность в изменениях зависит от тестового покрытия.
С тех пор как мы это поняли, автоматические тесты стали просто необходимы. Это привело к массовому внедрению шаблонов для старта работы.
Однако начать работу недостаточно.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Чтобы быстро продвигаться в рабочих задачах, необходимо иметь уверенность в том, что можно вносить изменения.
А уверенность в изменениях зависит от тестового покрытия.
С тех пор как мы это поняли, автоматические тесты стали просто необходимы. Это привело к массовому внедрению шаблонов для старта работы.
Однако начать работу недостаточно.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Аутентификация с использованием JSON Web Tokens
JWT - это стандарт для безопасной передачи информации между двумя сторонами и используется, например, для аутентификации пользователя.
#полезное
JWT - это стандарт для безопасной передачи информации между двумя сторонами и используется, например, для аутентификации пользователя.
#полезное
👍3
Redux-toolkit и переиспользование кода
В данной статье приведены несколько вариантов переиспользование кода в Redux-toolkit при создании слайсов, позволяющие сделать работу с ним более гибкой и удобной.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В данной статье приведены несколько вариантов переиспользование кода в Redux-toolkit при создании слайсов, позволяющие сделать работу с ним более гибкой и удобной.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Работа с событиями клавиатуры
JavaScript позволяет отслеживать события клавиш и реагировать на них.
#полезное
JavaScript позволяет отслеживать события клавиш и реагировать на них.
#полезное
👍1
Разработка браузерных игр с использованием Phaser3, React, Typescript
Думаю, ни для кого не секрет, что каждый уважающий себя разработчик программного обеспечения должен иметь в своем портфолио хотя бы один пет-проект, а лучше полноценный продукт, дающий дополнительный постоянный заработок. Предметных областей и тематик приложений великое множество, но среди них есть одна, которая заслуживает отдельного внимания — разработка своей собственной игры.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Думаю, ни для кого не секрет, что каждый уважающий себя разработчик программного обеспечения должен иметь в своем портфолио хотя бы один пет-проект, а лучше полноценный продукт, дающий дополнительный постоянный заработок. Предметных областей и тематик приложений великое множество, но среди них есть одна, которая заслуживает отдельного внимания — разработка своей собственной игры.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Интерактивные графики и визуализации с использованием библиотеки D3.js
Библиотека D3.js широко используется для создания интерактивных графиков и визуализаций на веб-страницах.
#полезное
Библиотека D3.js широко используется для создания интерактивных графиков и визуализаций на веб-страницах.
#полезное
👍2
Два frontend фреймворка. Два подхода
В статье сравниваются два подхода к созданию веб интерфейса пользователя.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В статье сравниваются два подхода к созданию веб интерфейса пользователя.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Работа с асинхронностью при помощи async/await
#полезное
async/await
- это способ более чисто работать с асинхронными операциями, делая код более понятным и удобным в использовании.#полезное
👍2
Уроки рисования красных квадратов
На этот раз покажу как парсил dom элементы и создавал для них визуальную подсветку. Разберу зачем это нужно и как сделано. Спойлер, очень просто.
Значительную часть статьи рассказываю на чём я споткнулся, пока это писал. Про высчитывание позиции блока.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
На этот раз покажу как парсил dom элементы и создавал для них визуальную подсветку. Разберу зачем это нужно и как сделано. Спойлер, очень просто.
Значительную часть статьи рассказываю на чём я споткнулся, пока это писал. Про высчитывание позиции блока.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Работа с массивами при помощи методов
Методы массивов
#полезное
map
, filter
и reduce
Методы массивов
map
, filter
и reduce
предоставляют удобные средства для обработки данных в массивах.#полезное
👍3
Интерактивный парсер web страниц
Для начала вкратце введу в курс дела. 3 года назад ко мне в голову закралась навязчивая мысль написать интерактивный словарь-помощник для чтения на английском языке. И с тех пор начались мои приключения в мире расширений для браузеров на ядре Chrome'а.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Для начала вкратце введу в курс дела. 3 года назад ко мне в голову закралась навязчивая мысль написать интерактивный словарь-помощник для чтения на английском языке. И с тех пор начались мои приключения в мире расширений для браузеров на ядре Chrome'а.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Работа с DOM
JavaScript используется для взаимодействия с DOM, позволяя изменять содержимое и стили элементов на веб-странице.
#полезное
JavaScript используется для взаимодействия с DOM, позволяя изменять содержимое и стили элементов на веб-странице.
#полезное
👍1
Webpack vs esbuild — уже можно использовать в production?
Периодически я пробую разные инструменты, и если они стабильно покрывают все необходимые сценарии - включаю в свою экосистему для коммерческих проектов. С третьего подхода за последние 3 года esbuild, наконец, приблизился по функционалу к Webpack. В статье привожу проблемы, с которыми я столкнулся при миграции, и пути их решения.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Периодически я пробую разные инструменты, и если они стабильно покрывают все необходимые сценарии - включаю в свою экосистему для коммерческих проектов. С третьего подхода за последние 3 года esbuild, наконец, приблизился по функционалу к Webpack. В статье привожу проблемы, с которыми я столкнулся при миграции, и пути их решения.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤1👍1
Работа с итерируемыми объектами и циклом
Цикл
#полезное
for...of
Цикл
for...of
позволяет удобно перебирать элементы в массивах, строках и других итерируемых объектах.#полезное
👍2
Парадокс Монти Холла глазами JavaScript
Я хочу посвятить эту статью известной задаче в математике, относящейся к теории вероятности. Так же мы попытаемся решить эту задачу на JavaScript. Я сразу приступлю к условию задачи.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Я хочу посвятить эту статью известной задаче в математике, относящейся к теории вероятности. Так же мы попытаемся решить эту задачу на JavaScript. Я сразу приступлю к условию задачи.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Работа с формами и их валидация
JavaScript позволяет выполнять валидацию форм перед отправкой данных на сервер.
#полезное
JavaScript позволяет выполнять валидацию форм перед отправкой данных на сервер.
#полезное
👍6
Смерть third-party cookies. Что ждет нас в 2024?
Похоже, что в череде всевозможных инициатив по борьбе со «сторонними» куками начал проглядываться конец. Давайте разберемся, что происходит и зачем все это нужно.
Куки — браузерный механизм, который позволяет хранить данные по пользователю с привязкой к домену и затем передавать эти данные при запросах. Куку можно установить как со стороны сервера через специальный заголовок Set‑Cookie, так и в браузере прямо на странице через javascript. После этого кука будет передаваться при каждом запросе из браузера к домену.
Куки позволяют воплощать в жизнь множество как полезных, так и сомнительных механик. Из неприятных — возможность отслеживания пользователя сторонними сайтами или увеличение риска CSRF.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Похоже, что в череде всевозможных инициатив по борьбе со «сторонними» куками начал проглядываться конец. Давайте разберемся, что происходит и зачем все это нужно.
Куки — браузерный механизм, который позволяет хранить данные по пользователю с привязкой к домену и затем передавать эти данные при запросах. Куку можно установить как со стороны сервера через специальный заголовок Set‑Cookie, так и в браузере прямо на странице через javascript. После этого кука будет передаваться при каждом запросе из браузера к домену.
Куки позволяют воплощать в жизнь множество как полезных, так и сомнительных механик. Из неприятных — возможность отслеживания пользователя сторонними сайтами или увеличение риска CSRF.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤2
Работа с условными операторами
Условные операторы позволяют выполнить различные блоки кода в зависимости от заданных условий.
#полезное
Условные операторы позволяют выполнить различные блоки кода в зависимости от заданных условий.
#полезное
👍2
Какие методы используются для сбора данных о твоем браузере? Как собирают информацию о пользователях?
Фингерпринт пользователя — это уникальный набор данных о пользователе, который включает в себя информацию о его поведении в интернете, какие сайты он посещает, какие товары покупает, какие сообщения отправляет и т.д. Этот набор данных может быть использован для создания профиля пользователя и предоставления ему персонализированных рекомендаций или услуг.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Фингерпринт пользователя — это уникальный набор данных о пользователе, который включает в себя информацию о его поведении в интернете, какие сайты он посещает, какие товары покупает, какие сообщения отправляет и т.д. Этот набор данных может быть использован для создания профиля пользователя и предоставления ему персонализированных рекомендаций или услуг.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью