一套有用的 Unix 实用程序

一套有用的 Unix 实用程序

还有更多有用的实用程序没有预装在类 Unix 操作系统中,它们汇集起来构成了 moreutilis 这个日益增长的集合。
逐层拼接云原生栈

逐层拼接云原生栈

看着我们在纽约的办公大楼,我们发现了一种观察不断变化的云原生领域的完美方式。
Fedora 下的图像创建程序

Fedora 下的图像创建程序

Fedora 有很多程序可以帮助你的创造力。从数字绘图、矢量到像素艺术,每个人都可以在这个周末发挥创意。
如何在 Linux Shell 编程中定义和使用函数

如何在 Linux Shell 编程中定义和使用函数

函数是一段可复用的代码。我们通常把重复的代码放进函数中并且在不同的地方去调用它。库是函数的集合。我们可以在库中定义经常使用的函数,这样其它脚本便可以不再重复代码而使用这些函数。
对比 Ubuntu 18.04 和 Fedora 28

对比 Ubuntu 18.04 和 Fedora 28

Ubuntu 和 Fedora 是两个主流的 Linux 发行版。两者都各自有一些华而不实的特性,因而新接触 Linux 的人很难抉择。我的建议是同时尝试二者,这样你在试用后可以发现哪个发行版提供的工具更适合你。
Linux DNS 查询剖析(第二部分)

Linux DNS 查询剖析(第二部分)

在第二部分中,我将介绍 resolv.conf 的更新机制、systemctl restart networking 命令的运行机制 ,以及 dhclient 是如何参与其中。
使用 Docker 的用户名字空间功能

使用 Docker 的用户名字空间功能

该功能允许主机系统将自身的 uid 和 gid 映射为容器进程中的另一个 uid 和 gid。这对 Docker 的安全性来说是一项巨大的改进。
使用 Ptrace 去拦截和仿真 Linux 系统调用

使用 Ptrace 去拦截和仿真 Linux 系统调用

ptrace(2)(“进程跟踪”)系统调用通常都与调试有关。它是类 Unix 系统上通过原生调试器监测被调试进程的主要机制。它也是实现 strace(系统调用跟踪)的常见方法。
从零开始学习 Go 语言的切片

从零开始学习 Go 语言的切片

这篇文章受到了我与同事讨论使用切片slice作为栈stack的一次聊天的启发。后来话题聊到了 Go 语言中的切片是如何工作的。我认为这些信息对别人也有用,所以就把它记录了下来。
包管理器的进化

包管理器的进化

包管理器在 Linux 软件管理中扮演了重要角色。这里对一些主要的包管理器进行了对比。
极客漫画:AI 监管

极客漫画:AI 监管

台上某疑似“钢铁侠”正在宣讲“AI 监管”,遭到了群嘲——怒极之下,却暴露出了其原本是一个“AI”。
UNIX 的怪东西

UNIX 的怪东西

最近我在用我编写的各种工具做更多 UNIX 下的事情,我遇到了两个有趣的问题。这些都不是 “bug”,而是我没想到的行为。
使用 Kafka 和 MongoDB 进行 Go 异步处理

使用 Kafka 和 MongoDB 进行 Go 异步处理

在这个示例中,我将数据的保存和 MongoDB 分离,并创建另一个微服务去处理它。我还添加了 Kafka 为消息层服务,这样微服务就可以异步处理它自己关心的东西了。
什么是 CI/CD?

什么是 CI/CD?

在软件开发中经常会提到持续集成(CI)和持续交付(CD)这几个术语。但它们真正的意思是什么呢?
CSRF(跨站请求伪造)简介

CSRF(跨站请求伪造)简介

设计 Web 程序时,安全性是一个主要问题。我不是在谈论 DDoS 保护、使用强密码或两步验证。我说的是对网络程序的最大威胁。它被称为CSRF, 是 Cross Site Request Forgery (跨站请求伪造)的缩写。
比特币是一个邪教

比特币是一个邪教

币之邪教(Cult of the Coin)有许多圣人,或许没有人比中本聪Satoshi Nakamoto更伟大,他是比特币创始者(们)的假名。