Linux 下的多线程

Python 里面的多线程用过了,也说过一些缺点了,在准备分析这些问题之前,我决定对 Linux 的多线程进行一个稍微有点深度的总结,然后再来分析 Python 的实现源码,本文以 pthread 为例,对 Linux 下的多线程进行了小总结。

一致性哈希及其 Python 实现

看过了很多别人讲一致性哈希的原理,但是却没有多少人讲实现,刚好自己觉得有一个还行的实现方式,所以就顺带总结了一下然后用 Python 实现了一个简单的代码,给大家分享一下

Python 邮箱服务

最近在封装一些自己用的通讯服务,例如有短信/邮件/Slack 这些,但是,在编写邮件的时候突然发现自己以前都是只使用了邮件的发送功能,也就是简单得通过 smtplib 来发送的,但是,好像收邮件就没有那么简单了,发现收邮件有 POP3 和 IMAP 两种协议比较常用,虽然这两个名字都很熟悉,但是,说不上来有啥区别,分别是啥特点,所以需要小结一番。

Python 整数数据类型的实现

之前概括了一下 Python 的对象数据结构,比较笼统,所以还是需要找一两个有意思的数据结构看看具体实现,以及针对这些实现的操作。其实,可以发现,内部的实现都是计算机的基础知识,大数运算/哈希表/动态数组这些。

Python 对象模型

这几天闲下来看看 Python 的源码,感觉很不错,虽然看到的是些皮毛,但是还是总结一下,毕竟这也是 Python 中比较核心的一部分,承载着 Python 的基础

编译 Python API开发环境

最近在探索 Python 的源码,但是,发现瞎看也没啥意思,所以就想折腾折腾。我的方式是直接编写 C++ 代码调用 Python API 然后看一些输出和数据状态,从而验证 Python 的一些内部实现,而本文就为搭建和测试 Python API 环境的简单教程

pyev 的简单用法

最近发现了一个很有意思的 Python 库 — pyev,它是 libev 的 python 封装库,之前见过一种方式是使用 cffi(gevent) 的方式进行交互,但是 pyev 确实直接使用扩展模式的形式进行交互,所以它的代码都是清一色的 c 代码,而且它的使用形式和 C 的形式基本一致,而且更加 OOP,所以本文就简单得做个对比。

简单看看缓存一致性的几种做法

缓存是个好东西,一个好的缓存算法可以让我们系统的吞吐能力轻松上升一个到两个数量级。当只有唯一的操作缓存的接口时,一切都很简单;但是,一旦有两个或以上的操作接口时,事情就会变得复杂,其核心的问题就是缓存会被失效,这个时候该怎么处理是个值得探究的问题,而我尝试以我的了解,以 Python 代码为示例,做一下小结。

Python syslog 浅谈

最近在写一些命令行守护程序,类似于 Linux 下的一些常运行的程序,除了用到一些常见的IO 以及进程间通信的内容之外,还尝试了一下 Unix 系列的 syslog,在尝试过程中,发现 Python 已经在 logging 模块中很方便得集成了 syslog 的功能,很是方便;但同时,Python 的内置库中也提供了 syslog 的支持,所以,我就对这两种方式都进行一个介绍和总结。

聊聊 Python 中的内存管理

虽然在 Python 中垃圾回收不那么引人注意,但是除了垃圾回收之外,Python 的内存管理还是有很多有意思的点值得我们去关注,而我作为一个小学生对这方面也是有些兴趣,所以先写篇博客热身热身,为接下来进一步了解铺垫铺垫