Рубрика «express.js» - 3

Строим свой full-stack на JavaScript

Строим свой full-stack на JavaScript: Основы - 1

В мире JavaScript очень легко набрать свой стек технологий, используя набор небольших пакетов, каждый из которых решают свою конкретную проблему. И это хорошо, c одной стороны, а с другой стороны, у вас особо нет выбора — фреймворки которые выполняют широкий спектр задач в JavaScript не популярны.

В этом цикле статей я хочу поделиться своим практическим опытом построения JS стека.

Читать полностью »

Доброго времени суток, уважаемые читатели Хабра. Всем давно известно, что во вселенной node.js существует привеликое множество фреймворков на любой вкус и цвет. Каждый из них удовлетворяет своим потребностям и содержит разнообразный набор возможностей и собственную архитектуру и иногда, чтобы сделать выбор, требуется взглянуть каждому из этих «зверей» под капот и провести аналитику. В моем случае требовался фреймворк уже более менее обладающий собственной архитектуройд; выбор происходил между 4 инструментами: kraken.js, sails.js, meteor.js и derby.js. Чтобы узнать о том, как это было, прошу под кат.
Читать полностью »

В течение последних трех лет можно было заметить всплеск популярности JavaScript. На протяжении многих лет, были многочисленные попытки принятие этого популярного языка на сервере. Наиболее удачный попыткой является платформа Node.js, которая была представлена как быстрый способ написания серверных приложений.

В результате люди начали использовать back end разработку с помощью Node. Одна из самых важных вещей back end системы эффективное взаимодействие с базой данных. Для этого используется ORM( объектно-реляционного отображение). ORM упрощает разработку, позволяет программисту взаимодействовать с базой данных используя объекты. В этой статье мы рассмотрим ORM библиотеку для Node.js — Bookshelf.js.
Читать полностью »

Привет! Пару месяцев назад я захотел провести тестирование производительности некоторых сетевых фреймворков, c целью понять насколько большая разбежка между ними. Надо ли использовать Node.js там, где хотелось бы Python с Gevent или нужен Ruby с его EventMachine.

Я хочу обратить ваше внимание на то, что эти материалы не являются руководством к выбору фреймворка и могут содержать спорные моменты. Я вообще не собирался публиковать результаты этого исследования, но когда они попадались мне на глаза я ловил себя на мысли, что это может быть кому-нибудь полезно. На этот пост я выделил не больше 4-ех часов, иначе он не появился бы, поэтому от орфографических ошибок, как и от любых других, я не застрахован. Теперь, когда вы ко всему готовы, я начну забрасывать вас графиками.
Читать полностью »

Приветствую, дорогие читатели Харба!

Свой первый пост, мне хотелось бы посвятить тому, с чем, пока что, интересней всего работать — Angular и Node.

За некоторое время, (около 7 месяцев) работы с Angular, появилось пару своих наработок, которыми горю желанием поделиться. Конечно же это не сам Facebook Login, каким его описывают в разделе Facebook JS SDK, и не «Hello World with Angular.js», но все довольно-таки просто.

Мотвация, в написании этой статьи, — желание делиться кое-каким опытом в интересных направлениях.
Читать полностью »

В Express.JS есть встроенный middleware для авторизации. Если очень хочется заблокировать доступ к приложению — достаточно всего лишь добавить одну строчку в сетап express-приложения:

// Работает синхронно, то есть морозит всю nodeJS
app.use(express.basicAuth('username', 'password'));

Так же middleware поддерживает асинхронный вариант — с коллбэком:

app.use(express.basicAuth(function(user, pass, callback) {
  var result = (user === 'testUser' && pass === 'testPass');
  callback(null /* error */, result);
}));

Если нужно ограничить доступ только к определенным url'ам — middleware нужно использовать не глобально, а в рамках роутера, то есть так:

var auth = express.basicAuth(function(user, pass, next) {
  var result = (user === 'testUser' && pass === 'testPass');
  next(null, result);
});

app.get('/home', auth, function(req, res) {
  res.send('Hello World');
});

Если не забираться под капот — на этом можно и закончить. Тех же, кто на диаграмме Венна находится между кругами «Мне интересно, что внутри» и «Я не знаю как работает basic авторизация apache», приглашаю под кат.
Читать полностью »

Как работает Passport.js
PassportJS — это middleware для авторизации под node.js. Passport поддерживает авторизацию с помощью огромного количества сервисов, включая «ВКонтакте» и прочие твиттеры. Список сервисов можно просмотреть здесь. Я хочу немного рассказать о том, как работает этот middleware на примере самой обычной авторизации с помощью логина и пароля.

Для самых нетерпеливых — готовый проект можно посмотреть здесь.
Читать полностью »

Я, будучи разработчиком мобильных приложений, часто нуждаюсь в backend-сервисах для хранения пользовательских данных, авторизации и прочего. Конечно, для подобных задач можно использовать BaaS (Parse, Backendless, etc…). Но свое решение — это всегда более удобно и практично.

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

В данной статье будет рассмотрено построение REST API для мобильного приложения на Node.js с использованием фреймворка Express.js и модуля Mongoose.js для работы с MongoDB. Для контроля доступа прибегнем к технологии OAuth 2.0 с помощью модулей OAuth2orize и Passport.js.

Пишу с позиции абсолютного новичка. Рад любым отзывам и поправкам по коду и логике!

Содержание

  1. Node.js + Express.js, простой web-сервер
  2. Error handling
  3. RESTful API endpoints, CRUD
  4. MongoDB & Mongoose.js
  5. Access control — OAuth 2.0, Passport.js

Читать полностью »

Взять можно тут: github.com/maxatwork/expressjs_template

Что есть

Читать полностью »

Несмотря на то, что главным моим хобби так и остаются роботы, я трачу немало усилий, чтобы оставаться в трендах своей основной стези – программирования. Волей судьбы недавно удалось познакомиться с Node.js, я узнал о его web фреймворке express, подружился с новым для себя template engine Jade и в довершение ко всему связал все это с папкой в Dropbox.
image
В этом посте я постараюсь коротко рассказать, как можно организовать web-сервис для хранения файлов, используя лишь бесплатные решения.
Всех заинтересованных – прошу под кат.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js