在 Web 开发领域,Java 凭借企业级支持以及世界丰富的生态环境成为绝对霸主,PHP 紧随其后。有些公司考虑效率问题而采用 C++ 做后台开发语言, 也有人使用 Node.js 开发后台。
另外 Python 也是能够做后台开发的。Python 具有语言简洁、开发效率高等特点。还有成熟且不断更新的开源框架,例如 Flask、Django、Tornado等。所以很多大公司都使用其开发后台。比如人人皆知的 YouTube、Instagram、Reddit、Quora、知乎、豆瓣、果壳等。
因此,市场有 Python Web 开发的岗位需求。那么我想往这方面发展,我需要掌握哪些技能?
1 Python 语言
想使用 Python 做后台开发,第一步就是就是学习 Python 语言。首先要将学习 Python 基本语法,再学习 Python 高级用法(例如闭包,面向对象等),接着再了解各个标准库的用法,最后熟悉下 PEP8 编码规范。
2 开发框架
大部分后台业务逻辑都会使用 Web 框架来开发,目的是提高开发效率。常用的 Python web框架有 Django、Flask、Tornado 等。个人推荐熟练掌握 Django,因为 Django 是一个全能型框架。另外需要了解 REST,学习如何编写 RESTful APIs。
3 数据库
现在网站业务后端用得比较多的有三种类型的数据库,关系型数据库(mysql等),文档型数据库(mongodb等),和内存型数据库(redis等)。因为三种数据库各有优势和其使用场景,所以需要了解下不同类型数据库的使用方法和应用场景,灵活应用到后端代码中。所以要学习如何使用、设计、优化数据库。
4 前端知识
需要了解基本的 HTML、CSS、JavaScript。通常前后端开发是分离的,了解前端知识是有帮助的。能知道自己需要将传递哪些内容给前端,从而提供团队合作效率。如果对前端知识感兴趣,可以了解下 Bootstrap、Vue 等。
5 Web 服务器
Nginx 目前很流行,使用也是很广泛。因为其占用内存少,稳定性高、并发能力强。所以需要掌握 Web 应用部署以及如何使用 Nginx 实现负载均衡。
6 Linux 操作系统
Nginx 通常运行在 Linux 服务器上,所以需要学习 Linux 系统。了解一些常见的 Linux 命令、文件与目录管理、账号与身份管理、程序与资源管理等。推荐阅读 《鸟哥的Linux私房菜基础学习篇》,这本书爽是最具知名度的 Linux 入门书全面。它能详细地介绍了 Linux 操作系统。
7 计算机网络
后台开发经常要跟网络打交道,所以熟悉对网络协议 TCP/IP 和 HTTP。学习 TCP/IP 可以阅读《TCP/IP详解卷1:协议》,学习 HTTP 可以阅读《图解Http》和《Http权威指南》
8 算法与数据结构
我记得读大学时使用的教程是严蔚敏的《数据结构》(C语言版)。其中有一句很经典的话:『程序 = 算法 + 数据结构』。所以需要了解常用的算法和数据结构。推荐阅读《算法图解》、《枕边算法书》
作者:猴哥Yuri
链接:https://www.jianshu.com/p/b0ea31408435