2021年信息学部物联网工程学院学生科协后端科普
后端科普
- 后端科普
- 一、什么是后端
- 二、为什么要学后端
- 1. 后端发展历史
- 2. 后端技术优势
- 3. 后端发展前景
- 4. 后端行业资讯
后端科普
一、什么是后端
- 什么是前端?
简单来说前端就是我们能看见的界面,比如说,我们登录一个购物网站,所能看到的页面,商品信息、搜索栏、购物车里的商品的图片等等,或者是QQ、微信的聊天界面等等。
用一句话来概括说:前端就是能看见的东西
- 什么是后端?
后端是和前端相反,所以简单来说后端就是看不见的部分
软件应用程序就像冰山一样,前端就是我们能看到的海平面以上的冰山,而我们看不见的海平面以下的冰山就是后端。用户看到的只是应用程序的一部分——在大多数情况下应用程序的很大部分是看不到的。这就是令人难以捉摸又神秘的“后端”。
后端是专门为前端提供数据的一套软件。
软件是什么呢?
软件=程序+数据+文档+知识
体验静态数据与动态数据的小实验
为了更好地理解静态数据与动态数据,我们来做一个小实验吧!
第一步:在搜索框中搜索“高等数学
第二步:关闭WLAN或移动网络
第三步:再在搜索框中搜索“高等数学”
我们很容易就可以看出:
在我们关闭网络之后,高等数学网课视频看不见了,
留下来的只有能看见的搜索框、取消按键、“似乎已断开与互联网的链接”,
那么,这些留下来的数据就是静态数据,它们是保存在本地的,是我们断开网络还可以得到的数据。
而那些我们在断网以后看不见的数据,就是动态数据。
比如说,高等数学的网课,我们在断网以后就看不见了。
这些数据是由后端提供的。
数据怎么动起来?
前后端进行数据交互就是数据动起来的原因。
通过HTTP协议、API接口前后端进行数据交互,数据就可以动起来了。
下面我们来看一个解释前后端数据交互的图片:
假如说,用户登录了账号,此时前端需要显示该用户的收货地址,前端需要拿到这个用户的收货地址,它对后端发出请求,后端从数据库中找到这个用户的收货地址,并传给前端,前端将这个收货地址数据渲染,并显示在前端页面上。那数据库又是什么呢?
简单理解数据库——表的集合
这是一个简单购物网站的数据库里的表,里面有收货地址、购物车、用户信息、商品信息等等的表。举个例子
灰色的是静态数据,而橙色的是动态数据。
API接口可以实现整体化一次性数据传输,将头像、关注量、粉丝量等信息一次性从后端传输到前端。
用户登录验证可判断用户是否登录,验证后,方可提取到该用户的信息。网页上的功能由谁实现?
后端
如何实现?
比如注册功能,在前端输入基本信息后,传入后端,相关代码进行加密(比如对密码进行加密),保存到数据库,数据库中生成账号。
小结:
后端
- 数据
- 功能
后端主要是进行数据处理和实现网站上的相应的功能。
后端是网页的灵魂,有了后端才能让网页真正活起来。
二、为什么要学后端
1. 后端发展历史
- 网页诞生
最早的民用互联网的应用主要是在高校和实验室,能够让研究人员方便沟通,收发email。但是只能简单沟通,如果我想查看其他人写的文献怎么办,也就是资源共享的问题如何解决呢?网页,或者说html文件就基于此问题诞生了。
很快静态网页技术发展了起来,应用范围也从科研和军方来到了民用,后来静态网页也支持图片显示和表格。不过很快,静态网页很快就满足不了人民群众日益增长的需求了。因为网页改内容太麻烦了,程序员需要频繁修改页面数据以及根据不同的操作做许多对应的网页内容,对于这个能力缺陷,能够接收用用户数据,处理数据并返回到浏览器的技术很快就诞生了。
- CGI诞生
CGI(Common Gateway Interface),意为公共网关接口,本身是一个规范,一个标准,并不是一个具体的程序或产品。它规范了用户传递的数据,比如表单信息、文本框,以及服务器返回给浏览器的信息的处理结果,通常是是html或者纯文本格式。CGI标准规定了从浏览器发出数据到接受数据的全过程。
但是CGI有一个弊端:它只能把HTML文件一行行的输出,一个html页面就成百上千行,这就导致程序员的工作量很恐怖。随后可以嵌入部分html的技术很快就出现了。
- ASP诞生
ASP是Active Server Page的缩写,意为“活动服务器网页”。ASP是微软公司开发的代替CGI脚本程序的一种应用,诞生于1996年,目的就是取代CGI这种编写模式,只要把需要改写的数据替换到原来的html文件就行了,程序员总算从苦海中解脱了。到此web的上古时代已经结束,web从静态到动态再到稳定可开发,用了6,7年的时间,从无到有。
- Java诞生
1995年5月,SUN公司发布了Java,这是一个对于后世影响深远的语言。最初java是为作为一个可移植程序的编程语言而开发的。嵌入式开发最开始是用c和c++语言,但是它们只能对某个产品的硬件进行一对一开发,换个cpu可能就要重写代码。所以当时的java的想法就是开发一种可移植,跨平台的语言。该语言能够生成运行于不同环境,不同CPU芯片上的代码。java的推出很快受到了it界的热烈欢迎,跨平台的优势给了java极大的优势,也是流行到现在的一个原因之一。
- JSP诞生
JSP全名为Java Server Pages,它将Java代码和需要变动的内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。它的出现是爆炸性的,迅速席卷了整个软件业,jsp借鉴了asp嵌入html文档的思路,加上本身java拥有“一次编译,到处执行”的强大优势,一个个项目纷纷上了jsp这条大船,大家喜大普奔,办公室里充满了快活的气息。
然而好景不长,大家就笑不起来了。前端能做的工作就只是简单地将 UI 设计师提供的原型图实现成静态的 HTML 页面,后端开发再“套用”前端开发的模板进行页面拼接。并且页面交互逻辑开发的工作量都集中在后端,导致了工作量分配严重不均。并且开发时,前后端相互依赖很严重,需要改动时,要让前端修改静态页面,后端再修改逻辑,造成了项目维护的困难。开发效率慢,代码难以维护。此后,前后端分离的时代就到来了。
2. 后端技术优势
前后端分离时代
在这个时代,前端的范围被扩展,NodeJS横空出世,增加NodeJS中间层之后,浏览器便不再直接请求服务端的API,而是浏览器先去请求服务端的NodeJS,由NodeJS对服务端发起HTTP请求,NodeJS收到服务端返回的数据后就去渲染HTML页面。
增加NodeJS中间层最大的优势便是适配性提升。一般对前端来说,会给PC端、Mobile、App端各自研发一套前端,后端也要根据不同的前端设计不同的端口,但后端大部分的业务逻辑是一样的,这无疑会徒增工作量。如果增加了NodeJS层,每种前端的界面展示逻辑由NodeJS层自己维护。前后端各司其职,后端专注于自己的业务逻辑开发,前端专注于产品效果开发。后端程序员也更加专注于自己的领域。
后端“三高”
即高性能,高并发,高可用
高性能是指通过设计加快服务响应时间
高并发是指通过设计保证系统能够同时并行处理很多请求
高可用是指通过设计减少系统不能提供服务的时间
这便是后端程序员专注的领域,如何有效解决三高问题,是对每一个后端程序员的挑战。
3. 后端发展前景
云计算进程提速,云上安全越来越受到企业的重视。
云计算目前关注的是云原生以及业务的重构。他将其IT之前的业务架构逐步从纵向扩展应用分层架构体系,走向分布式无状态化的架构,从而使得其在支撑企业业务敏捷化、智能化以及资源利用率方面迈上了一个新的高度和台阶。
- Go 语言生态发展稳健,越来越多企业在生产中使用 Go 语言落地业务
go语言,也就是golang语言的简称,随着云原生在互联网行业的普及,golang 从众多语言中,脱颖而出,成为了云原生时代的新秀。越来越多的开源项目采用 golang 语言来实现。
- 疫情催化在线教育行业产品升级转型,音视频技术不断迭代升级。
随着 AI 技术的兴起、5G 时代的到来,音视频技术不断加速应用发展,像直播、短视频这样的产品遍地开花。音视频技术的加速应用依赖底层编解码标准的发展,当前主流的 H.264 编解码技术已经不能满足未来 4K、8K 的需求。目前借助 5G 技术低时延、高速率、大容量等显著优势,短视频会慢慢向中长视频发展,这是未来的大风口。
4. 后端行业资讯
职业素养
后端开发人员需要更多地了解应用程序架构去构建应用程序的体系结构和内部设计,知道如何使用各种框架和库,如何将它们集成到应用程序中,以及如何用一种使系统更易于维护的方式构建代码和业务逻辑。
- 薪资情况
2021年信息学部物联网工程学院学生科协后端科普相关推荐
- 2021年信息学部物联网工程学院学生科协算法科普
2021年信息学部物联网工程学院学生科协算法科普 一.什么是算法 二.算法重要吗 三.算法有好坏吗 四.常用算法介绍 1.查找算法 概述 顺序查找 二分查找 2.排序算法 概述 冒泡排序 选择排序 快 ...
- 2021年信息学部物联网工程学院学生科协机器学习科普
机器学习科普 机器学习科普 一.什么是机器学习? 二.机器学习的定义 三.机器学习在一些领域中的应用 1.机器视觉 2.语音识别 3.自然语言处理 4.小结 四.机器学习的方法 回归算法 决策树 神经 ...
- 2021年信息学部物联网工程学院学生科协第二次软件大培训
2021年信息学部物联网工程学院学生科协第二次软件大培训 一.指针是什么 1.地址 2.指针 二.指针的简单使用 1.两个运算符&和* 2.实战演练 3.指针的特殊赋值方式 4.悬摆指针的危害 ...
- 2021年信息学部物联网工程学院学生科协第二次硬件大培训
2021年下半学年第二次硬件培训 1.Multisim部分 准备阶段 multisim简介 Multism 界面介绍 三极管简介 H桥简介 运算放大器 实战阶段 绘制电路仿真图 不需要重新发明轮子 基 ...
- 2021年信息学部物联网工程学院学生科协前端大培训
2021科协前端培训 HTML 概念 语法 标签学习 表单 CSS 概念 作用 CSS 规则 引入CSS样式表 内联样式 内部样式表 外部样式表 CSS基础选择器 CSS扩展选择器 CSS字体样式(f ...
- 2021年信息学部物联网工程学院学生科协第三次软件大培训(python)
Python入门 Python介绍 Python基本语法 标准数据类型 Python 的print Number(数字) Python 的变量赋值可以写在一行上 变量的定义.类型.与运算 String ...
- 2022年信息学部物联网工程学院学生科协机器学习科普
什么是机器学习 机器学习是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之 ...
- 2022年信息学部物联网工程学院学生科协第一次软件大培训
2022年信息学部物联网工程学院学生科协第一次软件大培训 运行第一个程序 Hello World 代码 代码分析 什么是函数 这是我们在数学学习中学习到的函数,一个x值有与之对应的唯一的y值,对于程序 ...
- 2022年信息学部物联网工程学院学生科协第二次软件大培训
指针 地址是什么 指针与指针变量 有关指针的运算符 定义指针变量 用代码来理解指针 避免访问悬摆指针!!! 指针的运算含义 指针的关系运算 指针访问数组元素 通过指针实现一维数组的遍历 分步骤图解 代 ...
最新文章
- 源码阅读:AFNetworking(十六)——UIWebView+AFNetworking
- HTML5标签学习之~~~
- console.log()的兼容性
- JDBC操作之连接和关闭mysql数据库
- Linux Kernel 3.10内核源码分析--块设备层request plug/unplug机制
- ip中继对接_IP软交换系统解决方案
- antd 日期时间选择_Excel最全时间类函数总结,有必要收藏一下哦
- c# 常用数据库封装
- 游泳后精疲力尽_精疲力尽的编程后如何重回正轨
- Druid monitor中SQL监控显示不出数据(已解决)
- Caffe编写Python layer
- nrm —— 快速切换 NPM 源
- JAVA学习-类与对象(韩顺平java-高级篇)
- 【Unity3D插件】AnyPortrait插件分享《(一)制作史莱姆动画》
- DPDK Release 20.08
- mysql rps和tps区别_并发虚拟用户、RPS、TPS的解读
- VsCode镜像下载(国内镜像源,高速秒下)
- Unity基本认识——走进Unity
- Windows7旗舰版SP1_32位2018.10(装机版)
- 计算机匹配函数,匹配函数VLOOKUP使用方法
热门文章
- 从头开始学MySQL--------内连接、左连接、右连接(4)
- 手把手教你微信彻底删除聊天记录的方法,将你的“小秘密”封锁起来!
- latex 表格 宽度调整
- java 获取图片的媒体属性,以大疆无人机照片为例
- 考研经历,川大(网络空间安全)
- JAVA,String转JSON过程中,json值里面带有英文引号无法解析的问题
- 致力于打造全新游戏生态系统的PlayCoin
- Unity中的SendMessage方法
- 浙江数码代工M301H 免拆通刷_卡刷固件包(语音OK)
- 书评:J2EE设计模式 O’REILLY William CrawfordJonathan Kaplan 中国电力出版社