Какую CMS вы предпочитаете при создании своего стартапа? ? @bookflow
Другие записи сообщества
? Совет по Laravel: wherePivot. В отношениях "многие-ко-многим" можно добавить операторы where в таблицу pivot, используя метод `wherePivot`.
Основные команды Linux, которые вы должны знать
Понимание OAuth OAuth - это открытый стандарт, позволяющий пользователям предоставлять ограниченный доступ к своим данным на одном сайте другим сайтам или приложениям без раскрытия паролей. Он стал основой безопасной авторизации в Интернете и мобильных приложениях. Экосистема OAuth OAuth объединяет трех основных участников: - Пользователь, который хочет предоставить доступ к своим данным без передачи учетных данных. - Сервер, на котором хранятся данные пользователя и предоставляются маркеры доступа - Провайдер идентификации (IdP), который проверяет подлинность личности пользователя и выдает токены. Принцип работы OAuth Когда пользователь пытается получить доступ к своим данным через стороннее приложение, он перенаправляется для входа в систему через IdP. IdP отправляет токен доступа в приложение, которое представляет его серверу. Распознав действительный маркер, сервер предоставляет доступ. Потоки OAuth OAuth 2.0 определяет четыре потока для получения маркеров авторизации: - Поток кода авторизации - для приложений на стороне сервера - Поток клиентских мандатов - когда приложение является владельцем ресурса - Поток неявного кода - небезопасен и более не рекомендуется - Поток владельца ресурса - для доверенных приложений, использующих учетные данные владельца. Основные преимущества - Повышение удобства работы пользователей за счет отказа от использования нескольких паролей - Обеспечивает безопасный доступ к данным на разных платформах с помощью токенов - Баланс между доступностью и безопасностью OAuth 2.0 стал стандартом авторизации. Он обеспечивает безопасный и удобный обмен данными, защищая при этом учетные записи пользователей.
?Разберитесь в возможных значениях свойства CSS transform с помощью этой шпаргалки ? @bookflow
Шпаргалка по Git для разработчиков и инженеров DevOps ?
Нужно ли хранить пароли самостоятельно? При разработке приложений, требующих аутентификации пользователей, мы должны задаться вопросом: стоит ли хранить пароли пользователей в наших системах? Несмотря на удобство, самостоятельное хранение паролей создает значительные риски для безопасности. В идеале мы должны стремиться к тому, чтобы по возможности не заниматься хранением паролей самостоятельно. Некоторые альтернативные подходы включают в себя: - использование сторонних служб аутентификации (например, OAuth) для обработки входа в систему. - Использование федеративного управления идентификацией и единого входа (SSO) для минимизации использования паролей. Если самостоятельное хранение паролей неизбежно, примите дополнительные меры предосторожности. Не делайте этого: - Хранить пароли в формате обычного текста - Хешировать пароли без соли ДЕЛАЙТЕ: - Солить + хэшировать пароли перед хранением с помощью криптографических функций - Следуйте отраслевым стандартам, таким как OWASP, для реализации соления и хэширования. - Правильно проверяйте попытки входа в систему, сравнивая хэши вводимых паролей с хранимыми хэшами по времени. Предпочтительнее отказаться от хранения самоизменяющихся паролей. Но при необходимости соление и хеширование паролей может помочь снизить риски. ? @bookflow
Языки программирования и их создатели ?
Какую архитектуру следует использовать с модульными монолитами? Вот 3 варианта на выбор: - Чистая архитектура - Многослойная архитектура - Вертикальная архитектура Конечно, вы можете использовать любые другие варианты. Я привожу лишь несколько примеров для начала. Но я хочу сказать, что модульные монолиты очень гибкие. Допустим, в вашем приложении есть 3 модуля. Вы можете решить структурировать каждый модуль по-разному. Один модуль - это простое CRUD-приложение. Мне не выгодно использовать чистую архитектуру для этого модуля. Я могу использовать простую многоуровневую архитектуру с двумя слоями. Другой модуль содержит сложную бизнес-логику. Я уже использовал DDD для решения подобных проблем. Чистая архитектура и DDD хорошо сочетаются. Именно это я и выбрал для этого модуля. Я не говорю, что нужно использовать все известные вам программные архитектуры. Но также не стоит быть догматиком и использовать одну и ту же архитектуру для всех модулей. Вы должны подходить к каждому модулю в модульном монолите как к отдельному приложению. В целом, модули должны быть автономными и изолированными. Используйте лучшее решение для той проблемы, которую вы решаете в данный момент. И будьте готовы использовать новый подход, если он дает преимущества. ? @bookflow
Совет: Замените сложный оператор if на описательный метод. Читать сложные операторы if нелегко. Чем больше условий, тем сложнее. И они имеют тенденцию выходить из-под контроля. Но это можно исправить с помощью небольшого рефакторинга. Перенесите условие в метод (или переменную) с описательным именем. Имя метода должно быть как можно более подробным. Это значительно улучшит читаемость кода. ? @bookflow
Совет по CSS ? Возможно, вы не знаете, что мы можем легко регулировать пространство между элементом и его контуром ?.