Python Web开发从入门到放弃

640?


作者 | sitin

来源 | 涛哥聊Python(ID:programmer100)


越来越多的同学知道我在做软件开发,想学Python,所以都来咨询我,怎么从入门到实践,所以索性今天写一篇入门的教程。再来咨询我的同学也方便一些。


Python学习


640?


Python 语言的学习,我在之前我推送过一篇Python文章Python那么火,我只推荐这两本书,推荐了「Python编程从入门到实践」这本书,学习这本书你就可以开发日常小程序了。


其次开发环境,Sublime,Vim,Atom,VScode,Pycharm随你,但是我强烈推荐用Pycharm,熟练之后配合Vim,方便而又快捷。


HTTP协议


为了开发Web应用程序,光是Python方面知识还是不够的,我们还需要很多东西,比如我们访问 baidu.com 怎么返回内容给我的,这里面经历了什么,这里面需要我们的计算机网络方面的知识,其中主要需要了解HTTP协议。

我推荐两本书「图解HTTP」,「HTTP权威指南」大家可以去了解下,第一本较简单图非常多。


640?


第二本讲的较详细如指南一般各个方面都有涉猎。


640?


前端知识


另外Web开发过程会用到一些前端开发知识,比如html,css,大家可以去看看「Head First HTML与CSS、XHTML」,另外「Head First」系列的书都比较不错,讲的很容易让人理解,大家买书的时候可以优先考虑下。


640


当然你也可以直接看MDN上面的内容,也是非常简单。

https://developer.mozilla.org/zh-CN/docs/Learn


Django/Flask/Tornado框架


由于是Web开发,我们需要一个快速开发的Web框架,来加快我们开发应用的速度。


这里我推荐Django,原因无他,功能强大,使用人最多,有很多成熟的工具套件,由于Django发展较快,一直没有一本非常好的书来指导,建议大家看官方文档就好。在「Python编程从入门到实践」里面有相关的Django项目了。


当然也有同学喜欢Flask,Tornado等框架的轻量简洁等,如果喜欢Flask方面的话,下面这本书是不错的,记得买第二版。


640?


数据库


使用了开发框架之后,我们需要把我们数据存储起来,那么我们需要数据库,数据库方面首要推荐关系性数据库MySQL,你也可以用非关系型数据库MongoDB等等。


这里我推荐一本「MySQL必知必会」,感兴趣的同学去了解非关系型数据库,其实我个人工作中使用Nosql更多一点。


640?


单元测试


开发之后我们需要进行测试,我们可以利用Django自带的Unittest,配合coverage可以看到测试覆盖率,当然这个过程你可能需要mock来进行模拟数据测试,有了测试猜可以保证你的代码质量和功能完备性,从入门到进阶必备的,虽然是入门文章,但还是希望一开始能养成习惯。


这里面推荐一本书「Python Web开发 测试驱动开发」。



640?

版本发布部署


代码开发完成之后,我们怎么把我们代码「发布」到线上服务器呢?这里我们需要学习了解一下Fabric或者Ansbile,SaltStack这一类自动化工具。


代码发布到线上服务器了,我们服务器怎么才能跑起来呢?


那么我们需要了解一下Linux服务器配置部署,Linux方面资料,这里面推荐由happypeter翻译的「The Linux Command Line」中文「快乐的Linux」命令行(关注我的公众号,回复Linux可以下载)。


我自己是看鸟哥的私房菜进行学习入门的,大家有兴趣也可以看看。



640?


知道了基本命令行操作,我们还需要让我们的代码在服务器上面跑起来,正如本地运行一样但是和本地又有一些不一样。


这里我们部署上线需要了解 nginx,supervisor,uwsgi/gunicorn(任意一个),nginx这方面写的好的书籍不是很多,其他几个服务大家自行Google参考对应官方文档就行。


这里有一篇nginx指南可以看看,Beginner’s Guide:

http://nginx.org/en/docs/beginners_guide.html


Python Web应用程序线上服务器部署主要是采用 nginx + supervisor + (uwsgi/gunicorn) + flask/django/tornado方式。


最后


坚持到了这儿,恭喜你,表示你有做开发的潜力,其实我想说的上面的内容还是刚刚开始,刚开始大家不需要多么精通了解这些内容,除了Python方面的知识,每个部分掌握一点儿能进行基本开发就好,主要是不断练习,让自己跳出「舒适区」,进入「学习区」,但是又不进入「恐慌区」,不断给自己「喂招」。


参看我之前写过的工作以后,我们如何实现自我提升


随着开发过程一定要主动学习去掌握之前不熟悉的东西,不建议抱着工作用到才学这种态度。


工作用到很多时候已经来不及了,当然这个也看个人兴趣发展。


随着网站访问量的增大,我们还需要考虑服务高可用架构,缓存,消息队列,服务化,负载均衡等等各种问题,由于这是入门指导我就不深入了。


PS:有同学问我要不要报培训班,这个问题要我回答肯定是不需要的,当然主要还是看个人水平和身边有没有从事这方面的同学,如果有学习肯定能事半功倍的。


(本文仅代表作者观点,转载请联系原作者)


CTA核心技术及应用峰会


5月25-27日,由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心隆重召开,峰会将围绕人工智能领域,邀请技术领航者,与开发者共同探讨机器学习和知识图谱的前沿研究及应用。


更多重磅嘉宾请识别海报二维码查看,目前双日会议早鸟票发售中仅售699元(原票价1099元),点击阅读原文即刻抢购


添加小助手微信15101014297,备注「CTA」,了解大会详情。


640?wx_fmt=jpeg

扫描二维码,立即参会。

内容概要:本文系统研究了构网型变流器的正负序阻抗解耦特性及其在弱电网环境下的稳定性表现,重点依托Matlab/Simulink仿真平台,构建了详细的阻抗数学模型,设计了解耦控制策略,并采用小信号扫频法进行频域辨识与稳定性验证。研究深入探讨了构网型变流器与传统跟网型逆变器在正负序阻抗特性上的本质差异,结合虚拟同步发电机(VSG)等先进控制技术,分析其在抑制宽频带振荡、削弱锁相环动态耦合等方面的优越性。文中不仅提供了完整的仿真模型与MATLAB代码实现,还整合了光伏、风电、储能、微电网等多类新能源系统的阻抗建模与稳定性分析资源,形成了一套面向新型电力系统稳定性的综合性技术资料体系,具有较强的科研复现与工程参考价值。; 适合人群:面向具备电力电子、电力系统自动化、新能源并网等专业背景的研究生、高校教师及工程技术人员,特别适用于从事阻抗建模、小干扰稳定性分析、宽频振荡机理研究以及撰写高水平学术论文的科研工作者。; 使用场景及目标:①掌握构网型变流器正负序阻抗建模与扫频辨识的仿真方法;②深入理解VSG等构网型控制在弱电网中提升稳定性的内在机理;③复现顶刊论文中的阻抗分析流程与稳定性判据应用;④利用提供的成熟模型与代码加速科研进程,支撑课题研究与学术成果产出。; 阅读建议:建议结合文中提供的Simulink模型与MATLAB代码,按照“理论建模—仿真搭建—扫频激励—频响提取—Nyquist判据分析”的完整流程进行实践操作,重点关注扫频信号的注入方式、频率范围设置及阻抗曲线的物理意义解读,并参考博士论文复现案例深化对复杂动态耦合问题的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值