asyncio调度介绍

概述

Python 的 asyncio 库提供了一种基于事件循环的异步编程模型,其核心是无栈协程(Stackless Coroutine)。无栈协程具有以下特性:

  • 单线程事件循环asyncio 在单线程上创建一个事件循环,用于调度协程的执行。
  • 协作式多任务:协程只有在主动交出控制权(如通过 await)时,事件循环才能调度其他协程。
  • 异步等待:使用 await 调用可调度的对象(如协程、FutureTask),并获取其结果。

事件循环

事件循环是 asyncio 的核心组件,负责管理和调度所有异步任务。其工作原理如下:

阅读更多

mitmproxy介绍

概述

mitmproxy一个免费开源的 交互式https代理

可以用于抓取http的包,他支持windows、linux多平台,还可以通过Python库的方式启动去实现更灵活的逻辑。

安装

linux

阅读更多

golang1.24新特性介绍

Go 1.24 与今日(2025.2.11)发布。本次更新在语言特性、工具链、运行时、标准库等方面带来多项重要改进。本文将分类总结这些新特性,帮助开发者快速了解版本亮点。

如果要体验这个版本,可以通过以下命令安装:

go install golang.org/dl/go1.24rc2@latest

语言特性

阅读更多

GCC15版本新特性介绍

概述

GCC(GNU Compiler Collection)是一套由GNU开发的编程语言编译器,支持C、C++、Fortran、Java等多种编程语言。GCC 15 是 GCC 编译器的最新版本,带来了一系列新特性和改进,提升了编译器的性能和功能。

当前GCC15尚未发布,在2025.1.13号进入了Stage 4阶段,预计在2025年第二季度发布正式版本。

GCC版本发布周期

主分支的开发将分三个阶段进行。

阅读更多

Redis 8.0新特性解析

Redis 8.0 带来了一系列革新性的功能升级,极大地提升了其性能与应用场景的适配性,为开发者提供了更强大的数据处理能力。

当前redis 8.0 还处于开发阶段,目前已发布了 8.0-M03 版本。后一个版本是M04

新数据结构集成

Redis 8.0 引入了 7 个新的数据结构,分别是 JSON、时间序列(Time series)、布隆过滤器(Bloom filter)、布谷鸟过滤器(Cuckoo filter)、Count-min sketch、Top-k 和 t-digest。这些数据结构为用户提供了更多的数据处理和存储选择,可以满足不同场景下的需求。

例如,JSON 数据结构可以方便地处理 JSON 格式的数据;时间序列数据结构适用于时间序列数据的存储和分析;布隆过滤器可以用于快速判断一个元素是否在一个集合中;布谷鸟过滤器也是一种高效的集合数据结构;Count-min sketch 可以用于近似计数;Top-k 可以用于找出数据中的前 k 个最大值;t-digest 可以用于近似计算数据的分布。。这些结构的加入,使得 Redis 能够更高效地处理各类数据。以 JSON 数据结构为例,它让 Redis 原生支持 JSON 格式数据的处理,开发者无需进行复杂的格式转换,就能轻松实现数据的存储与读取,显著提升开发效率。下面为你展示 JSON 数据结构的具体用法:

阅读更多

terraform手动退还资源后destroy报错处理

背景

我使用terraform在腾讯云上部署了一份k8s集群,但是回收集群时,我单独删除了k8s集群

这样当我执行

terraform destory
│ Error: [TencentCloudSDKError] Code=ResourceUnavailable.ClusterState, Message=CLUSTER_STATE_ERROR(cluster is in unhealthy state), RequestId=3a363509-6152-402e-a8b9-149e9332ae43

│ with module.tencentcloud_tke.tencentcloud_kubernetes_native_node_pool.native["1"],
│ on ../../modules/tke/tke.tf line 48, in resource "tencentcloud_kubernetes_native_node_pool" "native":
48: resource "tencentcloud_kubernetes_native_node_pool" "native" {



│ Error: [TencentCloudSDKError] Code=ResourceUnavailable.ClusterState, Message=CLUSTER_STATE_ERROR(cluster is in unhealthy state), RequestId=542cdfb5-9883-4b0a-8778-032687365dd6

│ with module.tencentcloud_tke.tencentcloud_kubernetes_native_node_pool.native["0"],
│ on ../../modules/tke/tke.tf line 48, in resource "tencentcloud_kubernetes_native_node_pool" "native":
48: resource "tencentcloud_kubernetes_native_node_pool" "native" {
阅读更多

Linux内核之tracepoint介绍

概述

Tracepoint 是一种在 Linux 内核中插入的静态探测点,用于跟踪和调试内核行为。它允许开发者在特定位置插入代码,收集运行时信息,而不会显著影响性能。

原理

特性

  • 静态探测点: 在内核预定义, 自定义的函数可以插入在这里
  • 动态启用: 默认不启用, 减少性能开销
  • 低开销
阅读更多

bpftrace简介

概述

bpftrace是一个基于eBPF的高级跟踪工具, 用于动态追踪Linux系统的行为和性能.

用于可以用简单的一行命令或者简洁的脚本,实现监控分析内核和用户空间程序的运行,而无需修改或者重新编译

安装

sudo apt-get install bpftrace
阅读更多