制造业
后端开发
后端开发


Stylesheet css/basic.css not found, using css/basic.less instead. Please contact developer of "starter" template.
Stylesheet ../dokuwiki/css/_search.css not found, using ../dokuwiki/css/_search.less instead. Please contact developer of "starter" template.
Stylesheet ../dokuwiki/css/_admin.css not found, using ../dokuwiki/css/_admin.less instead. Please contact developer of "starter" template.
Stylesheet css/structure.css not found, using css/structure.less instead. Please contact developer of "starter" template.
Stylesheet css/design.css not found, using css/design.less instead. Please contact developer of "starter" template.
Stylesheet css/content.css not found, using css/content.less instead. Please contact developer of "starter" template.
Stylesheet css/includes.css not found, using css/includes.less instead. Please contact developer of "starter" template.
Stylesheet css/title.css not found, using css/title.less instead. Please contact developer of "starter" template.
Stylesheet css/list.css not found, using css/list.less instead. Please contact developer of "starter" template.
Stylesheet css/auth.css not found, using css/auth.less instead. Please contact developer of "starter" template.
Stylesheet css/mobile.css not found, using css/mobile.less instead. Please contact developer of "starter" template.
Stylesheet css/print.css not found, using css/print.less instead. Please contact developer of "starter" template.

简介

后端开发 后端开发一般也叫做后台,其负责是网站后台逻辑的设计和实现还有用户及网站的数据的保存和读取。比如一般网站都是有用户注册和登录的,用户的注册的信息通过前端发送给后端,后端将其保存在数据库中,用户登录网站的时候,后端需要通过用户输入的用户名和密码是否与数据库中的一致来判断用户是否有权限登录(Java中可以用 单点登陆 实现)。

评判标准

后端主要负责的是业务逻辑的实现,前端只是负责页面展示,但是要在这些页面上实现你的商业逻辑,主要就是靠后端,也正因为后端的重要性,绝大部分2年~3年工作经验并且学历技术相差无几的情况下薪资往往后端更高,当然除了开发产品功能之外,还负责后台、数据库的搭建,你的所有用户、交易等数据信息都会在后台和数据库看到。

后端现在也分Java、php、.net等,目前主流的是Java和php,根据不同的需求选择不同的开发语言。

开发语言

Go

概述

  • 运行、编写十分快速
  • 代码库及生成的二进制可执行文件很小
  • 环境安装简单

优点

  • 静态强类型语言,开发快速(代码编辑器会自动补全)
  • 多线程(goroutine)的概念贯穿语言设计,开发多线程项目快速、可靠
  • 语言格式相对较为简洁

缺点

  • 坑有点多
  • 由于是 Google 开发,官网 golang.org 国内访问受限;对安装、学习与开发有较大影响
  • 学习曲线陡峭(一开始可能会较困难)

Java

概述

  • 语言严谨、维护方便、拥有足够庞大的社区,以至几乎任何事情都可以找到相应的库
  • 找工作方面需要专科以上才能在一二线城市生存
  • 常用开发框架:Spring Boot

优点

  • 适合中型、大型项目
  • 可跨平台运行
  • 强类型、预编译、异常必须拦截等:用其编写的项目运行稳定可靠、不容易出现编写错误且性能强劲(尤其是JIT的出现之后差距更大了)
  • 提高复用度:提升性能和吞吐能力,亦可规避多数安全问题

缺点

  • 开发复杂:效率相对较低
  • 成本高:项目维护成本、开发人员费用均相对较高

php

概述

  • 前期开发快速:得益于语言特性,php 所作修改支持实时部署,需要预览时修改内容刷新即可
  • 现有框架充足灵活:WordPress 是一款非常成熟的 CMS(Content Management System,内容管理系统);Laravel 是一款社区与官方周边完整、生态优良的 REST 开发框架
  • 建议作为第二 Web 开发语言:前期快速开发项目 Demo,后期使用 Java 替补;阿里巴巴、京东等各类大型企业均是这样的做法
  • 你现在所看到的页面即是使用了 php 作为的后端哦~

优点

  • 灵活、上手快
  • 易修改、发布快捷
  • 环境好部署

缺点

  • 由于其为动态语言的原因,编写时容易出错,且也正因为此,php在处理边界数据时可能会出现安全隐患
  • 执行效率不高
  • 缺乏全局缓存

Python

概述

  • 得益于 Python 在机器学习领域的青睐,使用 Python 开发关于此领域的项目时可更加快速地将机器学习与网页两部分结合
  • 开发快速、语言结构简洁:可很好地作为微服务支撑整套系统、也可快速进行原型开发(Prototype)
  • 类型弱强制,运行速度相较静态语言(类型强强制)会慢一些
  • 社区庞大
  • 一定记得区分好本地环境中的 python2.x 与 python3.x,推荐使用 Anacondavenv

优点

  • 简单易学,开发快
  • 语言简洁,易于维护
  • 开源,易移植、易扩展

缺点

  • 速度慢
  • 容易犯错
  • 语法糖错综复杂,用不好很有可能会大幅降度代码可读性

ASP.NET

  • 概述:目前市场处于下降状态,不建议新手学习;Web 后端领域现以上述几种语言为主
  • 优点:跨语言、中小型项目上性能好、开发快,适合 Windows 平台,维护成本低
  • 缺点:代码逻辑混乱,难于管理,代码的可重用性差

其他

  • Web后端的语言不仅限于上述的几种语言;相反地,Web后端语言很多很多,诸如:
  • 近几年关注度飙升的 JavaScript,原是作为浏览器脚本语言被开发出来,但由于 Chrome V8 引擎的实现使得其也可以作为服务器软件运行
  • 较为古老但语法非常简洁的 Ruby,一度被作为大型网站的开发语言
  • …等;感兴趣的读者可以自行搜索其他语言进行了解

工作流程

软件开发往往不是个人的单打独斗,在一个组织中,程序员想要出色地完成任务不可避免地要和人打交道。这是因为,程序员实现的需求是由人提出来的,脱离这一点程序员所做的工作将毫无意义(对组织来说)。

以下是一个程序员工作的标准工作流程:

1)清楚任务 ⇒ 了解需求(需要和上级主管、同事,其他部门成员共同协商及确定) 这一步至关重要,如果完成需求的程序员本人都不清楚需要实现的是什么以及怎样实现,那之后做的工作很有可能产生偏差和严重的错误。

2) 在了解需求的情况下,分析完成需求需要的环境,以及手头拥有的资源,着手研究解决方案。 需求可能是在原来的某个基础上新加的,那你就需要了解原有的一切。比如原来代码是怎么跑起来的,用了哪些技术手段、工具及架构等。需求也可能是崭新的,那你就要自己确定用什么方案。

3)验证方案可行性 大部分情况下公司做的项目都是有可行性报告的,后端程序员需要关注的可行性是代码逻辑方面,根据手机壳改变背景颜色这种需求就比较奇葩了。

4)实施方案 这一步就要开始做详细的任务分解和时间规划了。

5)代码开发过程中及时响应和反馈 这一点同样至关重要,因为需求往往不是说从开始定下来就不会变化了,而是随着时间的迁移会变化的(这个需求可能源于某人心血来潮头脑发热,也可能因为出现重大变故提需求的人离职了!)。所以一旦需求有任何变化,都要停下来调整和变通。

程序员应该是具有创造力和高效率的人,很不幸的是为公司做事情(尤其是大公司)会极大地削弱你的个人生产率,因为你需要经常跟别人探讨实施方案,弄清楚需求,不断沟通和反馈!这就是产品经理

组织结构

部门分工

人员分工

经营设计

需求分析

目标界定

总体结构设计

详细结构设计

参数设计

设计实施

设计和规划

位置与环境

投资与评估

规模与功能

风格与形式

成本

税费

金融成本

原材料成本

房租成本

能耗成本

人工成本

设备折旧

收益管理

消费曲线

时间分布

空间分布

目标群体

容量控制

风险控制

行业

国内市场

产量

消费量

国际市场

产量

消费量

主要公司

标准

这里存放条目相关的国家标准

文档

这里存放于条目相关的其他文档

编辑成员
6 人

imgg, 哄哄, SugarCane, 多米尼克领主的致意, 缪, 木又

评论(1)

你需要登录发表评论。
oLubo1cSBchUMekyR6-jyQNIcnOk 2019-10-13 23:01:17
后端开发往往就是这么朴实无华,致00后的我们
1
回形针手册-icons