• Что стоило бы знать backend developer`у?

    @f22
    управление памятью (оперативной).
    работа с файловой системой.
    sql
    оптимистичная и пессимистичная блокировка в СУБД, уровни изоляции
    индексация
    параллельное и конкурентное программирование, в т.ч. блокировки разного вида/мутексы/атомарные операции.
    Ответ написан
    Комментировать
  • Какие есть аналоги payoneer, соблюдающие банковскую тайну?

    @amambaru
    Дело не в банковской тайне - вы не правильно понимаете этот термин.

    Payoneer не является банком, деньги там на счету - виртуальны. Ровно до тех пор пока вы их не вывели с карты.
    Поэтому понятие банковской тайны к ним вообще не применимо
    Более того, небанковские огранизации, типа Payoneer, вообще обладают ограниченной ответственностью перед своими клиентами - именно потому что не банки. Они могут запросто заморозить деньги, не объясняя особо почему. Просто подозревают вас - и фиг получите бабло. Банки себе такое позволить не могут.

    Банк тоже не рассказывает кому попало.
    Если банк заграничный, то нужен специальный запрос, через, к примеру, Интерпол. Который Интерпол не будет давать, если только вы не подозреваетесь в мошенничестве/отмывании денег и пр. И речь идет не о смешных суммах.

    Любой банк, любая платежная система, расположенная в государстве, которое имеет натянутые отношения с РФ и не имеющее представительств в РФ (поэтому Paypal, к пример, к таким не относится) - нужно будет очень специальным образом уговаривать на выдачу информации.
    Ответ написан
    Комментировать
  • Как получить всю коллекцию monogoose?

    Ptolemy_master
    @Ptolemy_master
    Coder321: Не получится по той причине, что запрос вернет только записи, относящиеся к определенной модели, а топикстартеру надо все.

    Можно попробовать так, как описано здесь https://stackoverflow.com/questions/21429630/query...

    MongoClient.connect("mongodb://localhost:27017/exampleDb", function(err, db) {
    if(err) { return console.dir(err); }

    var collection = db.collection('kittens');

    collection.find().toArray(function(err, kittens) {
    // here ...
    });
    });


    Правда, это не Mongoose
    Ответ написан
    1 комментарий
  • Как реализовать регистрацию в RESTful приложении?

    r0zh0k
    @r0zh0k
    Site Reliability Engineer
    Регистрация:
    POST /api/signup, в тело запроса передается емейл/логин и пароль + нужные вам пользовательские данные. Сторите это дело в базу, пароль конечно же хешируете bcryptом.

    Логин:
    POST /api/login, в тело запроса передается логин и пароль. Достаете пользователя из базы, хешируете пароль, сравниваете с сохраненным. Если не ок – 401 до свидания, если ок:

    Генерируете JWT токен, в токен записываете логин и роли, ставите дату протухания. Токен обязательно подписывается HS256 или сильнее.
    Токен ставите в респонс в хидер X-Auth-Token или возвращаете в респонсе или еще как угодно. Кроме этого возвращаете на фронт его роли чтобы фронт знал что надо рисовать.

    Фронтенд сохраняет токен в печенье или локалсторедж и передает с каждым запросом.

    На каждый запрос вы
    1. Смотрите есть ли токен в хидере. Если нет – 403.
    2. Валидируете его (обязательно ставите сами алгоритм подписи, а не берете из самого токена), и смотрите не протух ли. Если невалидный или протух – 403.
    3. Достаете оттуда емейл и роли. Смотрите, доступен ли ваш эндпоинт этим ролям. Если нет – 403.
    4. ...
    5. PROFIT!

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

    Ключевые слова для гугления – JWT auth, даже не знаю что еще добавить.
    Ответ написан
    7 комментариев