站点图标 AI技术聚合

将提高您的生产力的数据和系统可视化工具

将提高您的生产力的数据和系统可视化工具

将提高您的生产力的数据和系统可视化工具

使用这些有助于探索和管理复杂文件、开发环境等的可视化工具提高您的工作效率

随着文件、数据集和配置的增长,导航它们变得越来越困难。然而,有许多工具可以帮助您在处理大型 JSON 和 YAML 文件、复杂的正则表达式、令人困惑的 SQL 数据库关系、复杂的开发环境等等时提高工作效率。

JSON

JSON 是一种对计算机很好但对人类不利的格式。即使是相对较小的 JSON 对象也可能很难读取和遍历,但是有一个工具可以提供帮助!

JSON Visio 是一个从 JSON 对象生成图表的工具。这些图表比文本格式更容易导航,并且更方便,该工具还允许您搜索节点。此外,生成的图表也可以作为图像下载。[0]

您可以在 https://jsonvisio.com/editor 使用 Web 版本,也可以将其作为 Docker 容器在本地运行。[0][1]

Regular Expressions

正则表达式 (RegEx) 因极难阅读而臭名昭著。我推荐 2 个工具来帮助理解复杂的 RegEx——第一个是 https://regex101.com/:[0]

这可以帮助您构建和测试正则表达式,以及将它们分解并识别其各个部分。

第二个是 https://regex-vis.com,它从 RegEx 生成一个图表,这对于理解表达式的实际作用非常有帮助:[0]

YAML

YAML 是一种可读的语言,但它通常不是可读的。众所周知,具有多级缩进的长 YAML 文档可能很难导航和排除故障。

为了避免花费不合理的时间来寻找错误的缩进,我建议您使用模式验证并让您的 IDE 完成所有工作。您可以使用来自 https://schemastore.org/json 的验证模式或自定义模式(例如 Kubernetes 的这些模式)来验证您的文件。这些将适用于 JetBrains 产品(例如 Pycharm、IntelliJ)以及 VSCode(请参阅本指南)[0][1][2][3][4]

如果您更喜欢使用 vim 作为编辑器,我建议您使用可以帮助您发现错误的自定义格式。我的首选配置如下所示:

生成的格式将如下所示:

除了上述工具之外,使用 YAML linter 或它的 CLI 等效工具也是一个好主意,它将验证和清理您的文档。[0][1]

最后,如果您正在使用 OpenAPI/Swagger YAML 规范,那么您可以使用 https://editor.swagger.io/ 来查看/验证/编辑您的模式。[0]

SQL

有很多用于处理关系数据库的软件,但是其中大多数都专注于连接到数据库实例和运行 SQL 查询。这些功能非常方便,但对使用可能有数百个表的数据库进行导航可能非常困难这一事实无济于事。一个可以解决这个问题的工具是 Jailer:

Jailer 是一种工具,除其他外,它可以通过跟随外键来浏览数据库。可以在这里找到展示 Jailer 所有功能的几个视频。[0][1]

Git

Git——一个我们每天都在使用的具有绝对糟糕用户体验的软件——也可以使用一些工具来浏览历史记录(日志)、暂存/提交文件、查看差异或例如变基分支。

对于上述所有问题,我选择的工具是 IntelliJ/PyCharm git 集成——在我看来,真的没有比这更好的工具来处理与 git 相关的东西了。

如果您不是 IntelliJ/PyCharm 用户,或者您更喜欢留在终端中,那么以下命令可以让您的生活更轻松一些:

上面的命令将打印一个有点可读和漂亮的提交历史图表,看起来像:

如果您还希望改进 diffing 功能,那么您可以使用 git diff … –word-diff –color-words:

从上面的 2 个例子可以看出,只要付出足够的努力,你也许可以让命令行 git 体验变得可以忍受,更多类似的技巧请参见我的上一篇文章:

如果您想完全避免使用简单的 git CLI,可以尝试使用 forgit – 一个用于交互式使用 git 的 TUI:

上面的屏幕截图显示了交互式且漂亮的 git 日志。该工具支持几乎所有的 git 子命令,最重要的是 rebase、cherry-pick、diff 和 commit。有关功能的完整列表和更多屏幕截图,请参阅项目的存储库。[0]

除了使用 git 或您的 IDE 功能之外,您还可以获取其他有助于复杂文件差异化的工具。一个非常强大的工具是 Difftastic。支持多种语言的 Difftastic 语言感知差异工具。有关该工具的演示,请参阅此视频。[0][1][2]

如果您想要一个专门用于区分结构化语言(如 JSON、XML、HTML、YAML)的工具,那么这是一个不错的选择。 Graphtage 在语义上比较文档,即使您更改元素的顺序,也能正确发现差异。

最后,如果您更喜欢可视化工具,那么您可能会发现 Meld 很有用,因为它提供了与 JetBrains 产品类似的体验。[0]

Docker

在 DevOps 方面,使用 Docker 时,使用 docker-compose 启动一堆容器并最终导致难以解决的混乱局面并不少见。

Lazydocker 是同时处理多个 Docker 容器的绝佳工具。如果您不相信我,请查看项目存储库中的“电梯间距”。[0][1]

如果你更喜欢基于浏览器的工具,你可能想试试 Portainer,它提供了用于导航/检查 Docker 容器、卷、图像等的仪表板。[0]

Kubernetes

考虑到每个 API 资源都可以使用可视化工具,涉及到 Kubernetes 需要涵盖很多内容。然而,有几个值得注意的领域(确实是痛点),通常需要可视化工具来有效地设置/管理。

第一个是 NetworkPolicy,可以使用 https://editor.cilium.io/ 进行可视化和配置。即使您更喜欢手工制定策略,我仍然建议您使用此工具直观地验证它们。[0]

另一个类似的工具是 Network Policy Viewer,它只专注于策略的可视化,并且具有更简单、更易读的图表。[0]

我建议使用此网络策略配方集合来测试这 2 个工具,看看它们如何对您的工作流程有所帮助。[0]

配置 Kubernetes 的另一个痛点是 RBAC,更具体地说是 Roles、RoleBindings 及其集群范围的替代方案。有几个工具可以帮助解决这些问题:

Krane 是一种工具,可以生成显示所有角色和主题之间关系的图表。 Krane 还具有更多功能,包括 RBAC 风险评估、报告和警报,以及使用 CypherQL 查询/询问 RBAC 规则。[0]

Krane 的一个更简单的替代方案是 rbac-tool,它可以作为 kubectl 插件安装。它还可以分析、审计、询问 RBAC 规则,但最重要的是,它可以将它们可视化:[0]

最后,如果您更关心轻松配置 RBAC 而不是查看漂亮的图表,那么权限管理器是适合您的工具。请参阅 GitHub 存储库中的 GIF 以演示该工具的功能。[0][1]

除了用于网络策略或 RBAC 之类的专用工具之外,您还可以使用通用仪表板,例如:

Closing Thoughts

本文重点关注开发人员/DevOps 工具,但还有两件事——荣誉奖——值得一提。首先是 Mermaid.js,用于创建漂亮的图表(作为代码),现在与 GitHub markdown 集成。另一种——MathJax——用于可视化数学表达式,最近也受到 GitHub markdown 的支持。[0][1][2]

这些是我喜欢的工具或我过去使用过的工具,所以这绝不是一个详尽的清单。如果您发现了不同的(更好的?)工具,请分享,以便其他人也可以使用它们。

本文最初发布于 martinheinz.dev[0]

成为会员并阅读 Medium 上的每个故事。您的会员费直接支持我和您阅读的其他作家。您还可以完全访问 Medium 上的每个故事。[0]

你也许也喜欢…

文章出处登录后可见!

已经登录?立即刷新
退出移动版