本来是写异步编程时提到的IO问题,但是越写越多,越写越杂,加上由于GAP的原因巧妙地错开了计网编程这门专业课,所以干脆新开一篇I/O来介绍这些,也可以作为异步编程的预备篇章。
Python异步编程
python由于GIL(全局锁)的存在,不能发挥多核的优势,这点一直饱受诟病。不过在IO密集型的网络编程里,异步处理比同步处理能提升成百上千倍的效率,弥补了python性能方面的短板。
Server Deployment
19年底部署了个web应用,20年初发现404了(微笑)为了纪念成功踩雷,于是有了这篇博客。
20年中数据库被黑客攻击,勒索我 0.03 btc(按当日,近两千人民币),于是更新了这篇博客。
Garbage collection in Python
相比于C这种需要你手动malloc和free的语言,Python实现了自动内存管理。一般而言,手动内存管理显然容易出问题,比如忘记free导致的内存泄漏,提前free导致的悬空指针。那么自动内存管理的垃圾回收是怎么一回事呢,简单来说:引用计数,标记-清除,分代回收。