Category : javascript

javascript
Отделяем стек от рекурсии

В этой статье я расскажу как с помощью генераторов можно модифицировать рекурсию так, чтобы она использовала кучу вместо стека и при этом почти не отличалась от обычной рекурсии.Постановка проблемыПусть дана некоторая рекурсивная функция, которую сложно выразить обычным циклом. Для примера я возьму функцию АккерманаНаивная реализацияconst ackermann1 = (m, n) => { if (m === 0) { return n + 1; } if (n === 0) { return ackermann1(m - 1, 1); } return ackermann1(m - 1, ackerman…

  • среда, 21 августа 2024 г. в 00:00:03
javascript
Как понять, что сайт был загружен из кэша

Не так давно потребовалось узнать, что сайт был загружен из кэша — для просмотра и сравнения скорости “холодного” старта и скорости повторной загрузки, когда статические ресурсы уже закэшированы браузером.Сначала казалось, что это простая задача, которую можно решить быстрым и надежным способом (и, скорее всего, есть готовые статьи на эту тему), но оказалось, что хороший способ найти не так просто, так же, информации на эту тему не особо много.Эта статья показывает способы, с помощью которых мо…

  • вторник, 20 августа 2024 г. в 00:00:07
javascript
Обучение детей HTML, CSS, JavaScript: обзор курса по созданию сайтов

Сайт в наше время является визитной карточкой не только компаний, которые продают товары и оказывают услуги. Свои веб-страницы заводят рок-группы, блогеры, благотворительные фонды. Даже у животных есть свои собственные сайты. Все это говорит о том, что специалисты по созданию сайтов востребованы. И научиться этому может каждый, даже школьник без специальных навыков. HTML и CSS — это понятия, которые многим взрослым и детям знакомы с занятий школьной информатики, с уроков html для детей. С их по…

  • воскресенье, 18 августа 2024 г. в 00:00:06
javascript
Один день из жизни JavaScript разработчика и его техлида

Привет, друзья!По долгу службы я очень много времени трачу на ревью кода своей команды. Ревью кода на столько глубоко вошло в мою жизнь, что отрывок из одного из них я решил переложить на бумагу. В этой небольшой заметке вашему вниманию предлагается диалог разработчика и его лида на код ревью. Посмотрим, как они приходят к финальному решению, какие стадии претерпевает код в процессе рефакторинга, как рассуждают лид и его подопечный и какое красивое итоговое решение у них получится.Если вам это …

  • воскресенье, 18 августа 2024 г. в 00:00:05
javascript
Как я создавал онлайн игру «нарды» (часть вторая). Сервер

Всем привет!Напомню, что в первой части я рассказал о том, как выбирал игру и как начинался процесс ее создания. В конце статьи было голосование, о чем написать в следующей части и большинство выбрало тему сервера, по этому сегодня статья о нем.Последние несколько лет я использую исключительно облачную инфраструктуру для запуска проектов, это не только позволяет существенно экономить финансовые ресурсы на этапе разработки, но и дает возможность в дальнейшем легко масштабировать мощности по мере…

  • воскресенье, 18 августа 2024 г. в 00:00:04
javascript
Динамический рендеринг Angular-компонентов

Привет Хабр. На связи Даня, Angular-разработчик из команды Т-Бизнеса.У меня для вас статья по работе с динамическими компонентами. Мы подробно рассмотрим процесс создания этих компонентов, будут детальные примеры кода и пошаговое руководство всего процесса создания. Я добавил комментарии и описания, чтобы прояснить важные моменты и улучшить понимание концепций.Добро пожаловать под кат!Для чего оно нужноФреймворк Angular преподносит немало трудностей во время работы с ним. Большое влияние на это…

  • пятница, 16 августа 2024 г. в 00:00:09
javascript
Расширяем кругозор: Garbage Collector в V8

Всем привет, Хабрчане! Во время подготовки к очередному тех-собесу, я задался вопросом: а как в V8 работает Garbage Collector, что такое Heap и Stack, про которые я неоднократно слышал? После прочтения нескольких англоязычных и русскоязычных ресурсов понял, что одни копают очень глубоко, а другие дают лишь минимальную базу. Я решил сделать что-то среднее и с агрегировать все эти знания в одну статью, плавно погружая читателя в тему.Кстати, я начинающий Node.js разработчик и это моя первая стать…

  • пятница, 16 августа 2024 г. в 00:00:07
javascript
Анимации Hover и эффекты Blur: Полный гид по созданию динамических карточек

В этой статье мы подробно рассмотрим, как реализовать анимацию с эффектом Hover для карточек, как показано ниже. Основные трудности, которые нам предстоит решить:При движении мыши отображается граница и световой эффект текущего края карты.Эффект только рядом с курсором: Существует несколько подходов для реализации этого эффекта. Можно рассчитать зону вокруг курсора и применять эффект только в этой области, но это может быть слишком ресурсоемко.Альтернативный подход — использовать маску. Можно…

  • пятница, 16 августа 2024 г. в 00:00:06
javascript
Понимание спецификации ECMAScript, часть 3

Привет, Хабр! Представляю вашему вниманию перевод третьей статьи автора Marja Hölttä из цикла Understanding ECMAScript. Материал статьи актуальный для версии EcmaScript2025. Перевод первой статьи. Перевод второй статьи. В этой части мы углубимся в дефиниции языка спецификации ECMAScript и её синтаксис. Если вы не знакомы с безконтекстной (context-free) грамматикой, сейчас самое время ознакомиться с основами, поскольку спецификация использует context-free грамматику для определения языка. В ка…

  • пятница, 16 августа 2024 г. в 00:00:05