我的全栈之路

我的全栈之路 我的全栈之路

1.1 信息手艺成长趋势

今朝信息手艺首要履历了互联网、移动互联网以及以大数据、云较量、物联网、人工智能区块为代表的新兴手艺三个阶段。互联网

互联网自从20世纪90年月逐渐鼓起,首要是经由收集保持了世界各地的PC机,笔记本以及背后供应数据办事的大型办事器集群。

个中绝大多数PC机都运行着Windows,macOS把持系统,而办事器首要是以类Unix(CentOS,Ubuntu)占有首要市场。

依靠互联网成长起来的公司有Apple、Google、Amazon、Microsoft、Baidu、Alibaba、Tencent。移动互联网

移动互联网首要从2010起头爆发式增进,首要是经由收集保持了世界各地的移动设备(最典型的就是手机),它们绝大多数都运行着Android,iOS把持系统。

依靠移动互联网成长起来的公司有小米、美团、滴滴、蚂蚁金服。大数据、云较量

跟着用户的爆发式增进,以海量数据为根蒂的大数据、云较量手艺在Badu、Alibaba、Tencent等大型互联网公司有着普遍的贸易应用场景。物联网

物联网会以手机作为中枢,经由物联网保持所有的智能设备,包罗智能家居、汽车、电视等嵌入式设备,今朝小米、华为等在智能家居、电视、汽车等范畴普遍结构,2019年8月华为发布了鸿蒙系统。人工智能

人工智能(AI)作为当前最火爆的手艺,国内的Baidu、Tencent、Alibaba等互联网公司逐渐凭据自身的焦点买卖起头结构,Alibaba最早将人工智能手艺结构在电商和物流范畴,而Baidu斥地出了对话式人工智能把持系统Dueros和主动驾驶平台Apollo,Tencent则是在游戏范畴应用人工智能。区块链

区块链履历了数字泉币、智能合约和超等账本三个阶段,区块链手艺能够普遍使用在金融、供给链、物流、民众办事等范畴,解决互联网的信任问题,今朝蚂蚁金服、京东已经有大量的区块链应用落地。1.2 浅谈较量机系统架构

1.2.1 较量机系统架构概述

较量机系统由硬件系统和软件系统构成,由软硬件协作完成人们平常生活和工作中的各类义务,例如听歌、看片子、购物、写博客等等。

微信聊天:微信监听键盘输入的数据,并放到内存,然后传给网卡,经由收集传递给此外一个网卡,再从网卡传递到内存,显露在显露器上。

QQ音乐:QQ音乐将音乐数据加载到内存上,然后写到声卡上。

腾讯视频:应用法式将视频数据加载到内存,然后写到显卡上。

Office写文档:Office将内存中的数据写入到磁盘上。

Office读文档:Offcice将磁盘的数据加载到内存,然后显露在屏幕上。

1.2.2 较量机硬件系统

如今较量机是由运算器、掌握器、存储器、输入设备和输出设备五大部门构成,它们各司其职,完成了数据的较量、存储、传输。CPU

CPU也就是中央处理器,由运算器和掌握器所构成,其感化是从内存中获取指令并执行后将究竟返回给内存或写入磁盘和掌握其他设备协同工作。内存

内存是采用编址存储,其首要感化是作为法式的工作区,法式运行时会将指令和数据都加载到内存,内存中的数据断电后会丢失。硬盘

硬盘是用于存储海量数据,分为机械硬盘和固态硬盘两大类。IO设备

IO设备用于数据的输入和输出,个中常见的IO设备包含鼠标、键盘,常见的输出设备包罗声卡、显卡。

网卡也是属于IO设备的一种,首要用于网路上的数据领受和发送。

在后期法式排查错误时除了要考虑法式自己的错误以外,还要考虑较量机硬件故障,例如磁盘写满,收集欠亨等问题

每个较量机组件的IO机能也各不沟通,CPU、内存、磁盘都遵循容量越大、IO机能越差的特点。

在后期优化法式时需要考虑法式时间复杂度和空间复杂度的问题。

1.2.2 较量机软件系统

软件的显现实现了人和较量机更好的交互,它是由斥地人员采用某种编程说话(C/C++/Java等等)编写的一系列指令以及分歧买卖场景发生的数据构成。

平日将软件分为系统软件和应用软件

系统软件:驱动、把持系统、编译器、数据库等都是属于系统软件,把持系统是负责治理硬件资源

,同时给应用软件供应运行平台,今朝主流的把持系统有Windows,Linux,macOS,Android,iOS。

应用软件:微信、支出宝、淘宝、Office都是属于应用软件,它们都是运行在把持系统之上的。

运行在分歧把持系统之上的软件交互体式也纷歧样,Linux上的软件平日是使用字符界面的交互体式,运行在Windows,macOS上的软件平日是以鼠标、键盘把持的交互体式,运行在Android,iOS上的软件平日是以手势触控、语音等交互体式。1.3 法式和指令

法式是为了完成某项义务(例如聊天、听音乐)而使用某种编程说话(例如C/C++)编写的一组指令序列。

而指令是较量机法式掌握的最小单元单子,由把持码和把持数构成,把持码是较量机要执行什么把持,例如加减乘除把持,而把持数具体执行的对象,具体的数据以及数据的位置。

所有指令的鸠合称为指令系统,常见的PC机指令系统有Intel X86指令集,常见的手机指令系统有ARM,是以手机上的法式不加点窜是不克直接在PC机上运行,因为分歧的指令集是不兼容的。1.4 编程说话成长史

任何事物都是从无到有,慢慢成长强大起来的,编程说话也是一般。

较量机法式设计说话履历了机械说话到汇编说话和高级法式设计说话三个阶段,其特点是使得法式员用编程说话斥地、测试、布置应用法式越来越轻易、高效。然则是以牺牲效率为价值,然则跟着较量机硬件的成长,绝大多数应用场景的效率损失能够忽略不计。机械说话

较量机成长的最早期,法式员编写法式采用二进制的指令(010010101)来实现的,而每种CPU都有各自分歧的指令系统(Ultra SPARC/Intel X86/ARM),是以在分歧的机械上使用分歧的机械说话实现。其特点是机能稀奇高效,而面向机械编程也就意味着不克移植,需要手动处理底层硬件的差别性,并且二进制的指令难以懂得和维护。汇编说话

跟着时代和较量机手艺的成长,汇编说话和编译器的显现解决了机械说话需要记住非常多的二进制机械指令的难题,然则照样没有从基本上解决移植性的问题,只是将机械指令转换为易懂的英文单词,然后由编译器编译成机械指令,因为较量机终归揭底只能识别二进制的0001110100110机械指令,并且汇编说话是面向机械的,分歧机械(SPARC/Intel X86/ARM)的汇编指令是不沟通的。高级法式设计说话

高级法式设计说话的高级之处施展在斥地人员在编写法式时无需关心较量机底层硬件差别而只需要专注于买卖模块实现即可。甚至是能够实现 一次编译,四处运行,这里以Java为例子:经由实现分歧平台的JVM,编译生成的字节码文件能够在随意的JVM上运行。

高级说话平日都需要编译器或许是注释器将源码编译或许注释后执行。

高级说话首要分为面向过程和面向对象两种,个中典型的面向过程编程说话就是C,面向对象的编程说话有Java,C++等等。1.5 较量机说话应用场景

若是想知道今朝主流的编程说话有哪些,能够接见tiobe 首页获取编程说话排行榜。

2019年8月编程说话排行榜Top20

凭据Tiobe排行榜得知,Java/C/Python离别排在前三名, 随后紧跟着C++,C#等等。

那么若是你作为初学者,面临如斯之多的编程说话,究竟应该先从哪门说话上车呢?若是你想深入的进修其他说话和架构相关的常识之前建议熟练把握C说话。因为C++/Java/C#等编程说话都模拟了C说话。无论哪种说话,都是实现方针的对象,而不是方针自己。

而不出不测的话,我的全栈之路系列会笼盖上述的十种编程说话,实现全平台斥地。1.6 C说话概览

1.6.1 C说话成长简史

Dennis Ritchie

C说话凭借其高效率、精巧的移植性、功能壮大的特征在把持系统、硬件驱动以及系统应用斥地占有广宽的市场。发源

1972年,贝尔实验室的Dennis Ritchie和Ken Thompson在斥地Unix把持系统时设计了C说话,该把持系统的90%以上的代码都是由C说话实现,后期的Linux,MacOS,Android,IOS都是基于Unix成长而来的。尺度

1987年Dennis Ritchie和Brian Kernighan编写了The C Programming Language第一版是公认的C尺度实现,而没有界说C库。

尔后期ANSI/ISO先后于1990年、1999年和2011年发布了C90尺度、C99尺度和C11尺度,该尺度界说了C说话和C尺度库。

1.6.2 C说话特征

C说话作为面向过程的高级法式设计说话,可以轻松的实现自顶向下的规划、构造化编程和模块化设计,如许使得法式构造加倍简练,可扩展性强以及加倍轻易维护。

并且C说话有着高效(执行速度快)、功能壮大(嵌套汇编)以及可移植性(尺度库可移植)、功能壮大等长处,并且也存在着对系统平台库依靠严重,因为编程气势自由,经验不足也会轻易导致失足,编写代码实现周期长,同样的代码在分歧的把持系统(或许编译器)下或者会有分歧的示意等瑕玷。

1.6.3 C说话应用场景

C说话倾向把持系统、硬件驱动、底层应用(数据库、编译器)、嵌入式应用斥地、游戏引擎等应用场景。

硬件驱动的绝大部门实现是由C说话和汇编说话实现的。

主流把持系统(Unix,Linxu,MacOS,Windows,Android,iOS)的底层实现都是由C说话和部门汇编实现的。

C++,Java,Python,Swift的编译器或许注释器都是由C说话实现的。

Git,Nginx,Redis,MySQL都是使用C说话实现的,并且都是开放源代码的,能够在GitHub中获取到,能够经由阅读源码提拔本身的设计和编码能力。

我的全栈之路微信号:暂无扫描二维码关注公众号
爱八卦,爱爆料。
小编推荐
  1. NO.1 男子发文炫耀自己酒驾被抓后托关系免于惩罚 警方随即跟踪调查

    酒驾是违法行为,醉驾是犯罪行为,将根据你的情节惩处。而且法律面前,无一例外。然而11月17日,网友爆料称,一男子竟然公然在网上发文称自己

  2. NO.2 遂宁:射洪公安交警大队深入驾校开展“全国交通安全日”宣传

    百姓生活网遂宁讯(陈敬 记者 邓家华)为切实增强考取驾驶证学员们的交通安全意识、法律法规意识、安全行车意识和文明驾驶意识,扎实做好机动车

  3. NO.3 遂宁举行“诵华夏经典 展遂州风采——2019年中华经典诵读比赛

    11月20日,由市委宣传部、市文明办主办的“诵华夏经典 展遂州风采——2019年遂宁市中华经典诵读比赛决赛”在遂宁市职业技术学校举行。 比赛现场

  4. NO.4 开展特种设备安全监察岗位练兵竞赛活动

    11月18日下午,我局开展特种设备安全监察岗位练兵竞赛活动。我局分管领导作开赛动员,15支参赛队伍共计38人参加了此次竞赛。 分管领导对我局监

  5. NO.5 原创 开心一刻:昨晚喝了点酒,想起了前男友,脑抽的给他发了

    原标题:开心一刻:昨晚喝了点酒,想起了前男友,脑抽的给他发了条信息 1.其实吧……别人看不起你时并不是别人的问题,而是自己的问题……与

  6. NO.6 因口角持刀威胁人 一瘾君子被处罚

    因为和他人发生口角,一男子竟然拿着砍刀相威胁,被威胁者由于害怕,第一时间报警求助,随后,民警赶到现场,沿途巡逻布控,将持刀男子挡获

  7. NO.7 苍溪:民警利用周末深入社区开展精准扶贫攻坚工作

    四川新闻网广元11月20日讯(孙凤凤)今年以来,广元市苍溪县公安局陵江派出所在做好日常工作的同时,始终将群众疾苦记在心上,将脱贫工作抓在

  8. NO.8 萨摩笑得这么开心,殊不知自己已经被卖了!

    萨摩笑得这么开心,殊不知自己已经被卖了!萨摩笑得这么开心,殊不知自己已经被卖了 忘记今天穿的是西服 秀色可餐,让你忍不住吃还是不吃 上

Copyright 2019 看看网,让大家及时掌握各行各业第一手资讯新闻!