自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(332)
  • 收藏
  • 关注

原创 go~面向对象的多协程通信

【代码】go~面向对象的多协程通信。

2025-03-28 23:56:27 71

原创 go~协程阻塞分析

协程被阻塞8秒。

2025-03-21 00:16:27 445

原创 python~ args和kwargs

args*args是一个可变位置参数,它允许函数接收任意数量的位置参数,并将这些参数作为元组(tuple)传递给函数print(type(args)) # 输出: <class 'tuple'>print(arg)**kwargs**kwargs是一个可变关键字参数,它允许函数接收任意数量的关键字参数,并将这些参数作为字典(dict)传递给函数print(type(kwargs)) # 输出: <class 'dict'>print(f"

2025-03-16 15:17:34 170

原创 http ~ Latin-1

Latin-1 是国际标准化组织(ISO)制定的一系列 8 位字符编码标准(ISO-8859)中的第一个,它使用单字节编码,每个字符由 8 位二进制数表示,因此最多可以表示 256 个不同的字符。

2025-03-16 15:02:13 424

原创 go~大型项目的参数注册

如何合理的注册 Config.Process 中的 Middleware?

2025-03-15 16:46:16 340

原创 go~context的Value的建议写法

context.Context 是 Go 标准库中用于在不同的函数调用和 goroutine 之间传递请求数据、取消信号以及截止时间等信息的机制。通过 context.WithValue 函数,可以将键值对存储在 Context 中,然后在后续的函数调用中通过 Context.Value 方法来获取这些值。在 Go 语言里,为了利用 context.Context 来安全地传递和存储特定类型的数据,同时避免键冲突,必须要使用自定义类型作为键。

2025-03-15 15:50:48 321

原创 python~next实战

如果生成器表达式中有元素满足条件,next() 函数会返回第一个满足条件的元素;如果生成器表达式中没有元素满足条件,next() 函数会返回第二个参数,即 None。如果返回值为 None,说明在 custom_keys_db 列表中没有找到满足条件的元素,此时条件为 True,会执行 if 语句块中的代码。在 custom_keys_db 列表中查找是否存在满足特定条件的元素。如果没有找到符合条件的元素,就将 current_column_data 的值设置为 other。

2025-03-05 23:48:17 197

原创 python~根据日志中的u‘信息制作有效参数

然后需要用工具等将 False 改为 false,将 True 改为 true,将 None 改为 null。至于参数中携带 html 代码片段,需要将双引号转为单引号。

2025-03-04 16:20:45 160

原创 python ~ enumerate

enumerate() 是一个内置函数,它允许在遍历可迭代对象(如列表、元组、字符串等)时,同时获取元素的索引和值。这里使用列表推导式结合 enumerate() 函数创建了一个包含索引和元素值的元组列表。iterable:必需参数,是一个可迭代对象,如列表、元组、字符串等。可以用于遍历字符串,同样会返回每个字符的索引和字符本身。start:可选参数,指定索引的起始值,默认为 0。

2025-03-03 15:18:32 189

原创 Rust ~ Collect

where::<>turbofish涡轮鱼语法::<>是一种用于帮助编译器进行类型推断的语法糖,主要在泛型类型的上下文中使用,特别是在调用泛型函数或方法时,当编译器无法自动推断出具体的泛型参数类型时,就可以使用 “涡轮鱼” 语法来显式地指定泛型参数。“涡轮鱼” 语法::<>是 Rust 中一种用于显式指定泛型参数的有用工具,它可以帮助编译器消除类型歧义,使代码更加清晰和易于理解。

2025-03-02 21:39:14 829

原创 Rust ~ Dyn Error

The dyn keyword is used to highlight that calls to methods on the associated Trait are dynamically dispatched(强调动态分发). To use the trait this way, it must be ‘dyn-compatible’dyn 关键字用于强调对关联特征(Trait)上的方法调用是动态分发的。要以这种方式使用特征,该特征必须是 “与 dyn 兼容的”。

2025-03-02 18:27:44 1183

原创 Rust~String、str、&str、&String、Box<str> 或 Box<&str>

尽管 Deref 自动转换提供了便利,但 as_os_str 方法通过显式表达意图、避免混淆、保持一致性以及方便代码审查和调试等方面,为代码的质量和可维护性提供了保障。

2025-03-02 16:49:06 1067

原创 Rust~Pin的new

向中传了一个 MyStruct 实例的引用,但是Pin::new需要的参数又是 Ptr,这种转换是怎么做到的注意,区别于其他语言,Ptr 是一个范型,DerefMut 特征:意味着 P 是一个可以解引用为可变引用的类型Target 需要实现 Unpin 特征,表示解引用后的目标类型可以安全地被移动特征,它可以解引用为 T 类型。因此,满足Pin::new方法中泛型参数 P 的DerefMut 约束。

2025-03-01 20:19:44 413

原创 Rust~tokio的AsyncRead

/////// unfilled portion: 未填充的部分// 当该对象变得可读或被关闭时,(程序)会安排当前任务(通过 cx.waker())接收通知// arranges for...to...:表示 “安排…… 去做……”,在这里是安排当前任务做某事。

2025-03-01 19:46:25 1078

原创 HTTP~文件 MIME 类型

MIME(Multipurpose Internet Mail Extensions)类型,即多用途互联网邮件扩展类型,是一种标准,用来表示文档、文件或字节流的性质和格式。最初是为了在电子邮件系统中支持非 ASCII 字符文本、二进制文件附件等而设计的,后来被广泛应用于 HTTP 协议等网络传输场景,用于标识传输内容的类型,帮助接收方正确处理这些内容。

2025-02-28 15:06:58 791

原创 HTTP 请求时传递多部分表单数据

选项用于直接传递原始数据,而多部分表单数据格式通常用于上传文件或提交包含多种类型数据的表单。

2025-02-28 14:48:38 567

原创 rust学习~tokio的io

暂停执行,直到一个 Future 的结果就绪。.awaiting对一个 Future 使用.await操作会暂停当前函数的执行,直到执行器(executor)将该 Future 运行至完成有关异步 / 等待(async/await)和执行器的工作原理的详细信息,请阅读《异步编程指南》(Async Book)。Editionsawait 是从 2018 版及后续版本开始引入的关键字。从 1.39 版本及以后的稳定版 Rust 中可以使用它。

2025-02-28 00:23:15 993

原创 对rust中的from和into的理解

两个重要的特征(trait),它们为类型之间的转换提供了强大而灵活的机制。

2025-02-27 23:54:54 568

原创 Rust ~ Vec<u8>和&[u8]

Vec<u8>和&[u8]是两种不同的数据类型,它们都与字节序列相关,但在所有权、内存管理、使用场景等方面存在明显区别。

2025-02-27 23:22:28 497

原创 rust之Tokio学习1

/ 枚举类型允许你定义一个类型,它可以有多个不同的变体,每个变体可以携带不同的数据。

2025-02-23 18:50:11 1098

原创 Rust学习~tokio简介

读音/ˈtəʊkiəʊ/tokio 是 Rust 最优秀的异步运行时框架,它提供了写异步网络服务所需的几乎所有功能不仅仅适用于大型服务器,还适用于小型嵌入式设备主要由以下组件构成:(1)多线程版本的异步运行时,可以运行使用 async/await 编写的代码(2)标准库中阻塞 API 的异步版本,例如thread::sleep会阻塞当前线程,tokio中就提供了相应的异步实现版本。

2025-02-23 14:54:44 1094

原创 Rust~二刷异步逻辑

Waker 是 Rust 异步编程中的一个核心概念,它是一个句柄,用于通知执行器某个任务已经准备好继续执行。当一个 Future 处于 Poll::Pending 状态时,它通常会保存一个 Waker 实例,当该 Future 所依赖的资源准备好时,就会调用 Waker 的方法来唤醒等待的任务。wake 方法所有权转移:wake 方法会消耗 Waker 实例本身,也就是会转移 Waker 的所有权。这意味着在调用 wake 之后,原来的 Waker 实例就不能再使用。

2025-02-23 01:12:59 1061

原创 采用sidecar模式,将127.0.0.1的请求打到目标机器

mesh开启sidecar之后,其实就是将业务进程和mesh通信进程都开到同一个pod下。

2025-02-22 19:41:34 412

原创 python的thrift2pyi学习

【代码】python的thrift2pyi学习。

2025-02-22 18:47:48 379

原创 python~http的请求参数中携带map

调试 http GET请求的 map 参数,链路携带参数一直有问题,最终采用如下方式携带map解决url encode之后的效果如下所示。

2025-02-22 16:22:25 617

原创 go~为什么会有json.Number这种类型存在

json.Number 类型为处理 JSON 数值提供了一种灵活、安全的方式,避免了类型不匹配和精度丢失的问题。

2025-02-20 23:37:19 406

原创 python的copy

复制对象是常见的操作,而复制操作分为浅拷贝(shallow copy)和深拷贝(deep copy),copy 模块提供了实现这两种拷贝的功能。

2025-02-17 00:15:32 264

原创 python函数中的全局变量

全局变量在 Python 中有其用途,但在使用时需要谨慎,尽量遵循良好的编程实践,减少全局变量的使用,以提高代码的可读性/可维护性。

2025-02-17 00:11:53 351

原创 python的pass

pass 语句在 Python 中虽然不执行任何实际操作,但它在保持代码语法完整性和作为占位符便于后续代码扩展方面起着重要作用,尤其在代码开发的初期阶段非常有用。

2025-02-17 00:02:12 234

原创 python的类装饰器

装饰器不仅可以用于函数,还能作用于类。将装饰器应用于类时,其核心原理与作用于函数类似,都是通过接收一个类作为输入,然后返回一个新的类或者修改后的原类,以此来为类添加额外的功能。

2025-02-16 23:54:36 325

原创 python的装饰器

Python 装饰器是一种强大而灵活的工具,它可以帮助开发人员编写更加模块化、可复用和易于维护的代码。

2025-02-16 23:39:56 384

原创 python的两种单例模式

在 Python 中,模块是天然的单例模式。因为模块在第一次导入时,会生成 .pyc 文件,当第二次导入时,会直接加载 .pyc 文件,而不会再次执行模块代码。因此,可以将相关的类和实例定义在一个模块中,通过导入模块来获取唯一的实例。在 singleton_module.py 中定义了一个 SingletonClass 类,并创建了该类的一个实例 singleton_instance。

2025-02-16 23:30:50 489

原创 python将方法转为只读属性

装饰器可以让类中的方法像属性一样被访问。它将方法伪装成属性,使得调用者可以直接通过点号来获取方法的返回值,而不需要像调用普通方法那样使用括号。这样做可以提高代码的可读性和简洁性,让代码看起来更自然,仿佛访问的是一个普通的属性。装饰一个方法时,调用该方法就像访问一个属性一样,不需要使用括号。装饰器使得方法可以像属性一样被访问,提高了代码的可读性和易用性。是一个内置的装饰器,它可以将一个方法转换为只读属性。方法的返回值,这里没有使用括号,就像访问普通属性一样。装饰的方法:定义了一个名为。

2025-02-16 17:14:49 121

原创 Python 2 和 Python 3 在字符串编码上的差异

理解和正确处理字符串编码在 Python 编程中非常重要,尤其是在处理多语言文本和文件操作时,需要特别注意编码的一致性。

2025-02-16 16:53:49 959

原创 Python文件__init__.py

比如有 xx.py 文件,可以在另一个模块/脚本中通过 import xx 导入后,使用xx.py中的东西。如果要导入 xx.py 中的函数 yy,就写成 from xx import yy。模块是程序,简单的理解为一个.py文件,任何Python程序都可以作为模块导入。文件的作用是将文件夹变为 Python 的包,Python 中每个包中,都有。除了以下列表中的函数,其它函数都无法被使用,类似于私有函数或变量。和文件夹不同的是,包的根目录下存在。文件中批量导入所需要的模块,而不再需要一个一个的导入。

2025-02-16 16:05:52 136

原创 Python 模块加载机制导致的问题

Python 在导入模块时,会执行模块中的代码。当存在互相依赖(循环依赖)时,如果在模块顶层进行导入,可能会出现问题。因为在一个模块还未完全加载和初始化时,另一个模块就尝试导入它,这可能会导致某些对象或属性还未定义。当 Python 解释器执行 import module_a 时,会先执行 module_a.py 中的代码。在执行到 from module_b import B 时,会去加载 module_b.py。

2025-02-16 00:14:42 286

原创 python子类__init__时报错问题

在 Python 2 中遇到 TypeError: super() argument 1 must be type, not classobj 错误时,将相关类转换为新式类即可解决问题在 Python 3 中则无需担心这个问题。

2025-02-15 22:04:57 252

原创 python类方法名加前缀下划线

单下划线前缀是一种软性的访问限制约定,而双下划线前缀则提供了更强的封装性,但仍然不是绝对的访问限制。

2025-02-15 22:01:11 241

原创 python3中去掉python2中的u

【代码】python3中去掉python2中的u。

2025-02-11 13:13:06 66

原创 Python的&

在 Python 中 & 运算符在集合类型中用于计算集合的交集,无论集合是可变的 set 还是不可变的 frozenset 都适用。

2025-02-10 23:20:27 291

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除