微信扫码下载

编辑推荐

适读人群:《Python全栈开发实践入门》适合想从事IT行业或刚刚从学校毕业的新人们,通过阅读实战案例对开发流程有所初步了解。也可作为各大中专院校相关专业师生参考用书和相关培训机构的培训教材。

这是一本Python全栈入门书,里面有很多安装配置测试部署方面的内容。读者学习知识时往往是只就某一点深入学习,很难看到全貌,而《Python全栈开发实践入门》把服务器搭建、开发环境、代码写作、程序测试、持续集成一整套流程包含进来,让你不止学会写代码,更了解全栈是怎么回事儿。

内容简介

全栈工程师不应只会前后端开发,而是应该从开发、测试、部署各个方面都有所掌握的全技能人才。《Python全栈开发实践入门》使用了热门的Docker容器技术、GitLab版本控制、GitLab-runner持续集成、PythonWebFlask框架等,将一整套开发流程通过简单案例展现出来。

作者简介

谢瑛俊,从毕业至今做过前端、DBA、维护、数据分析等工作。用Python开发了至少几十个小程序,用来快速解决工作中遇到的问题。

目录

第1章安装Ubuntu系统1
1.1普通镜像安装1
1.2PXE搭建(带DHCP模式)17
1.3PXE搭建(DHCP不可控)27
1.4KickStart无人职守配置32
1.5使用PXE安装系统41
第2章Python开发工具――sublime3使用43
第3章Python开发工具――PyCharm使用60
第4章Python开发工具――Vim使用90
4.1安装Vim90
4.2Vim基本使用94
第5章Docker的安装搭建103
第6章Git使用146
6.1版本控制简介146
6.2Git历史146
6.3安装Git147
6.4Git项目结构154
6.5Git基本用法155
6.6CentOS系统搭建Git服务器171
6.7使用Docker搭建GitLab服务器177
第7章数据库介绍189
7.1数据库简介189
7.2关系型数据库190
7.3非关系型数据库205
第8章基于Flask开发Web项目211
8.1为项目创建虚拟环境211
8.2快速搭建HTTPS网站应用213
8.3使用PyCharm在本机容器中开发214
第9章Web自动化测试221
第10章持续集成236
第11章实战开发简易博客后台244
后记274

前言/序言

何为全栈工程师
全栈工程师是指掌握多种技能,并能利用多种技能独立完成产品的人,也叫全端工程师(同时具备前端和后台能力),其英文是FullStackDeveloper。而在教育体系中,人们常常告知你应该选择什么专业深造下去,在行业里做个专家。这是不是与全栈工程师冲突了呢?
我个人认为全栈工程师应该属于一个企业内IT部门的救火员,哪里需要他,他就出现在哪个岗位解决遇到的问题。他了解并掌握紧贴潮流的最新技术,能在某些特定领域提出自己的独特见解。
例如,在软考职称中,初级职称和中级职称分成了5个专业,每个专业又细分为多个不同的职称,初级和中级职称一共包含了22种职称。但到了高级职称后只剩下5种职称,每一种职称都是经过多种初级和中级职称融会贯通而成的,如下图所示。
软考职称对应表
写书的目的
混混沌沌到了而立之年,工作8年时间里虽然写了很多的小程序,有很多实践,但是没有一项是能拿得出手来展示炫耀的,很多开发习惯更是不规范,随意性很大。
按照美国缅因州国家训练实验室的研究成果《学习金字塔》中所描述,学习的最好效果就是把学会的知识传授给他人。
学习金字塔
授人以鱼不如授人以渔,同时还可以把自己学到的知识内容认真梳理一遍。通过整理把知识点连贯起来,使其有较好的层次和顺序。
在网络上或者已出版的书籍中,还未看到有关利用Docker来开发Python项目并持续集成的完整开发流程的相关文章,因此《Python全栈开发实践入门》提供了一些关于Docker、Git、GitLab-runner、FlaskWeb的简单案例,从服务器搭建、开发环境、代码写作、程序测试到持续集成一整套完整的开发流程。
关于语言之争
很多时候大家都会说X语言最好、最强,但是在我看来,语言只是一种工具。打个比方,C可以看成美工刀(够锋利),Java可以看成剪刀。裁纸的时候用美工刀的效率肯定高过剪刀,但是剪纸的时候用剪刀是不是比用美工刀快?美工刀不是不能剪纸,但是速度没剪刀来得快。
当你精通一门语言后,再学习其他语言的时候,学会的语言不会成为障碍,反而可以对这两种语言对比学习以加深理解。
前置知识
这里假设你懂点编程知识,《Python全栈开发实践入门》的编程主要是以Python为主。
也假设你会用Linux命令,不会也没什么关系,我们会在用到的时候进行讲解,但是深入底层机制的知识只能靠你自己去查找资料来学习了,《Python全栈开发实践入门》用到的操作系统主要以Ubuntu16.04.1serveramd64LTS为主。
关于作者
从大学到工作阶段经过4次考试才拿到中级职称的网络工程师证书,在学校的时候理论过关了,但是缺少实践,下午题答得不好;而工作之后,有设备有环境可以实践了,但又常常忘记理论知识。
在我们单位,IT这块儿没有细分岗位,是一个大技术部兼管IT部门(设备维修和IT都同属于技术部),在部门内每个人都是技术能手。我平常工作大部分是围绕DBA、服务器维护和数据分析这些方面。
曾经精通C、VB、PHP、SQL,现在平时用得最多的是Python,“人生苦短,我用Python”。使用Python开发了几十个小程序,来解决工作中遇到的问题。
由于编者水平有限,书中疏漏之处在所难免,敬请谅解。


其他推荐