基于 inspect 实现重载

学习 

基于 inspect 在运行时动态匹配入参并调用指定函数。

实现了一个基于 OneBot v11 的开发框架,聊聊其中的细节


本文介绍了使用方法,以及一个 asyncio.create_task 存在的隐患、如何与 OneBot 通过 WebSocket 交互、一个简单的依赖注入框架的实现、插件系统的实现、配置系统的实现。

以元类实现单例


通过元类的方式在实例化前检查对象是否已保存,如果有就直接返回。

自己实现 abc 模块的核心功能

学习 

通过 abc 模块可以在 Python 中使用抽象类,定义抽象方法、抽象属性。本文手动实现一个 ABCMeta 来探究其实现原理,这里就牵扯到 CPython 源码中对于 property 的 __isabstractmethod__ 定义。

Python 实现动态的工厂模式


本文讨论的主要是,如何把工厂模式生产的产品,即抽象类的子类信息动态地保存到一个表中,而不是直接简单粗暴地使用 if-else 来判断。使用 Python 中的装饰器或者元类来达到我们保存子类信息的目的。

Python itertools 简单介绍和运用例

学习 

前言最近写 Python 比较多,不可避免地要处理一堆可迭代对象。本文就介绍 Python 内置库 itertools 以及介绍几个我常用的函数的使用方法。

JS数据结构之哈希表(散列表)

学习 

本文用开放地址法来在JS里实现一个哈希表。

JS实现只能调用一次的函数

学习 

利用 Proxy 来完成这一点。

JS数据结构之堆

学习 

本文只涉及一般提及的二叉堆,用来动态地求最值。本文通过 top k 问题探讨其用途。

JS中的WeakMap与WeakSet

学习 

存在感很低,但是它是ES6新增的东西,还是值得学习的。