Использование Proxy и Reflect для создания реактивных объектов в JavaScript
#почитать
Proxy — это встроенный объект в JavaScript, который позволяет создавать обертки для объектов и перехватывать стандартные операции с ними, такие как: доступ к свойствам, их изменение, удаление и другие. Это мощный инструмент, который можно использовать для реализации различных паттернов, например, для создания реактивных объектов, создания ленивая инициализации свойств, проверки прав доступа и выполнения других задач.
⏱ Читать статью
#почитать
Proxy — это встроенный объект в JavaScript, который позволяет создавать обертки для объектов и перехватывать стандартные операции с ними, такие как: доступ к свойствам, их изменение, удаление и другие. Это мощный инструмент, который можно использовать для реализации различных паттернов, например, для создания реактивных объектов, создания ленивая инициализации свойств, проверки прав доступа и выполнения других задач.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Почему в target="_blank" нижнее подчеркивание?
#почитать
Вы когда-нибудь задумывались, зачем нужно подчеркивание в target="_blank", чтобы открыть ссылку в новой вкладке?
До появления HTML5 разработчики использовали <frameset> для SPA-подобной функциональности, разделяя окно на несколько фреймов, каждый из которых имел свое уникальное имя. Например, левый фрейм мог быть name="sidebar", а правый - name="content".
При нажатии на ссылку браузеру нужно было знать, в какой фрейм загружать содержимое. Вот тут-то и пригодился атрибут target.
⏱ Читать статью
#почитать
Вы когда-нибудь задумывались, зачем нужно подчеркивание в target="_blank", чтобы открыть ссылку в новой вкладке?
До появления HTML5 разработчики использовали <frameset> для SPA-подобной функциональности, разделяя окно на несколько фреймов, каждый из которых имел свое уникальное имя. Например, левый фрейм мог быть name="sidebar", а правый - name="content".
При нажатии на ссылку браузеру нужно было знать, в какой фрейм загружать содержимое. Вот тут-то и пригодился атрибут target.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔2🔥1
tabs-broadcast — библиотека для синхронизации вкладок
#почитать
tabs-broadcast — это открытая библиотека JavaScript, предназначенная для удобной коммуникации между вкладками браузера в одном приложении. Она решает распространенную проблему: как синхронизировать состояние и события между несколькими вкладками без лишних запросов к серверу и без сложных обходных путей. С помощью этой библиотеки разработчики могут организовать обмен сообщениями между вкладками так, будто это единое приложение, обеспечивая согласованность данных и оптимизируя нагрузку.
⏱ Читать статью
#почитать
tabs-broadcast — это открытая библиотека JavaScript, предназначенная для удобной коммуникации между вкладками браузера в одном приложении. Она решает распространенную проблему: как синхронизировать состояние и события между несколькими вкладками без лишних запросов к серверу и без сложных обходных путей. С помощью этой библиотеки разработчики могут организовать обмен сообщениями между вкладками так, будто это единое приложение, обеспечивая согласованность данных и оптимизируя нагрузку.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Кастомные хуки в React
#почитать
React хуки произвели революцию в том, как мы пишем компоненты, особенно новые хуки из 19 версии для форм. Но помимо встроенных хуков, мы можем создавать собственные, чтобы переиспользовать логику между компонентами.
⏱ Читать статью
#почитать
React хуки произвели революцию в том, как мы пишем компоненты, особенно новые хуки из 19 версии для форм. Но помимо встроенных хуков, мы можем создавать собственные, чтобы переиспользовать логику между компонентами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
ТОП-15 UI-библиотек для React в 2025 году
#почитать
Подробный обзор популярных UI-библиотек для React: от Material UI до Park UI. Сравнение возможностей, статистика использования, ключевые особенности каждой библиотеки.
⏱ Читать статью
#почитать
Подробный обзор популярных UI-библиотек для React: от Material UI до Park UI. Сравнение возможностей, статистика использования, ключевые особенности каждой библиотеки.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1🔥1
HTML & CSS for a One-Time Password Input
#почитать
You know those One Time Password inputs? The UI is typically 4 or 6 numbers with individual inputs. Just from today…
⏱ Читать статью
#почитать
You know those One Time Password inputs? The UI is typically 4 or 6 numbers with individual inputs. Just from today…
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Предзагрузка отзывчивых изображений
#почитать
Отзывчивые изображения и предзагрузка не очень хорошо сочетаются друг с другом. Когда используются отзывчивые изображения, браузер принимает разумные решения о том, какое изображение загрузить, основываясь на характеристиках устройства. Но перед тем, как эти решения будут приняты, должна произойти предварительная загрузка. Давайте узнаем, как сделать так, чтобы они работали вместе.
⏱ Читать
#почитать
Отзывчивые изображения и предзагрузка не очень хорошо сочетаются друг с другом. Когда используются отзывчивые изображения, браузер принимает разумные решения о том, какое изображение загрузить, основываясь на характеристиках устройства. Но перед тем, как эти решения будут приняты, должна произойти предварительная загрузка. Давайте узнаем, как сделать так, чтобы они работали вместе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Понимая реактивные системы: производные, эффекты и оптимизация
#почитать
С этой статьи я начну цикл материалов, посвященных базовым концепциям реактивности, основанных на идеях и примерах, которые подробно изложил автор SolidJS, Райан Карниато (Ryan Carniato), в своем блоге. Наша цель — разобрать фундаментальные принципы, лежащие в основе реактивных систем, и показать их применимость в различных контекстах.
⏱ Читать статью
#почитать
С этой статьи я начну цикл материалов, посвященных базовым концепциям реактивности, основанных на идеях и примерах, которые подробно изложил автор SolidJS, Райан Карниато (Ryan Carniato), в своем блоге. Наша цель — разобрать фундаментальные принципы, лежащие в основе реактивных систем, и показать их применимость в различных контекстах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1
Дзен и публикация картинок
#почитать
Я - фуллстек-разработчик, который специализируется на проектах, со значительным уклоном в R&D. Мне часто бывает нужно публиковать побочные артефакты своей работы, такие как веб-страницы с документацией, техническими статьями, интерактивные демо, прототипы и эксперименты, какие-то промо-страницы и так далее. Естественно, все это должно быть проиллюстрировано скриншотами интерфейсов, диаграммами, различными примерами рендеров и прочими фотками котиков.
При этом, я предпочитаю подходы и практики, которые минимизируют переключения контекстов и разрастание количества сущностей, с которыми приходится взаимодействовать. Это позволяет мне быть более эффективным. Доки и статьи я пишу прямо в IDE, в формате markdown, храню их в git. Сборка и публикация в веб, происходит автоматически, через git-хуки и экшены. Это делает совместную работу с коллегами-технарями комфортной, а наши общие бизнес-процессы - более легковесными. В идеале, я хочу, чтобы картинки тоже были частью такого дзена. Но...
⏱ Читать статью
#почитать
Я - фуллстек-разработчик, который специализируется на проектах, со значительным уклоном в R&D. Мне часто бывает нужно публиковать побочные артефакты своей работы, такие как веб-страницы с документацией, техническими статьями, интерактивные демо, прототипы и эксперименты, какие-то промо-страницы и так далее. Естественно, все это должно быть проиллюстрировано скриншотами интерфейсов, диаграммами, различными примерами рендеров и прочими фотками котиков.
При этом, я предпочитаю подходы и практики, которые минимизируют переключения контекстов и разрастание количества сущностей, с которыми приходится взаимодействовать. Это позволяет мне быть более эффективным. Доки и статьи я пишу прямо в IDE, в формате markdown, храню их в git. Сборка и публикация в веб, происходит автоматически, через git-хуки и экшены. Это делает совместную работу с коллегами-технарями комфортной, а наши общие бизнес-процессы - более легковесными. В идеале, я хочу, чтобы картинки тоже были частью такого дзена. Но...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1🔥1
Глубокое погружение в работу с таймерами в React
#почитать
При реализации таймеров в React важно учитывать:
Очистку ресурсов при размонтировании компонента
Корректную работу с замыканиями
Обработку изменений состояния компонента
⏱ Читать статью
#почитать
При реализации таймеров в React важно учитывать:
Очистку ресурсов при размонтировании компонента
Корректную работу с замыканиями
Обработку изменений состояния компонента
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1🔥1
Fast & Smooth Third-Party Web Fonts
#почитать
If you're loading fonts from a popular third party provider like Google Fonts or Typekit, the stylesheet link-based loading snippets they offer are not great from a performance perspective. Like any ordinary stylesheet, they block page rendering while they are loading, and for all that delay, the CSS you get merely contains font-face definitions for fonts that may be subsequently downloaded if they're used in that page. These steps add up and can make it hard to keep sites rendering quickly.
⏱ Читать статью
#почитать
If you're loading fonts from a popular third party provider like Google Fonts or Typekit, the stylesheet link-based loading snippets they offer are not great from a performance perspective. Like any ordinary stylesheet, they block page rendering while they are loading, and for all that delay, the CSS you get merely contains font-face definitions for fonts that may be subsequently downloaded if they're used in that page. These steps add up and can make it hard to keep sites rendering quickly.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1
15 полезных JavaScript сниппетов на все случаи жизни
#почитать
Начинающим разработчикам часто приходится искать быстрые решения для типичных задач, таких как копирование текста в буфер обмена, обработка URL-параметров или управление элементами DOM. В этой статье мы собрали 15 полезных JavaScript сниппетов, которые помогут значительно упростить работу и ускорить разработку: эти небольшие, но эффективные фрагменты кода пригодятся почти в любом проекте.
⏱ Читать статью
#почитать
Начинающим разработчикам часто приходится искать быстрые решения для типичных задач, таких как копирование текста в буфер обмена, обработка URL-параметров или управление элементами DOM. В этой статье мы собрали 15 полезных JavaScript сниппетов, которые помогут значительно упростить работу и ускорить разработку: эти небольшие, но эффективные фрагменты кода пригодятся почти в любом проекте.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥1
Эксперимент: Автоматическое включение View Transitions с MutationObserver
#почитать
Вместо того чтобы добавлять document.startViewTransition в различные места JS, используйте MutationObserver, следящий за мутациями DOM. В обратном вызове Observer'а отмените исходную мутацию и примените её снова, но на этот раз обернув во View Transition.
⏱ Читать
#почитать
Вместо того чтобы добавлять document.startViewTransition в различные места JS, используйте MutationObserver, следящий за мутациями DOM. В обратном вызове Observer'а отмените исходную мутацию и примените её снова, но на этот раз обернув во View Transition.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1
HTML элемент <details>: Встроенный аккордеон, который вы не используете
#почитать
HTML элемент <details>, возможно, один из самых недооценённых встроенных элементов. Меня постоянно удивляет, как много разработчиков прибегают к использованию JavaScript, когда им нужно показать/скрыть содержимое, совершенно не обращая внимания на эту встроенную возможность.
⏱ Читать статью
#почитать
HTML элемент <details>, возможно, один из самых недооценённых встроенных элементов. Меня постоянно удивляет, как много разработчиков прибегают к использованию JavaScript, когда им нужно показать/скрыть содержимое, совершенно не обращая внимания на эту встроенную возможность.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Чеклист для tsconfig.json
#почитать
В этой статье я расскажу о настройках TypeScript, определяемых в файле tsconfig.json, которых я использую в своих проектах.
⏱ Читать статью
#почитать
В этой статье я расскажу о настройках TypeScript, определяемых в файле tsconfig.json, которых я использую в своих проектах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1
Deeplink в React Native: Полное руководство
#почитать
Deeplinking — технология, которая позволяет открывать конкретные экраны или контент внутри мобильного приложения через URL-ссылки. Она особенно полезна для прямых переходов из уведомлений, ссылок с веб-сайтов, поделённых ссылок через социальные сети и интеграций с маркетинговыми кампаниями. В этой статье мы подробно рассмотрим, как настроить и использовать deeplinks в React Native.
⏱ Читать статью
#почитать
Deeplinking — технология, которая позволяет открывать конкретные экраны или контент внутри мобильного приложения через URL-ссылки. Она особенно полезна для прямых переходов из уведомлений, ссылок с веб-сайтов, поделённых ссылок через социальные сети и интеграций с маркетинговыми кампаниями. В этой статье мы подробно рассмотрим, как настроить и использовать deeplinks в React Native.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
Облачные IDE: тестируем лучшие онлайн-редакторы кода
#почитать
Полезные сервисы: Replit, CodeSandbox, GitHub Codespaces, JetBrains Fleet, StackBlitz. Обзор возможностей, плюсы и минусы, какие задачи лучше решать в каждой среде.
⏱ Читать статью
#почитать
Полезные сервисы: Replit, CodeSandbox, GitHub Codespaces, JetBrains Fleet, StackBlitz. Обзор возможностей, плюсы и минусы, какие задачи лучше решать в каждой среде.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Несколько интересных вещей о @counter-style
#почитать
Недавно читал статью Хуана в Almanac, посвящённую at-правилу @counter-style, и готов поклясться, что он раскрыл и разобрал некоторые чрезвычайно интересные вещи, которые можно сделать для стилизации списков, в частности, маркер списка. Вы, вероятно, уже знаете о псевдоэлементе ::marker. Возможно, вам доводилось работать с кастомными счётчиками, использующими counter-reset и counter-increment. А может быть, вы предпочитаете удалять list-style (будьте осторожны!) и вручную добавлять маркер в псевдоэлемент ::before элемента списка.
⏱ Читать статью
#почитать
Недавно читал статью Хуана в Almanac, посвящённую at-правилу @counter-style, и готов поклясться, что он раскрыл и разобрал некоторые чрезвычайно интересные вещи, которые можно сделать для стилизации списков, в частности, маркер списка. Вы, вероятно, уже знаете о псевдоэлементе ::marker. Возможно, вам доводилось работать с кастомными счётчиками, использующими counter-reset и counter-increment. А может быть, вы предпочитаете удалять list-style (будьте осторожны!) и вручную добавлять маркер в псевдоэлемент ::before элемента списка.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5