<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

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

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

NodeJS. Что такое pipe().

NodeJS. Что такое pipe().

Всем привет! В этой статье мы рассмотрим, что такое pipes в NodeJS, в чем преимущества и как это использовать.

Описание

Для начала давайте вспомним, что мы делали в прошлой статье. Мы создали поток для чтения и поток для записи, считывали данные в потоке для чтения с файла readMe.txt, слушали событие на получение данных и, как только оно срабатывало, мы использовали поток для записи, чтобы загрузить информацию, полученную с файла readMe.txt в файл writeMe.txt.

Этот процесс, где мы считываем данные с одного потока и записываем их в другой, в NodeJS встречается достаточно часто, и поэтому была придумана такая штука как pipes.

Что такое pipes

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

Давайте теперь перепишем наш предыдущий код с использованием pipe:

var myReadStream = fs.createReadStream(__dirname + '/readMe.txt', 'utf8');
var myWriteStream = fs.createWriteStream(__dirname + '/writeMe.txt');
myReadStream.pipe(myWriteStream);

Если вы запустите этот код, то увидите, что он работает так же, как и раньше.

Отправка данных клиенту

Теперь вспомним наш сервер, который мы тоже уже писали в одной из статей. Сейчас он нам пригодится, чтобы таким же образом, как мы делали это с файлами, отправлять данные напрямую пользователю. Давайте сразу перейдем к коду:

var server = http.createServer(function(request, response) {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  var myReadStream = fs.createReadStream(__dirname + '/readMe.txt', 'utf8');
  myReadStream.pipe(response);
});

server.listen(3000, '127.0.0.1');
console.log('Прослушивание порта 3000');

Здесь мы создаем сервер, отправляем заголовки, а также данные при помощи метода pipe() клиенту по адресу 127.0.0.1:3000.

Если вы теперь запустите код и перейдете по адресу выше, то увидите те данные, что были в файле readMe.txt.

В чем преимущества данного подхода

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

Второе преимущество – это производительность. Поскольку данный метод уже встроен в платформу NodeJS, то он достаточно хорошо оптимизирован и, следовательно, используя его, вы повышаете производительность своего приложения.

Заключение

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

Спасибо за внимание!

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.