Рис 1. Одновременная работа в редакторе схемWebRTC позволяет браузерам обмениваться информацией напрямую без сервера. Можно передавать видео, звук и данные. Установить WebRTC соединение можно разными способами. В статье описано как WebRTC соединение устанавливается между пользователями редактора схем dgrm.net.В DGRM клиенты не соединяются “каждый с каждым”. События клиентам рассылает браузер инициатора встречиКогда пользователь добавляет фигуру, меняет цвет или двигает курсор - данные о событи…
В современном мире, где цифровая трансформация становится неотъемлемой частью нашей повседневной жизни, веб-приложения занимают ведущее место, предоставляя доступ к огромному разнообразию услуг и информации. От онлайн-магазинов до банковских систем, от социальных сетей до систем управления данными - веб-приложения охватывают практически все аспекты нашего взаимодействия с цифровым миром.Однако, с ростом функциональности и сложности веб-приложений, неизбежно возрастает и уровень угроз для их бе…
Демо Демо здесь. Зачем GitHub Copilot доступен бесплатно для подтверждённых учащихся, преподавателей и мейнтейнеров популярных проектов с открытым исходным кодом. Учащиеся и преподаватели: см. Преимущества для всех в школе [en]. Мейнтейнеры: проверьте https://github.com/github-copilot/free_signup Если Copilot недоступен, значит ваш проект не соответствует критериям, т.е. ему нужно больше звёзд. Даже если вы не подходите под указанные выше критерии, стоимость платной подписки (Individual) бол…
Всем привет! Я Виктор Кугай, руководитель команды разработки спецпроектов в Тинькофф. Мы создаем геймификационные проекты, основанные на данных, чтобы познакомить пользователей с экосистемой компании и повысить узнаваемость бренда.Расскажу, как с помощью Node.js Streams и механизма Back Pressure протокола TCP реализовать пакетную обработку сотен гигабайтов данных на машинах с жестким лимитом памяти.Как мы передаем по сети большие объемы данныхСпецпроекты помогают пользователям в игровой форме …
Стек технологий для запуска нового продукта в компании обычно выбирается исходя из того, с чем команда работала до этого и сколько наработок уже имеется.Однако если вы свободны от необходимости использования какого-либо наследия (набираете новую команду или ищете актуальные технологии для изучения), то эта статья поможет вам выбрать, что стоит использовать для запуска продукта или сервиса. Меня зовут Евгений Корнеев и я постараюсь дать разностороннюю оценку с точки зрения зрелости технологии, …
Демо Демо здесь. Зачем GitHub Copilot доступен бесплатно для подтверждённых учащихся, преподавателей и мейнтейнеров популярных проектов с открытым исходным кодом. Учащиеся и преподаватели: см. Преимущества для всех в школе [en]. Мейнтейнеры: проверьте https://github.com/settings/copilot Если Copilot недоступен, значит ваш проект не соответствует критериям, т.е. ему нужно больше звёзд. Даже если вы не подходите под указанные выше критерии, стоимость платной подписки (Individual) более доступн…
В этой статье мы детально разберем процесс сборки мусора движком V8. Познакомимся с понятиями поколений, Minor и Major Garbage Collection, посмотрим, как аллоцируются, трассируются и маркируются объекты в памяти. Что происходит с пустыми областями после очистки и как выполняется сборка мусора в фоновом режиме. Что собирается сборщиком мусораПрежде чем погрузиться в процесс самой сборки мусора, давайте сначала разберемся, что именно V8 собирает и как трассирует объекты.Во время работы V8 в памя…
Привет! Меня зовут Егор Стеблин, я фронтенд-разработчик отдела спецпроектов в KTS.В статье расскажу и покажу, как сверстать письмо, чтобы оно наверняка правильно отображалось во всех почтовых клиентах — особенно в Outlook, который до сих пор возглавляет подборки по популярности в РФ.Что будет в статьеЗачем вообще нужны email-рассылкиЗачем верстать письма вручнуюЧто может пойти не такПроблема OutlookБазовые принципыВёрстка в HTMLВёрстка в CSSШрифтыФантомные таблицыПример целого письма в HTMLЗак…
Привет, Хабр!Начало истории модульности в JavaScript положило хаос: глобальные переменные, конфликты имен и сложности с зависимостями. Со временем сообщество предложило несколько подходов для организации модулей, начиная от CommonJS, которое легло в основу Node.js, до AMD, предпочтительного для асинхронной загрузки кода в браузерах. И приближаясь к настоящему времени появился ES Modules стандартизированный и встроенный в язык механизма модулей, который стал частью ECMAScript в 2015 году.В этой…