Форум программистов, компьютерный форум, киберфорум
8Observer8
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Использование MySQL из Node.js и TypeScript на удалённом сервере Heroku

Запись от 8Observer8 размещена 12.08.2019 в 12:29
Показов 4213 Комментарии 0
Метки db, heroku, mysql, node.js, typescript

Содержание блога

Heroku удалил бесплатный хостинг в ноябре 2022. Есть альтернативы, например:
  • https://glitch.com/pricing - даётся 1000 часов на месяц. Файлы проектов будут открыты всем пользователям. Если к приложению не обращаются 5 минут, оно засыпает и просыпается в течение 30 секунду: "Это может привести к задержке ответа до 30 секунд для первого запроса, поступающего после периода бездействия.". Есть бесплатная база данных SQLite.
  • У хостинга Render ограничение на бесплатное использование 750 часов в месяц: https://render.com/docs/free. После 15 минут неактивности засыпает. Бесплатная база данных PostgreSQL удаляется через 90 дней. Есть возможность разместить SQLite.
  • Подборка бесплатных хостингов для баз данных



За основу взят пример с сайта Metanit, где показано подключение MySQL из Node.js: MySQL. Подключение к MySQL. Я переписал с JavaScript на TypeScript и захостил на Heroku: https://typescript-mysql-from-... kuapp.com/ Бесплатный хостинг имеет свойство засыпать, поэтому иногда нужно подождать несколько десятков секунд. Я добавил библиотеку socket.io для взаимодействия клиента с сервером через сокеты.

Я сделал кнопку "Check DB Connection", которая отправляет запрос на сервер о состоянии подключения и возвращает JSON сообщение:

JSON
1
{"message":"DB is connected"}
, означающее, что соединение с базой данных установлено. А так же есть кнопка "Show Data from DB", которая выводит содержимое базы данных:

JSON
1
{"rows":[{"id":1,"name":"Ivan"},{"id":2,"name":"Bob"}]}
Клиент и сервер я пишу на TypeScript. Моё приложение хранится в приватном репозитории на GitHub. Репозиторий я соединил с бесплатным хостингом Heroku, который разворачивает приложение при каждом push.

Это не реклама Heroku или Metanit, а мотивация для других, чтобы пробовали сразу разворачивать на реальных хостингах, потому что это реально мотивирует, когда приложение можешь показать всем желающим, дав лишь ссылку, чтобы запустить на любой ОС, где есть браузер. На сайте Heroku есть пошаговая инструкция, как им пользоваться, чтобы развернуть Node.js веб-приложение. Я считаю, Heroku - очень удобный и полезный ресурс для учебной практики.

Данный пример может быть использован для начала создания клиент-серверных веб-приложений с базой данных и для сетевых игр с мультиплеером или кооперативом, где базу данных MySQL можно использовать для регистрации и хранения игровых данных.

Если вам нужны исходники моего примера, то подумайте, действительно ли они вам нужны или вы можете написать их сами. Написать самому гораздо полезнее, чем разбираться в чужом коде.
Метки db, heroku, mysql, node.js, typescript
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru