- 博客(332)
- 收藏
- 关注
原创 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~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
原创 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 ~ Vec<u8>和&[u8]
Vec<u8>和&[u8]是两种不同的数据类型,它们都与字节序列相关,但在所有权、内存管理、使用场景等方面存在明显区别。
2025-02-27 23:22:28
497
原创 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~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 中,模块是天然的单例模式。因为模块在第一次导入时,会生成 .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的&
在 Python 中 & 运算符在集合类型中用于计算集合的交集,无论集合是可变的 set 还是不可变的 frozenset 都适用。
2025-02-10 23:20:27
291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人