0%

2018级重邮e站项目部后端科普

What?

后端是什么,能吃吗?

不能

In software engineering, the terms front end and back end refer to the separation of concerns between the presentation layer (front end), and the data access layer (back end) of a piece of software, or the physical infrastructure or hardware. In the client–server model, the client is usually considered the front end and the server is usually considered the back end, even when some presentation work is actually done on the server.

简单来说,后端就是软件中处理数据的部分。我们所学的后端则特指在服务器上运行的用来处理数据供前端使用的程序。

后端可以做什么?

  • 增删改查

对,后端总的来说就是对数据库的操作,前端传来的信息要做校验,需要查询数据是否存在;前端需要上传数据,需要保存上传的数据的信息。不管是怎样的操作,何其复杂的写法,最终的任务还是要完成“增删改查”。

你可能会说:这也太简单了吧,数据库操作的函数写上不就完了,还用学那么多复杂的概念吗。但是,后端的工作是把“数据处理”做到极致,因为一旦出现差错,崩溃的是整个业务流程。前端作为显示的页面出现问题倒是无可厚非,后端出现问题恐怕就是显示502 Bad Gateway了。

因此,要把增删改查这个工作做好,后端开发人员要付出的努力很多:

  • 效率问题:接口返回数据的速度
  • 架构问题:使用的架构是否合理
  • 安全问题:是否能规避常见的网络攻击(SQL注入,XSS等)
  • 兼容问题:是否能跨操作系统,兼容不同环境
  • 说话的智慧:是否能和前端开发人员规定好数据传输的方法及格式
  • ……

常见的后端语言?

  • PHP 目前最为流行的后端语言,容易上手,也是我们项目部主要采用的语言
  • Java 面向对象的强类型静态编程语言,强大的跨平台能力使其具有非常广泛的应用场景。
  • Python “优雅”、“明确”、“简单”的语言,注重可读性。
  • NodeJS 在JavaScript语言基础上扩展,实现后端开发能力。

Why?

于我而言,学习语言的目的在于乐趣,而学习后端语言的目的在于培养一种编程思维。我们学校大部分学院都开设有C语言的课,这门语言非常强大,但实践起来并不容易,用C语言可以写出后端程序,但是要浪费很多的时间。而学习PHP这种相对简单的语言后,你可以轻而易举的做出一些实际的东西,这种创造带来的成就感会让你对编成更感兴趣,也降低了学习其他语言的难度。

几乎所有的编程语言都是相通的,所以编程是从0到1特别难,而要从1到100是很简单的事情。如果你打算现在自己学,那么最好集中精力学习一门语言。

然而C语言是一门面向过程的语言,并不适合面向对象编程,而PHP作为一门面向对象(或者说具有部分面向对象特性)的语言,是非常适合拿来入门面向对象思想的。

How?

Q:我没有接触过编程,怎么学?

对于零基础的小萌新来说,当然是到我们项目部来学啊(疯狂暗示)。

其实这个问题比较好说,首先要清楚,编程是每个人都能学会的,只是接受快慢的不同。只要找对方向,找好方法,学习编程语言是不存在问题的。

  • 首先要学的是计算机的操作基础,比如目录结构,文件类型等,这些知识主要是从实践中获得。
  • 然后要了解编程思想,正如“哲学是科学的科学”,编程思想是学习编程的根本。参考这篇文章
  • 真正到了语言的学习,就很快了,记好关键字和一些基本的逻辑就可以开始写了。

Q:我有一定基础,但是还是不清楚后端要做什么?

首先,我们非常欢迎有一定基础的萌新们加入我们e站大家庭,在这里你可以学到更多!

既然有一定基础,那可以先了解一下后端架构的庞大体系,这样学起来也更有方向,参考这个目录。后端要做的看似很多,但去除那些外围的知识,核心还是数据结构算法(也是编程根本能力),所以要一定要学好数据结构这门课。