Как стать автором
Обновить
14.33
Рейтинг

Node.JS *

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

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

Разработчик в стране Serverless: Как подружиться с БД (Часть 3)

Блог компании Lineate JavaScript *Программирование *Node.JS *Serverless *

В предыдущих частях я создал и развернул в облаке лямбда функцию и БД, настроил VPC, в которой работают мои ресурсы.

В этой части я напишу код лямбда функции, который будет взаимодействовать с БД. Этот код по-прежнему будет запускаться локально в режиме отладки. Вместе с первой настоящей логикой появятся первые юнит тесты. Для удобства при развертывании кода в этой части я буду использовать отдельный стек serverless-bugtracker-ch3.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 640
Комментарии 2

Новости

Docker: заметки веб-разработчика. Итерация четвертая

Блог компании Timeweb Cloud Node.JS *ReactJS *DevOps *VueJS *


Привет, друзья!


В этой статье я продолжаю (и заканчиваю) делиться с вами заметками о Docker.


Заметки состоят из 4 частей: 2 теоретических и 2 практических.


Если быть более конкретным:


  • первая часть посвящена Docker, Docker CLI и Dockerfile;
  • во второй части рассказывается о Docker Compose;
  • в третьей части мы разрабатываем приложение, состоящее из трех сервисов: клиента на React, админки на Vue и сервера на Express, и базы данных PostgreSQL, взаимодействие с которой осуществляется с помощью Prisma.

В этой заключительной части мы "контейнеризуем" наше приложение.


Репозиторий с кодом приложения.


Если вам это интересно, прошу под кат.

Читать дальше →
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 5.9K
Комментарии 0

Обновление Node.js

Node.JS *
Из песочницы
Перевод

Как и всегда, участники сообщества усердно работают над добавлением новых функций в Node.js, перечисленных в виде pull requests на GitHub. Далее мы подробно расскажем о нескольких привлекательных дополнениях, которые ожидают нас уже очень скоро. А также обсудим, что интересного происходит в сообществе Node.js в начале 2022 года.

Читать полностью
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 3.4K
Комментарии 0

Архитектура на «микросервисах» в монолите: проект из практики

Блог компании Конференции Олега Бунина (Онтико) Блог компании Skyeng PHP *Node.JS *Микросервисы *

В Skyeng есть команда коммуникаций. Мы предоставляем инструменты для связи оператора с пользователем. Например, ученику плохо слышно преподавателя на уроке и он хочет связаться с поддержкой, чтобы решить проблему — мы помогаем. 

На старте было просто: связаться с нами можно было только через почту. Входящим ящиком был IMAP, исходящим — SaaS сервис по отправке почты, забрать письма с которого было то еще приключение. Мы смотрели на заголовки и соединяли письма в цепочки, как в любом почтовике: Gmail, Outlook. В таком виде передавали операторам. 

Но оказалось, что с теми метаданными, которые мы предоставляли операторам, им было неудобно работать — много времени отнимал поиск пользователей в базе по адресу почты и теме сообщений.

Так появился проект линковка.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 6.4K
Комментарии 2

Разработчик в стране Serverless: первые шаги, первая лямбда (Часть 1)

Блог компании Lineate JavaScript *Программирование *Node.JS *Serverless *

Serverless подход в разработке уже давно пользуется большой популярностью. По разным опросам, разработчики отмечают следующие преимущества в serverless технологиях: гибкое масштабирование, быстрота разработки, уменьшение времени или затрат на администрирование приложений, быстрые релизы.

Преимущества выглядят заманчивыми и многообещающими. Так ли все это? Пришло время познакомиться с serverless технологиями. Буду разбираться с новым подходом через призму опыта создания “классических” приложений. Это значит, что обязательно должны быть тесты, возможность запускать локально, возможность дебажить, несколько окружений, логи, метрики и т.д. Нет смысла знакомиться на уровне hello world приложений, которые красиво выглядят на экране. Я возьму задачу с похожими на реальность сценариями. Конечно, в сети очень много разных статей и инструкций, но нет таких, после которых ты сможешь сделать как надо, подумав обо всех проблемах заранее, а не после релиза. Поехали.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 4.6K
Комментарии 31

JavaScript: ускоряем загрузку изображений с помощью Imgproxy, Cache API и Service Worker API

Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *Node.JS *



Привет, друзья!


В этой статье я хочу поделиться с вами результатами небольшого эксперимента, связанного с ускорением загрузки изображений с помощью Imgproxy, Cache API (далее — кеш) и Service Worker API (далее — СВ).


Мы с вами разработаем простое приложение на React, в котором используется несколько изображений, и добьемся того, что загружаемые изображения будут более чем в 10 раз легче (меньше по размеру) оригиналов (imgproxy), а также практически мгновенной загрузки (доставки) изображений (СВ и кеш).


Обратите внимание: в части, касающейся imgproxy, особых препятствий на пути использования рассматриваемого в статье подхода к загрузке изображений в продакшне нет, но в части, касающейся СВ, следует проявлять крайнюю осторожность, поскольку данная технология является экспериментальной — это означает, что поведение СВ во многом определяется конкретной реализацией (браузером), что в ряде случаев делает его довольно непредсказуемым. Возможно, для кеширования изображений лучше предпочесть старые-добрые HTTP-заголовки Cache-Control и Etag. Но эксперимент на то и эксперимент, чтобы, в том числе, искать новые ответы на старые вопросы.


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


Остальных прошу под кат.

Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 4K
Комментарии 13

Голосовой помощник, которого можно научить ругаться матом (часть 1)

Node.JS *ReactJS *Google Cloud Platform *
Из песочницы

Однажды я подумал, насколько трудно и дорого в наши дни сделать голосового помощника, который будет впопад отвечать на вопросы?

А если конкретнее, то веб-приложение, которое записывает аудио с вопросом, расшифровывает аудио в текст, находит подходящий ответ, тоже текстовый, и возвращает аудио версию ответа - вот функциональные требования, который я себе набросал.

Читать далее
Всего голосов 3: ↑1 и ↓2 -1
Просмотры 3.2K
Комментарии 0

Серверный рендеринг в условиях масштабирования

Блог компании SkillFactory Разработка веб-сайтов *JavaScript *Программирование *Node.JS *
Перевод

Чтобы повысить производительность страниц фронтенда на основе React, в Yelp используют рендеринг на стороне сервера. После ряда инцидентов на продакшене в начале 2021 года, когда из шаблонов на основе Python в React было перенесено много страниц, стало понятно, что существующая система серверного рендеринга не масштабируется. Материалом о том, как решалась проблема, делимся к старту курса по Fullstack-разработке на Python.

Читать далее
Всего голосов 6: ↑3 и ↓3 0
Просмотры 2K
Комментарии 1

JavaScript: разрабатываем чат с помощью Socket.io, Express и React с акцентом на работе с медиа

Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *Node.JS *ReactJS *



Привет, друзья!


В данной статье я хочу показать вам, как разработать простое приложение для обмена сообщениями в режиме реального времени с использованием Socket.io, Express и React с акцентом на работе с медиа.


Функционал нашего приложения будет следующим:


  • при первом запуске приложение предлагает пользователю ввести свое имя;
  • имя пользователя и его идентификатор записываются в локальное хранилище;
  • при повторном запуске приложения имя и идентификатор пользователя извлекаются из локального хранилища (имитация системы аутентификации/авторизации);
  • выполняется подключение к серверу через веб-сокеты и вход в комнату main_room (при желании можно легко реализовать возможность выбора или создания других комнат);
  • пользователи обмениваются сообщениями в реальном времени;
  • типом сообщения может быть текст, аудио, видео или изображение;
  • передаваемые файлы сохраняются на сервере;
  • путь к сохраненному на сервере файлу добавляется в сообщение;
  • сообщение записывается в базу данных;
  • пользователи могут записывать аудио и видеосообщения;
  • после прикрепления файла и записи аудио или видео сообщения, отображается превью созданного контента;
  • пользователи могут добавлять в текст сообщения эмодзи;
  • текстовые сообщения могут озвучиваться;
  • и т.д.

Репозиторий с исходным кодом проекта.


Если вам это интересно, прошу под кат.

Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 4.3K
Комментарии 3

Кейс интеграции IoT & Metaverse. Удаленное управление гирляндой реальной елки и стриминг видео

JavaScript *Node.JS *TypeScript *Разработка на Raspberry Pi *
Из песочницы

В этой статье показан наш опыт интеграции интернета вещей (IoT) и метавселенной Decentraland. В ней вы найдете список необходимых навыков и мини-инструкцию, чтобы попробовать самим. В конце мы добавили видео-презентацию, что в итоге получилось. 

Изучить подробнее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 1.3K
Комментарии 2

Я разработал генератор ASCII-арта в Node JS

Блог компании OTUS JavaScript *Программирование *Node.JS *
Перевод

В этой статье вы увидите, как сделать генератор ASCII-арта из изображения.

ASCII-арт — это метод графического дизайна, который использует компьютеры для презентации и он состоит из изображений, собранных вместе из 95 печатных символов, определенных стандартом ASCII от 1963 года, и ASCII-совместимых наборов символов с проприетарными расширенными символами.

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 2.9K
Комментарии 4

Prisma ORM: полное руководство для начинающих (и не только). Часть 2

Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *Node.JS *TypeScript *



Привет, друзья!


В этой серии из 2 статей я хочу поделиться с вами своими заметками о Prisma.


Prisma — это современное (продвинутое) объектно-реляционное отображение (Object-Relational Mapping, ORM) для Node.js и TypeScript. Проще говоря, Prisma — это инструмент, позволяющий работать с реляционными (PostgreSQL, MySQL, SQL Server, SQLite) и нереляционной (MongoDB) базами данных с помощью JavaScript или TypeScript без использования SQL (хотя такая возможность имеется).


Содержание этой части



Первая часть.


Если вам это интересно, прошу под кат.

Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 2.6K
Комментарии 2

Prisma ORM: полное руководство для начинающих (и не только). Часть 1

Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *Node.JS *TypeScript *



Привет, друзья!


В этой серии из 2 статей я хочу поделиться с вами своими заметками о Prisma.


Prisma — это современное (продвинутое) объектно-реляционное отображение (Object-Relational Mapping, ORM) для Node.js и TypeScript. Проще говоря, Prisma — это инструмент, позволяющий работать с реляционными (PostgreSQL, MySQL, SQL Server, SQLite) и нереляционной (MongoDB) базами данных с помощью JavaScript или TypeScript без использования SQL (хотя такая возможность имеется).


Содержание этой части



Вторая часть.


Если вам это интересно, прошу под кат.

Читать дальше →
Всего голосов 12: ↑8 и ↓4 +4
Просмотры 4.1K
Комментарии 5

Стек MERN. Что, как и почему?

JavaScript *Node.JS *MongoDB *ReactJS *
Из песочницы

Внимание: "Данная статья является ознакомительной и несет лишь основную информацию о стеке технологий MERN."

"Все кратко и просто".

Что же такое стек технологий MERN?

Из чего состоит?

Создание базы данных (MongoDB)

Серверная часть (NodeJS + Express)

Клиентская часть (ReactJS)

Читать далее
Всего голосов 9: ↑4 и ↓5 -1
Просмотры 4K
Комментарии 8

Генератор компонентов Vue.js?

JavaScript *Node.JS *VueJS *
Из песочницы

Разработка веб-приложения это не только решения интересных задач, работа с логикой, или с интересной версткой. Это также рутина, которая преследует каждого разработчика в процессе работы. Начиная от создания разных файлов, и написания шаблонного boilerplate кода, заканчивая написанием документации о проделанной работе.

Часть этой рутины, однако, можно всегда оптимизировать.

В этой статье хочу познакомить вас с инструментом, который разработал, для минимизации рутины при создания компонентов Vue.js – VGENT.

VGENT (Vue Agent) – это CLI (Command Line Interface) приложение, которая генерирует компоненты для фреймворка Vue.js или Nuxt.js. Данный инструмент можно гибко настроить под нужды проекта, и генерировать компоненты командами в терминале.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 4.7K
Комментарии 10

Prisma — как подключить в Nest-проекте

PostgreSQL *Node.JS *
Tutorial

## Prisma - установка в проект

Установка поддержки Prisma в NestJS-проекте выполняется очень просто - при помощи двух команд.

Первая - устанавливает клиентскую часть Prisma:

$ npm i @prisma/client

... вторая команда - устанавливает cli-часть Prisma:

$ npm i -D prisma

После этого - нужно запустить команду для инициализации Prisma в текущем проекте:

$ npx prisma init

В результате в корне проекта будет создана папка prisma, внутри которой будет находиться файл schema.prisma для настройки подключения Prisma к базе данных (и не только).

Содержимое файла schema.prisma очень простое:

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 687
Комментарии 0

Собеседование по Javascript, мой опыт. Часть вторая

JavaScript *HTML *Node.JS *Карьера в IT-индустрии TypeScript *

И есть еще белые, белые дни, белые горы и белый лед.
Но все, что мне нужно - это несколько слов и место для шага вперед.

(Виктор Цой)

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

"- Ну как на собеседование сходил? Успешно? - Да. Ручку у них спер" (ссылка)

Часть вопросов будет по typescript, часть по javascript, что-то будет из html, Node.js, настройки, библиотеки, концепции. В общем всё то, о чем говорят на собеседованиях.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 14K
Комментарии 19

Создаём единую инфраструктуру для параллельной разработки мобильных игр

Разработка игр *Node.JS *Управление разработкой *Дизайн игр *TypeScript *

Она помогла нам переиспользовать игровые механики в непохожих проектах и увеличила скорость разработки на 25%.

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 1.4K
Комментарии 0

Как ESLint анализирует код и борется с Legacy

JavaScript *Git *Node.JS *GitHub ReactJS *

Рассказываем, как мы с фронтенд-разработчиком Дмитрием Балаевым @manmo убираем Legacy, какими Open Source конфигурациями для ESLint пользуемся и как статический анализатор кода повлиял на развитие разработчиков нашей компании.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 4.5K
Комментарии 8

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

Работа