本心、输入输出、结果
编辑:简简单单 Online zuozuo
地址:https://blog.csdn.net/qq_15071263
我们使用视觉效果和简单术语来解释复杂的系统是如何运转的,帮助我们理解技术细节
我们使用视觉效果和简单术语来解释复杂的系统是如何运转的,帮助我们理解技术细节
CI/CD 管道用简单的术语解释
软件开发生命周期 (SDLC) 由几个关键阶段组成:
CI/CD 自动执行并集成这些阶段,以实现更快、更可靠的发布。
当代码被推送到 git 存储库时,它会触发自动生成和测试过程。运行端到端 (e2e) 测试用例来验证代码。如果测试通过,代码可以自动部署到过渡/生产。如果发现问题,代码将发送回开发部门进行错误修复。这种自动化为开发人员提供了快速反馈,并降低了生产中出现错误的风险。
持续集成 (CI) 可自动执行生成、测试和合并过程。每当提交代码时,它都会运行测试,以便及早检测集成问题。这鼓励频繁的代码提交和快速反馈。
持续交付 (CD) 可自动执行基础架构更改和部署等发布流程。它确保软件可以通过自动化工作流程随时可靠地发布。CD 还可以自动执行生产部署之前所需的手动测试和批准步骤。
典型的 CI/CD 管道具有多个连接的阶段:
规划:Netflix Engineering 使用 JIRA 进行规划,使用 Confluence 进行文档编制。
编码:Java是后端服务的主要编程语言,而其他语言用于不同的用例。
构建:Gradle 主要用于构建,Gradle 插件是为了支持各种用例而构建的。
打包:包和依赖项打包到亚马逊系统映像 (AMI) 中以供发布。
测试:测试强调生产文化对构建混沌工具的关注。
部署:Netflix使用其自建的Spinnaker进行金丝雀部署。
监控:监控指标集中在Atlas中,Kayenta用于检测异常。
事件报告:事件根据优先级调度,PagerDuty 用于事件处理
MVC、MVP、MVVM、MVVM-C 和 VIPER
这些架构模式是应用开发中最常用的模式之一,无论是在 iOS 还是 Android 平台上。开发人员引入了它们来克服早期模式的局限性。那么,它们有何不同
设计模式是常见设计问题的可重用解决方案,可实现更顺畅、更高效的开发过程。它们是构建更好的软件结构的蓝图。以下是一些最流行的模式
以下的序号与图上对应
为了可以方便的选择一项数据库技术,为了避免过多的数据库类型给我们造成选择困难或者决策困难,所以我们整理了云服务商的数据库技术
可以帮助我们提供更高层面的指导和决策支持,避免潜在的陷阱
注意:Google 针对其数据库用例的文档有限。尽管我们尽了最大努力查看可用的内容并得出了最佳选择,但某些条目可能需要更准确
答案将根据您的用例而有所不同。数据可以在内存或磁盘上编制索引。同样,数据格式也各不相同,例如数字、字符串、地理坐标等。系统可能是写入密集型或读取密集型的。所有这些因素都会影响数据库索引格式的选择。
以下是一些用于索引数据的最常用数据结构:
下图显示了该过程。请注意,不同数据库的体系结构不同,该图演示了一些常见的设计
步骤1 - SQL语句通过传输层协议(例如TCP)发送到数据库。
步骤 2 - 将 SQL 语句发送到命令解析器,在那里进行语法和语义分析,然后生成查询树。
步骤3 - 将查询树发送到优化器。优化程序创建执行计划。
步骤 4 - 将执行计划发送给执行者。执行程序从执行中检索数据。
步骤 5 - 访问方法提供执行所需的数据获取逻辑,从存储引擎检索数据。
步骤 6 - 访问方法确定 SQL 语句是否为只读。如果查询是只读的(SELECT 语句),则会将其传递给缓冲区管理器进行进一步处理。缓冲区管理器在缓存或数据文件中查找数据。
步骤 7 - 如果语句是 UPDATE 或 INSERT,则将其传递给事务管理器进行进一步处理。
步骤8 - 在事务期间,数据处于锁定模式。这是由锁管理器保证的。它还确保事务的 ACID 属性
CAP定理是计算机科学中最著名的术语之一,但我敢打赌,不同的开发人员有不同的理解。让我们来看看它是什么以及为什么它会令人困惑
CAP 定理指出,分布式系统不能同时提供这三个保证中的两个以上。
“2/3”的表述可能有用,但这种简化可能会产生误导。
选择数据库并不容易。仅仅根据CAP定理来证明我们的选择是不够的。例如,公司不会仅仅因为它是一个AP系统而选择Cassandra作为聊天应用程序。有一个良好的特征列表使Cassandra成为存储聊天消息的理想选择。我们需要更深入地挖掘。
“CAP只禁止设计空间的一小部分:在存在分区的情况下,完美的可用性和一致性,这是罕见的”。引自论文:十二年后的CAP:“规则”如何变化。
该定理大约是 100% 的可用性和一致性。更现实的讨论是在没有网络分区时延迟和一致性之间的权衡。有关更多详细信息,请参阅PACELC定理。
我认为它仍然有用,因为它让我们对一系列权衡讨论敞开心扉,但这只是故事的一部分。在选择正确的数据库时,我们需要更深入地挖掘
1986年,SQL(结构化查询语言)成为标准。在接下来的 40 年里,它成为关系数据库管理系统的主要语言。阅读最新标准 (ANSI SQL 2016) 可能非常耗时。我该如何学习它?
SQL 语言有 5 个组件:
对于后端工程师,您可能需要了解大部分内容。作为数据分析师,您可能需要对 DQL 有很好的了解。选择与您最相关的主题。