Pull to refresh
3
0
Николай @Nbespalov

Full stack web developer

Send message
const donations = [5, 20, 100, 80, 75];
let total = donations.reduce((total,donation) => {
   return total + donation;
});

const donations = [5, 20, 100, 80, 75];
let total = donations.reduce((total,donation) => {
   return total + donation;
}, 450);


Я бы вкинул вам свои 5 копеек :-), функция reduce в вашем случае дважды делает операцию сложения можно было на втором примере сказать что функция сложения может быть сохранена в переменную с идентификатором add и потом многократно использована в разных инструкциях где нужно сложение.

const donations = [5, 20, 100, 80, 75];
const add = (a,b) => a+ b;
let total = donations.reduce(add, 450);


Не увидел и еще одного из важнейших профитов от map, reduce, filter, sort — chain

// массив возрастов
// цель взять совершеннолетних и получить общий возраст :-)
const isAdult = age => age > 18;
const add = (a, b) => a + b;
 [15, 20, 60, 80, 95, 50, 45, 35].filter(isAdult).reduce(add, 0); // => 385


Та же я не услышал что все эти функции никак не изменяют изначальный массив и возвращают новый экземпляр массива.
>createReadStream(filePath) .on('error', error => res.writeHead(404).end()) pipe(res);
Вообще-то файл может не прочитаться по сотне причин. И скорее всего, для них нужно вернуть не 404, а что-то типа 5xx. Есть подозрения, что в своем велосипеде вы можете накосячить так еще в сотне мест. Ну разве что для отладки…

Да вы правы, обработчик ошибок >error => res.writeHead(404).end(); сделан просто чтобы сервер не падал.
Часто для разработки MPA/SPA/PWA приложений требуется простой веб-сервер

Этот велосипед не для production, это простой инструмент. В целом этот велосипед полезен на бездорожье. Когда придет время дебажить SSR. Так как в процессе разработки нового велосипеда :-) debugger; для меня инструмент номер 1
Нет, не рекомендую. Делюсь с теми кому будет интересно :-)
Цель была сделать это без использования зависимостей. Разобраться с потоками, потоки это инструмент который дает большие возможности а также расширить кругозор.
Использование библиотеки быстро решает проблему, но опыта не прибавляет…
Согласен, но мне удобнее сделать все на NodeJS, так как его я знаю. Nginx нужно установить, часто это не проходит с первого раза. Также важно, что в этой истории я могу пользоваться отладчиком это нужно крайне редко, но иногда может здорово выручить. Еще стоит отметить, что этот сервер нужен только для разработки. и да на проде это делает nginx.

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity