Page 1 of 1

非技术人员的技术知识(第 1 部分)

Posted: Mon Jan 27, 2025 5:16 am
by suchona.kani.z
我经常被要求向那些没有计算机科学知识的人解释技术上非常复杂的事情。由于缺乏知识,我试图以这样的方式解释某些基础知识,使这群人也能够认识到技术原理、联系和依赖关系。在我的博客系列“非技术人员的技术事物”的第一部分中,我想向您更详细地解释不同的数据格式。

数据结构——这是什么意思?
数据通常以或多或少结构化的方式存储。下面的例子肯定会让整个事情更容易理解:假设您想开一家在线服装店。您的商店的结构使得用户能够创建用户配置文件,这意味着可以自动创建整个设备的特别优惠。具体来说,这意味着您商店的访客可以在个人资料中定义他们最喜欢的颜色、最喜欢的裤子和衬衫款式,甚至最喜欢的鞋子。结构化的,这样的用户配置文件将如下所示:


可能的用户配置文件的结构化表示

您需要此结构将相关信息从一项服务传输到另一项服务 - 例如从配置服务到 脊医电子邮件地址 商店或从后端服务到 Web 或移动客户端。简单来说,您可以更好地将上面显示的结构想象为 Excel 表格。这看起来像这样:


以表格形式呈现

正如您所看到的,您始终需要项目的名称及其值。整个事情被称为“键值对数据库”。诚然,在我们的示例中,这样的键值对看起来不是特别有效,而且几乎不会被使用。但是,如果您的设置很少更改并且通常仅在个别点更改,则键值对就有意义了。

但是,只有缩进正确,您才能正确解释内容。否则,您的在线商店的用户可能会得到一件皮衬衫而不是棉衬衫。因此,传输所有信息并使用缩进对其进行结构化更有意义。您可以使用不同的格式,我现在想更详细地向您介绍其中三种格式。

YAML、JASON 和 XML
YAML 格式(“YAML Ain't Markup Language”的缩写)是一种用于数据序列化的简化标记语言。 YAML 假定任何数据结构只能用关联列表、列表和单个值来表示。因此,这个概念比 XML 等更容易被人类阅读和编写。数据的进一步处理也得到了简化,因为大多数语言已经集成了此类结构。

YAML 使用缩进来表示层次结构:


使用 YAML 的示例

以下格式称为 JSON – JavaScript 对象表示法:


使用 JSON 的示例

此格式用于移动和 Web 应用程序,以在客户端(例如应用程序)和服务器端(例如云)之间交换数据。 JSON 应用广泛,专门用于微服务和 REST 接口。

正如您所看到的,我们这里也有属于“某处”的键值对。这种“归属”是通过缩进和大括号来表达的。

条目的结尾可以用逗号或大括号来描述。即使数据的语法正确,也存在出现内容错误的风险。要确定对象在哪里结束,您需要在开头和结尾处有一个关键点。

我想向您介绍的下一种格式称为 XML – 扩展标记语言:


使用 XML 的示例

虽然这种标记语言非常可靠,但它确实需要更多的内存。此外,使用 XML 存储数据时性能会较差。因此,使用 XML 的接口(例如 SOAP)通常“慢”并且无法快速定制。然而,XML 的使用提供了一种易于理解的标记语言,可供许多工具和标准使用。

结论
正如您所看到的,所提到的三种标记语言之间肯定存在差异。 YAML 非常易于阅读和编辑,JSON 因其简单的表示法而易于理解,而 XML 得分则最重要的是其多功能性。当然,关于这三种格式还有很多东西需要了解。然而,我希望我的贡献能够以简单易懂的方式向您解释主要差异。

顺便说一句,在我的下一篇博文中,我将讨论微服务和 REST 接口。所以它仍然令人兴奋。

您想了解更多与软件、开发或项目相关的令人兴奋的主题吗?然后看看我们的其他博客文章。

此类别的更多博客文章:

非技术人员的技术知识 2
非技术人员的技术知识 3
非技术人员的技术知识 4

安格丽特·容克图片
作者: 安妮格雷特·容克

Annegret Junker 是 adesso 的高级软件架构师。她在软件行业工作了超过 25 年,涉足的领域也非常不同:汽车、金融科技和综合管理。 Annegret 对新技术、架构和方法感兴趣。

类别: 阿德索内部
标签: 软件项目 数据库
阿斯达夫
我们的博客文章一览
在我们的技术博客中,我们将带您踏上令人兴奋的 adesso 世界之旅。您可以在我们之前的博客文章中找到其他有趣的主题。