ВведениеВсем привет. Сегодня я хочу поговорить об использовании 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 элементов.На практике в машинной п…
Angular теперь поддерживает TypeScript isolatedModules начиная с версии Angular 18.2. Благодаря этой поддержке мы сможем заметить увеличение производительности до 10% во времени сборки для production на своих проектах.Разработчики всегда заинтересованы в улучшении производительности и в этом материале опишу, как можно воспользоваться этой функцией на проектах.Как isolatedModules работает?При использовании сборщика приложений в Angular-приложении и включенной опции TypeScript - isolatedModules, …
Понимание того, как поисковые системы изучают, рендерят и индексируют веб-страницы, имеет решающее значение для оптимизации сайтов под поисковые системы. По мере изменений в работе поисковых систем (например, Google), отслеживать, что работает, а что нет, становится все сложнее, особенно в случае с клиентским JS. Все еще существуют устаревшие убеждения, вводящие в заблуждение SEO-специалистов относительно выбора лучших решений для поисковой оптимизации приложений: Google не умеет рендерить …
В этой статье я расскажу как с помощью генераторов можно модифицировать рекурсию так, чтобы она использовала кучу вместо стека и при этом почти не отличалась от обычной рекурсии.Постановка проблемыПусть дана некоторая рекурсивная функция, которую сложно выразить обычным циклом. Для примера я возьму функцию АккерманаНаивная реализацияconst ackermann1 = (m, n) => { if (m === 0) { return n + 1; } if (n === 0) { return ackermann1(m - 1, 1); } return ackermann1(m - 1, ackerman…
Не так давно потребовалось узнать, что сайт был загружен из кэша — для просмотра и сравнения скорости “холодного” старта и скорости повторной загрузки, когда статические ресурсы уже закэшированы браузером.Сначала казалось, что это простая задача, которую можно решить быстрым и надежным способом (и, скорее всего, есть готовые статьи на эту тему), но оказалось, что хороший способ найти не так просто, так же, информации на эту тему не особо много.Эта статья показывает способы, с помощью которых мо…
Сайт в наше время является визитной карточкой не только компаний, которые продают товары и оказывают услуги. Свои веб-страницы заводят рок-группы, блогеры, благотворительные фонды. Даже у животных есть свои собственные сайты. Все это говорит о том, что специалисты по созданию сайтов востребованы. И научиться этому может каждый, даже школьник без специальных навыков. HTML и CSS — это понятия, которые многим взрослым и детям знакомы с занятий школьной информатики, с уроков html для детей. С их по…
Привет, друзья!По долгу службы я очень много времени трачу на ревью кода своей команды. Ревью кода на столько глубоко вошло в мою жизнь, что отрывок из одного из них я решил переложить на бумагу. В этой небольшой заметке вашему вниманию предлагается диалог разработчика и его лида на код ревью. Посмотрим, как они приходят к финальному решению, какие стадии претерпевает код в процессе рефакторинга, как рассуждают лид и его подопечный и какое красивое итоговое решение у них получится.Если вам это …