• Как правильно реализовать авторизацию через JWT?

    @jacob1237
    Используя пару access_token и refresh_token, попробуйте уменьшить время жизни access_token, например до 10 или 20 минут.
    Хранить access_token'ы в базе данных смысла нет, так как главная фишка JWT не столько в stateless сессии, сколько в децентрализации (вернее, одно проистекает из другого).

    Таким образом серверы, принимающие access_token, могут проверить его правильность без необходимости использовать какие-то внешние сервисы.

    И да, основной побочный эффект в этом случае как раз заключается в том, что даже после блокировки refresh_token, access_token будет действовать еще какое-то время.

    Это всегда некий компромисс между удобством и безопасностью.
    Ответ написан
    Комментировать
  • В чём разница между проектированием и архитектурой?

    MarcusAurelius
    @MarcusAurelius
    автор Impress Application Server для Node.js
    Если коротко, то архитектура - это смесь науки и искусства, а проектирование - это смесь технологий и дизайна.

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

    Что есть архитектура?

    Это архитектурная задача:
    • Выделить и назвать модули, построить связи
    • Скомпоновать подсистемы в систему

    Выбор идей и инструментов:
    • Парадигмы, стандарты, модели данных
    • Технологии, фреймворки, паттерны
    • Модели взаимодействия модулей
    • Выбор топологии
    • Протоколы и форматы данных

    Задача интеграции:
    • Стыковка модулей еще до их разработки
    • Определить внешние интерфейсы (связи)

    Что есть проектирование?

    Инженерная задача:
    • Планирование и детализация модулей
    • Спецификация модулей, компонентов, вплоть до классов, методов и функций
    • Моделирование данных (ООП или структуры памяти)
    • Разрабока ER-моделей и структур БД
    • Оптимизация

    Задача моделирования:
    • Сделать прототип, макет, пилотный или пробный экземпляр
    • Математическое моделирование
    • Тестирование и апробация моделей
    • Проверка идей и алгоритмов
    • Нагрузочное тестирование

    Задачи эксплуатации:
    • Подготовка системы к эксплуатации
    • Внедрение
    • Инженерная поддержка
    Ответ написан
    Комментировать
  • Насколько я рискую, подавая заявку на MS BizSpark?

    newross
    @newross
    Product owner
    Очень распространенное заблуждение про кражу идеи фондом/большой компанией. Идея без реализации, без команды проекты - ничто. Можно взять чужую идею, но если не горишь ей и не живешь ей, не варишься в специфичной для идеи сфере - хрен что у тебя получится сделать, только деньги просадишь.
    По факту, сам участвую в BizSpark и в ФРИИ буду выступать на этой неделе с презентацией проекта. И абсолютно не переживаю о том, что кто-то у меня украдет идею. Более того, есть конкуренты, которые знают о существование этой идеи, могут сами попробовать воспользоваться сервисом - и опять таки это не вызывает волнения.
    Ответ написан
    7 комментариев