- 博客(4058)
- 资源 (11)
- 收藏
- 关注
原创 露营所需物品及注意事项
露营不仅仅是一次简单的出行,更是一种对自然的探索与尊重。准备齐全的装备可以提升体验,而遵守安全规范则是保障旅程顺利的关键。做到“准备充分、行动谨慎、环保第一”,才能真正享受露营的乐趣。
2026-03-19 14:32:31
265
原创 Python __wrapped__介绍(函数属性,用于指向被装饰前的原始函数)functools.wraps、函数签名检查inspect模块、多层装饰器链
保留函数原始引用支持 introspection(自省)让工具链正常工作提升调试体验是装饰器世界中的“回溯指针”。
2026-03-19 14:26:10
283
原创 Python Mapping类型介绍(Mapping抽象接口、Mapping接口、__getitem__、__iter__、defaultdict、OrderedDict、ChainMap)
Mapping 类型是 Python 中最核心的数据结构之一,其代表dict以高效的哈希表实现提供了快速的数据访问能力。通过标准库中的扩展类型(如ChainMap等),可以灵活应对不同应用场景。掌握 Mapping 的使用不仅有助于写出更高效的代码,也能提升程序的结构化和可维护性。
2026-03-19 10:18:10
310
原创 Redacted介绍(脱敏 / 涂黑 / 删改后公开,指对外展示或记录信息时,把敏感内容隐藏或替换,只保留必要信息用于排查问题、审计或协作沟通)敏感信息、马赛克
Redacted通常译作“脱敏 / 涂黑 / 删改后公开”。它指的是:在对外展示或记录信息(日志、报表、截图、文档、对话记录、API 返回等)时,把敏感内容隐藏或替换,只保留必要信息用于排查问题、审计或协作沟通。你最常见的体验是:合同/判决书里某些段落被黑条遮住;系统日志里 token 被打印成。
2026-03-18 18:06:53
218
原创 Redis(Remote Dictionary Server)的应用场景与使用方法(基于内存的高性能NoSQL数据库,支持持久化,并提供多种数据结构)RDB、AOF、主从复制、哨兵、集群
Redis(Remote Dictionary Server)是一个基于内存的高性能 NoSQL 数据库String(字符串)Hash(哈希)List(列表)Set(集合)Sorted Set(有序集合)BitmapStream极高性能:内存操作,QPS 可达 10 万级以上丰富的数据结构:支持多种复杂数据类型原子操作:单线程执行保证命令原子性持久化机制:支持 RDB 与 AOF高可用架构:支持主从复制、哨兵、集群提升系统性能(缓存)支持高并发访问。
2026-03-18 01:28:31
320
原创 MySQL Binlog(Binary Log二进制日志)介绍(主从复制的基础,实现主库与从库的数据同步)数据恢复、数据审计、数据同步/CDC、mysql-bin.index、Redo Log
Binlog,全称Binary Log(二进制日志),是 MySQL 用来记录所有修改数据库数据或结构的操作的日志文件。只要数据发生变化(INSERT / UPDATE / DELETE / DDL),就会被记录到 Binlog 中。查询(SELECT)不会记录Binlog 是逻辑日志,记录的是“做了什么”,而不是“数据变成什么样”格式安全性日志大小推荐程度STATEMENT低小不推荐ROW高大⭐推荐MIXED中中可用。
2026-03-18 00:42:01
362
原创 Chrome Remote Desktop介绍(谷歌远程桌面软件、远程控制、屏幕共享、Chrome远程)
Chrome Remote Desktop 是一款由 Google 提供的远程控制工具,允许用户通过浏览器或移动设备,远程访问另一台计算机。你可以把它理解为:👉 在任何地方,通过网络“操控”另一台电脑,就像坐在那台电脑前一样。Chrome Remote Desktop 是一款“开箱即用”的远程控制工具,特别适合不想折腾复杂配置的用户。虽然功能不算最强,但在日常远程访问和简单协助场景中,它已经足够好用。如果你只需要一个稳定、免费、易上手的远程工具,那么它值得一试。
2026-03-18 00:31:14
364
原创 Redis缓存三大问题(缓存穿透Cache Penetration、缓存击穿Cache Breakdown、缓存雪崩Cache Avalanche)缓存空值、布隆过滤器、逻辑过期、Binlog
如果面试官问你:👉“Redis 缓存有哪些问题?
2026-03-17 16:49:29
267
原创 Windows10如何更改Microsoft Store默认存储路径?如何把已安装的应用迁移到其他磁盘?(安装路径、安装目录)
操作是否推荐说明修改默认路径✅ 推荐一劳永逸使用“移动”按钮✅ 推荐简单安全卸载重装✅ 最稳适用于所有程序mklink⚠️ 谨慎高级玩法。
2026-03-17 16:23:29
322
原创 Redis缓存一致性(Cache Consistency)问题,如何避免脏数据(stale data)?(Cache Aside旁路缓存、过期时间TTL、订阅数据库变更Binlog、延迟双删)
👉Redis 不保证强一致性,只能做到最终一致性优先保证数据库正确缓存只是“加速层”通过策略降低不一致时间窗口。
2026-03-17 15:04:09
375
原创 Redis主从复制(Replication)介绍(将主节点实例数据同步到多个从节点,实现读写分离、数据备份和故障恢复)非阻塞复制、级联复制、replicaof、全量复制、增量复制、RDB快照
一个Master(主节点)一个或多个Slave(从节点)从节点通过网络连接主节点,并复制主节点的数据集。主节点负责写操作从节点负责读操作读写分离(提高读性能)数据冗余备份高可用架构基础ClientMaster/ | \所有写操作先进入 Master,然后同步到各个 Slave。支持一主多从采用异步复制提供全量复制 + 增量复制通过实现部分重同步读写分离数据冗余高可用架构基础在实际生产环境中,通常会将主从复制 + Sentinel 或 Cluster。
2026-03-17 10:55:08
355
原创 Redis哨兵(Sentinel)介绍(用于监控Redis集群并在主节点故障时自动完成故障转移的机制)监控、自动故障转移、通知、服务发现、主观下线SDOWN、客观下线ODOWN、Cluster集群
为 Redis 提供自动故障恢复能力。监控 Redis 节点自动故障转移客户端服务发现提高系统高可用SlaveSlave。
2026-03-17 10:22:21
265
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——51、Agent智能体——Agent项目tools工具开发(agent_tools.py)
教程:https://www.bilibili.com/video/BV1yjz5BLEoY代码:https://github.com/shangxiang0907/HeiMa-AI-LLM-RAG-Agent-Dev云开发平台:https://hzh.sealos.run已按你的需求改好,修改总结如下:不同环境(如 、)如需覆盖,只需在对应 env 下再写一次 即可,会按现有逻辑与 default 合并。 增加字段从合并后的配置里读取顶层 (即 ),保证未配置时用默认值。便捷方法使用方式示例:当前
2026-03-16 16:48:54
402
原创 VSCode如何快速跳转到某行?(快速跳转到指定行号)快捷键Go to Line、Ctrl + G、跳转行、跳转某行、切换行、切换某行
在 Visual Studio Code 中,最常用的方法是使用快捷键。
2026-03-16 16:01:37
429
原创 Python typing Final(类型限定符type qualifier,用于告诉类型检查器:这个变量或属性不应该被重新赋值或被子类覆盖)声明常量、防止子类重写、全大写、实例属性
Final是 Python 类型系统中的一个类型限定符(type qualifier),用于告诉类型检查器:这个变量或属性不应该被重新赋值或被子类覆盖。它最早在PEP 591中被提出,并在Python 3.8中正式加入typing模块。Final不会在运行时强制限制它只对类型检查工具(例如mypypyright)生效应该只赋值一次之后不应该再修改Final虽然只是 Python 类型系统中的一个小特性,但在提高代码可维护性和可读性方面非常有价值。Final用于声明不可重新赋值的变量可以防止。
2026-03-16 14:22:02
374
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——50、Agent智能体——Agent项目RAG总结服务开发(rag_service.py)
教程:https://www.bilibili.com/video/BV1yjz5BLEoY代码:https://github.com/shangxiang0907/HeiMa-AI-LLM-RAG-Agent-Dev云开发平台:https://hzh.sealos.run←AI回复总体结论这段实现作为「能跑通 Demo」基本够用,但离「可上线生产」还有不少差距,主要问题集中在:工程结构(耦合与可配置)、可观测性与日志、安全性与健壮性、RAG 质量控制、以及性能扩展性。下面按点说问题和改进方向。强耦合
2026-03-15 14:36:56
374
原创 # noqa: BLE001介绍(代码检查lint抑制注释,用于告诉静态检查工具忽略这一行的某个特定规则。通常出现在Python代码里,用于配合Ruff或Flake8这类linter)
我知道这里捕获 Exception,但这是有意设计的。表示这一行即使违反某些 lint 规则,也不要报错。它通常出现在 Python 代码里,用于配合。(或 Ruff 兼容规则)中的一个规则编号。会捕获几乎所有异常,可能隐藏真正的问题。不符合 lint 规则,但。(不要对这行做质量检查)。它只是给代码质量工具看的。,用于告诉静态检查工具。这类 linter。)的 lint 警告。
2026-03-15 14:33:07
184
原创 DTO(Data Transfer Object数据传输对象)介绍(用于在系统之间传输数据的简单对象,隔离数据结构,避免暴露内部模型结构)
DTO(Data Transfer Object)是一种用于在系统之间传输数据的简单对象。它通常只包含数据字段(属性)和对应的 getter/setter,而不包含业务逻辑。只用于数据传输不包含复杂业务逻辑通常是轻量级结构常用于API 请求与响应简单来说:DTO 是一种专门用于在不同系统组件之间传递数据的对象。客户端向服务器发送请求时,数据会被解析成这个 DTO 对象,然后再进入业务处理流程。DTO 是一种简单但非常重要的软件设计模式。它通过数据结构隔离。
2026-03-13 13:34:05
437
原创 Microsolft Edge怎么安装到其他盘?(不安装在C盘)(Edge浏览器)Edge重装、Edge企业版|Edge迁移、Windows符号链接
(仅理论,未验证,勿轻易尝试)
2026-03-10 15:07:16
233
原创 文件复制到U盘时提示:Are you sure you want to copy this folder without its properties?(文件属性、复制属性、不支持元数据)NTFS属性
在 Windows 的NTFS安全权限(ACL):谁可以读写这个文件备用数据流(Alternate Data Streams):隐藏的附加数据来源标记(Zone.Identifier):例如从互联网下载的标记加密或压缩标志时间戳或扩展属性这些都属于文件的元数据,而不是文件内容。
2026-03-10 14:28:20
356
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——49、Agent智能体——Agent项目向量存储服务开发(发现大量生产级问题✨factory.py、vector_store.py
教程:https://www.bilibili.com/video/BV1yjz5BLEoY代码:https://github.com/shangxiang0907/HeiMa-AI-LLM-RAG-Agent-Dev云开发平台:https://hzh.sealos.run查看当前 和 ,了解现有结构,然后按图片内容重构并修正。[4 tools called]重构 ,整合图片中的字段,保持 envs 结构,并更新 以支持新字段。[2 tools called]更新 ,支持新字段结构,并删除不再需要的 m
2026-03-10 03:09:18
342
原创 Python typing类型标注的TypeVar和Generic介绍(泛型类型注解,将返回类型与传入类型相关联)类型变量、类型占位符、泛型函数、泛型类、泛型接口、bound、constraints
TypeVar声明一个“将来会被具体类型替换掉的变量”。T是一个类型变量,它本身不是一个实际的类型,但可以在函数 / 类里使用,表达“泛型”的概念。TypeVar:类型变量,是“类型的占位符”(比如TModelT:给类/接口挂上这些类型变量,使其变成“泛型类”。函数里用T:表达“输入和输出是同一类型,但这个类型暂时不指定”。类里用Generic[T]:表达“这个类是模板,未来会被具体类型实例化成XXX[int]等”。搭配bound:可以表达“必须是子类”或“只允许几种具体类型”。
2026-03-10 03:02:04
331
原创 Python相对路径导包弊端(相对路径导入、绝对路径导包、绝对路径导入、相对导入、绝对导入、相对导包、绝对导包)
相对导入就可能直接炸,因为此时模块的“包上下文”变了(或变成了脚本)。当目录层级多了,一眼看去全是点和点,很难马上搞清楚关系。绝对导入在这方面也会踩坑,但在“规范包运行方式”(项目大了之后,这种“有时候不好用”的体验会被放大。但你很可能忘了改,直到运行到这个模块才发现。这个用法其实是非常常见、也挺合理的。问题,而不是“相对导入=坏”。搬到别的子包里,原来的。哪边引用哪边,一清二楚。
2026-03-10 02:03:12
385
原创 Python项目改成绝对路径导入后,只能从项目根目录运行了吗?(否,可将项目根目录加入PYTHONPATH环境变量,也可用pip install -e .把项目装成包)没有包名补全功能、绝对路径导包
建议用方案 B,规范成包,然后用 alias 或脚本解决“命令太长”的问题。这样既规范,又不被“必须从根目录跑”绑死,只是当前没安装时确实要在能看到。,不是文件路径,所以 Bash 默认不会给你补全。Python 的“包搜索路径”里。如果以后想随处运行,就把项目用。,使用的是绝对路径导入其他包。这时 Python 看见。** 这种方式跑了。就行了,比补全包名还快。保持你习惯的命令:在。开头的绝对包名,而用。
2026-03-10 01:55:33
336
原创 Python列表(List)和元组(Tuple)区别
对比项列表 List元组 Tuple符号[]()是否可变可变不可变性能较慢较快内存占用较大较小使用场景动态数据固定数据列表用于可变数据,元组用于不可变数据。在Python编程中,选择列表还是元组并不仅仅是语法问题,而是设计问题。当数据需要频繁修改时,列表是最佳选择;而当数据需要保持稳定、不被修改时,元组则更安全、更高效。理解两者的区别,可以帮助开发者写出更清晰、更高效、更安全的 Python 代码。
2026-03-10 00:36:08
350
原创 Ingestion服务介绍(数据摄取服务,把外部系统的数据导入到内部数据系统中)(Batch Ingestion批处理摄取、Streaming Ingestion实时摄取)
(数据摄取服务)是数据平台或数据管道(Data Pipeline)中的一个核心组件,用来,例如数据湖、数据库、搜索引擎或机器学习平台。在和架构中,Ingestion 通常是。
2026-03-09 18:09:48
306
原创 POC(Proof of Concept)概念验证介绍
💡 简单说:POC 是“技术可行性快照”,成功后通常会被重写或深度重构才能进入生产。“代码在POC场景可用但非生产级”,正是行业常见实践——用最小成本验证方向,避免盲目投入。是否成立,而非交付完整产品。例如:“用这段代码试试能否在1秒内处理10万条数据”。为快速验证某个技术方案、算法、架构或功能的。
2026-03-09 17:59:09
336
原创 配置管理中的默认值:是便利还是隐患?(显式优于隐式原则,约定优于配置原则,分层策略(配置分类原则))
区分必需与可选:关键配置强制要求,通用配置提供默认值环境感知:不同环境采用不同的验证策略显式验证:即使有默认值,也要在关键路径验证文档先行:清晰标注哪些是必需配置,哪些有默认值配置管理是一个需要平衡的艺术:既要保证系统的健壮性和开发效率,又要避免配置错误导致的隐患。通过分层策略和环境感知验证,我们可以在便利性和可靠性之间找到最佳平衡点。好的配置系统应该让正确的事情容易做,错误的事情难以发生。
2026-03-09 03:38:53
362
原创 Python Dataclass不能像普通类那样在__init__中设置默认值(field()函数、default_factory)
Dataclass 的字段默认值必须在类定义时写在字段声明处,不能放在__init__里。Dataclass 不能像普通类那样在__init__中设置默认值默认值必须在类定义时写在字段声明处对于可变对象(列表、字典等),必须用来避免共享问题这是 dataclass 的设计特性,不是可选项如果要用普通类的写法,需要去掉@dataclass装饰器,手动写__init__,但会失去 dataclass 自动生成__repr____eq__等方法的便利。
2026-03-09 03:32:15
392
原创 Python数据类@dataclasses.field()函数(可变对象(列表、字典、集合等),不要使用default(类变量共享问题),应使用default_factory可变默认值工厂函数)类属性
field()函数是模块中一个强大而灵活的工具,它解决了可变对象默认值共享的问题。✅可变对象→ 使用✅不可变对象→ 可以使用default或✅复杂初始化→ 使用命名函数作为工厂❌不要对可变对象使用default❌不要忘记需要可调用对象掌握field()函数,让你的数据类更加健壮和可靠!
2026-03-09 03:26:58
436
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——48、Agent智能体——Agent项目配置工具、文件工具(md5、文档加载器、pdf)、提示词加载工具开发
具体实现,对这些配置字段做一次“对齐和精简”,也可以把这些文件建好或贴出来,我帮你把 dataclass 字段和 YAML 结构进一步打磨成“上线可用版本”。优化 prompts.yml 结构,改为使用文件路径配置(符合图片要求),并更新 config_handler.py 的相关部分。检查相关代码,了解当前实现,以便优化 prompts.yml 的结构。,支持“分组 + 文件内部环境区分”的 YAML 结构,同时在。所有更改已完成,代码已通过 lint 检查,符合项目的最佳实践。完成后我会简要总结用法。
2026-03-08 15:53:15
368
原创 如何设置Github仓库Issue模板(Github Issue Template、GitHub Issue Forms)bug_report.yml、config.yml
在 GitHub 仓库里,是通过在仓库中添加特定目录和文件实现的。下面分别说明。
2026-03-07 16:20:57
374
原创 安装Miniconda安装(Windows)、conda虚拟环境创建、conda虚拟环境激活
【代码】安装Miniconda安装(Windows)
2026-03-06 16:14:02
434
原创 新版Python安装记录(Python3.14)Python Windows
ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ
2026-03-06 14:32:15
334
原创 Python三点作用(Python...、Python ...、Ellipsis对象、Python省略号、三点语法、类型提示:表示函数参数任意、类型提示:可变长度tuple、NumPy:多维数组索引)
... . .EllipsisEllipsis是 Python 的一个内置常量对象。print(...)Ellipsis...是Ellipsis的语法糖它是 Python 内置类型ellipsis的唯一实例...(Ellipsis)是 Python 中一个不常见但非常有用的语法元素,主要用途包括:1️⃣代码占位符def foo():...2️⃣类型提示中的可变长度 tuple3️⃣函数类型提示4️⃣NumPy 高维数组索引虽然在日常 Python 开发中出现频率不算很高,但在阅读。
2026-03-06 01:02:56
383
原创 黑马大模型RAG与Agent智能体实战教程LangChain提示词——47、Agent智能体——Agent项目日志工具和路径工具开发
有没有“必要”:不绝对必须,但这样封装一个统一的get_logger模块在中大型项目里是很常见、也算是合理的实践。是否最佳实践:整体思路是对的(统一格式、控制台+文件 handler、目录管理),但还可以按官方推荐方式再优化一下。
2026-03-05 02:50:14
383
原创 Python日志模块logger_handler.py(通用日志模块、小项目勉强够用、满分100给60分)Python logging(log模块、logger模块)
如果你想自己控制文件名或子目录,可以传入log_file__name__,log_file="logs/rag/rag_service.log", # 相对路径会自动转成基于项目根目录的绝对路径若传入的是相对路径,会通过自动转成基于项目根目录的绝对路径。若传入的是绝对路径,则直接使用。在当前项目(以及结构类似的项目)中很适合作为“统一日志入口需要时再调整file_level/ 轮转策略。作为跨项目复用的通用模块当前版本已经有不错的基础;
2026-03-05 02:46:24
352
原创 Python导包的坑(__name__、python -m)(相对导入必须有“父包”、)(relative import、parent package、python模块、python包)
用一句话把本文的核心串起来:在工程化的 Python 项目里,只要你使用包结构 + 相对导入,就要习惯用 python -m 包.子包.模块的方式来运行和调试;把当成“只适合小脚本”的方案,就能避开 80% 的导包坑。
2026-03-05 01:55:22
314
原创 Python __pycache__介绍(.pyc文件、字节码缓存文件)批量删除__pycache__目录命令
是 Python 自动生成的“加速缓存目录”,里面的.pyc是根据.py源码编译出来的字节码。它随时可以删,Python 会自动重建;不用提交到 Git,也不用手动修改,只要确保.gitignore里把它忽略就行。理解了这一点,你在看到它在就随它在,不想要就删掉,真正要维护的永远是.py源码本身。
2026-03-04 21:01:40
332
原创 Python运行方式:python xxx.py和python -m package.module区别(ImportError、相对导入须在包环境下才能工作、直接运行脚本独立脚本)入口模块包内模块父包
把文件当成孤立脚本,没有“父包”,相对导入会失效。:把文件当成包内模块来运行,有完整的包上下文,相对导入可以正常工作。对于像你现在这样的工程化项目,只要是“在包里的模块”,推荐统一用python -m 包名.模块名的方式来运行和调试,既不容易踩导入坑,又更符合未来部署、打包的最佳实践。
2026-03-04 20:47:48
320
Dify+DeepSeek - Excel数据一键可视化(创建步骤案例)-DSL工程文件(可直接导入)
2025-03-05
Dify+DeepSeek - Excel数据一键可视化(创建步骤案例)-Markdown示例文件
2025-03-05
auto.js安装包:app-v6-armeabi-v7a-release-unsigned-signed.apk
2024-02-11
auto.js安装包:app-v6-universal-release-unsigned-signed .apk
2024-02-10
raid卡配置教程(基于Ubuntu 20.04 操作系统安装指导书 (鲲鹏 920 处理器)安装)
2023-12-12
Ubuntu 20.04 操作系统 安装指导书 (鲲鹏920处理器)
2023-12-12
ffmpeg h264编码格式测试视频
2023-12-10
vsftpd-3.0.5
2022-08-22
Intel-RealSense-D400-Series-Datasheet
2019-07-29
CMD_right_click_key_menu_with_administration.reg
2019-08-29
为什么C++对整型常量的指针用const_cast并修改值后,出现了两个不一样的值?
2023-08-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅