技术标签: 后端
由于网络上系统地介绍后端开发的文章实在太少,而最近有恰巧有许多同学问我“什么是后端开发?”、“你为什么喜欢后端开发?”、“做后端都需要学什么?”,那么我们就来讲一讲,到底什么才是后端开发。
后端开发(Back-End Development
,也称服务端开发、服务器端开发等)是创建完整可运行的Web应用服务端程序(服务端程序和资源合称为后端,即在服务器上运行的、不涉及用户界面的部分)的过程,是Web应用程序开发的一部分。后端开发者使用Java
、Golang
等语言及其衍生的各种框架、库和解决方案来实现Web应用程序的核心业务逻辑,并向外提供特定的API,使得Web应用能够高效、安全、稳定地运行。
好吧,如果你看了定义仍然很懵,那我就用一些非常易于理解的表达形式来说一说“什么是后端开发”。虽然这些表述可能并不严谨或完全正确,但是我相信这样一定能使你明白什么是后端开发。
这里我们拿前端来类比一下,因为我相信绝大多数看到这篇文章的人都已经对“什么是前端开发”、“什么是前端”有一定了解了:
是不是这样一讲就明白了?那我们接着往下看。
Java
和Go
。例如我所使用的就是Go语言,也曾经使用过Java。此外,由于后端开发中经常需要和数据库打交道,所以作为后端开发者,还需要懂SQL
语言(如果使用了NoSQL
的话,也需要懂NoSQL
数据库的语言);CRUD
);gRPC
(RPC框架)、Istio
(Service Mesh),也有一些是某种语言专用的,如Spring Cloud
(微服务开发工具,JVM技术栈专用)、Gin
(MVC框架,Go语言专用);Maven
,Go语言的go mod
等;Git
。有不少人其实对后端开发误解很深,以下是一些常见的误解:
这些误解有时候会劝退一些有意从事后端开发的同学,我们现在就来澄清一下这些误解:
我不否认做一个只会CRUD的后端开发者很简单,但既然对后端开发感兴趣,那我们就要有更高的志向,不能把自己框死在CRUD里。
这里送给各位未来的后端开发者一句话:“我等采石之人,当心怀大教堂之愿景”。如果自己一个人完成一个简简单单的CRUD项目,你可以有自己的想法,例如在其中应用DDD和CQRS,或不断地优化它以达到最佳状态;如果迫于工作经验而不得不CRUD,你也可以用业余时间去提升自己的技术,让自己有更光明的未来。
说了这么多,那什么样的人才适合做后端开发这份工作呢?
Spring Boot
、Spring Cloud
、Gin
、Kubernetes
、Istio
等)十分感兴趣,那么可以从成为一名后端开发者开始,在编写业务代码的过程中慢慢体会框架的重要性和所用框架的优缺点,以及如何设计一个好的框架。虽然你并不需要满足以上每一项才能成为一个后端开发工程师,但是如果你发现你满足上面的某一条或某几条,而且你还没有找到自己的方向,那么不妨来尝试一下后端开发。
先简单介绍以下我的经历吧。我从2019年1月开始接触前端开发,于2019年8月正式转向后端开发,并一直从事后端开发至今。我喜欢后端开发的原因,其实很简单:
如果你也和我有一样的想法,那么你说不定也非常适合从事后端开发的工作。大后端欢迎你的到来。
很多人对后端开发的误解源于缺少一篇系统地介绍后端开发的文章。虽然作为一个仅仅入行一年半(截止到2021年3月)的菜鸟,我对后端开发的理解肯定还有许多不足与偏颇,这篇文章也并不那么“系统”,但我仍希望这篇文章能帮助到其他同学了解后端开发或消除对后端开发的误解,抑或找到自己的方向而走上后端开发这条路。
如果发现文中的错漏之处,欢迎发表评论或联系我进行改正。希望能帮到更多对后端开发感兴趣的同学。
最近在安装使用ubuntu,并且配置源文件下载相应gcc,gdb时候,出现错误,提示报错内容为Err http://mirrors.163.com trusty Release.gpg Could not resolve 'mirrors.163.com'Err http://security.ubuntu.com precise-security Release.gpg
**摘要:**了解为 Microsoft SharePoint 2010 规划和开发业务解决方案时必须做出的关键点。上次修改时间:2012年3月13日适用范围:Business Connectivity Services| Office 2010| Open XML| SharePoint Designer 2010| SharePoint Foundation 2010| ...
1.String 是固定长度的字符串。这是因为String出来的字符串存储在字符串常量池中,常量池中的字符串的长度是不会改变的。StringBulider和StringBuffer 的长度是可变的。StringBuilder和StringBuffer通过构造函数来创建字符串对象,创造出来的对象值是存储在堆内存中,StringBulider 和StringBuffer可以利用append()方法拼接字符串,也就是new出来的对象可以继续拼接在原来的存储空间上。2.StringBulider的执行效
毕业了,整理下本科期间自己记的笔记。这个是之前上Oracle数据库的课的时候老师交给我们的任务,每个人都必须按照步骤手动创建数据库手动创建Oracle数据库的步骤如下:1、设置数据库名称和实例名称2、创建相关目录3、创建参数文件(修改)4、创建实例oradim -new -sid test -intpwd test -srvcstart system/demandoradim -delete -sid test5、连接Oracle实例6、启动实例7、使用create database创建
转载:http://www.cnblogs.com/mliudong/p/4094519.htmlubuntu自带了openssh-client,可以远程连接别的机器。 要想通过ssh被连接,ubuntu系统需要openssh-server。通过apt-get安装sshserver时,如果安装源获取到的server版本和自带的client依赖冲突时,则会安装失败。安装对应版本的openssh-cl
图像配准的定义:图像配准是将一幅图像上的点映射到另一幅图像上同源点的空间转换过程。eg:平移、旋转、缩放等变换。下图为镜像变换。配准框架:配准框架的基本成员:两个输入图像、一个变换、一个路径选择、一个校对机和一个优化器。过程:待配准图像通过 变换函数(T(x)) 到参考图像的映射过程。传递函数T(X)表示从参考图像上的点到待配准图像上的点的空间映射关系。
1、免费空间分类 "我不需要很多的空间, 我只要是没有广告的一个空间。 有足够大的流量当然更好。" http://www.liquid2k.com/ ( 推荐) http://www.brinkster.com/ ( 推荐) http://www.demented.org/ http://www.cfm-resources.com/ http://www.digit...
Tower 个人写作物料发布文章https://mp.csdn.net/图片物料代码物料推广物料微信公众号
尺度不变特征变换一、特征检测1、DoG图像金字塔2、寻找局部极值3、SIFT关键点展示3、为关键点指定方向二、局部图像描述三、索引和匹配1、 图像匹配2、特征匹配3、结果评估一、特征检测1、DoG图像金字塔大概就是,用不同 σ\sigmaσ 的高斯滤波器对图像滤波,然后做差2、寻找局部极值1、对于DoG金字塔的每一个点,比较它邻近的(包括临近层)26个点2、寻找极值,作为潜在的关键点,这基本上意味着关键点最好在这个尺度上表示3、SIFT关键点展示1、去除低对比度特征:如
这题后台数据一定很坑,估计是那种从节点1可以扩展到节点2~19,但是就是无法与节点20连通的那种,才导致了刚开始没有逆向搜索的时候TLE到3000MS。逆向DFS找到所有与终点相连的节点保存下来,速度很快的。这样正向搜索时就要把与终点不相连的节点剪枝。判断连通性的方法有很多,其实本题还可以用BFS或者并查集防止超时。#include <iostream>#incl...
一、配置好环境:需要安装配置的软件环境:jdk、tomcat服务器、eclipse、mysql(可以使用附加的图形界面软件工具:navicat for mysql)、webstorm。二、编写web项目文件先用webstorm编辑好web项目文件。三、根据web项目的数据需求设计和建造数据库表。用例: 新建数据库名为:users;
今天在写脚本时,本来昨天可以运行的代码突然报错:UnicodeDecodeError:'utf-8' codec can't decode byte 0xe5 in position 1797: invalid continuation然后查了很多资料,都说是编码的问题,但我查看了所有文件以及源码的编码,都没有问题,后来找到了一个文章解决了问题打开你报错的utils文件修改函数参数errors='strict'为errors='ignore'1. with open(file, "r".