Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_pechatat (1).docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
400.16 Кб
Скачать

44. Платформа Node.Js и ее возможности. Программирование на стороне сервера.

Node.js – это серверная реализация языка программирования JS, основанная на движке V8 (движок от Google, самый крутой, быстрый и мощный, в котором JS-код напрямую преобразуется в ассемблер целевого процессора, что позволяет обойти по скорости все остальные движки).

Преимущества Node.js

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

2) событийность. Почти каждая операция имеет коллбэки, генерирует событие, а пользователю доступен объект Event, через который можно буквально одной строкой генерировать события (событие -это просто строка с названием, а также список параметров, которые передаются в обработчик).

Цикл выполняется вне JS, а в самом движке, написанном на C, вследствие чего это происходит очень быстро (порядка сотен тысяч раз в секунду). Что-то типа бесконечного цикла. В дополнение к этому в сервер встроен очень эффективный сборщик мусора (GC), поэтому даже тысячи подключений не вызывают переполнения памяти и падения сервера.

Чтобы запустить Node.js приложение в Windows необходимо скачать последнюю версию платформы с оф. сайта. После установки программы выбирать системную папку, где будет хранится исходные файлы.

Создадим простое приложение Node.js с названием "helloworld.js. Пример кода:

var http = require('http');

http.createServer(function (req, res) {

res.writeHead(200, {'Content-Type': 'text/plain'});

res.end('Hello World\n');

}).listen(1337, '127.0.0.1');

console.log('Server running at

<a href="http://127.0.0.1:1337/'">http://127.0.0.1:1337/'</a>);

Этот код создает веб-сервер с портом 1337 и возвращает сообщение “Hello World”. Вводим команду node helloworls.js в консоле и открываем браузер с адресом http://localhost:1337/.

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

45. Использование документно-ориентированных баз данных в js. Организация хранения данных на примере MongoDb.

CouchDB -ДОСУБД с открытым исходным кодом, не требующая описания схемы данных, распространяется свободно, написана на языке Erlang. Для хранения данных используется JSON, для реализации запросов - JS.Одной из особенностей СУБД является поддержка репликации с несколькими ведущими узлами.

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

LokiJS - ДОБД на клиентской стороне JS.

MongoDB –ДОСУБД, ориентированная на кластеризацию и написанная на C++.

Документы в Mongo хранятся в виде JSON-подобных объектов, так что в JS с ними работать довольно удобно.

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

Курсор нужен для того чтобы запрашивать объекты из MongoDB по мере необходимости. Т.е., новый документ будет получен только после того как будет вызван each()/nextObject()/toArray().

Удаление документов из коллекции:

db.collection('test', function(err, collection) {

// Удаляем элементы с age = 20

collection.remove({'age': 20}, function(err, collection) {

// Удаляем все элементы

collection.remove(function(err, collection) {

// Все элементы удалены }); }) });

При сохранении документа в MongoDB ему назначается _id.

Кроме этого, в MongoDB есть много других интересных вещей: хранение двоичных файлов, ссылки на документы в других коллекциях (аналог foreign key в SQL), поддержка индексов. MongoDB выглядит очень удобной базой данных для приложений разной сложности.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]