咕咕鸽爱学习 - 杂项
type: channel
link: https://blog.bitday.top/category/%E6%9D%82%E9%A1%B9/
items: Mac快捷键与技巧
items: agent-browser - AI 专用浏览器自动化工具
items: claude_code_快速上手
items: planning-with-files - 复刻 Manus 上下文工程的开源插件
items: Cursor使用
items: K8S
items: CICD
items: mermaid画图
items: matlab
items: linux服务器

Mac快捷键与技巧
type: item
date: 2026-05-08T11:10:08+08:00
description: Mac 快捷键与使用技巧 修饰键速查 符号 键名 角色 ⌘ Command 系统级快捷键（最常用） ⌥ Option 辅助/扩展功能、特殊字符输入 ⌃ Control 终端里的主力、模拟右键 ⇧ Shift 扩展选择、反向操作 记忆诀窍：在终端里用 Control（跟 Linux 习惯一致），其他地方用 Command。 一、系统级 快捷键 作用 ⌘ + Space 聚焦搜索（Spotlight），秒开应用/算数/查汇率 ⌘ + Tab 切换应用 ⌘ + ` 同一应用内切换窗口（Tab 上方那个键） ⌘ + W 关闭当前窗口/标签页 ⌘ + Q 完全退出应用 ⌘ + H 隐藏当前应用 ⌘ + M 最小化窗口 ⌘ + , 打开偏好设置（几乎所有应用通用） ⌘ + ⌥ + Esc 强制退出应用 ⌘ + ⇧ + 3 全屏截图 ⌘ + ⇧ + 4 区域截图（按空格后可截窗口） ⌘ + ⇧ + 5 截图工具栏（含录屏） 二、文本编辑（macOS 全系统通用） 这些是 Emacs 风格的快捷键，任何文本框都能用，包括浏览器地址栏、IDE、微信。 快捷键 作用 ⌃ + A 跳到行首 ⌃ + E 跳到行尾 ⌃ + K 删除光标到行尾 ⌃ + U 删除整行 ⌃ + W 向前删除一个词 ⌃ + H 删除光标前一个字符 ⌃ + D 删除光标后一个字符 ⌃ + F / B 前进/后退一个字符 ⌃ + N / P 下一行/上一行 ⌥ + ←/→ 按单词跳转 ⌥ + Delete 删除前一个单词 ⌘ + ←/→ 跳到行首/行尾 ⌘ + ↑/↓ 跳到文档开头/结尾 ⇧ + 方向键 选中文本（配合上面任意跳转即可精确选中） 重点记住：⌃A/E 行首行尾、⌥←/→ 按词跳、⌘←/→ 行首行尾。 三、Finder（文件管理器） 快捷键 作用 ⌘ + N 新 Finder 窗口 ⌘ + ⇧ + G 前往文件夹（输入路径） ⌘ + ⇧ + H 前往用户主目录 ⌘ + ⇧ + . 显示/隐藏隐藏文件 ⌘ + Delete 删除文件到废纸篓 ⌘ + I 查看文件信息 ⌘ + ⌥ + Space 在当前目录打开终端（需先在 Finder 偏好设置里加） 空格 快速预览文件（Quick Look） 回车 重命名文件（不是打开！） 技巧：把常用文件夹拖到 Finder 侧边栏，从终端 open . 用 Finder 打开当前目录。 四、终端 快捷键 作用 ⌃ + A / E 行首 / 行尾 ⌃ + K / U 删到行尾 / 删整行 ⌃ + W 删前一个词 ⌃ + C 终止当前命令 ⌃ + D 退出 shell（或发送 EOF） ⌃ + R 反向搜索历史命令 ⌃ + L 清屏（等同于 clear） ⌥ + 点击 光标快速定位 ⌘ + D 分屏（iTerm2 和系统终端都支持） ⌘ + T 新建标签页 ⌘ + 数字 切换标签页 ⌘ + Enter 全屏终端 五、浏览器（Safari / Chrome / Edge 通用） 快捷键 作用 ⌘ + T 新建标签页 ⌘ + W 关闭当前标签页 ⌘ + ⇧ + T 恢复刚关闭的标签页 ⌘ + 数字 切换到第 N 个标签页 ⌘ + 9 切换到最后一个标签页 ⌘ + L 聚焦地址栏 ⌘ + R 刷新 ⌘ + ⇧ + R 强制刷新（清除缓存） ⌘ + ←/→ 前进/后退 ⌘ + D 添加书签 ⌘ + ⌥ + ←/→ 切换标签页 六、截图（macOS 自带） 快捷键 作用 ⌘ + ⇧ + 3 全屏截图 ⌘ + ⇧ + 4 区域截图 ⌘ + ⇧ + 4 再按空格 截取单个窗口（带阴影） ⌘ + ⇧ + 5 截图工具栏（可录屏） ⌘ + ⇧ + 6 截 Touch Bar（如有） 截图时按住 ⌥ 取消吸附边缘 截图时按住 ⇧ 锁定水平/垂直方向 截图默认保存到桌面。改路径：⌘ + ⇧ + 5 → 选项 → 存储位置。 七、窗口管理 macOS 窗口管理偏弱，推荐装 Rectangle（免费开源），也可以记原生能力： 快捷键 作用 ⌘ + ⌃ + F 全屏/退出全屏 长按窗口左上角绿色按钮 分屏（选择左右位置） ⌘ + ~ 同应用窗口间切换 八、开发相关技巧 访达里直接到终端：在 Finder 中右键文件夹 → 服务 → 新建位于文件夹位置的终端窗口（如没有去系统设置 → 键盘 → 快捷键 → 服务里开启） 终端里直接到访达：open . 用 Finder 打开当前目录，open 文件名 用默认应用打开 复制文件路径：Finder 中右键文件，按住 ⌥ 键，"拷贝"会变成"拷贝路径名" 粘贴纯文本：⌘ + ⇧ + ⌥ + V（去掉格式） 重命名：选中文档按回车即可重命名（新手常误以为要右键） Spotlight 直接算数：⌘ + Space 后输入 3…

agent-browser - AI 专用浏览器自动化工具
type: item
date: 2026-04-29T11:44:55+08:00
description: title: agent-browser - AI 专用浏览器自动化工具 date: 2026-01-24 tags: 技术学习 浏览器自动化 Vercel Rust AI工具 Agent status: learning source: 归档/Clippings/完爆 Playwright？Vercel 开源 agent-browser，Context 节省 93%.md github: https://github.com/vercel-labs/agent-browser author: Chris Tate (Vercel Labs) agent-browser - AI 专用浏览器自动化工具 Vercel Labs 开源的浏览器自动化 CLI，专为 AI Agent 设计。核心思路是返回可访问性树（Accessibility Tree） 代替完整 HTML，大幅降低 Token 消耗。 核心优势 节省 93% Context：相比 Playwright MCP 语义化交互：返回可访问性树而非 HTML，AI 更好理解 Ref 引用系统：自动为元素打标签（@e1、@e2），AI 可直接引用 Rust CLI + Node 守护进程：首次启动 ~2s，后续命令 <100ms 核心工作流 # 1. 打开网页 agent-browser open example.com # 2. 获取 Snapshot（可访问性树 + 引用） agent-browser snapshot -i # - heading "Welcome" [ref=e1] # - button "Sign In" [ref=e4] # 3. 用 Ref 操作（不需要 CSS 选择器） agent-browser fill @e2 "user@example.com" agent-browser click @e4 安装 npm install -g agent-browser agent-browser install # 下载 Chromium 与 Claude Code 集成 已安装到 ~/.claude/skills/agent-browser/，Claude 会自动在需要的场景加载。也可手动调用使用。 对比 特性 agent-browser Playwright MCP 输出 可访问性树（~7% Tokens） 完整 HTML（100%） 选择器 Ref + 语义 + CSS CSS/Text/XPath 性能 Rust CLI + Node 守护进程 纯 Node AI 友好度 ⭐⭐⭐⭐⭐ ⭐⭐⭐ 原理 传统方式：返回完整 HTML（几千行）→ AI 自行解析 DOM agent-browser：返回可访问性树 → "这里有个按钮叫 Submit" AI 不需要在装饰性 HTML 中找关键信息，语义化输出让 Context 更聚焦。 场景 AI Agent 控制浏览器 表单自动填写 / 数据抓取 / 自动化测试 Electron 桌面应用自动化（VS Code、Slack 等） 学习总结 核心理念：不给 AI 看代码，给 AI 看"语义"。93% 的 Context 节省来自这个思路转变。 适用：AI Agent 场景强烈推荐；传统自动化测试 Playwright 生态更成熟，按需选择。 相关资源 GitHub：https://github.com/vercel-labs/agent-browser 本地 Skill 位置：~/.claude/skills/agent-browser/

claude_code_快速上手
type: item
date: 2026-04-29T11:44:55+08:00
description: Claude Code 快速上手指南 是什么 Claude Code 是 Anthropic 官方的命令行 AI 编程助手。直接在终端里和它对话，让它帮你写代码、改 bug、重构、查代码库。 # 安装 & 启动 npm install -g @anthropic-ai/claude-code claude 基本用法 直接输入自然语言就行，比如： > 帮我看看这个项目的目录结构 > 修复 utils.py 里的那个 bug > 给 login 接口加参数校验 它有权限控制，执行危险操作（删文件、推送代码）前会问你确认。 常用斜杠命令 命令以 / 开头，随时可输入： 命令 作用 /help 查看所有可用命令 /status 查看版本、模型、登录状态 /clear 清空对话，重新开始 /compact 压缩对话上下文，释放空间（对话太长时用） /cost 查看本次会话花了多少钱 /model 切换模型（Opus / Sonnet / Haiku） /init 在当前项目生成 CLAUDE.md 配置文件 /memory 编辑 CLAUDE.md，给项目添加持久记忆 /config 设置主题、输出格式等偏好 /permissions 管理工具权限规则 /diff 查看当前未提交的改动 /review 审查 PR /doctor 诊断安装是否正常 /resume 恢复之前的对话 快捷键 快捷键 作用 Esc 中断当前生成 Ctrl+C 取消当前输入 Ctrl+D 退出 Claude Code Tab 自动补全 ↑ / ↓ 浏览历史输入 Shift+Tab 切换权限模式 Ctrl+G 用外部编辑器写 prompt（写长需求时好用） Skills（技能） Skills 是可扩展的自定义命令，本质上是放在特定目录下的 SKILL.md 文件。Claude Code 自带了一些内置 skill（如 /review、/simplify），你也可以安装社区或自己写。 查看 & 使用 /skills — 列出当前所有可用 skills 直接输入 /<skill名称> 即可调用，比如 /review 某些 skill 会根据对话上下文自动触发，无需手动输入 安装 Skills 的三种方式 方式一：GitHub 下载，手动粘贴 从 GitHub 上把 skill 文件夹下载下来，直接复制到 skills 目录即可： # 全局安装（所有项目可用） cp -r 下载的skill文件夹 ~/.claude/skills/ # 项目级安装（仅当前项目，可 Git 提交共享给团队） cp -r 下载的skill文件夹 .claude/skills/ 方式二：npx skills 命令行安装（社区生态） 社区维护的命令行工具，一条命令搞定安装和管理： # 安装社区 skill npx skills add vercel/frontend-design # 从 GitHub 仓库中安装特定 skill npx skills add anthropics/skills --skill document-skills # 静默安装（跳过交互确认） npx skills add <仓库> --skill <名称> -g -y # 管理已安装的 skills npx skills list # 查看已安装 npx skills update # 更新 npx skills remove <名> # 删除 -g 表示安装到全局（所有项目可用），不加则仅当前项目。安装时会提示选择 AI 工具（选中 Claude Code 即可）。 技能市场：skills.sh — 5 万+ 可复用技能 方式三：自己手写 每个 skill 就是一个文件夹，核心是里面的 SKILL.md 文件： ~/.claude/skills/my-skill/ ├── SKILL.md # 必需：技能定义 ├── scripts/ # 可选：辅助脚本 └── resources/ # 可选：资源文件 SKILL.md 格式示例： --- name: my-skill description: 一句话描述，用于 Claude 自动匹配触发 --- ## 使用步骤 1. 第一步做什么 2. 第二步做什么 写好放到 ~/.claude/skills/（全局）或 .claude/skills/（仅当前项目），重启 Claude Code 即可使用。 注意事项 项目级 > 全局级：同名 skill，项目级优先 Skills 是"教模型怎么做事"（行为规范），MCP 是"给模型工具"（能力供给），两者不同但互补 从非可信来源安装前，建议看一眼 SKILL.md 内容，确认没有恶意指令 几个核心概念（一句话版） CLAUDE…

planning-with-files - 复刻 Manus 上下文工程的开源插件
type: item
date: 2026-04-29T11:44:54+08:00
description: title: planning-with-files - 复刻 Manus 上下文工程的开源插件 date: 2026-02-02 tags: 技术学习 Agent Claude-Code 上下文工程 Manus 开源项目 status: learning source: 归档/Clippings/暴涨11.7k Star！复刻Manus上下文工程的开源Skills，Claude code等多个平台即插即用.md github: https://github.com/OthmanAdi/planning-with-files planning-with-files - 复刻 Manus 上下文工程的开源插件 开源插件，复刻了 Manus 的上下文工程方法论——用磁盘文件代替上下文窗口做"工作记忆"，解决 AI 智能体失忆、迷航、重复犯错三大痛点。GitHub 11.7k+ Stars。 核心思想 任何重要信息都应写入磁盘，而非依赖易失且有限的上下文窗口。 LLM 上下文窗口 = 内存（易失、有限） 磁盘文件 = 硬盘（持久、无限） 三文件架构 文件 作用 更新时机 task_plan.md 阶段划分、进度状态、错误记录 每个阶段完成后 findings.md 调研结果、关键发现 查看/搜索/浏览操作后 progress.md 会话日志、测试结果 整个过程中持续记录 六大原则 先计划后执行：复杂任务必须先有 task_plan.md 及时写入发现：每 2 次查看/搜索/浏览后，立即写入 findings.md 决策前回顾目标：关键决策前重新读取 task_plan.md 阶段完成必更新：标记完成状态、记录错误和修改的文件 记录所有错误：持久化错误日志，避免重复踩坑 绝不重复失败：同一操作失败后换方案，记录尝试历史 安装 已通过 ~/.claude/skills/planning-with-files/ 安装。包含中文 SKILL.md、辅助脚本和模板文件。 也可在 Claude Code 内通过命令安装： /plugin marketplace add OthmanAdi/planning-with-files /plugin install planning-with-files@planning-with-files 使用场景 多步骤任务（3 步以上） 研究型任务（信息收集、分析、整理） 涉及大量工具调用的复杂工作流 研究或开发，需要断点续做的场景 学习总结 Manus 的方法论本质是用工程约束弥补模型缺陷——不追求让 AI 更聪明，而是让它更可靠地执行流程。三个文件看似简单，但 hooks 机制在每次工具调用前后自动读/写计划文件，形成了"读→做→写→审"的执行闭环，这是真正有效的关键。 参考资源 GitHub：https://github.com/OthmanAdi/planning-with-files 本地 Skill 位置：~/.claude/skills/planning-with-files/

Cursor使用
type: item
date: 2025-10-29T11:45:02+08:00
description: Cursor 插件、环境安装 1）Chinese (Simplified) Language Pack，中文界面插件。 2）Extension Pack for Java 只要安装了 “Extension Pack for Java”，其它插件（Maven、Debugger、Language Support、Test Runner、Project Manager 等）都是它自动帮你装好的，不需要你一个个手动点安装。 这样打开项目文件夹（包含 pom.xml 的根目录）时： 它会自动检测项目类型 → 加载 Maven → 解析依赖。底部出现 Java: Ready、Building [Done]，说明依赖已经下载并索引完毕。默认使用的是系统环境变量MAVEN_HOME的地址。 或者在这里指定： 自动选择jdk版本： 查看pom中配置，Cursor 会用这个版本作为编译目标。 <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> 运行时版本由“系统环境或 Cursor 配置”决定，系统变量里的 JAVA_HOME，就是 你系统默认使用的 JDK。随便打开一个终端 java -version ，可以看到使用的是jdk17。 3） Spring Boot Extension Pack 左侧多出一个 Spring Boot Dashboard； 自动识别所有带 @SpringBootApplication 的项目； 可以直接在面板里点击 ▶️ 启动； application.yml会出现智能提示，比如： spring.datasource.url spring.datasource.username spring.datasource.password 4）IntelliJ IDEA Keybindings 装上它之后，你在 Cursor 里按的快捷键和 IDEA 几乎一样； 5）“Want to launch Cursor from the command line? You can add the code or cursor commands now, or later with Ctrl+Shift+P and typing ‘install code command’.” 这是一个 可选的小功能提示，翻译：“想要从命令行启动 Cursor 吗？你可以现在添加 code 或 cursor 命令，也可以之后按 Ctrl + Shift + P，输入 install code command 来添加。” 作用：直接通过命令行（例如 PowerShell、CMD、终端），打开项目或文件。 cursor . 表示： 用 Cursor 打开当前文件夹（.） 或者：cursor C:\project\group-buying-sys 表示： 用 Cursor 打开指定路径下的项目。 如何查看配置？ Ctrl+shift+P 快捷键，输入 open user settings 可以打开用户配置。 输入 project setting 可以打开项目配置文件 或者左下角JAVA PROJECTS，点击Configure JAVA Runtime： 运行JAVA项目 Maven编译 运行 1）打开启动类，点击run/debug 2） 编辑器界面 ┌────────────────────────────────────────────┐ │ 顶部菜单栏（File / 编辑 / 选择 / 查看...）│ ├────────────────────────────────────────────┤ │ 左侧侧边栏（文件树 / 项目 / Git 等） │ ├────────────────────────────────────────────┤ │ 中间主编辑区（代码编辑） │ ├────────────────────────────────────────────┤ │ 右侧 AI 面板（Cursor 智能助手 / Chat） │ ├────────────────────────────────────────────┤ │ …

K8S
type: item
date: 2025-09-08T21:56:23+08:00
description: Kubernetes (K8S) Kubernetes 是一个开源的容器编排平台，用于自动化部署、扩缩容（Pod 数量多了/少了自动调整）和自愈（坏掉的 Pod 会被自动重建） 基本架构 一个 Kubernetes 集群 (Cluster) = 控制平面 + 工作节点 的组合。要使用K8S，要先搭建集群，deployment.yaml 和 service.yaml 要提交到 K8S 集群，由它调度和运行。 控制平面 (Control Plane) 负责管理整个集群，不直接跑应用。 组件 作用 比喻 API Server 接收命令（kubectl）、提供统一接口 前台服务员 etcd 存储集群所有状态（配置、Pod 列表等） 账本/数据库 Scheduler 决定 Pod 跑在哪个 Node 上 领班 Controller Manager 保证实际状态符合预期（补 Pod、重建失败的 Pod） 经理 工作节点 (Worker Nodes) 实际跑应用容器。 组件 作用 Kubelet 负责跟 API Server 沟通，并启动/管理容器 容器运行时 运行容器（Docker、containerd） Kube-Proxy 管理网络规则，实现 Service 的负载均衡 graph TD A[控制平面] --> B[Node 1] A --> C[Node 2] A --> D[Node 3] B --> E[Pod] B --> F[Pod] C --> G[Pod] D --> H[Pod] K8S 核心概念 Pod 最小运行单元，一个 Pod 里可以有 1 个或多个容器。 共享网络和存储空间 Deployment 管 Pod 的「副本数」和「版本」。 支持滚动更新、回滚 Service 提供稳定的网络入口（因为 Pod IP 会变）。 负载均衡到一组 Pod。 ConfigMap & Secret ConfigMap：存储配置信息（非敏感）。 Secret：存储敏感信息（密码、Token），会加密。 基本使用方式 Deployment（定义 Pod 模板 + 副本数） apiVersion: apps/v1 kind: Deployment metadata: name: my-app spec: replicas: 3 # 要 3 个 Pod selector: matchLabels: app: my-app template: # Pod 模板 metadata: labels: app: my-app #给 Pod 打标签，Service 用 selector 找到这些 Pod 做负载均衡 spec: containers: - name: my-app #Pod名 image: my-registry/my-app:v1 # ← 指向 CI 推送后的镜像（仓库/名称:标签） ports: - containerPort: 8080 #容器对外提供服务的端口 Pod名可能是：my-app-6f7c9d7c5d-abcde，它里面的容器名：my-app 映射关系： kind: Deployment → 创建一个「Pod 管理器」 replicas: 3 → 保证始终有 3 个 Pod template → Pod 的样子（运行哪个镜像、开哪个端口） Service（提供统一访问入口） apiVersion: v1 kind: Service metadata: name: my-service spec: selector: app: my-app # 找到所有带 app=my-app 标签的 Pod ports: - port: 80 # Service 入口端口 targetPort: 8080 # Pod 里容器的端口 type: LoadBalancer # 暴露给外部访问 映射关系： selector → 绑定到 Deployment 创建的 Pod，根据 Pod 的标签（my-app） ports → 用户访问 80 端口，会转发到 Pod 的 8080 type: LoadBalancer → 提供一个外部 IP 供用户访问 典型工作流程 sequenceDiagram 开发者->>Git: 提交代码 Git->>CI/CD: 触发构建 CI/CD->>镜像仓库: 构建Docker镜像 CI/CD->>K8S: kubectl apply K8S->>K8S: 创建/更新Pod K8S->>K8S: 健康检查 K8S->>用户: 服务可用 sequenceDiagram 开发者->>API Server: kubectl apply -f xxx.yaml API Server->>etcd: 写入期望状态 …

CICD
type: item
date: 2025-09-06T11:28:21+08:00
description: CI/CD 自动部署项目 使用Gitea Actions 1）启用Gitea Actions： 编辑你的Gitea服务器配置文件 app.ini（通常位于 /etc/gitea/或 Gitea 安装目录），添加： [actions] ENABLED = true 然后重启Gitea服务。 2）在部署服务器上安装Runner： # 1. 下载并安装 act_runner (需要sudo) sudo wget https://gitea.com/gitea/act_runner/releases/download/v0.2.10/act_runner-0.2.10-linux-amd64 -O /usr/local/bin/act_runner sudo chmod +x /usr/local/bin/act_runner # 2. 为Runner创建专用工作目录（推荐使用绝对路径） sudo mkdir -p /opt/gitea-runner sudo chown $USER:$USER /opt/gitea-runner # 将目录所有权给当前用户 cd /opt/gitea-runner # 3. 注册Runner（重要：必须添加labels标签） act_runner register --no-interactive \ --instance https://你的gitea域名.com \ --token <你的令牌> \ --name my-runner \ --labels self-hosted,linux # 这个标签必须与工作流文件中的runs-on匹配 # 4. 启动Runner（后台运行） nohup act_runner daemon > runner.log 2>&1 & # 5. 查看运行状态和日志 tail -f runner.log ps aux | grep act_runner 3）令牌获取： 如果你想给整个实例用 → 站点管理员设置 → Actions → Runners。 如果只想给某个仓库用 → 进入该仓库 → Settings → Actions → Runners。 点击 New Runner，系统会生成一个 TOKEN。 例如：abcdef1234567890 还是设置整个实例好！！ 4）将act_runner注册为服务自启动 sudo vim /etc/systemd/system/act_runner.service 写入以下内容： [Unit] Description=Gitea Actions Runner After=network.target [Service] ExecStart=/usr/local/bin/act_runner daemon WorkingDirectory=/opt/gitea-runner User=zy123 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target ExecStart 指向你安装的 act_runner 路径（你已经放在 /usr/local/bin/ 了）。 WorkingDirectory 可以写你打算存放 Runner 缓存的目录（比如 /home/zy123/act_runner，你已经在这里 register 过了）。 User=zy123 保证 Runner 以你当前用户运行，而不是 root。 重新加载 systemd 配置： sudo systemctl daemon-reexec 启动并开机自启: sudo systemctl enable --now act_runner 查看运行状态: systemctl status act_runner 5）在后端仓库根目录下，新建目录和文件： .gitea/workflows/deploy.yml 写入以下内容： name: Deploy Backend on: push: branches: [ "master" ] # master 分支推送时触发 jobs: build-and-deploy: runs-on: self-hosted steps: - name: Checkout code uses: actions/checkout@v3 - name: Create application-local.yml run: | mkdir -p src/main/resources/ cat << 'EOF' > src/main/resources/application-local.yml ${{ secrets.APPLICATION_LOCAL_YML }} EOF - n…

mermaid画图
type: item
date: 2025-07-30T00:10:03+08:00
description: mermaid画图 graph TD A[多智能体随机网络结构分析] --> B[多智能体协同学习与推理] A --> A1["谱参数实时估算"] A1 --> A11["卡尔曼滤波"] A1 --> A12["矩阵扰动理论"] A1 --> A13["输出：谱参数"] A --> A2["网络拓扑重构"] A2 --> A21["低秩分解重构"] A2 --> A22["聚类量化"] A2 --> A23["输出：邻接矩阵、特征矩阵"] graph TD B[多智能体协同学习与推理] B --> B1["联邦学习、强化学习"] B1 --> B11["谱驱动学习率调整"] B1 --> B12["自适应节点选择策略"] B --> B2["动态图神经网络"] B2 --> B21["动态图卷积设计"] B2 --> B22["一致性推理"] graph TD %% 颜色和样式定义 classDef startEnd fill:#e6ffe6,stroke:#333,stroke-width:2px classDef operation fill:#fff,stroke:#000,stroke-width:1px classDef decision fill:#ffcccc,stroke:#000,stroke-width:1px classDef update fill:#ccffcc,stroke:#000,stroke-width:1px %% 节点定义（严格按图片顺序） A([开始]):::startEnd B[交易信息\n外部订单号]:::operation C{判断是否为锁单订单}:::decision D[查询拼团组队信息]:::operation E[更新订单详情\n状态为交易完成]:::update F[更新拼团组队进度]:::update G{拼团组队完结\n目标量判断}:::decision H[写入回调任务表]:::operation I([结束]):::startEnd %% 流程连接（完全还原图片走向） A --> B B --> C C -->|是| D D --> E E --> F F --> G G -->|是| H H --> I C -->|否| I G -->|否| I %% 保持原图连接线样式 linkStyle 0,1,2,3,4,5,6,7,8 stroke-width:1px graph TD A[用户发起退单请求] --> B{检查拼团状态} B -->|拼团未完成| C1[场景1:拼团中退单] C1 --> D1{是否已支付?} D1 -->|未支付| E1[取消订单] E1 --> F1[更新订单状态为2] F1 --> G1[通知拼团失败] G1 --> H1[退单完成] D1 -->|已支付| I1[发起退款] I1 --> F1 B -->|拼团已完成| C2[场景2:完成后退单] C2 --> D2{是否超时限?} D2 -->|未超时| E2[发起退款] E2 --> F2[更新订单状态] F2 --> H1 D2 -->|超时| G2[退单失败] style A fill:#f9f,stroke:#333 style B fill:#66f,stroke:#333 style C1 fill:#fbb,stroke:#f66 style C2 fill:#9f9,stroke:#090 flowchart LR %% ===================== 左侧：模板模式块 ===================== subgraph Template["设计模式 - 模板"] direction TB SM["StrategyMapper 策略映射器"] SH["StrategyHandler 策略处理器"] ASR["AbstractStrategyRouter<T, D, R> 策略路由抽象类"] SM -->|实现| ASR SH -->|实现| ASR end %% ===================== 右侧：策略工厂与支持类 ===================== DASFactory["DefaultActivityStrategyFactory 默认的拼团活动策略工厂"] AGMS["AbstractGroupBuyMarketSupport 功能服务支撑类"] DASFactory --> AGMS AGMS -->|继承| ASR %% ===================== 业务节点链路 ===================== Root["RootNode 根节点"] Switch["SwitchRoot 开关节点"…

matlab
type: item
date: 2025-03-21T16:25:00+08:00
description: matlab笔记 命令行窗口 clc：清屏（命令行窗口） clear all:把命名的变量删掉，不是命令行窗口 命名规则： 变量命名以字母开头，不可以下划线，变量是区分字母大小写的 脚本 %% xxx 注释（百分号+一个空格） % xxx 也是注释 s='a' '"aaaa",字符串 abs(s) 字符s的ascii码,为97 char(97), 输出'a' numtostr(65) ans='65'，数字转字符串 length(str),字符串的长度 矩阵 A=[1 2 3 ;4 5 6 ;7 8 9] 分号换行 B=A‘ ，矩阵转置 C=A(:) ,将矩阵拉成一列，按列存储，第一列拼接第二列拼接第三列 D=inv(A) 求逆矩阵 E=zeros(10,5,3) 生成10行5列3维0矩阵 元胞数组 ​ A=cell(1,6)，生成1行6列的小格子，每个小格子可以存放各种数据 eye(3),生成3x3的单位阵 ​ A{2}=eye(3),matlab数组从1开始，不是0

linux服务器
type: item
date: 2025-03-21T16:12:00+08:00
description: llinux服务器（以debian为例） 预先准备 域名购买与解析 购买：Low-Cost Domain Names & Hosting from $0.99 | NameSilo 教程：【服务器、域名购买】Namesilo优惠码和域名解析教程（附带服务器购买推荐和注意事项） | 爱玩实验室 DNS解析：可能需等待几分钟生效 买的域名的r2studying.top 这里的HOSTNAME相当于二级域名，如npm.r2studying.top 现改为CloudFlare来做DNS解析，不用namesilo，它有两种模式： Proxied（橙色云朵）：当你将某个 DNS 记录设置为 Proxied 时，Cloudflare 会作为反向代理服务器处理该域名的 HTTP/HTTPS 流量。这样做有几个效果： 隐藏真实 IP：用户访问时看到的是 Cloudflare 的 Anycast IP，而不是你服务器的真实 IP，从而提高安全性。 提供 CDN 加速：Cloudflare 会缓存静态资源，并通过全球节点加速内容传输，提升网站响应速度。 附加安全防护：包括 DDoS 防护和 Web 应用防火墙等功能。 DNS Only（灰色云朵）：如果你设置为 DNS Only，Cloudflare 只负责 DNS 解析，不会对流量进行代理或处理。也就是说，用户访问时会直接获取并连接到你服务器的真实 IP。 安全组设置 登录云服务器的控制台设置 入站规则 入站规则（Inbound Rules）是指防火墙中用来控制外部流量进入服务器的规则。通过这些规则，你可以指定允许或拒绝哪些类型的网络流量（例如特定协议、端口号、IP地址等）进入你的服务器。 类型 协议端口 源地址 描述 IPv4 TCP : 22 0.0.0.0/0 允许外部访问安全组内实例的SSH(22)端口，用于远程登录Linux实例。 IPv4 TCP : 3389 0.0.0.0/0 允许外部访问安全组内实例的RDP(3389)端口，用于远程登录Windows实例。 IPv4 TCP : 80 0.0.0.0/0 允许外部访问安全组内实例的HTTP(80)端口，用于通过HTTP协议访问网站。 IPv4 TCP : 443 0.0.0.0/0 允许外部访问安全组内实例的HTTPS(443)端口，用于通过HTTPS协议访问网站。 IPv4 TCP : 20-21 0.0.0.0/0 允许通过FTP上传和下载文件。 IPv4 ICMP: 全部 0.0.0.0/0 允许外部使用ping命令验证安全组内实例的网络连通性。 出站规则 出站规则（Outbound Rules）则是指控制服务器向外部发送流量的规则。你可以通过出站规则来限制服务器发出的数据包，比如限制服务器访问某些外部服务或 IP 地址。 凡是服务正常启动但是浏览器上无法访问的，都首先想想防火墙端口是否打开！！！ 常用的命令 cat 用于查看文本文件的内容 head 查看前n行 head -n 100 文件名 tail 查看后n行 tail -n 3 file wc (word count )统计行数、单词数 Hello world Linux is great wc -l file #统计行数: 2 file wc -w file #统计单词数：5 file touch 新建文本文件，如touch /home/hello.py 将在home 文件夹下新建hello.py ls 列出所有文件，但默认只是显示出最基础的文件和文件夹，如果需要更详细的信息，则使用ls -la，这将列出包括隐藏文件在内的所有文件和文件夹，并且给出对应的权限、大小和日期等信息。 zy123@hcss-ecs-588d:~$ ls -la total 44 drwxr-xr-x 6 zy123 zy123 4096 Feb 26 08:53 . drwxr-xr-x 3 root root 4096 Feb 24 16:33 .. -rw------- 1 zy123 zy123 6317 Feb 25 19:41 .bash_history -rw-r--r-- 1 zy123 zy123 220 Feb 24 16:33 .bash_logout -rw-r--r-- 1 zy123 zy123 3526 Feb 24 16:33 .bashrc drwx------ 3 zy123 zy123 4096 Feb 24 16:35 .config drwxr-xr-x 3 zy123 zy123 4096 Feb 24 16:36 .local -rw-r--r-- 1 zy123 zy123 807 Feb 24 16:33 .profile drwxr-xr-…