关系数据库编程
数据定义语言(ddl):creat drop
数据控制语言(dcl):数据访问和权限GRANT REVOKE
数据查询语言(DQL):SELECT查询
数据操作语言(dml):增、删、改insert、delete、update
事物处理语言(tpl):保证数据一致性commit、rollback
指针控制语言(ccl)
要先连接其独特的数据库引擎,才能用sql语言对数据库进行操作
引入包
连接数据库
获取游标
执行sql命令
提交或者回滚事务
关闭右边
关闭数据库连接
orm系统
关系型数据库和实体对象间做一个映射
其必须具备映射技术、crud操作(create retrieve update delete
缓存优化
耦合聚合封装,其实是软件工程的问题
可以为一个uwsi配置多个NGNIX SERVER和location
runserver只是在本地使用,而其它的时候要用wsgi进行启动
pylint可以进行代码风格的检查,风格,错误、不合理以及重构ide和编辑器集成、生成uml图,自动代码审查,也可支持可配置化
测试驱动开发其实就是先写测试用例,其实也就是测试,写代码,通过了测试就可以进行下一步开发,这样会对自己模块认识更为深刻,测试完了可以进行考虑重构了,最终完成成品。
写下代码时,bug也随之而来,测试要打桩,之后还要清理现场,其实主要还是运用unittest这个这个库,它有一个测试发现功能,这里面还有一个nose的测试框架
单元测试主要注重一致性、原子性、单一职责、隔离性
做一个包,一般是用打包工具,其setup文件辅助冲pypi中下载需要的包,这些都与distutils的文档有关了,其中上传也需要很多东西,pastescript这些插件其实也可以用,paster打包还不错啊,从pypi和pip安装包总的来说就比较简单了
第八章是性能的刨析与优化也是最后一章了
优化原则
优化工具
cprofile定位性能瓶颈
memory-profiler和objgraph刨析内存使用
努力降低算法复杂度
掌握循环优化基本技巧
使用生成器提高效率
使用不同的数据结构优化性能
充分利用set优势
使用mu’l’tiprocessing克服gil的缺陷
使用线程池提高效率
使用c/c++模块扩展提高性能
使用cpython编写扩展模块
关于如何写出高水平的代码,这一章可以说很关键了,其实主要来看也无非就是多线程和c++实现,我本身c语言也不错,可能是一个优势吧。