技术标签: 后端
由于网络上系统地介绍后端开发的文章实在太少,而最近有恰巧有许多同学问我“什么是后端开发?”、“你为什么喜欢后端开发?”、“做后端都需要学什么?”,那么我们就来讲一讲,到底什么才是后端开发。
后端开发(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月)的菜鸟,我对后端开发的理解肯定还有许多不足与偏颇,这篇文章也并不那么“系统”,但我仍希望这篇文章能帮助到其他同学了解后端开发或消除对后端开发的误解,抑或找到自己的方向而走上后端开发这条路。
如果发现文中的错漏之处,欢迎发表评论或联系我进行改正。希望能帮到更多对后端开发感兴趣的同学。
文章浏览阅读689次,点赞2次,收藏3次。文章目录数据库 ORM 框架MySql-8安装Windows 免安装版图形化客户端关于破解Flask-SQLAlchemyCRUD操作`Create` 插入数据`Read` 查询数据`Update` 修改数据`Delete` 删除数据定义实体关系欢迎关注我的公众号:编程之路从0到1数据库 ORM 框架什么是ORM?即Object-Relationl Mapping,它的作用是在关系型数据库和..._flask-sqlalchemy 类似于mybatisplus的封装
文章浏览阅读1.6k次,点赞3次,收藏12次。Spring是一个轻量级的Java开发框架。Spring的核心是控制反转(IOC)和面向切面编程(AOP)。Spring主要有如下优点1.解耦2.支持面向切面编程3.便于集成其他框架很多朋友想学习spring,但不知道要从哪里学起,小编今天就分享一份spring全家桶学习资料。毫不夸张的说这是迄今最全的Spring相关全家桶,脑图+面试+进阶学习,全文篇幅有点长,但干货满满,请仔细阅读!且全文提及的全部手绘脑图的原件、面试解析的原件、进阶学习的笔记PDF原件脑图篇面试篇。..._spring全家桶
文章浏览阅读366次。SpringSecurity学习总结-1 第二章 项目基础模块搭建_org.springframework.security pom.xml
文章浏览阅读2.5k次。一、 LLVM是什么?(1)LLVM是lowlevel virtual machine的简称,是一个编译器框架。苹果公司的Xcode 4.0之后用的都是LLVM编译器。(2)LLVM 诞生于2003.10伊利诺伊大学香槟分校,创始人ChrisLattner,现任苹果公司『开发者工具』部门的主管。 二、 LLVM-Obfuscator 是什么?(1)LLV_obfuscator++
文章浏览阅读2.3k次,点赞2次,收藏3次。d解决另外附带一个常见的版本兼容性问题就是tf.app不能使用的,TensorFlow遇到的bug:ModuleNotFoundError: No module named 'tensorflow.contrib'import tensorflow.contrib.slim as slim不降级解决:下载镜像包pip install --upgrade tf_slim将import tensorflow.contrib.slim as slim改为import _modulenotfounderror: no module named 'tensorflow.contrib' crf
文章浏览阅读1.8w次,点赞25次,收藏109次。UTF-16是Unicode字符编码五层次模型的第三层:字符编码表(Character Encoding Form,也称为 "storage format")的一种实现方式。即把Unicode字符集的抽象码位映射为16位长的整数(即码元, 长度为2 Byte)的序列,用于数据存储或传递。Unicode字符的码位,需要1个或者2个16位长的码元来表示,因此这是一个变长表示。引用维基百科中对于UTF-16编码的解释我们可以知道,UTF-16最少也会用2 Byte来表示一个字符,因此没有办法兼容ASCII编码。_utf-8和utf-16
文章浏览阅读49次。10 月 23 日消息,据国外媒体报道,在一期的 Model 3 生产线建成投产之后,特斯拉上海超级工厂今年开始了二期的大规模建设,主要是建设 Model Y 的生产厂房,所生产的 Model Y 计划在明年开始交付。从特斯拉最新公布的图片来看,在经过大半年的建设之后,上海超级工厂 Model Y 生产厂房的外部施工已基本结束,内部的生产线也已基本准备就绪。特斯拉是在新近发布的三季度财报中,公布上..._特斯拉工厂python
文章浏览阅读3.2k次。有没有能统一管理一个参数,然后让所有的transformation和job都可以读到呢? 答案是有 1.首先,打开.kettle\kettle.properties,直接在里面定义,(注意这个文件需要与spoon.bat放在同一个目录下面)比如: paramName=to_char(sysdate,'yyyymmdd') 这里支持数据库函数,说的更直白点,就..._kettle.properties
文章浏览阅读2.4k次。Title:Demystifying dominant speciesJournal:New PhytologistReceived: 4 May 2018Accepted: 17 Fe..._优势种功能性状的变化,对生态系统功能
文章浏览阅读1k次。大家好,今天给小伙伴们分享一个基于 SpringBoot + Vue 实现的可视化拖拽编辑的大屏项目;# 简介这个是一个开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,支持17种大屏组件,不会开发,照着设计稿也可以制作大屏。三步轻松完成大屏设计:配置数据源--..._vue实现拖拽可视化
文章浏览阅读3.3k次。使用百度sdk定位相关参数设定_百度android sdk设置精度优先
文章浏览阅读3.5k次。原标题:手机 篇二:给电脑配的 Type-C拓展坞 没想到手机也能用最近,凑单买配件,入手了一个名为EDAX牌子的 Type-C拓展坞,看介绍主要用于电脑,如新款MacBook和各类Type-C接口的本本。前几天给手机刷机,需要拷贝几个GB的固件到内存卡,但内存卡是龟速,突然想到,可以用OTG外接U盘,但手头没有OTG线。我想了会,这个 Type-C拓展坞 有USB接口,说不定能用。外观展示铝合金..._手机能通过扩展坞连接电脑显示器上吗