Обновить
231.68

JavaScript *

Прототипно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Тесты производительности фреймворка Cample.js. Отчёт № 1

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели1.5K

В данной статье содержатся тесты фреймворка Cample.js версии 3.2.0-alpha.12. Это первый отчёт о производительности. Нулевой отчёт вышел несколько месяцев тому назад. Отчёт включает в себя сравнения по производительности с популярными фреймворками и библиотекой, а также сравнение с реализацией на чистом javascript. Все результаты тестов основаны на показателях keyed реализации в репозитории js-framework-benchmark в github. Сами они располагаются на странице выпуска №122.

Читать далее

Релиз Bun Shell (новый shell для JavaScript)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.2K

JavaScript — самый популярный скриптовый язык в мире. Так почему же так сложно запускать shell-скрипты на JavaScript?

Этим вопросом задались создатели Bun (альтернатива Node.js - очень быстрый runtime для запуска JS-кода, а также менеджер зависимостей, тест раннер, бандлер для фронтенда, транспилятор TypeScript и не только).

20 январе 2024 в рамках Bun v1.0.24 был представлен Bun Shell - встроенный интерпретатор shell-подобных скриптов. Под катом узнаем зачем это нужно и какой функционал уже доступен.

Читать далее

Интерактивная диаграмма Ганта для тысяч работ

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели18K

Всем привет! Я расскажу, с помощью каких алгоритмов и архитектуры можно разработать с нуля интерактивную диаграмму Ганта, способную без лагов отображать тысячи задач.

Читать далее

Redux vs Mobx кого же выбрать для React-приложения в 2024 году?

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели34K

Привет, Хабр!

Сегодня я хочу поделиться с вами своими размышлениями о том, какой стейт менеджер лучше использовать для разработки приложений на React в 2024 году. Как вы знаете, React — это одна из самых популярных и мощных библиотек для создания пользовательских интерфейсов, которая предоставляет множество возможностей и преимуществ для разработчиков. Однако, по мере роста и усложнения приложений на React, возникает необходимость в управлении состоянием и данными, которые используются в разных компонентах. Для этого существуют различные решения, называемые стейт менеджерами. Стейт менеджер — это инструмент, который позволяет централизованно хранить, обновлять и передавать данные между компонентами, а также реагировать на изменения состояния.

В этой статье я рассмотрю два из самых популярных и зрелых стейт менеджеров для React: Redux и Mobx, а так же разберём и сравним Redux Toolkit и mobx-state-tree. Я сравню их основные принципы, преимущества и недостатки, а также покажу примеры их использования в коде. Также я попытаюсь ответить на вопрос, какой из них лучше подходит для разработки современных приложений на React в 2024 году.

Читать далее

Разработка Tizen-приложения для Samsung Smart Signage Platform (SSSP): гайд для js-разработчиков

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели8.9K

В этой статье я хочу рассказать о своем увлекательном путешествии в мир ОС Tizen. В ней я постараюсь подробно описать не только основные шаги по установке Tizen Studio и созданию проекта, но и поделюсь с вами ценными практическими советами по разработке приложений, освещая ключевые аспекты работы с интерфейсом пользователя и эффективного тестирования.

Читать далее

Создание Web components на Vue 3

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.7K

Можно написать на Vue 3 какой-нибудь полезный компонент и захотеть дать возможность использовать его не только в Vue проектах, но и на любых других фронтендах. Сделать это несложно через регистрацию его как web component, или подключение "микро-фронтендом". Оба варианта будут рассмотрены ниже.

Читать далее

Предсказание от We Wizards: сегодня вас ждут успех в делах и новые скиллы

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели1.2K

Вместе с Creative Developer We Wizards Даниилом Сарабьевым сделаем сервис, позволяющий получить случайный набор закрытых таро с возможностью вскрыть выбранные карты.

Читать далее

1/n: Задачи leetcode JS — «Max Consecutive Ones» (Найти максимальное количество последовательных единиц)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.5K

Всем привет.

Я столкнулся с тем, что на собеседования в некоторые ИТ-компании на Frontend JavaScript требуется решать задачи, и я решил сделать серию статей на тему, как я решил их тем или иным образом. Перед вами — первый текст из серии.

Для решения будем использовать язык программирования TypeScript.

Читать далее

Первое приложение на SolidJS

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели14K

В этой статье познакомимся с SolidJS − JavaScript-библиотекой для создания пользовательских интерфейсов без виртуального DOM. Мы создадим легкий список задач с использованием TypeScript и разберем некоторые особенности библиотеки.

Читать далее

Не стоит недооценивать HTML

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели25K

«HTML – это просто», «Разрабатывать фронтенд проще, чем бэкенд», «После реализации бэкенда обновление UI не должно составлять труда», – за время работы в сфере веб-разработки вокруг меня то и дело звучали эти и другие аналогичные утверждения.

И очень часто они вызывали у меня грусть.

Дело в том, что бо́льшую часть времени я проводила за написанием фронтенда, включая работу с HTML, CSS и JavaScript (по факту в основном TypeScript). Когда кто-нибудь говорит мне о «простоте» моей работы, я начинаю думать, что мои навыки не представляют высокой ценности, и меня может легко заменить любой разработчик…

В статье же я решила описать свои размышления, которые рождались в течение последних двух лет во время работы с людьми из разных команд с разным опытом в HTML-разработке и фронтенд-технологиях в целом. Здесь я озвучу несколько основных своих вопросов «Почему?», сопроводив их возможными ответами.
Читать дальше →

Интеграция React и AngularJS через Webpack Module Federation

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели5.1K

Переходите с AngularJS на React без стресса и суеты. В этой статье я поделюсь с вами способом, как оживить ваш проект, плавно встроив элементы React в структуру, построенную на добром старом AngularJS. Мы все знаем, что рефакторинг или полная смена фреймворка может пугать, особенно когда вложены годы труда. Но не волнуйтесь, я покажу, как использовать микрофронтенды и Module Federation для того, чтобы дать вашему приложению свежее дыхание, сохраняя при этом все то хорошее, что было накоплено за годы.

Читать далее

Ты наконец-то поймешь асинхронность в JS

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели54K

Привет, друзья! Сегодня мы поговорим о том, что такое асинхронность в JavaScript и как она работает. Это одна из тех вещей, которые кажутся сложными, но на самом деле довольно просты, как только разберешься.

Читать далее

Собираем метрики Node.js приложений в PM2 с экспортом в Prometheus

Время на прочтение4 мин
Охват и читатели7.8K

Ни для кого не секрет что для устойчивой и надежной работы node.js приложений необходимо проводить мониторинг их работы и делать полезные выводы глядя на их метрики. Это означает, что вы способны получать информацию о состоянии до возникновения проблем, таким образом, предотвращая сбои.

В этой статье я хотел бы рассказать о способе сбора статистики из node.js приложений, которые запущены в PM2, и экспорт этих данных в Prometheus.

Читать далее

Ближайшие события

Храним файлы Strapi в облаке Selectel

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели2.5K

Привет, я некоторое время работаю над своим пет проектом, где в основном занимаюсь фронтом, а для данных использую headless CMS под названием strapi.io. В какой-то момент у меня появилась потребность вынести медиа хранилище из локальной папки в облако. А так-как основной проект уже находился долгое время на серверах Selectel, я решил воспользоваться их объектным хранилищем и подключится к нему с помощью плагина “@strapi/provider-upload-aws-s3“. И в этой статье я вам опишу краткий гайд как это сделать.

Читать далее

Total.js и интеграция с ИИ

Время на прочтение10 мин
Охват и читатели7.1K

Динамика приложений с искусственным интеллектом продолжает сеять вопросы по выбору “удачного” фреймворка, который мы могли бы использовать при создании. Поскольку именно от нашего выбора в принципе и зависит продолжительность жизни нашего детища.

В этой статье я бы хотела обратиться к одному старенькому фрейморку, рассмотреть его особенности и фичи, которые способные выделить его на фоне другого софта. Так ли он хорош? А если хорош, то почему?

Не буду затягивать с буквами во вступлении и предлагаю перейти сразу к делу!

Приятного прочтения(:

Читать далее

AI не только подбирает партнеров в Тиндере — он еще и планирует свидания на 14 февраля

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели1.6K

Мы попросили чат-ботов с искусственным интеллектом спланировать свидание на День святого Валентина. Они оказались на удивление полезными. Оказалось, что AI знает толк в любви — или, по крайней мере, в том, как спланировать романтический вечер.

Читать далее

Как создать YouTube GIF Maker с использованием Next.js, Node и RabbitMQ

Время на прочтение28 мин
Охват и читатели4K

В этом руководстве мы рассмотрим разработку веб-приложения по созданию GIF-файлов из видеороликов.

Функциональные возможности приложения:
- Создание GIF из видео на YouTube с определённым временным диапазоном.
- Предварительный просмотр результата перед выполнением фактической конвертации.

Компоненты системы:
- Клиентская часть на React (Next.js)
- Бэкенд-сервер на Node
- Node как Service Worker
- В качестве брокера сообщений — RabbitMQ
- Для хранения данных — MongoDB
- Для хранения медиафайлов — Google Cloud Storage

Полный код проекта можно найти на github, а по этой ссылке посмотреть демо-версию приложения.

Читать далее

Больше библиотек богу библиотек или как я переосмыслил i18n [next.js v14]

Время на прочтение6 мин
Охват и читатели6K

Для интернационализации сделаны десятки по-своему потрясающих библиотек, такие как i18n, react-intl, next-intl. Все они отлично справляются со своей задачей - добавляют переводы в приложение или на сайт. Большинство из них проверены, отлажены и стабильно поддерживаются.

Но все они устарели.

Ведь всё это время развивалось и экосистема реакта. Так, последняя версия next.js включила крупные обновления из react.js - cache, taint, новые хуки и, конечно же, серверные компоненты. Команда самого React.js, вероятно, представит эти изменения уже в мае.

В этой статье я расскажу о ключевых изменениях, личном опыте, проблемах существующих решений, необходимым обновлениях, решениях, к которым я пришёл и, конечно же, отвечу на вопросы зачем, а самое главное - зачем?

Читать далее

Об одном способе веб-скрапинга сайтов, защищенных Cloudflare

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели44K

Сразу оговорюсь, что описанное ниже носит исключительно информационно-образовательный характер, и не имеет целью нанесение какого-либо ущерба компаниям, использующим защиту из заголовка статьи. По этим же причинам фокусировка статьи именно на том, как получить заветный html «как из браузера» в автоматизированном режиме, и здесь не будет идти речь о каких-то массовых распараллеливаниях через proxy и VPN, подкладываниях отпечатков (finger prints) браузеров и т. д.

Узнать о способе обхода защиты Cloudflare

Оптимизация js/WebGL/Web Assembly

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели4.7K

Не так давно я писал про свой 2d движок jsge. При написании рендера, делал оптимизацию кода, а также экспериментировал с web assembly. Как и обещал, написал отдельную статью про результаты.

Читать далее

Вклад авторов