稍微正经点的

“分布式数据库测试”这件小事

4年前,我对分布式、数据库、测试这几个领域都很陌生,好奇心与缘分让我和它们相见。 它们每一个都有说不完的故事。而我和它们的故事,则要从测试开始说起。

How go test works?

Golang 生态许多测试“框架”都是基于 testing 标准库来构建的。比如 testify,ginkgo 等。 不管使用哪个框架来编写测试用例,我们都可以通过 go test 命令来触发用例的执行, 看代码先看 main,于是就想看看 go test 内部的实现机制如何。

Socket FAQ 集锦

参考网上各大博客或者 RFC 以解决自己对 Socket 编程或者说 TCP/IP 协议的众多疑问。 感觉目前自己理解的也不成体系,记录的内容也都是一些零散知识点。

How collections.deque works?

前言:在 Python 生态中,我们经常使用 collections.deque 来实现栈、队列这些只需要进行头尾操作的数据结构,它的 append/pop 操作都是 O(1) 时间复杂度。list 的 pop(0) 的时间复杂度是 O(n), 在这个场景中,它的效率没有 deque 高。那 deque 内部是怎...

揭开 asyncio 的神秘面纱 - 协程就是生成器?

在第一篇文章『揭开 asyncio 的神秘面纱 - 从 hello world 说起』中, 我们提出一个问题:Python 协程和生成器行为非常类似,它们究竟是什么关系? 在这篇文章中,我们就来探索、解决这个疑问。

揭开 asyncio 的神秘面纱 - 从 hello world 说起

asyncio 是用来编写并发程序的库。在爬虫、客户端应用、等开发场景中, 我们经常会需要将多个网络请求并行化来提高程序性能,而 asyncio 框架正好可以很方便的帮助我们实现这个需求。

React 基础知识学习笔记

前言:之前也写了上千行和 React 相关的代码了,不过都是复制粘贴,或者无脑模仿。 自己算是个后端工程师,自己经常会吐槽前端开发,尤其是现在的 React。 眼看着新的工作又要使用 React,赶紧把它的一些基础知识学习一下。

死锁学习笔记

学习完的几点个人感受 个人推荐的学习思路 先看死锁概念和四个必要条件 -> 看 wikipedia 然后大概的看一下哲学家就餐问题 -> 看 wikipedia 带着对哲学家问题的疑问,看处理死锁的几种方法 -> 可以看下面给的视频的某些章节 ...

iterable and iterator

以前经常看到这两个术语,但是感觉区分这两个东西并没什么用,而且 日常实践好像也不要求我区分他们。今天恰好自己碰到一个问题:

Python Packaging 一些阅读笔记

Python Packaging Python 包管理工具怎样管理一个包的元信息?要考虑哪些问题(versioning, naming…)? wheel vs eggs? (50%) wheel vs sdist? (50%) 怎样优雅的发布 .proto/.thrift 等 RPC 接口定义文...

头疼的位运算

大学没学好也不能怪我,真的,况且我还盲羊补牢呐。。。

How venv works?

Table of Contents 1. How venv works? 1.1. 先来做个简单的实验 1.2. 神奇的 lib/pythonX.Y/os.py 1.3. 回到现象 1.4. 正题:venv 是怎样工作的? 1.5. 总结

构建系统,学到了啥?

结论一定要写在显眼的地方:(写着写着来个结论) 这些东西不及时记下来,或多或少以后都会忘记把,然后就是重复踩坑喽… 写文档并不是消磨时间的好方式,写代码才是

Back to Top ↑

音乐

对听歌以及音乐播放器的一些思考 - (终1)

记一篇笔记越来越难辽,更别说写博客了。书读的也少了,更别说 paper reading。 饭不想做了,更别说尝试新菜式。FeelUOwn 活跃度越来越低了;flag 列表也没了; 也不出去浪辽。唯有摇号、工作与游戏,使我“快乐”。

Back to Top ↑

阅读

读《Operating Systems: Three Easy Pieces》

2023-05-29:若想深入的传播一个知识或描述一件事情,按“主题”维度来进行组织, 是我目前见过的最有效的方式之一。这本书分四个主题,虚拟化(Virtualization)、 并发(Concurrency)、存储(Persistence)、安全(Security)。今日看了内存虚拟化这块, 由浅入深,引经据典...

读《The Ubiquitous B-Tree》

读完这篇论文,有种盲人摸象的感觉。好在确实对 B-tree/B+-tree 的基本原理有了些了解。 比如一些基础的概念,B-tree 的 order,B-tree 的插入/删除算法(里面涉及到平衡), B+-tree 相比 B-tree/LSM-tree 的优劣势。但它总归只是一个理论, 和实践还是感觉差距太远,...

读《关键对话》3-5 章

最近在读了一本书《关键对话》,它的副标题是“如何高效能沟通”。 我和每个认识我的朋友说起“我最近在读一本书,关键对话”,大家的反应都是:“啊!2333”。

Back to Top ↑

life

2024 干点啥

回顾一把了 2023,也想了想 2024 干点啥好,心里已经基本有思路了。现在是下午六点半, 预约了晚上7点的海底捞,前面排了 240 桌。说回来,我觉得自己的 2024 规划挺好的, 从来没对自己这么有信心过 :)

自驾 G318

现在是 2023-04-12,我正在为了写,而写这篇“博客”,真不知道要记录些什么。 在 10 分钟之前,这篇博客的标题与现在还有点不一样,叫做“自驾 G318”, 但对着标题看了十分钟,我真不知道该写啥好。于是我机智的换了个标题,果然, 这废话不就来辽。

感悟集锦

最近感悟很多,一定要记下来!

春雨与秋风

想了一下,春雨比春风更优雅一点。

Back to Top ↑

工具啥的

连接池-实践(待补充)

连接池是什么?它的实现原理? 连接池需要自动处理 Connection Reset 这类错误吗?为什么?不需要,上层做 When to use connection pool? typical usage? https 有什么区别吗?

pip 小吐槽

标题本来是 how pip works, 但是看了 pip 的部分代码,我把它改成了 pip 杂谈。

Back to Top ↑

工作

职业规划思考

最近开始找新工作了,但要找什么样的工作呢?还是有点点迷茫,仿佛回到了 2019。

Back to Top ↑