医疗AI迎来行业爆发临界点
在讨论了确定性和副作用之后,我们准备讨论纯度。纯函数是既具有确定性又没有副作用的函数。 再一次,确定性意味着可预测的—给定相同的输入,该函数将始终返回相同的结果。而且没有副作用意味着该函数除了返回值外什么也不做。这样的功能是纯粹的。 纯函数有什么好处?正如我已经说过的,它们是可以预测的。这使得它们非常易于测试(无需模拟和存根)。关于纯函数的推理很容易-与OOP不同,无需牢记整个应用程序状态。您只需要担心当前正在使用的功能。 纯函数可以轻松组成(因为它们不会在其范围之外进行任何更改)。纯函数对于并发非常有用,因为函数之间没有共享状态。重构纯函数是纯粹的乐趣-只需复制和粘贴,无需复杂的IDE工具。 简而言之,纯函数将欢乐带回到编程中。 面向对象编程的纯度如何? 为了举例说明,我们来讨论一下OOP的两个功能:getter和setter。 吸气剂的结果取决于外部状态-对象状态。多次调用getter可能会导致不同的输出,具体取决于系统的状态。这使得吸气剂本质上是不确定的。 现在,二传手。设置器用于更改对象的状态,从而使它们固有地具有副作用。 这意味着OOP中的所有方法(除了静态方法之外)都是不确定性的,或者会带来副作用,但每种方法都不是好方法。因此,面向对象编程不是纯粹的东西,它与pure完全相反。 有一个银弹。
但是我们很少有人敢尝试。 只靠基础设施提供支持是不够的。用户需求在不同的应用程序之间可能有很大的差异,甚至在同一个应用程序中也会有波动。这些不断变化的应用程序需求使得传统的基础设施很难满足高级工作负载的需求。因此,许多组织现在都在寻求采用可组合分解的基础设施。 大数据分析和其他高级应用程序 在当今的企业中,数据可以来自事务系统、物联网设备、社交媒体网站、网络日志、用户设备、受监控的IT系统和各种其他来源。通过从这些数据中获得见解,组织可以获得多种好处。例如,他们可能会使用这些信息来优化IT运营或提高员工的生产率。另外,他们可能会使用它来改善客户服务或获得竞争优势。 全面的数据分析需要结合先进的技术,如机器学习、深度学习、神经网络或预测分析。这些应用程序需要足够灵活和可扩展的基础设施,以适应它们之间的差异。例如,采用机器学习进行统计可能使用更小的数据集和更少的计算资源,而深度神经网络可能需要更高的性能和更多的数据。 IT团队必须能够经济高效地运行两种类型的应用程序,同时仍要提供必要的性能。这本身可能很困难,但是单个应用程序也可能带来挑战。高级应用程序在经历多个阶段时可能会有不同的要求,因此在不同的时间需要不同的计算和存储资源。例如,摄取数据可能是I/O密集型操作,而训练和验证模型可能需要大量的CPU和内存资源。 满足所有争夺相同资源的多个应用程序的不断变化的需求可能是一个艰巨的过程,并且是难以实现的目标,尤其是在试图最大限度地利用资源时。如果应用程序需求不可预测且不断变化,那么即使是传统的高性能计算(HPC)平台也会出现问题。高级应用程序在需要资源时需要正确的资源组合,否则会面临严重延迟的风险。 可组合分解基础设施的好处
传统的基础设施很难满足当今高级工作负载的要求。这些系统遵循通常复杂且不灵活的架构,因此很难在不过度配置或未充分利用资源的情况下适应不断变化的工作负载需求。这并不是说这些系统无法更新或重新调整用途,但这样的过程既耗时又昂贵,同时导致基础设施也同样面临僵化的情况。 (编辑:长春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |