文章概要 本文准备以一种轻快、对话式的口吻来描述笔者在计算机相关领域学习过程中感悟体会,其中包括一些回顾、一些建议、一些反思以及对未来的一些思考。这些内容并不是对某一领域的具体讨论,因此不会涉及相关的技术细节,读者可以抱着一种来看看故事、吹吹牛的心态阅读本篇文章,因而你不需要有任何认知上的压力。如果你在阅读完本篇文章后,能够有所收获与思考,笔者将感到由衷的高兴。 🤔 优秀程序员的特质:黑客与画家 OR 哲学家
云原生安全——攻防实践与体系构建 1云原生安全 在本章节中我们首先介绍云原生的含义和特性,然后介绍云原生安全的含义、体系、关键问题和现状。 1.1云原生:云计算下半场 CNCF对云原生的见解是:“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网络、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的
项目仓库地址:https://github.com/aquasecurity/tracee 前言 这段时间准备看看开源世界中安全平台层面的产品以及主机安全、运行时安全等技术现阶段业界的实现,为即将到来的毕业设计或论文作准备。eBPF 技术仍是目前我最为看好的云原生世界可观测性、网络以及安全领域最为强有力的技术解决方案,许多老牌的云原生开源项目也都基于 eBPF 提出了一系列 proposals 用于改进产品性能,增强功能性。基于 eBPF 技
大白话讲 Golang Channel 实现 本文尝试以轻松的口吻介绍 Golang 中 Channel 的相关实现,我们会以源码不断迭代发展的视角去观察 Channel 实现的变化,具体的来说,通过 Go 主仓库 Commit 历史记录来查看每一次改动所对应的 Issues,一同来看下 Go 开发团队的具体考量。除此之外,我们也需要抓住一些不变的本质,这些本质的实现是整个 Channel 实现设计的基础,考察相关的数据结构以及方法对我们理解具体编码时 Channel 的行为颇有裨益。 本文是笔者在学习过程中写成的,参考了许多前人写
eBPF 程序的跟踪能力 The ability to attach eBPF programs to trace points as well as kernel and user application probe points allows unprecedented visibility into the runtime behavior of applications and the system itself. By giving introspection abilities to both the application and system side, both views can be combined, allowing powerful and unique insights to troubleshoot system performance problems. Advanced statistical data structures allow to extract meaningful visibility data in an efficient manner, without requiring the export of vast amounts of sampling data as typically done by similar systems. 如何找到你所需要的追踪点? 首先,我们需要明确自身的需求,考虑清楚我们需要获取哪一些数据信息,再从这些数据信息的类型出发找到其对应的追踪位置。在 eBPF 程序中有以下这几种常用的追踪点类型: kprobe 内核探针 uprobe 用户程序探针 tracepoint 内核
XDP-Tutorial ⭐ 本文章仍然在不断的更新中,因此文章结构以及内容可能会时常发生变化。同时本领域也是作者刚刚涉及的领域,难免在文本内容中出现错误,还望指正,大家一同学习共勉。 XDP-Tutorial 是一个 Github 上的 repo,皆在指导人们如何遵循最基本的步骤,高效地实现为内核中的 XDP 系统进行编程。我会随着这个课程的步伐与大家一同探寻 Linux 内核世界的奥秘以及如何使用高性能的 XDP 程序对网络数据报进行处理。随着学习的深入,我会列出理解每一节课程的编程实现