Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Створіть свій перший сайт Node.js. частина 3

  1. Що для цього потрібно
  2. Крок 1. Створення та розгортання копії додатку «HTML-база даних»
  3. Крок 2. Збереження значень в базі даних після перезавантаження
  4. Крок 4. Додавання даних в базу даних
  5. висновок
  6. Подяки
  7. Ресурси для скачування

Це третя частина статті з трьох частин , Яка крок за кроком познайомить вас з процесом Node.js-розробки - без необхідності встановлювати будь-яке програмне забезпечення. В частини 1 і частини 2 ми використовували IBM DevOps Services і IBM Bluemix ™, щоб створити веб-сервер і простий HTML-інтерфейс і передавати дані з сервера в браузер. Залишилося лише навчитися зберігати ці дані в базі даних.

Bluemix надає доступ до відмінних службам баз даних, не вимагаючи їх установки і адміністрування. Для зберігання лічильника можна вибрати найрізноманітніші варіанти реляційних баз даних і NoSQL, такі як MongoDB , Cloudant або Redis .

У цій частині ми почнемо новий проект DevOps Services, так що попередньо виконувати вправи з частини 1 і частини 2 не обов'язково.

Приклад програми зберігає дані в окремій службі Redis, керованої Bluemix. Вона працює незалежно від програми, тому що зберігаються в ній дані відновлюються після його перезапуску.

Щоб отримати доступ до служби Bluemix, потрібна певна робота по налаштуванню коду. Ми будемо використовувати готовий стартовий проект, де всі налаштування для доступу до служби Redis вже виконані. Схема нового додатка виглядає наступним чином.

Це третя частина   статті з трьох частин   , Яка крок за кроком познайомить вас з процесом Node

Що для цього потрібно

запустити програму отримати код

Крок 1. Створення та розгортання копії додатку «HTML-база даних»

  1. Увійдіть в Bluemix через свій веб-браузер.
  2. Увійдіть в DevOps Services з окремою вкладки браузера.
  3. Натисніть кнопку Отримати код на початку цієї статті.
  4. У DevOps Services натисніть кнопку EDIT CODE і декілька разів натисніть FORK в меню, щоб створити власну копію робочого коду, і збережіть цей проект під яким-небудь ім'ям.
  5. Перегляньте відповідні файли:
    • в файлі package.json зверніть увагу на додаткові залежності для Redis: "redis": "*";
    • в файлі manifest.yml розгляньте послідовність створення служби Redis: services: redis-5a659: label: redis provider: core version: '2.6' plan: 100
    • в файлі app.js знайдіть redis, щоб побачити всі зміни, внесені для зв'язку зі службою Redis.
  6. Розгорніть додаток вручну, використовуючи той же процес, що і в попередніх двох частинах цієї статті.
  7. Натисніть на посилання NodeJS_Simple_3 в розділі інформації з ручного розгортання на сторінці кореневої папки, щоб відкрити програму в новій вкладці браузера.
    У чинному додатку видно два лічильника користувачів, і обидва вони починають рахунок з 1: лічильник на сервері Node.js (налаштований в частини 2 ) І новий лічильник, значення якого зберігається в базі даних.
  8. Оновлення сторінку браузера і переконайтеся, що значення лічильників збільшилися на одиницю. Тепер - після початкового розгортання - значення лічильника на сервері і лічильника в базі даних збігаються.

Крок 2. Збереження значень в базі даних після перезавантаження

  1. Поверніться до відомостей про ручному розгортанні в DevOps Services, виділіть свій додаток і зупиніть його, натиснувши на суцільний чорний квадрат.
  2. Знову виділіть свій додаток і запустіть його, клацнувши на трикутнику, направленому вправо.
  3. Поверніться в працююче додаток. Зверніть увагу, що лічильник в додатку Node.js скинув в 1, а значення лічильника з бази даних збільшилася. Тому що служба Redis працює незалежно від додатків Node.js.

Крок 3. Робота зі службою Redis в Bluemix

Для безпосередньої взаємодії зі службами Bluemix використовується панель управління Bluemix:

  1. Виділіть свій екземпляр додатку в інформації про ручному розгортанні DevOps Services і натисніть на посилання Manage. Відкриється панель управління Bluemix, де можна управляти додатком і службою Redis.
  2. Натисніть кнопку в формі шестерінки в верхньому правому куті, а потім натисніть кнопку Delete App.
  3. У діалоговому вікні Are you sure ... встановіть прапорець для видалення служби Redis (redis-5a659) і натисніть кнопку OK. Видаливши службу разом з додатком, ви видалили лічильник в базі даних, зберігав дані між перезавантаженнями додатки.
  4. Поверніться до інформації з ручного розгортання в DevOps Services і скористайтеся кнопкою у вигляді хмари для повторного розгортання програми. Так як ви видалили службу Redis, це дія призведе до створення її нового екземпляра.
  5. Перейдіть в працююче додаток і переконайтеся, що лічильник, що зберігається в базі даних Redis, також скинув у 1.

Крок 4. Додавання даних в базу даних

Тепер відредагуємо код, щоб зберігати значення лічильника, який збільшується на два, в службі Redis і відображати його на HTML-сторінці. Так як звернення до служби Redis виконуються асинхронно, необхідно вставити нові виклики у вкладену структуру, щоб забезпечити належний порядок викликів. (Інший варіант полягає в явному додаванні асинхронних бібліотек - ця тема виходить за рамки цієї статті.)

  1. Відкрийте файл app.js і знайдіть рядок client.incrby. Цей оператор збільшує значення змінної DBuserCountBy1 в Redis і повертає оновлене значення в змінну replyBy1.
  2. Додайте рядок для збільшення значення змінної DBuserCount2 в базі даних на два і повернення значення replyBy2: client.incrby ( "DBuserCountBy2", 2, function (err, replyBy2);
    Щоб забезпечити синхронізацію звернень до Redis, потрібно вкласти цей оператор всередину оператора збільшення DBuserCountBy1: client.incrby ( "DBuserCountBy1", 1, function (err, replyBy1) {client.incrby ( "DBuserCountBy2", 2, function (err, replyBy2) {
    Не забудьте також додати закривають дужки:}) ;.
  3. Відредагуйте оператор res.render, щоб передавати значення DBuserCountby2, що повертається в змінну replyBy2 з функції виклику Redis: res.render ( 'index', {userCount: userCount, DBuserCountBy1: replyBy1, DBuserCountBy2: replyBy2});
    Тепер розділ app.get вашого коду повинен виглядати наступним чином: app.get ( '/', function (req, res) {userCount = userCount + 1; // Збільшення значення в базі даних і відображення результатів client.incrby ( "DBuserCountBy1" , 1, function (err, replyBy1) {client.incrby ( "DBuserCountBy2", 2, function (err, replyBy2) {res.render ( 'index', {userCount: userCount, DBuserCountBy1: replyBy1, DBuserCountBy2: replyBy2}); });});});
  4. Відредагуйте HTML-сторінку index.ejs, щоб відображати значення DbuserCountBy2: <p> The stored user count by two in my redis database is <% = DBuserCountBy2%> </ p>.
  5. Знову розгорніть додаток і переконайтеся, що всі лічильники поводяться як потрібно.

висновок

У цій статті з трьох частин ви крок за кроком пройшли процес створення сервера Node.js, додавання веб-інтерфейсу зі статичними сторінками і динамічним контентом з сервера і організації зберігання динамічних даних в базі даних. Ви переконалися, що служба бази даних Redis працює незалежно від програми, так що після зупинки і перезапуску програми значення лічильника зберігаються. Весь приклад виконаний виключно за допомогою веб-браузера з використанням IBM DevOps Services і Bluemix - без установки будь-якого програмного забезпечення.

Подяки

При написанні цієї статті жодна дитина не постраждала, хоча деяким довелося перейти з категорії користувачів ІТ в категорію розробників. Моя вдячність моїм новим помічникам: синові Такеру, а також Каролін Нортон і її синові Патріку. І спасибі місцевим гуру Node.js Майку Мак-Кею і Патріку Мюллеру.

Ресурси для скачування

Схожі теми

Підпишіть мене на повідомлення до коментарів

Новости

Как сделать красивую снежинку из бумаги
Красивые бумажные снежинки станут хорошим украшением дома на Новый год. Они создадут в квартире атмосферу белоснежной, зимней сказки. Да и просто занимаясь вырезанием из бумаги снежинок разнообразной

Пиротехника своими руками в домашних
Самые лучшие полезные самоделки рунета! Как сделать самому, мастер-классы, фото, чертежи, инструкции, книги, видео. Главная САМОДЕЛКИ Дизайнерские

Фольгированные шары с гелием
Для начала давайте разберемся и чего же выполнен фольгированный шар и почему он летает дольше?! Как вы помните, наши латексные шарики достаточно пористые, поэтому их приходится обрабатывать специальным

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

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

Как сделать из бумаги самолет
 1. Самолеты сделанный по первой и второй схеме являются самыми распространенными. Собирается такое оригами своими руками достаточно быстро, несмотря на это самолет летит достаточно далеко за счет свое

Надувные шарики с гелием с доставкой
На праздники часто бывают востребованы воздушные шарики, надутые гелием. Обычно, их покупают уже готовыми (надутыми) и привозят на праздник. Или, приглашают специалистов, которые приезжают и надувают

Аниматоры на детские праздники в Зеленограде
Уж сколько раз твердили миру…Что готовиться ко дню рождения нужно заранее, а не бегать в предпраздничный день угорелой кошкой. Нельзя впихнуть в 24 часа дела, рассчитанные на недели. К празднику нужно