一篇了解软件开发原理的文章。
软件开发
浏览:1102 次

对于非技术背景的软件行业从业者来说,理解技术是一个障碍,但它是向上发展必须跨越的障碍。在软件公司,无论是业务、售前、项目经理还是产品经理,对技术的理解程度往往意味着他的专业水平。然而,许多人无法理解技术。
接下来,我们将从以下几个方面全面了解软件开发过程、使用的技术和专业术语,并将软件开发知识连接起来形成一个系统。
网络
说到网络,我们必须从通信开始。在信息传递过程中,会有信息的来源、信息的宿主、信息传递的渠道。信息的来源称为“信息源”,接收信息的主机称为“目的地”,信息传输的通道称为“通道”。
有多种渠道或信息传输媒介,如电话线、光纤、无线等。信息从源产生并由主机接收,形成通信网络;
计算机网络是指客户端发送请求,服务器接收请求,并通过有线或无线媒体将其传输,以形成计算机网络;然后有一个问题。假设有一台计算机和一台服务器,我从计算机发送消息,服务器接收消息,那么服务器可以准确地接收相应客户端发送的消息吗?即使服务器从客户端接收到请求,服务器如何知道客户端请求的含义?必须有一些标准语法来让双方知道消息内容。

这类似于人与人之间的交流。当我们向他人表达我们的想法时,我们需要遵循一定的语言和语义规则,以便他人能够理解。计算机之间的通信也是如此。对于信息源和信息接收器,需要语法规则来允许两台物理计算机之间的信息交互。然后我们的TCP/IP协议和HTTP协议出现了。
当我们从浏览器访问web服务器时,我们需要通过这些协议进行请求;在软件开发中,接口之间的通信也需要通过这些协议进行交互。(在界面部分解释)
硬件
软件开发中涉及的硬件主要是服务器。有许多类型的服务器。服务器的角色是什么,服务器的硬件配置是什么?
本质上,服务器是一台计算机。然而,这台计算机没有显示屏,可以24小时运行后台程序而不关机。配置高于普通家用电脑。
我们通常关注服务器配置,通常关注内存、CPU和硬盘。我们关注内存,因为它决定了可以同时运行多少程序,以及程序运行的速度;我们关注CPU,因为它决定了计算机的计算速度和性能;我们关注硬盘,因为它决定了计算机存储空间的大小。

在部署app时,运维或开发会议通常会与项目经理确认服务器配置有多大,项目经理会回复四个核心是8G。四个核心的概念是什么?
这实际上是指编程中的多线程概念,这意味着您可以同时处理多件事情。然而,程序中的多线程只是概念上的多线程。实际情况是程序运行得很快。它在不同的小时间片中执行每个代码,然后模拟同时执行多个程序的错觉。
然而,多核CPU确实可以解决这个问题。它可以同时运行多个程序。使用4核CPU,它可以同时运行四个进程。这允许一台服务器运行多个app。
根据这个原理,CPU的内核和配置越多,它所能承受的应用就越多。
4核8G中的8G也是我们经常谈论的内存概念。记忆有什么作用?为什么内存会如此影响程序的运行?
寸土寸土皆有天地

事实上,软件开发中提到的内存是指正在运行的内存,这是代码运行的地方。例如,如果我的手机的运行内存是4G,那么我创建了一个微信账户,占用了我500M的运行内存,我创建了抖音账户,占用我500M内存。