Обновить
28.46

Node.JS *

Среда для запуска JavaScript-приложений

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

Как я создавал мобильное приложение для хранения прочитанных книг BookDesk

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров7.8K

Всем привет! Меня зовут Александр, мне 33 года и я React-разработчик из Беларуси (10 лет опыта во фронтенде).

Я хочу рассказать о моем опыте создания мобильного приложения для хранениях прочитанных книг BookDesk.

Все началось еще в 2020 году, когда началась пандемия коронавируса, и всем пришлось находиться в изоляции. Тогда и пришла идея о создании своего приложения. У меня богатый опыт разработки веб-приложений на React, и поэтому я решил попробовать себя в новом направлении. Я решил долго не думать над технологиями и использовать React Native в связке с Node.js и MongoDB, т. к. ранее я уже работал с Node.js и MongoDB для создания веб приложений и, поэтому, выбор был очевиден.

Читать далее

ESLint | Shareable config настройка и что это такое?

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

Приветствую! В ходе своей профессиональной деятельности, каждый фронтенд-разработчик сталкивается с неотъемлемой частью разработки - инструментом ESLint.

Сегодня мы поговорим, о настройке shareable config. Мы рассмотрим, как это может помочь продуктовым командам или фрилансеру разработчику, а далее перейдем к настройке этой конфигурации.

Читать далее

Как я использовал тематическое разделение доступа для создания веб-приложения

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

В этой статье я хочу поделиться своим опытом использования тематического разделения доступа (ТРД) для создания веб-приложения, которое позволяет пользователям обмениваться сообщениями по разным темам. ТРД — это метод управления доступом, при котором права доступа субъектов системы на объекты группируются с учётом специфики их применения, образуя роли¹. Например, в моём приложении есть роли администратора, модератора, автора и читателя. Каждая роль имеет свой набор прав на разные действия, такие как создание, редактирование, удаление и просмотр сообщений.

Читать далее

Классификация комментариев к Youtube видео с помощью GPT моделей. Точность и ее цена

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.9K

Добрый день
В этой статье я бы хотел поделиться моим опытом классификации комментариев к Youtube видео при помощи OpenAI моделей gpt-3.5 и gpt-4.

Насколько они это могут?

Hyper: Chance. Этап 0. Знакомство

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

Hyper Chance: Этап 0. Знакомство

Hyper Chance - бесплатный технический акселератор коммерческих проектов от Hyper Dev Guild для разработчиков на основе фреймворка $mol

Обратная связь приветствуется! ^-^

Читать далее

Дорогая, я уменьшил пакет npm

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4.4K

При разработке программного обеспечения исходный код почти всегда поставляется в виде файлов .tar.gz или .tgz. Но gzip начинает устаревать, уступая место более новым, более современным алгоритмам сжатия, таким как Brotli и ZStandard. Теперь представьте себе мир, в котором npm использует один из этих новых алгоритмов. В статье поговорим о сжатии и возможности модернизации стратегии сжатия npm.

Читать далее

Обновление состояния системы через Server-Sent Events (SSE) без затей

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров15K

В любом многопользовательском проекте рано или поздно возникает потребность в оперативном уведомлении клиентов об изменении объектов в системе. В данной статье я не буду рассматривать что-то сложное, типа совместного редактирования документов, а напишу о более простой ситуации, которая встречается повсеместно.

Допустим, у нас есть список объектов, к примеру – список эпизодов для шоу. Один клиент на него смотрит, а другой в это время добавляет в список еще один эпизод. Хорошо бы факт добавления нового эпизода сразу отобразить у первого клиента. То же самое относится и к просмотру информации об отдельном эпизоде: если один клиент её просматривает, а другой – редактирует, было бы здорово результат редактирования сразу отображать у первого.

Для решения данной задачи очень удобно использовать механизм Server-Sent Events (SSE). О том как это сделать в проектах, у которых на беке Node, а на фронте React, я и хочу поговорить.

Читать далее

Фонетический словарь. Пет-проект в полезное приложение

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

У меня есть хобби — изучение английского языка, и последнее время я увлекся фонетикой британского английского языка, но почти все словари дают транскрипцию «‎Королевского английского», на котором говорят, по данным Гугла, около 3 процентов жителей Соединённого Королевства. А найденный в интернете словарь http://www.cubedictionary.org/ хоть и дает нужную мне транскрипцию, но имеет ряд недостатков.

Читать далее

Пишем key-value storage на пакетах ping'а или храним данные между облаками

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

Как-то давно я просматривал опции для команды ping и обратил внимание, что можно задавать размер ICMP пакета. "Хм", — подумал я: "Можно же сложить в сам пакет какую-то полезную нагрузку". Эта идея время от времени всплывала у меня в голове, но что именно можно хранить в пакете ICMP придумать не удавалось. Однако, недавно пришло понимание, что если хранить данные в ICMP пакете, то они не будут занимать место в оперативной памяти! То есть можно сделать key-value хранилище, где все данные будут храниться внутри сети.

Читать дальше →

Создание внутреннего пакета компонентов React — проще, чем кажется

Время на прочтение14 мин
Количество просмотров5.8K

В разработке современных React-приложений часто возникает потребность в повторном использовании компонентов. Есть разные способы решения такой задачи, и одним из них является создание внутреннего пакета компонентов. Грамотная сборка и поддержка такого пакета позволяют повысить эффективность и производительность разработки, а команда получает возможность использовать готовые компоненты в различных проектах без особых усилий. 

Я frontend-разработчик SimbirSoft Эллина, и в этой статье расскажу, как создать внутренний пакет компонентов в React с помощью инструмента сборки Rollup, а также как сделать его более качественным и удобным для использования. Материал будет полезен frontend-разработчикам уровней junior+ и middle.

Читать далее ?

Пишем продвинутый планировщик с использованием React, Nest и NX. Часть 4: пользовательский интерфейс

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров6.3K

Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. Как вы помните из предыдущих частей (1, 2, 3), у нас уже есть функциональность для работы с планировщиком в бэкенде. Теперь нашей задачей будет создать удобный и интуитивно понятный пользовательский интерфейс, чтобы пользователи могли легко взаимодействовать с задачами.

Читать далее

Подружим Sentry и Mattermost быстро и просто через адаптер

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

Всем привет, если у вас появилась идея связать эти два инструмента, то хочу вас огорчить, прямой интеграции у них пока нет...

Вот 4 простеньких шага для решения этой проблемы...

Читать далее

Kysely.js типизированный sql builder

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров5.4K

Kysely.js – это библиотека, позволяющая писать типизированные SQL запросы. Библиотека делает работу с SQL в вашем проекте более безопасной, избавляя от таких ошибок как опечатки в названиях колонок или таблиц и неправильное использование SQL операторов в коде (код не скомпилируется). Ко всему прочему она делает работу с SQL более удобной, предоставляя при написании запросов автодополнения для таблиц, колонок, алиасов и других сущностей. Kysely имеет незначительный слой абстракции над SQL для того чтобы можно было пользоваться всей мощью SQL и при этом не изучать множество дополнительных сущностей. Библиотека поддерживает MySQL, PostgreSQL, SQLite, PlanetScale, D3, SurrealDB и другие.

Теперь погрузимся в наш кисель ?.

Читать далее

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

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

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров39K

Представляем Bun версии 1.0.

Bun — это быстрый и универсальный набор инструментов для запуска, сборки, тестирования и отладки JavaScript и TypeScript кода (от одного файла до fullstack-приложения). Сегодня Bun стабилен и готов к продакшену.

Читать далее

Как я писал сервер на NodeJS для базы Firebird 3.0

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

В этой статье я расскажу, как писал самый простой сервер для общения со старой базой данных Firebird 3.0.

Читать далее

Puppeteer в Node.js: Антипаттерны, которые следует избегать

Время на прочтение9 мин
Количество просмотров5.5K

Puppeteer — это мощная библиотека автоматизации работы с браузером для веб-скрейпинга и интеграционного тестирования. Однако ее асинхронный реалтайм API оставляет вам достаточно много пространства для неумышленного создания проблем и антипаттернов.

Хоть эти антипаттерны и не являются полноценными ошибками, исключение их из скриптов (или хотя бы разумное использование) значительно повысит надежность вашего Puppeteer-кода.

Давайте начнем.

Читать далее

Бот-сказочник, или как генерировать истории с помощью ChatGPT и Telegram

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

Представьте, что вам нужно написать художественный роман. У вас есть ключевые идеи, продуманы основные повороты событий, но нет возможности объединить все в одну историю.

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

Такая же проблема может встретиться, например, если нужно написать пост или оформить описание рабочего проекта. Если вам это знакомо, то просто автоматизируйте процесс. Можно написать специального бота, который будет из тезисов генерировать цельную историю с помощью ChatGPT, а после — записывать в Notion. Реализовать такой проект и задеплоить его на сервер несложно — посмотрим, как это сделать.
Читать дальше →

Как и зачем проводить интегральный мониторинг SSR-приложений

Время на прочтение5 мин
Количество просмотров1.9K

Привет, Хабр! На связи команда Frontend-разработки Учи.ру. Знаем, что сейчас активно развиваются SSR-фреймворки — Next.js и другие. Если ваше приложение создано с использованием подобной технологии, вы можете отслеживать корректность его работы с помощью интегрального мониторинга. В этом материале мы расскажем, почему он важен, какие инструменты позволяют его проводить, как с ним работать Frontend-разработчику. И конечно, поделимся своим опытом — как нашли и исправили серьезную ошибку в продукте.

Читать далее

Безопасность в деталях: исследование cистемы защиты от CSRF

Время на прочтение6 мин
Количество просмотров18K

Атаку, при которой хакер пытается выполнить авторизованный запрос на вашем сайте, используя доступ, предоставленный пользователем, называют CSRF-атакой (cross-site request forgery – межсетевая подделка запроса). Это огромная проблема для любой платформы (и особенно финтех) с многотысячной аудиторией. 

Меня зовут Алексей, я разработчик команды Платформа Banki.ru. Я занимаюсь, в частности, разработкой новой платформы на node.js, на которую у нас сейчас переезжают многие сервисы. Ниже я подробно расскажу о том, как мы искали самый надежный способ защиты от CSRF-атак, чем руководствовались при выборе решения и как его реализовали.

Читать далее

Делаем import/require ясными и красивыми

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров7.4K

Довольно часто в проектах встречается использование относительных import/require. Если это маленький проект, и подключается модуль из текущей папки, то это приемлемо, но при разрастании проекта и глубины вложенности папочной структуры без слез смотреть на это нельзя:

Читать далее

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