对于非技术出身的软件行业的员工来说,理解技术是障碍,但是是向上发展必须跨越的障碍。在某软件公司,商务、售前、项目经理、产品经理、技术理解程度往往意味着他的专业程度。如何理解技术,许多人无法着手。
其次,从以下几个方面,全面了解软件开发的过程、使用的技术和专业名词,串联软件开发知识,形成系统。
互联网
说到互联网,我们必须从通信中提到。在信息传递过程中,肯定会有一个源头,一个接收信息的宿主,一个接收信息的渠道。产生信息的来源被称为来源,接受信息的宿主被称为住宿,信息传达的通道被称为通道。
信道和信息传递的介质有很多种,电话线路、光纤、无线等。信息从源头产生,由宿主接收,形成通信网络
计算机网络是指客户发出请求,服务器接受请求,通过有线或无线介质传达,形成计算机网络的这里有疑问。如果有计算机和服务器,我会从计算机发送信息,服务器接收信息,服务器会正确接收对应的客户发送的信息吗?即使这个服务器收到了客户发送的请求,服务器如何知道客户请求的意思?在此期间,双方都需要知道传达的信息内容。
这就像我们人与人之间的交流,我们要把自己头脑中的想法表达给别人,必须遵循一定的语言和语义规则,让别人理解。计算机之间的通信也是如此。有了信源和住宿,两台物理机之间的信息交流需要语法规则。因此,出现了TCP/IP协定、HTTP协定。
当我们从浏览器访问网站服务器时,我们需要通过这些协议进行索赔。在软件开发中,接口和接口之间的交流也需要通过这些协议进行交互。(详细说明接口篇)
硬件
软件开发中涉及的硬件主要是服务器,服务器种类繁多。关注服务器一般关注服务器的作用是什么,服务器的硬件配置是什么?
服务器本质上是计算机,但该计算机没有显示器,24小时不关闭的运行背景程序可以配置高于普通家用计算机。
我们一般关注服务器的配置,一般关注内存、CPU、硬盘等。我们之所以关注内存,是因为它决定了多少程序可以同时运行,程序运行速度快,我们之所以关注CPU,是因为它决定了计算机的运行速度,计算机的性能,我们之所以关注硬盘,是因为它决定了计算机的存储空间大小。
我们经常在配置应用程序时,运输和开发会和项目经理确认服务器的配置有多大,项目经理回答说4核8G,这4核是什么概念?
这实际上是指编程中的多线程概念,多线程是指一个时刻可以同时处理多件事。然而,程序中的多线程实际上只是一个概念上的多线程。真正的情况是程序的运行速度非常快。它将每个代码在不同的小时间片中执行,然后模拟同一时间执行多个程序的幻想。
但是,多核CPU真的解决了这个问题,它可以在同一时间运行多个程序,4核CPU可以在同一时间运行4个程序。这满足了服务器运行的多个应用程序。
根据这个原理,CPU的核数越多,配置越高,应用越多。
4核8G中的8G也是我们常说的内存概念,内存在什么?为什么内存对程序运行的影响如此之大?
方寸之地,蕴含着天地。
其实软件开发中提到的内存是指运行内存,代码运行的场所。例如,我的手机运行存储器是4G,所以我开始微信,占有我的500M运行存储器,我开始颤音,占有我的500M存储器,我同时开始10个应用程序后,我的运行存储器可能机卡尔顿
同样,在服务器上,当我们正常部署软件时,可能会部署openfire、redis等中间部件。这些东西和我的业务代码一样占有运行内存。如果我的运行内存较大,我可以在一台服务器上同时运行多个软件应用程序。
编程语言
很多非技术出身的软件员工,他想知道技术,一般直接从编程语言开始,实际上知道详细的编程语言,不能快速理解软件开发的流程和原理,但是知道编程语言有助于判断哪些需求工作量大,哪些需求工作量小。
目前市场上主流的编程语言有Java、JS、PHP、Python等。事实上,编程语言主要定义一些数据字段的格式、规则、代码的含义等。然后,通过ifelse、for循环等语言,完成业务逻辑。因此,我们可以在需求调查阶段整理业务流程,流程运行后,代码可以实现。
目前编程的主要结构是三层结构,表示层、业务逻辑层、数据层、表示层是显示数据和接收用户输入的数据,为用户提供交互式操作的接口,目前软件开发越来越细致,程序员分工也越来越明确,一般开发分为前端开发和后端开发前端开发商需要与后端开发商定义,前后端对接的接口,用于数据传输。
业务逻辑层和数据层通常由后端开发人员完成,业务逻辑层主要接受前端传输的数据,完成客户的业务需求逻辑。业务逻辑层主要进行逻辑处理和判断,如果需要向数据库获取数据,则需要通过数据层向数据库获取数据。
数据层主要向数据库获取数据,加工数据,将数据传递给业务逻辑层。代码中的sql语句通常是在数据层面写的。当然,现在有很多框架。例如,MyBatis、hibernate等,可以自己制作sql语言进行查询。这种方式有很多优点。例如,在切换数据库时,可以通过框架自己制作的sql自动匹配。没有必要调整自己写的本地sql。当然,这种方式也有缺点,即不能进行复杂的sql查询。例如,在制作报告需求时,通常会自己写sql。
以上是我们自己内部写程序时的结构,一般在制作软件时,特别是制作业务系统,一般与多个系统对接,多个系统之间通过接口对接,此时在业务逻辑层调用时,需要调用到其他系统的接口
一般来说,写作程序可以分为前端、后端和数据库三个部分。相关编程语言包括前端语言,如html5、css3、js等。前端框架主要包括Bootstrap、jQuery、VUE等。后端语言,如Java、php、C#等。每个语言都有自己独特的框架。以Java为例,它的框架主要是SSM,即SpringMVC和MyBatis。现在最受欢迎的是SpringBot;
这里有人怀疑这些框架有什么用?为什么研究开发如此热衷于优秀的框架?
事实上,框架是一些大型牛公司写的方法。普通程序员可以直接调用这些方法来完成他们的业务逻辑,这大大节省了开发人员的开发时间。不仅如此,框架中还包含了许多复杂的业务逻辑,这可以避免重复开发。
操作数据库的sql语言也是开发软件的重要环节,sql的入门简单,可以增加删除,但是写优秀的sql会怀疑人生,写报告书,有时会写几百行的sql语言,复杂到不想看。
以上是编程语言,写代码时需要编译工具、开发中间部件、数据库、代理服务器等辅助软件工具
软件
我们在编写程序时,一般使用编译软件编写的编译软件的优点是,我们可以在这个上面编写程序,编译软件一般有代码提示,开发时间大幅节约的编译软件可以将开发的程序编译成可行的class文件,内置的tomcat
说到这里,我们经常提到一个名词:tomcat;许多不是技术出身的人不能理解tomcat。事实上,tomcat是一个容器。编译的代码需要在这个容器中运行,然后代码可以制作各种我们想要的页面和业务逻辑。
开发中不可避免的是数据库。事实上,一些沉浸在软件行业多年的人对软件有了真正的理解,也就是说,所有软件都是数据加工、客户输入数据、系统加工数据、数据库存数据和系统返回数据的所有业务逻辑都无法逃脱。数据库在软件开发中的地位很高,远远不及其他软件。
常见的数据库有mysql、oracle、sqlserver等。
除了这些东西,我们经常在开发口中说名词,比如redis、openfire等,其实这些在我们理解了软件运行的原理之后就能理解了。例如,redis实际上是用来缓存的,缓存是用来保存数据的,但是因为它的读取速度比直接读取数据库大,所以一些代码运行的中间数据通常存在于这个缓存软件中。
我们的运输和项目负责人一般使用数据库图形工具和服务器图形工具连接服务器和数据库。这样会降低学习指令的时间。
接口
最后,接口,我们现在面向接口编程,软件开发之初,由老手程序员设计软件结构,分配给各部下程序员,根据这些模块的结构进行详细的设计,包括接口设计
很多非技术的朋友一开始就关注,什么是界面,这个概念太抽象了。事实上,与生活相比,我们很容易理解。例如,当我们使用计算机时,我们不关心计算机内部的结构。我们关心的是提供给我们的操作方法。这也是一个接口。我们可以通过键盘输入许多文字,并进行许多操作,而不管它是如何实现的。
软件开发也是如此,开发经理分配开发任务,每个人制作功能模块,包装,如果想获得对方模块的数据,可以通过接口获得。
接口需要参加和参加。如果我们想获得对方的数据,我们需要向对方提供接口。我们需要输入规定格式的参数,然后接口返回相应的结果或数据。
界面的种类一般有Http的界面和Websocket的界面,这两种都是协议,我们通过这两种协议完成界面和界面之间的数据传输。
理解软件开发:从互联网到接口
本文旨在帮助非技术背景的软件行业人员理解技术,从互联网通信、硬件、编程语言、软件和接口五个方面全面解析软件开发过程。介绍了TCP/IP、HTTP协议在通信中的作用,服务器配置对软件运行的影响,编程语言的基础知识,以及接口在软件中的关键角色。

被折叠的 条评论
为什么被折叠?



