django常见报错的解决方案汇总
makemigrations是django中的常用操作,但是坑也比较多。
坑的主要原因,使用django的manage.py makemigrations,django会加载整个项目,而不仅仅是models.py。而这会引发一系列问题。
binlog属于逻辑日志,是逻辑操作。innodb redo属于物理日志,是物理变更。逻辑日志有个缺点是难以并行,而物理日志可以比较好的并行操作。
在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。
redis本身不处理分布bai式事物或者说它的du事物非常弱,因为zhiredis本身是单线程的;
之所以很多时候出现redis的线程安全问题是因为应用本身是分布式的;这块处理办法基本都是redis+lua解决分布式安全问题
插件安装:pip install pytest-cov
命令:pytest –cov=src –cov-report=html
src:python源代码路径(文件夹形式,不支持模块or模块.py等形式)
注意:文件夹下所有符合文件名:test_._test.py都必须能跑通,否则html报表中只有函数定义,没有函数内的代码执行情况。
父子进程内部变量是否可以直接共享,当然不是,需要“特殊加工”下才行。
那么在web开发中的单例模式,是真正的全局唯一的单例么?自然也是否
惭愧,自己用单例还是比较多的,还真是第一次注意到这一点。之前使用时,想当然的以为就是(应用程序级别)全局唯一的,譬如java的类里的static,python模块中的定义的对象(只会加载一次),但严格说,都是错误的用法(侥幸的是,尚未出现由此导致的Bug,大概率因为自己用单例大多是为了保存静态内容(只查,不改),加速查询而已。并未用来做全局性统计)。
资料:OpenCV-Practical-Exercise:https://github.com/luohenyueji/OpenCV-Practical-Exercise
本文适合有一定websocket基础的,至少完整看过前后端demo的读者,一窍不通的小白建议先阅读“参考”部分的博文扫扫盲。
基于django的dwebsocket组件(目前虽然不在维护,但正常使用没问题)
actor模型。actor模式是一种最古老的也是最简单的并行和分布式计算解决方案。
优点:充分利用单线程+事件机制,达到了多线程效果。
缺点,对python而言,由于GIL的存在,毕竟只是单线程,难以匹敌多进程,目前使用并不多。
原则:可读性第一(效率固然重要,除非非常明显的效率差异,否则可读性优先)
学习炫技巧,更多为了读懂他人代码,自己开发过程中,相似代码量(可读性),建议使用通俗写法。反对为炫而炫。
Update your browser to view this website correctly. Update my browser now