“分布式数据库测试”这件小事
4年前,我对分布式、数据库、测试这几个领域都很陌生,好奇心与缘分让我和它们相见。 它们每一个都有说不完的故事。而我和它们的故事,则要从测试开始说起。
4年前,我对分布式、数据库、测试这几个领域都很陌生,好奇心与缘分让我和它们相见。 它们每一个都有说不完的故事。而我和它们的故事,则要从测试开始说起。
Golang 生态许多测试“框架”都是基于 testing 标准库来构建的。比如 testify,ginkgo 等。 不管使用哪个框架来编写测试用例,我们都可以通过 go test 命令来触发用例的执行, 看代码先看 main,于是就想看看 go test 内部的实现机制如何。
参考网上各大博客或者 RFC 以解决自己对 Socket 编程或者说 TCP/IP 协议的众多疑问。 感觉目前自己理解的也不成体系,记录的内容也都是一些零散知识点。
前言:在 Python 生态中,我们经常使用 collections.deque 来实现栈、队列这些只需要进行头尾操作的数据结构,它的 append/pop 操作都是 O(1) 时间复杂度。list 的 pop(0) 的时间复杂度是 O(n), 在这个场景中,它的效率没有 deque 高。那 deque 内部是怎...
阅读这个 RFC 可能的收获:自己设计协议可以参考
前面文章有说道『协程和生成器最主要的特征:可以暂停执行和恢复执行』, 它另外一个隐含的意思:普通函数不能暂停和恢复执行。
上篇文章中,我们说到:Python 的协程底层就是基于生成器来实现的。本文,我们会讲生成器的一些历史和相关的基础知识。
在第一篇文章『揭开 asyncio 的神秘面纱 - 从 hello world 说起』中, 我们提出一个问题:Python 协程和生成器行为非常类似,它们究竟是什么关系? 在这篇文章中,我们就来探索、解决这个疑问。
asyncio 是用来编写并发程序的库。在爬虫、客户端应用、等开发场景中, 我们经常会需要将多个网络请求并行化来提高程序性能,而 asyncio 框架正好可以很方便的帮助我们实现这个需求。
这篇文章致力于解决以下疑问(本文以 MySQL 为例):
编程语言一直是民间讨论的热点话题之一,国庆的时候自己按照教程做了一个简陋版的“解释器”, 这里记录一下自己学习的心路历程。
一个常见的生成器使用示例:把生成器当作迭代器用
前言:之前也写了上千行和 React 相关的代码了,不过都是复制粘贴,或者无脑模仿。 自己算是个后端工程师,自己经常会吐槽前端开发,尤其是现在的 React。 眼看着新的工作又要使用 React,赶紧把它的一些基础知识学习一下。
学习完的几点个人感受 个人推荐的学习思路 先看死锁概念和四个必要条件 -> 看 wikipedia 然后大概的看一下哲学家就餐问题 -> 看 wikipedia 带着对哲学家问题的疑问,看处理死锁的几种方法 -> 可以看下面给的视频的某些章节 ...
以前经常看到这两个术语,但是感觉区分这两个东西并没什么用,而且 日常实践好像也不要求我区分他们。今天恰好自己碰到一个问题:
Python Packaging Python 包管理工具怎样管理一个包的元信息?要考虑哪些问题(versioning, naming…)? wheel vs eggs? (50%) wheel vs sdist? (50%) 怎样优雅的发布 .proto/.thrift 等 RPC 接口定义文...
很多问题以前也遇到过,不用小本本记下来,下次还可能会遇到。
大学没学好也不能怪我,真的,况且我还盲羊补牢呐。。。
feeluown - music player daemon for human? ps: 由于历史太长,所以丢后面去了。
Table of Contents 1. How venv works? 1.1. 先来做个简单的实验 1.2. 神奇的 lib/pythonX.Y/os.py 1.3. 回到现象 1.4. 正题:venv 是怎样工作的? 1.5. 总结
最近在迁移一个视频服务的断点上传部分。这货之前使用 django 写的,要迁移到一个 tornado 框架。
概述 - 排序 插入排序 空间:$O(1)$ 时间:$1 + … + n => O(n^2)$
MySQL 字段设计基础 MySQL 索引基础知识 MySQL 锁、事务的一些基础知识
读这本书的目的:能说出好代码和坏代码之间的差异
断点续传 继上个 调研笔记篇 之后,有了这个。
结论一定要写在显眼的地方:(写着写着来个结论) 这些东西不及时记下来,或多或少以后都会忘记把,然后就是重复踩坑喽… 写文档并不是消磨时间的好方式,写代码才是
feeluown 阶段性总结
迷宫自动生成
记一篇笔记越来越难辽,更别说写博客了。书读的也少了,更别说 paper reading。 饭不想做了,更别说尝试新菜式。FeelUOwn 活跃度越来越低了;flag 列表也没了; 也不出去浪辽。唯有摇号、工作与游戏,使我“快乐”。
FeelUOwn 维护好几年了,它的定位在不断的发生改变,近一两年是把它定位为
UPDATE 2021-02-13 嘛耶,刚写这个笔记的时候其实是 2021-01-25,2333。
feeluown - music player daemon for human? ps: 由于历史太长,所以丢后面去了。
feeluown 阶段性总结
2023-05-29:若想深入的传播一个知识或描述一件事情,按“主题”维度来进行组织, 是我目前见过的最有效的方式之一。这本书分四个主题,虚拟化(Virtualization)、 并发(Concurrency)、存储(Persistence)、安全(Security)。今日看了内存虚拟化这块, 由浅入深,引经据典...
读完这篇论文,有种盲人摸象的感觉。好在确实对 B-tree/B+-tree 的基本原理有了些了解。 比如一些基础的概念,B-tree 的 order,B-tree 的插入/删除算法(里面涉及到平衡), B+-tree 相比 B-tree/LSM-tree 的优劣势。但它总归只是一个理论, 和实践还是感觉差距太远,...
2019-02-11 ~ 2019-02-17
https://arxiv.org/pdf/1702.05843.pdf
最近在读了一本书《关键对话》,它的副标题是“如何高效能沟通”。 我和每个认识我的朋友说起“我最近在读一本书,关键对话”,大家的反应都是:“啊!2333”。
回顾一把了 2023,也想了想 2024 干点啥好,心里已经基本有思路了。现在是下午六点半, 预约了晚上7点的海底捞,前面排了 240 桌。说回来,我觉得自己的 2024 规划挺好的, 从来没对自己这么有信心过 :)
抓到浙江秋天的尾巴,“栖霞坑古道”一日游,盗图若干。
现在是 2023-04-12,我正在为了写,而写这篇“博客”,真不知道要记录些什么。 在 10 分钟之前,这篇博客的标题与现在还有点不一样,叫做“自驾 G318”, 但对着标题看了十分钟,我真不知道该写啥好。于是我机智的换了个标题,果然, 这废话不就来辽。
最近感悟很多,一定要记下来!
想了一下,春雨比春风更优雅一点。
记录一下自己过去的使用感受和经验,避免重复踩坑。都是一些琐碎的事情。
有些东西,说有用有用,说没用也没用
连接池是什么?它的实现原理? 连接池需要自动处理 Connection Reset 这类错误吗?为什么?不需要,上层做 When to use connection pool? typical usage? https 有什么区别吗?
标题本来是 how pip works, 但是看了 pip 的部分代码,我把它改成了 pip 杂谈。
最近开始找新工作了,但要找什么样的工作呢?还是有点点迷茫,仿佛回到了 2019。