📜  什么是软件堆栈

📅  最后修改于: 2022-05-13 01:57:00.345000             🧑  作者: Mango

什么是软件堆栈

什么是软件堆栈:
软件堆栈是独立组件的集合,它们协作使应用程序的实现更容易。操作系统、架构层、协议、运行时环境、数据库或调用功能都包含在层次结构中。层次结构中的较低级别经常与硬件接口,而层次结构中的较高级别执行特定的用户活动和服务。组件通过遍历堆栈的一系列复杂指令直接与应用程序交互。

应用程序由一组功能组成,这些功能在定义的架构中一起运行,为用户提供某些服务。最基本的应用架构由三层组成:

  1. 表示层r 是客户通过网站或基于 Web 的应用程序门户访问程序时看到的内容。
  2. 逻辑层包括有助于满足应用程序请求的应用程序逻辑和业务规则。该层计算和判断如何处理请求,同时还管理数据层和显示层之间的数据传输。
  3. 数据层是一个服务器端系统,它在需要计算或必须将其移动到用户可见的表示层时提供逻辑层信息。

软件堆栈提供了几个优点,包括能够为问题提供预先确定的答案,这有时是最好的解决方案。

  • 它们提供了获得所需结果所需的最少软件。
  • 软件堆栈可以安装在系统中或自动安装在计算机模板中。
  • 对于可定制的系统,软件堆栈的安装和操作是相同的。因此,提供的答案也是一致的。
  • 大多数软件堆栈都支持完整的捆绑包。有些还有社区论坛。
  • 映像或软件规范可用于安装软件堆栈。

启用Java等程序所需的操作系统和运行条件是客户端计算机堆栈的一部分(请参阅Java虚拟机)。应用程序可能包含在堆栈中,尽管这通常称为应用程序堆栈。

每个组件都为其他组件增加了一层兼容性,并且捆绑它们使它们易于下载和一次性部署。堆栈的组件范围可以从泛型

图 1. 了解 Pie 中的软件堆栈。

例子 -
Mac OS X 操作系统要极其专业化(例如,特定的PHP框架)。
选择一个堆栈而不是另一个堆栈的原因有很多——而且,根据项目,更新不一定更好。也许您设想未来站点需要垂直可扩展性,或者您的开发团队特别擅长编程语言——这两者都可能会影响您对堆栈的选择。
有几个老派的,主要是过时的堆栈,例如 LAMP,它代表利用 Linux 托管 Apache HTTPS、MySQL 和PHP来运行网站。仍然建议使用 Linux,而不再建议其他站点用于新站点。

知名软件堆栈示例:
1. MEAN Stack 是首先想到的。
MEAN 堆栈(MongoDB、Express.js、AngularJS 和 Node.js)是一个基于 JavaScript 的堆栈,它使用 MongoDB 数据库程序进行后端开发,使用构建在 Node.js 之上的 Express.js 框架进行前端开发,以及用于前端开发的 AngularJS 框架。 MEAN 堆栈的软件都是免费和开源的,因此易于理解和入门。此外,由于它是一个从前到后的 Javascript 堆栈,开发人员可以在前端和后端组件之间交换和优化代码。

2. MEVN 堆栈排在第二位。
MEAN 堆栈的另一个流行变体是 MEVN 堆栈(MongoDB、Express.js、Vue.js 和 Node.js),它用 Vue.js 取代了 Angular,Vue.js 是一个功能最少的轻量级 Javascript 框架。 Vue 与 React 一样,依赖于庞大的开发者社区来生产第三方插件和工具,以添加特性并增强核心框架的功能。

在寻找工程合作伙伴时,了解他们使用哪些工具来完成您正在寻找的工作至关重要。在平台方面,并非所有软件企业都提供新的解决方案。您需要一个具有前瞻性的团队,不仅可以创造您的杰作,还可以确保它不会在短时间内过时。
预编译运算符实现是华为工程师使用针对达芬奇架构高度优化的特定编程语言构建的内核函数,由升腾AI软件栈提供。目前,开发人员无法访问此级别的编程。

为了实现通用性,这些操作被预编译并作为通用内核实现。 Ascend AI 软件堆栈受到 TVM 设计理念的启发,旨在提高推理性能。当离线模型生成器转换模型时,会提供针对某些输入数据形状和参数组合的定制内核以提高推理性能。

结论 :
这是您需要了解的有关软件堆栈到底是什么的所有信息。希望本文能让您了解软件堆栈的基础知识甚至高级方面!