2022.04.30
CPU核数、并发数以及性能的关系
这篇文档描述了 CPU 核心数量、并发数量以及性能的关系。主要有统筹方法以及阿尔达姆定律。
统筹方法
我国著名的数学家华罗庚使用泡茶的例子来说明统筹法,如下图所示:
)
很明显使用统筹法,有相互依赖关系的部分使用串行,而没有相互依赖关系的部...
2021.06.01
CPU 密集和 IO 密集型程序
这篇文档描述了 IO 密集型程序和 CPU 密集型程序的概念以及区别。并使用 `sysstate` 这个工具来观察程序运行时候的资源利用率。
2021.05.24
MongoDB CRUD
这一篇文档描述了在 Mongo 中的 CRUD 操作。透过最常用的增删改查来快速了解 MongoDB 。
2021.05.18
Unix 进程
这一篇来讲解面试中经常会问起的进程,它们是什么?以及它们之间是如何通信的。
2021.04.25
使用 Bean 优雅的传递参数
在我们的代码中,无外乎是数据和逻辑。但是很多代码很不好的地方就在于数据和逻辑结合地太过于紧密,这样就会导致代码的可维护性和可扩展性大大降低。所以,我们需要将数据封装起来,从逻辑中抽取出来。要做到这一点,有非常多的手段,其中一种就是使用 Bean 的类来抽离数据。
2021.04.23
PHP 框架编写基础
我刚开始学会使用框架的时候,我就很好奇框架是如何写出来的。我就问一个技术大牛,如何写一个框架。他只对我说了一句话:你去写。嗯嗯,是的,尝试去做永远是最正确的事情。在开始编写一个框架之前,我们也需要了解一些基础知识,虽然这些内容在平时使用框架的时候可能并不需要在意,确是一个框架的基础。
2021.04.20
Linux 下一条命令是如何执行的
在开始学习很多很多的命令之前,我们先来说说一条命令是如何执行的。只有知道了“命令”的本质,我们才能更快更深入的去学习更多的内容。
2021.04.20
Python 面向对象编程
学习面向对象,如果一开始就从理论说起,可能会非常难以理解。所以,我尝试从语法层面说起,这样可能更好理解一些。
2021.04.08
Hello World
我们常常开玩笑,说如何评价一个人的编程水平,于是就问他/她: 请问你能用几种语言来编写“Hello World”。这个问题能考验一个人学过几种编程语言,优秀的程序员总是不止会一种编程语言。所以,这一篇文章我们就从 Hello World 说起。
2021.04.06
Selenium 常用方法
上一篇文档我们讲述了如何在页面中查找定位元素,一共介绍了 8 中方法。在这一篇文档中我们更进一步,掌握操作元素的一些方法。
2021.04.06
Selenium 页面元素定位
使用 Selenium 的目的是为了代替测试人员手工的去操作 Web 应用,将手工的操作自动化。在手工操作中,我们可以通过眼睛去看我们的操作元素在页面中的位置,比如说我们在用户名的文本框中输入,那么在页面中你可以看得到。但是如果我们使用程序去操作的话,是不是应该告诉程序如何才能找到我们要操作的元素呢?
2021.04.06
Selenium 简介
Selenium 是一款非常流行的 GUI 自动化测试工具,学好它成为了一个测试工程师的必备技能。从这一篇文档开始,我们来详细说明其技术细节,以及如何更好地运用于实际。让我们开始吧。
2021.04.04
HTTP 协议
从这一篇文档开始,我们来说说 HTTP 协议,因为这是当前计算机网络中距离我们生活最近的协议,每天都用到的协议,也是相对比较简单的协议。
2021.04.02
使用 tmux
使用 Linux,我们绝大多数的时候看到的都是黑漆漆的画面,是有一些枯燥的。但是,能不能在枯燥的画面中,玩些花样呢?
2021.04.02
使用 Vim
对于我个人而言,非常喜欢使用 Vim。喜欢到什么程度呢?如果没有 Vim,我就不想写代码。这一篇文档描述了 Vim 的一些基本用法,掌握这些内容,基本上就可以在各种环境下使用 Vim 了。
2021.03.30
C语言时间处理
这一篇文档主要描述了在 C 语言编程过程中,如何对时间进行正确的处理。其中包括如何获取系统时间、如何格式化时间、解析时间以及计算时间差等内容。
2021.03.30
使用 Markdown 创作
一直以来,我都习惯于使用 Markdown 语法来编写文档,它具有非常好的通用性和可移植性,表现简约而丰富且易于扩展。可以让人专注于写作。
2021.03.29
PHP 网络编程
长期以来,有很多观点认为 PHP 并不适合网络编程。但是,当前我也看不到很多开发者在这一领域有新的尝试。比如国内的 Swoole,国外的 ReactPHP。在我现在的公司海马体,他们自己研发了基于 PHP 的 RPC FrameWork。所以,有了这一篇文章,也记录了自己在这一方面的尝试过程。