在当今世界,构建软件意味着跨多个层工作,每个层都有自己的角色、工具和技术。以下是构成大多数现代应用程序的 9 层:
CPU 在任务之间快速切换(上下文切换),产生任务同时进行的错觉,尽管事实并非如此。
并发性非常适合涉及等待的任务,例如 I/O作。它允许其他任务在等待期间进行,从而提高整体效率。
并行性在数据分析或渲染图形等繁重计算方面表现出色,其中任务可以划分并在不同内核上同时运行。
他们如何协同工作
值得注意的是,虽然并发性和并行性是不同的概念,但它们密切相关。精心设计的并发程序可以在需要时扩展为使用多个内核进行并行性。
通过了解并发性和并行性之间的差异和相互作用,我们可以设计更高效的系统并创建性能更好的应用程序。
多年来,基于令牌的身份验证变得非常流行。传统上,JWT 一直主导着这一领域。
但现在,一个新玩家正在掀起波澜:PASETO,即与平台无关的安全令牌。
那么,两者之间有什么区别呢?
JWT 或 JSON Web 令牌是一种开放标准,用于在两方之间安全传输信息。
JWT 由标头、有效负载和签名组成。
JWT 可用于在客户端和服务器应用程序之间实现无状态身份验证。
PASETO 是 JWT 的现代替代品。它通过实施安全默认值来解决 JWT 的安全漏洞。
与 JWT 不同,PASETO 强制执行强大的、加密合理的算法,从而降低漏洞风险。
PASETO 通常由版本、用途和有效负载组成。PASETO 有两种类型:
公共 PASETO:它们使用非对称加密进行签名,并确保数据的完整性,但不确保其机密性。
本地加密:它们使用对称加密算法进行加密,确保令牌中包含的数据的机密性。
Cron 是一个基于时间的作业调度程序,允许用户通过按指定的时间间隔运行命令或脚本来自动执行重复性任务。它使用 Cron 表达式,这是一种定义计划的语法,由五个字段(分钟、小时、日、月、工作日)组成。
Cron 广泛用于系统维护、备份、日志轮换和任务自动化,例如定期发送电子邮件或运行脚本。在此备忘单中,我们涵盖:
https://blog.bytebytego.com/p/ep177-the-modern-software-stack