Solid principlesХочется вспомнить SOLID принципы и рассмотреть, как можно их применять в разработке интерфейсов на примере React компонентов.S: Single Responsibility Principle (Принцип единственной ответственности). Означает, что каждый класс/функция/компонент должны выполнять только одну конкретную задачу.На примере React компонента: компонент, который отрисовывает пользовательский интерфейс, не должен содержать в себе логику авторизации этого пользователя.O: Open-Closed Principle (Принцип отк…
В чём состоит проблемаИз всех последних изменений, которые будут внедрены в ECMAScript, моим любимым с большим отрывом от остальных стало предложение Temporal. Это предложение очень прогрессивное, мы уже можем воспользоваться этим API при помощи полифила, разработанного командой FullCalendar.Этот API настолько невероятен, что я, наверно, посвящу несколько постов описанию его основных возможностей. Однако в первом посте я расскажу об одном из его главных преимуществ: у нас наконец появился нати…
Mini Apps (или же Web Apps) - это относительно новый и удобный способ добавления веб приложения прямо в интерфейсе Telegram. Используя JavaScript, становится возможным создавать бесконечное множество интерфейсов, которые смогут заменить полноценный веб-сайт.Особенность Mini Apps заключается в том, что они поддерживают авторизацию, платежи одной кнопкой и возможность работать с данными пользователя, открывшего мини-приложение.И сегодня мы попробуем создать приложение, взаимодействующее с данными…
В этом посте я бы хотел порассуждать о тенденции, которую постоянно наблюдаю в мире разработки ПО. На самом деле, я бы даже рискнул сказать, что подобная ситуация происходит и в мире оборудования, но буду рассматривать только программные системы, потому что работаю с ними. В этой обсуждении я затрону человеческую психологию и опишу распространённую ловушку, которой вы, надеюсь, сможете избежать. Большую часть моей карьеры, как в науке, так и в отрасли, я занимался оптимизацией языков программ…
Привет друзья!В данной статье я хочу показать вам, как разработать форму с динамическими добавлениями полей на React.js с использованием библиотеки react-hook-form и валидацией полей с использованием библиотеки yup на конкретном примере.Формы являются неотъемлемой частью веб-разработки, и эффективная обработка пользовательского ввода является ключевым аспектом создания интерактивных приложений. Библиотека React Hook Form предоставляет разработчикам мощный инструментарий для упрощения работы с …
Или чистый JavaScript с двумя вспомогательными функциями?В этой статье я расскажу о том, как разрабатывать веб-компоненты с использованием библиотеки Fusor и преимуществах данного подхода.Такие компоненты можно будет затем собирать в полноценные веб-приложения, сопоставимые с теми, что созданы с использованием React, Angular, Vue, Solid, Svelte и т.д.АПИ Fusor состоит всего из двух основных функций:Создать DOM-элемент, обернутый в специальный объект.Обновить DOM-элемент, обернутый в специальный…
ВведениеВсем привет. Сегодня я хочу поговорить об использовании WASM с C++ и разберу, как взаимодействовать с этим всем делом через JavaScript.Когда я начинал изучение технологии WASM, которая является довольно интересной и обсуждаемой темой в последние несколько лет. Почти сразу я столкнулся со значительным разрывом в уровнях туториалов (материалы либо очень простые и не имеют смысла, либо для совсем продвинутого уровня) и скудной документацией. То есть, вхождение новичков может быть затруднен…
Всем привет, я создатель https://vatsim-radar.com/ и сегодня я чуть не умер. В общем, дело такое. Мы - карта виртуальных самолетиков. Недавно нас пропиарили на официальном уровне, и теперь мы обслуживаем тысячи человек ежедневно - в подвале при открытии сайта будет показано, сколько там сидит прямо сейчас ("in Radar").Ранее мы обновлялись раз в 15 секунд с реальной задержкой от игры в примерно 30 секунд. Это всё дело кэшировалось на Cloudflare, и мы прекрасно жили - пока нам в какой-то …
Что такое строкаДля того чтобы лучше понять, что происходит под капотом V8, для начала стоит вспомнить немного теории.Спецификация ECMA-262 гласит:The String type is the set of all ordered sequences of zero or more 16-bit unsigned integer values (“elements”) up to a maximum length of 2**53 - 1 elements.Тип String — это набор всех упорядоченных последовательностей из нуля или более 16-разрядных целых беззнаковых чисел (“элементов”) максимальной длиной 2**53 - 1 элементов.На практике в машинной п…