入门计算机的粗略学习-Day1

编程语言

对于计算机这种机器而言,它只认识1和0,计算机中的所有指令最终变成机器熟悉的1或0,但对于人来说,去理解复杂的编码和各种奇怪的机器指令是困难的,所有有了编程语言,从低级的,难记难以理解的汇编语言,到现在的各种各样的高级语言,这些都是帮助人去快速开发程序的工具。使用这些语言开发程序,最终会被编译成机器可以理解的机器语言,运行在机器上。
现在的高级语言是面向对象进行开发的,使用程序语言将各种东西抽象成类,类包含属性和方法,类可以被实例化为对象。
对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
:类是一个模板,它描述一类对象的行为和状态。
下图中男孩(boy)、女孩(girl)为类(class),而具体的每个人为该类的实例化对象(object),每个对象有自己的属性和行为:
在这里插入图片描述

计算机网络

一台台独立的计算机,虽然可以帮助人们解决一些计算问题,但是不能改变人们的生活,但是计算机网络的出现,让独立的计算机连接了起来,网络把主机连接起来,而互联网是把多种不同的网络连接起来,因此互联网是网络的网络。
在计算机网络中规定了各种各样的协议,用以安全有效的传输数据。现今网络已经被规范化,根据不同的体系结构网络被划分成不同的层次,下层为层提供服务,数据在网络中一层一层包装或者解析。
在这里插入图片描述

五层协议

应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等。数据单位为报文。

传输层 :为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务。

网络层 :为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。

数据链路层 :网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。

物理层 :考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。

OSI

其中表示层和会话层用途如下:

表示层 :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。

会话层 :建立及管理会话。

五层协议没有表示层和会话层,而是将这些功能留给应用程序开发者处理。

TCP/IP

它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。

TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。

TCP/IP 协议族是一种沙漏形状,中间小两边大,IP 协议在其中占据举足轻重的地位。

操作系统

在计算机中,操作系统是其最基本也是最为重要的基础性系统软件。如现在的Windows,Linux等,它为用户提供了操作界面,帮助用户简单的进行进程调度,文件管理,设备管理(如存储设备,打印设备)等等。

为什么更多使用Linux作为服务器操作系统

稳定性
Linux稳定性更好,Linux更新无du需重启,不会停止Server,这才是真正zhi的Server;
Linux服务dao器相对Windows服务器,宕机机率更低;
Linux系统处理多进程比Windows要好的多;
Linux系统相对win来说“灵敏”;
安全性对比
Linux是建立在Unix上,从一开始就是为多用户设计的操作系统;
Linux文件管理一目了然,不像Windows那样隐藏文件;
Linux系统,几乎没有用户或者应用可以访问内核;
服务器硬件要求
Linux系统“身材苗条”,灵活轻松的配置,以及优秀的拓展性;
相对windows系统来说,win需要频繁的更多的硬件升级来支持资源需求;
版权问题
Linux是开源的系统,在海外服务器上使用不受版权限制,轻松获得高级版本使用权;
windows系统在海外服务器上使用,需要提供版权租用费用,版本越高租金也越高。

软件工程

软件工程(也就是我的专业~)是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件的方式。因为计算机发展越来越快,程序越来越复杂,导致问题越来越多,项目成本,开发进度等等,越来越难以管理,因此有了软件工程。
软件工程系统的规定了软件的开发流程,现在大部分公司都会遵守一套自己的软件开发流程。
从业务方提出需求,产品经理对需求进行分析,产出需求文档(需求文档中会用UML时序图,流程图,UI设计图等各种图,来帮助程序员梳理需求流程),然后程序员对需求进行分析,排期,开发,程序员开发完成后,这时可能会有bug(程序中有错误),需要测试人员进行测试,
测试中又分好多好多种类(单元测试(对某一特定功能进行测试),回归测试(对系统进行测试,查看新功能是否影响了老业务),非功能测试(压力测试,判断服务器能承受多大的流量)等等),测试完成后会上线让产品经理进行验收,验收通过后,本次需求就彻底开发完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值