2026年3月

本月 3 号常用的一个搬瓦工 VPS IP 被封了,该节点处于瘫痪状态。当时手上还有三个备用节点,想了一下没花 8 刀换 IP 。

今天上班习惯性 ping 一下,发现 IP 和端口都正常了,能 ping 通,能 ssh 直连,熟悉的它又回来了!

有被封的 V 友,快看看手上的 VPS 是不是又正常了吧!

活动目录权限,往往看似复杂,实则有章可循。作为IT管理员,如果你正困惑于“谁能访问哪些资源”“权限如何在组织单位(OU)间流转”“怎样让权限保持整洁、可预测”,其实很多同行都有同样的困扰。 活动目录权限是身份与访问管理(IAM)的核心所在,其配置的合理性,不仅直接关系到企业网络安全,更会影响日常IT运维的效率。

下面将以清晰、简单的方式,讲解权限的工作原理、安全组的作用、继承如何影响访问,以及如何通过 活动目录 委派在保持控制力的同时授予权限。

一、什么是活动目录权限?

活动目录中的每个对象都附带一套规则,用于决定谁可以读取、修改、删除或控制该对象,这套规则被称为访问控制列表(ACL)。

访问控制列表内部包含多个条目,称为访问控制项。每个“访问控制项 ”会说明:

权限适用于谁(用户或组)

该用户或组被允许或禁止执行什么操作

例如:

服务台组可以重置用户密码

桌面运维团队可以将计算机加入域

人力资源管理员只能修改与人力资源相关的用户。

每个活动目录对象在允许执行操作前,都会先检查其访问控制列表。理解这一点,活动目录 权限就会变得清晰。

二、为什么要用安全组来获取AD权限?

很多新手管理员会直接把权限分配给用户账号,因为这样最快。但随着人员调岗或离职,这些权限会迅速变得难以管理。用户会变化,而组是稳定的,因此 活动目录 的设计理念是基于组的访问控制。 管理员只需把权限授予组,再把用户加入组,访问就会自动保持一致,无需逐个对象排查。

要实现这一点,需要使用安全组(分发组不具备访问控制能力)。活动目录 提供三种安全组作用域,每种在权限设计中承担不同角色:

全局组:收集同一域中的用户,例如财务团队、HR 团队

域本地组:为资源分配权限,例如 HR_Folder_Readers、Workstation_Admins

通用组:适用于多域或多站点环境 多数规范的 活动目录 环境遵循 分层组授权模型

模型: 用户 → 全局组 → 域本地组 → 资源权限 这种方式使活动目录安全组权限具有可预测性、可扩展性,并且易于审计。

三、活动目录中的权限类型

图片

四、AD权限 vs AD用户权限

每个管理员在处理访问权限前还需要弄清楚一个区别:权限和用户权限的区别。许多排查问题源于这两个概念的混合,因此从一开始就将它们分开会很有帮助。

权限控制对 AD 对象的权限。用户权限控制在设备或域上可以做什么。

用户权利的例子包括:

本地登录

关闭系统

将工作站连接到该域

以服务身份登录

权限在 ADUC 中对象的安全标签下查看,而用户权限则在组策略(计算机配置> Windows 设置>安全设置>本地策略>用户权限分配)中进行配置和审查。

五、权限如何在AD中继承
AD 中的权限并非孤立的。它们从父 OU 向向子 OU 及其内部的对象。这称为继承。当为顶层OU分配权限时,所有嵌套的OU和对象都会自动获得这些权限,除非有东西阻止了这个流程。

这就是为什么用户有时会拥有你从未明确赋予的访问权限。理解这一点有助于防止访问权蔓延,甚至降低无意中权限升级的可能性。

如果想阻止继承权限,可以禁用对象的继承。可以通过打开对象的属性,选择高级选项卡>安全标签,并选择禁用继承来实现。这样做后,可以把继承的权限转换成显式权限,或者完全移除。

禁用继承应谨慎使用,因为它会在结构中产生异常,但当需要严格控制敏感账户或组织对象时,继承非常有用。

如何在 AD 中管理权限
可使用以下工具:

  • 用户和计算机管理工具(ADUC)

-PowerShell

  • ADManager Plus
  • ADAC
  • 组策略管理控制台(GPMC)
  • 权限命令工具

如何在ADUC中查看和编辑权限
开放Active Directory 用户与计算机(ADUC)。

从顶部菜单选择“查看”。

启用高级功能。

右键点击你想检查的对象,然后选择属性。

去安全标签查看权限。

点击添加,选择你想分配权限的用户或组。

选择所需的权限(例如,读取、写入、重置密码、创建计算机对象)。

如果你需要细致或特殊权限,请点击高级。

点击应用,然后选择确定来保存更改。

如何使用PowerShell查看或更新权限
PowerShell 为你提供了大规模的可视化和控制。它在管理多个组织单元、设置一致权限或自动化日常任务时很有帮助。

查看权限:

(Get-ACL “AD:OU=Sales,DC=contoso,DC=com”).交通

授权:

$OU = “OU=Workstations,DC=example,DC=com”
$User = “example\UserA”

$acl = Get-ACL “AD:$OU”
$rule = New-Object System.DirectoryServices.ActiveDirectoryAccessRule
' (New-Object System.Security.Principal.NTAccount($User),
“CreateChild, WriteProperty”,
“Allow”,
[GUID]“bf967a86-0de6-11d0-a285-00aa003049e2”)$acl

如何在ADAC中管理权限
开放的Active Directory管理中心(ADAC)。

导航到目标容器或物体。

右键点击对象,选择属性。

如果安全标签不可见,请滚动到底部,点击“查看高级功能”。

进入高级>安全标签。

选择添加,选择用户或组,分配权限。

保存更改,并可选择对子对象应用继承。

点击确定>申请>确定。

如何使用组策略管理控制台(GPMC)分配安全权限
这种方法对文件夹访问以及通过策略设置注册表/安全设置非常有用。

开放组策略管理控制台(GPMC)。

右键点击目标域名或OU。

选择在此域创建GPO,并链接此处......

打开GPO的计算机配置或用户配置>。

进入 Windows 设置>策略>安全设置。

使用文件系统分配文件夹ACL,使用注册表配置特定的注册表ACL。

定义所需权限,点击确定保存。

在客户端机器上,运行 gpupdate /force 或等待策略刷新。

如何使用 Ical 分配权限
以管理员身份打开命令提示符并执行以下命令:

icacls “C:\Path\To\Folder” /grant Domain\Group:(R)

icacls “C:\Path\To\Folder” /grant Domain\Group:(M)

icacls “C:\Path\To\Folder” /grant Domain\Group:(OI)(CI)(M)

icacls “C:\Path\To\Folder” /save C:\backup_acl.txt /t

icacls “C:\” /restore C:\backup_acl.txt

六、管理 AD 权限的最佳实践

保持 Active Directory 权限规范、安全,关键在于养成以下核心管理习惯。这些做法能避免权限混乱、降低访问风险,并让目录在不断扩展时依然易于管理。

1.按需委派,最小权限授权只授予团队完成工作所需的精确权限,例如重置密码、加入计算机等,不随意赋予完整管理员权限。

2.使用用户组分配共享文件夹权限将 NTFS 权限和共享权限授予域本地组,再将全局组加入为成员。避免直接对个人用户授予文件夹权限。

3.保护特权组定期审查域管理员、企业管理员等高权限组的成员,仅在确有必要时添加用户。

4.定期审计用户访问权限通过定期检查,及时发现继承权限、嵌套组、闲置账户及拒绝权限,避免这些问题导致排障困难。

5.避免直接给个人账户授权统一通过用户组分配访问权限。直接授权容易遗漏,且难以审计追溯。

6.使用模板进行用户开户通过预设模板,创建权限、组成员关系统一规范的账户,保证一致性。

7.监控权限累积(权限蠕变)检查用户因岗位变动、嵌套组等原因,是否保留了不再需要的权限。

8.跟踪权限变更重点监控特权组成员、文件夹访问权限、权限继承、OU 级权限的变更。

9.尽可能实现 AD 自动化管理通过自动化完成账户开通、离职销户、定期权限审查、清理无效权限等工作。

10.遵循合规要求开展权限审查NIST CSF、SOX、HIPAA、GDPR 等标准都要求组织定期审核敏感数据的访问人员及访问理由。保持 AD 权限结构化、可文档化,能加快审计流程,降低合规违规风险。

七、使用 ADManager Plus 简化活动目录权限管理

ADManager Plus 提供简化的活动目录权限管理解决方案,可有效保持活动目录权限的整洁性,重点强化权限的结构化管理与可见性。通过统一管理控制台,管理员无需在用户和计算机管理工具、自动化命令行、文件服务器与Excel之间频繁切换,大幅提升管理效率。 

其组模板管理功能,可确保用户组在命名规范、范围设定及默认成员配置上保持统一,从根源上避免权限无序扩散。针对用户入职与离职场景,系统能自动完成组成员分配、账户属性设置、组织单位(OU)归属及限制策略配置,实现标准化的账户全生命周期管理。 
图片

为保障权限定期审查落地,系统会自动向对应经理发送权限审批请求,并完整记录所有权限撤销操作。活动目录自动化功能结合审批工作流与自动化任务,可有效防止权限漂移,确保组织权限始终符合合规要求。

当组织架构发生变更时,系统的编排功能会自动删除用户原有无效权限、分配新岗位所需权限,既能有效降低权限暴露风险,也能快速识别特权账户与异常权限。同时,系统还支持文件权限全流程管理,包括有效权限报告生成、批量权限修改、文件夹权限克隆及权限撤销等功能,助力企业轻松满足文件服务器审计与合规要求。

权限报表方面,ADManager Plus 内置超过200种专业报告,全面覆盖嵌套组分析、用户登录活动、合规审计等核心场景。借助基于角色的委派功能,管理员无需授予域管理员权限,即可对指定组织单位(OU)或用户进行管理,且所有委派操作均可实现全程审计、有据可查。 
图片

这里记录每周值得分享的科技内容,周五发布。

本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系[email protected])。

封面图

重庆涪陵某景区架设了世界首座"巨石索桥",桥面就是一块块巨石,一不小心就会踏空。(via

测试是新的护城河

Next.js 是目前排名第一的 JS 框架。平时遇到的 JS 全栈应用,我估计,一半用它开发。

两周前,这个框架被一则新闻颠覆了。

一个 Cloudflare 工程师宣布他只用一个星期就用 AI 重新实现了 Next.js,起名为 vinext

事实上,一天就生成产品原型了,后面几天只是在完善。

"真正动手是2月13日,当天晚上,基本功能已经实现。第二天下午,11个路由器做好了10个。第三天,已经部署到我们的服务器,实现了完整的客户端水合。

接下来的几天,主要进行安全加固:修复极端情况,扩展测试套件,提升 API 覆盖率至 94%。"

这个新的实现,比原版 Next.js 性能更好。

"早期基准测试中,构建速度提升了4倍,客户端软件包的体积缩小了57%,生产环境的 Next.js 应用已经直接跑在上面了。"

这个 vinext 的代码已经放出来了。

我觉得,这件事对 Next.js 的打击非常大

Next.js 是 Vercel 公司的产品,背后有一个大型开发团队,每年都是巨额投入,已经整整做了10年。虽然是开源软件,但是企业版、云服务、插件、皮肤都要收费,去年的年收入达到2亿美元。

这种看似难以逾越的护城河,在 AI 面前不堪一击。一个工程师用了一个星期,就复刻了大团队十年的工作成果,现有的网页应用不改一行代码,放上去就能跑,原版的每个功能都支持。

你知道花了多少钱?Token 费用仅仅为 1100 美元!

这叫 Vercel 怎么再向 Next.js 的开发投钱,客户又怎么愿意再为某个功能付出高昂的使用费。

推而广之,所有的商业软件都受到了重创。代码的护城河不存在了,只要投入一小笔金钱,AI 就能复刻出大型软件。

那么,为了保护自己,软件公司下一步肯定要防止 AI 复刻。

怎么防呢?关键就是测试用例

Cloudflare 工程师这一次能够复刻成功,主要原因是 Next.js 有完备的文档、庞大的社区文章、以及完整的测试用例。AI 模拟的每一个 API,只要能够通过原有的接口测试,就能确认百分百兼容。

如果拿不到测试用例,谁知道代码行为是否一致,谁敢放到生产环境运行。

可以想象,为了防止复刻,大型软件项目一定会保护自己的测试用例。测试才是新的护城河。

世界最流行的数据库 SQLite,本身代码15.6万行,但是测试用例9205万行,足足大了590倍!

其中,最核心的测试套件 TH3 是闭源的,不公开,主要测试航空、医疗等关键行业的极端情况和边缘案例,属于核心技术资产。正是这些保密用例,才让 SQLite 难以复刻。

无独有偶,就在前两天,另一个开源项目 tldraw 也准备将测试用例闭源。

说实话,保密的测试用例肯定不利于开源项目的发展,但是开发者需要保护自己的利益。在日益强大的 AI 面前,越来越多的软件可能会选择这样做。

AI 复刻的版权问题

AI 复刻软件还有一个版权问题,也引起了很大争议

Next.js 是最宽松的 MIT 许可证,所以复刻没有版权问题。但是,有人复刻了一个叫做 chardet 的项目,就争议巨大。

chardet 本来采用的许可证,是限制较多的 LGPL,复刻以后改成了 MIT 许可证,引发了原始作者的抗议。

网上的意见也分成了两派。

支持者说,AI 只复刻了功能和接口,代码完全不一样,当然可以更改许可证。

反对者说,GPL 规定了,所有衍生作品都不能更改许可证,AI 复刻就属于衍生。

更麻烦的是,美国法律规定,AI 生成产物无版权,属于公共领域。这意味着,AI 复刻的软件不能设置许可证,设置了无效。

按照这条法律,软件许可证就意义不大了。管你是什么许可证,任何人 AI 复刻一下就能规避,AI 实现的版本一律没有版权。

科技动态

1、AI 改写脏话

游戏平台 Roblox 宣布,将用 AI 实时修改玩家的对话,让其变得更文明。

以前,如果玩家在游戏里面骂脏话,系统只会将其过滤,显示为 ####,你还是知道他在骂人。

现在,AI 将重新修改整个句子,让表达变得更礼貌、更文明,你就察觉不到对方在骂人。

虽然这样未免有点虚假,但确实有必要。网络论坛也应该跟进,不要让人身攻击毁掉交流氛围。

2、飞机的激光上网

欧洲航天局成功进行了飞机的"激光上网"实验,通过激光将一架飞机与一颗卫星连接,实现了高速通信。

飞机上网现在都通过无线电波,比如星链就通过无线电,让飞机连接卫星。本次实验则是通过激光连接卫星。

上图就是安装在飞机舷窗上的激光终端。

激光通信的优点是带宽大,不受无线频谱的限制,这次实验的上网速度达到了 2.6Gbps,是星链的8到10倍。

缺点是激光与卫星之间必须保持直线,不能有云层和大气的障碍物。所以采用这种方式,大概只有飞到高空时才能上网。

3、Grammarly 的专家意见

Grammarly 是一个写作服务,提供一个收费功能"专家意见",让专家点评你的文章。

一个国外用户使用该功能时,震惊地发现,点评专家里面有他的前老板(下图),但是他知道老板已经去世了。

原来这不是真人点评,而是 AI 为每个专家建了一个分身,用他们各自的文章进行训练,然后让分身点评你的文章。

这引起了争议,我们是否有权搭建别人的"数字分身",然后冠以原始人物的名义(比如"孔子分身"或者"爱因斯坦分身")?

4、太阳能邮筒

网络通信普及以后,传统的邮筒怎么办?

英国皇家邮政想出一个办法,将英国各地3500个邮筒,变为"太阳能邮筒"。

邮筒顶部加装了太阳能光伏片,功能也从寄信,变成了收寄小包裹。

这样既保存了传统的红色邮筒,成为街道的景观,又为人们邮寄包裹提供了方便。

文章

1、GitHub Issue 标题的注入攻击(英文)

这可能是第一起 AI 模型注入的真实攻击。Cline 项目使用 AI 对 GitHub Issue 进行分类,有人就在标题插入恶意提示词,从而成功拿到 npm 令牌,发布了一个恶意版本。本文告诉你这是怎么做到的。

2、重新评估 AGENTS.md(英文)

最近的一项研究提出,跟推荐做法相反,AGENTS.md 文件对 AI 编码不是促进,而是阻碍。

它只是让模型"思考"得更多(成本上升),生成结果却没有更好(性能下降)。

3、Temporal API 的九年历程(英文)

本周,Temporal API 正式通过了第四阶段。这意味着,它进入了 ES2026 标准,成为了 JavaScript 语法的一部分。本文是这个标准的起草者对九年推进历程的回顾。

4、AI 的胡说测试(英文)

国外有一个 BuillshitBench,专门问 AI 一些胡说八道的问题,看 AI 能不能分辨这是胡说,还是一本正经地回答。

5、原生 CSS 就足够了(英文)

本文展示了 37Signals 公司的 CSS 代码,表明不使用任何框架(比如 Tailwind)和构建工具(比如 Sass),只用原生 CSS 代码完全可以。

6、粪便物理学(英文)

一篇很另类的科普文章,解释为什么动物不管大小,排便时间都在5~19秒之间,平均12秒。

工具

1、KULA

Linux 服务器的监控工具,只有一个二进制文件。

2、AnsiSaver

mac 电脑的屏保程序,用彩色的 Ansi 字符画作为屏保图案。

3、upiano

在命令行下模拟钢琴弹奏。

4、WSL Distro Manager

一个开源 Windows 应用,通过图形界面管理 Windows Subsystem for Linux(WSL)发行版。

5、Mole

开源的 Mac 电脑清理和优化工具。

6、PipeGate

一个将内网服务映射到外网的隧道工具,特点是比较简单,就是几个 Python 脚本,并且可以设置 UUID 客户端认证。

7、HookListener

一个管理、测试 Webhook 的在线工具,个人可以免费使用。

8、Sentinel

将安卓手机转化为网络摄像头,实现实时监控和图像采集。(@suzuran0 投稿)

9、Flux Monitor

Mac 电脑的系统监控、管理面板。(@chentao1006 投稿)

AI 相关

1、Agentic Metric

一个 Python 命令行工具,监控本地各种 coding agent(比如 Claude Code、Codex、OpenCode)的使用量。(@MrQianjinsi 投稿)

2、cc-connect

一个开源的连接器,将各种 AI 编程工具与手机聊天软件相连。(@chenhg5 投稿)

3、Page Agent

只要在网页插入这个 JS 库,就可以使用自然语言操作页面,比如"点击导航栏的文档链接,总结其内容"。

4、Agent Safehouse

一个 macOS 沙箱工具,用来在沙箱里运行 AI 编程工具。

5、Repo Tokens

一个 GitHub Action,为你的仓库添加一个图形标签(上图),显示该仓库相当于多少 Token,用来大模型的计算量。

资源

1、世界监控(World Monitor)

世界局势的一个实时看板,把各种消息源都放在一个网页里。

2、炼油厂探索

一个动画互动网站,展示炼油厂怎样将石油变成汽柴油。

3、Mechanical Pencil

弹簧笔、打火机等生活小物品的机械装置动画。

图片

1、密码的替代方法

一位程序员发明了一种新的密码方法,你觉得可行吗?

系统向用户展示一副扑克牌,让其从52张牌中依次挑出5张,作为密码。

下次登录时,用户必须按同样顺序挑出同样的5张牌。

文摘

1、复杂社会的崩溃

我们都知道,一个软件的复杂度不断上升,超过某个极限后,就会难以维护,最后往往被放弃。

美国历史学家约瑟夫·坦特(Joseph Tainter)认为,人类社会也是如此。如果社会的复杂度超过极限,这个社会最终也会崩溃。

1988年,他出版了一本名为《复杂社会的崩溃》的书,描述了罗马人、玛雅人和查科人等伟大文明的兴衰,试图回答几个世纪以来一直困扰着思想家的一个问题:为什么强大的社会会崩溃?

他认为,原因是这些社会有一个敌人----复杂性。

随着文明的发展,社会增加了越来越多的复杂性:更多的等级制度、更多的官僚机构、更深层次的社会结构。

一开始,新的等级、官僚、组织都是有用的,比如可以增加经济产出、税收等。但到了某个时刻,收益递减规律开始出现,每增加一点复杂度带来的回报越来越少,直至变成零甚至负数。

(1)法律条文和官僚越多,政府开销也就随之上升,长期很可能令社会无法负担。

(2)复杂度变大,会增加社会的不平等,因为能理解所有规则的人就越少,你就越离不开律师。懂规则的人会比其他人占优势。

(3)规则越多,维护和执行这些规则的机构也就越多,不利于社会提高效率。

(4)复杂性最终导致社会各阶层的差距变大,对立也随之而来。

以上因素的共同作用,导致历史上很多强大的社会最终崩溃。

言论

1、

2021年,我感觉做一名优秀的软件工程师棒极了。软件行业蓬勃发展,机会很多,我热爱这份工作,觉得可以永远做下去。

2026年,我已经不确定软件行业十年后会怎样,即使还存在,必定与现在极不相同。我也许能找到出路,也许不得不离开这个行业。无论如何,我热爱的软件工作即将消失。

-- 《我不知道十年后我的工作是否还存在》

2、

与强大的 AI 对抗会是什么感觉?

你会感觉自己莫名其妙地弱了不少,AI 做的每件事都超出你的预期。

这就好像你和一位实力强劲的玩家玩一款随机性很强的游戏,你会感觉这位高手总是运气爆棚。

-- probablydance.com

3、

阅读商战书籍是浪费时间。它们将简单的故事变成通用的建议,将偶然的成功转化为普遍的策略,并用激励人心的口号取代复杂的市场。

这些书的成功并不是因为内容正确,而是因为易于阅读并且让读者感觉良好。

-- 《阅读商战书籍是浪费时间》

4、

我想让 AI 告诉我怎么使用一种全新的、AI 也不会用的工具,就会提示 AI "执行 xxx-tool --help 来了解该工具"(假定工具名字是 xxx-tool),然后 AI 就学会用了。

-- Simon Willison,著名开发者

5、

时间是唯一不可再生的资源。AI 大模型是目前我所知的最便宜的赚取额外时间的方式。

-- 《不要太看重 AI 大模型的订阅费》

往年回顾

低代码编程,恐怕不会成功(#341)

AI 没有护城河(#291)

中国的增长动力在内陆(#241)

一个程序员的财务独立之路(#191)

(完)

从今年春节回家,父母就开始疯狂催生。

催生理由无非就是网上常见的那些,“你们结婚都 5 年了,再不生我在村里抬不起头”,“今年是马年,生宝宝最好” ,“你现在生,趁我们身体还可以能帮你们带,你们该上班上班”, “你是长子长孙,要为弟弟妹妹做好表率”,“你们现在不生,过 2 年都是高龄产妇了”

年初三晚上,跟我爸在电话里不欢而散,他说:“你明年再不生,就别回家了”。我说:“好”。然后,我爸就把我微信删了……

年初四逃了似的从家里跑路,去老丈人那里,又是被各种催。(双方父母通过气了,一起催生)。

但我们现在确实不想生,不敢生。

说说我和老婆的情况:

  • 我 93 年的,今年 33 ,老婆比我大一岁,34 ;
  • 感情稳定,同甘共苦一路走来;
  • 我目前与人合伙小型创业中,一年没拿过工资了。创业项目迟迟无法盈利,打算坚持到 6 月份,没明显转机的话就退伙另找其他项目。(基本不考虑再找工作)。老婆是教培独立老师,在家给中小学生补课,年收入差不多 15-18 万左右;
  • 有车无房,车贷 10 万,现金 180 万左右;
  • 我是皖北农村这边少有的独生子,父母这两年在浙江这边开了个小针灸馆,养老的话目前来看压力不大。老婆父母均是国企退休员工,有退休金且在给我大舅哥带孩子,大舅哥很有钱,养老不需要我们操心。

为什么不想生,不敢生:

  • 我从小是农村留守儿童,寄住在姨妈家上小学,初高中自己在县城租房上学,童年与少年的经历让我的生育观是:如果给不了孩子好的生活,那就不要让他来世间受苦。
  • 老婆因为从事教培,见过太多问题学生,对生一个天使娃失去信心,单是补课这一项就普通家庭就很难支撑。
  • 我未来一年收入很难保证,即便重新找工作这个年龄以及当下杭州就业市场也很难找到靠谱的;老婆的话,如果生娃,未来一年也一定是生源全断,手停口停。
  • 生娃的话,就要在杭州买房,我们虽然有些现金,但在杭州买套房还是比较吃力。

说到底,都是钱闹的。

我父母也没啥存款,在买房生娃这件事上给不到什么实际的财力支持,说来说去就是“生出来我们帮你带、奶粉钱我们包了”。

而且让我比较生气的是,他们竟然说“买房可以付个首付,然后还贷 30 年”,以及“孩子教育能花几个钱,上不了大学就不上了,去厂里打工也比你不生好”,“生一个都太少,至少生 2 个”。

从春节到现在,各种连环夺命催。刚开始我还能耐着性子听他们说,现在也丧失了耐心,干脆不回复消息不接电话,逃避虽可耻但有用。

少数派即将迎来 14 周岁,为了与大家共同庆祝我派的生日,我们的软件商城、会员服务和付费栏目都为大家准备了丰厚的优惠。

少数派会员:优惠价格享受全新权益

为了让更多朋友能体验少数派会员,即日起至 3 月 24 日,少数派会员新购或续费可享受如下优惠——

  • 年度会员——
    • 新会员:含点数限时优惠价 308 元,不含点数限时优惠价 228 元;
    • 现有会员、签约作者、注册满 6 年用户:含点数限时优惠价 268 元,不含点数限时优惠价 198 元;
    • 创始会员、3 年以上长期会员、注册满 10 年用户:含点数限时优惠价 198 元,不含点数限时优惠价 128 元;
  • 月度会员:限时优惠价 31.4 元。

前往购买少数派会员

会员价上新,还有专属折上折

随着会员体系和权益的不断完善,我们也在陆续增加少数派会员用户可享专属优惠的软件商品,目前像是 Bartender、Eagle、滴答清单、Trancy 等热门的新老软件都有一定程度的专属优惠提供。

前往会员直享折扣

在周年庆活动期间,我们将为会员用户发放以下优惠券,可叠加会员价格使用,包括——

  • HapiGO 减 ¥10
  • Mindbox ¥50 减 ¥10
  • Varlens ¥50 减 ¥10
  • One Switch 满 ¥50 减 ¥5
  • 妙笔满 ¥50 减 ¥20
  • Knotes 满 ¥100 减 ¥30

会员用户从如下入口领取优惠券:

领取会员专属优惠券

正版软件

本节所述优惠持续至 3 月 24 日,另有注明的除外。更多优惠,请访问活动专区获取。

Microsoft 365 工具升值包

  • 家庭版 (15 个月) ¥359 → ¥309
  • 家庭版 (12 个月) ¥299 → ¥279
  • 个人版 (15 个月) ¥329 → ¥299
  • 个人版 (12 个月) ¥259 → ¥249

(以上优惠持续至 3 月 19 日。)

 

在少数派购买 Microsoft 365 工具升值包,你将获得 Microsoft 365 订阅权限,以及累计超八万字的 Microsoft 365 定制内容。

PPT 系列从实战经验中,总结出了幻灯片制作的三阶段理论。通过一系列经验分享,来剖析制作幻灯片的流程和技巧。

Excel 系列借助实际的工作实例,来分析 Excel 的使用方式,分享高效使用 Excel 的技巧。

Word 系列深入 Word 文档的设计机制,剖析文档中重要元素的设置以及背后的原理。

妙笔 WonderPen

  • Pro+ (1 年) ¥128 → ¥89.6
  • Pro (买断版) ¥128 → ¥89.6
  • Pro+ (1 个月) ¥18 → ¥12.6

 

妙笔 (WonderPen) 是一款专为长文写作打造的专业桌面应用,支持 Windows、macOS 和 Linux。它致力于提供专注、流畅的创作体验,采用无限层级的树状目录管理文档,结构清晰,无论是小说、论文还是笔记,均可轻松驾驭。

软件支持所见即所得编辑,内置打字机模式、专注模式与极简模式,帮助用户排除干扰,聚焦文字本身。

妙笔注重数据安全,提供离线优先的本地存储、自动备份与历史快照功能,并支持云同步。其强大的导出功能可将作品批量输出为 PDF、Word、Epub 等多种格式。

此外,应用还提供白板、卡片列表、大纲视图、一键排版等实用工具,辅助作者高效规划思路、管理灵感与掌控写作进度。

白描工具升值包

  • 普通版 ¥20 → ¥15
  • 黄金版 ¥30 → ¥25

 

白描 (Baimiao) 是一款专业级 OCR 文字识别与文件扫描软件,致力于提供高效、精准的文档数字化解决方案。

其核心功能采用高精度识别引擎,支持拍照取字、手写体识别、竖排文字以及表格识别(可直接导出为 Excel 文件)。软件支持中文(简繁体)、英、日、德、法、俄等多种语言的混合识别。

在文档处理方面,白描提供强大的批量处理能力,支持批量文字识别与批量生成 PDF。其文件扫描功能可自动识别文档边界,快速生成清晰扫描件,并提供多种色彩模式(如黑白、灰阶)及A4身份证合成模式。

此外,软件内置识别后翻译功能,支持日语、韩语、法语、西班牙语、文言文等数十种语言与中文互译。白描提供全平台支持(iOS, Android, Windows, Mac, 网页版及小程序),实现一个会员跨设备通用,满足用户在不同场景下的高效工作需求。

由少数派联合制作的白描图文说明书,将以最直观的方式展示白描的各项设置和技巧,让你做到上手即会用,现在购买白描工具升值包即可免费获取该份内容。

MarginNote

  • macOS 标准版 ¥249 → ¥174.30

 

MarginNote 4 积极拥抱 AI,进一步完善 MarginNote 3 中存在的各种痛点,并将内购重整为三个版本(少数派有售标准版和高级版),无需再为你使用不到的功能额外付费。

高级版相比于普通版的升级主要在于:

  • 快捷键连招:全面、便捷的系统快捷键,支持 Mac 全键自定义。
  • 连接外部文档库:直接连接硬盘、云盘等,无需将资料导入 MarginNote 软件沙箱。
  • 笔记分享密钥:可以分享笔记,并且支持公私钥加密。
  • 卡片盒分类看板:通过卡片颜色、标签等对卡片进行分类。
  • 内容识别提取模型:AI 辅助自动提取公式、图表等卡片,摘录标签编码,不同标签条件组合动态生成新脑图结构。

我们也继续为购买 MarginNote 4 的用户准备了《59 分钟就上手 MarginNote 4》专属内容,共有四篇文章。

本栏目从阅读文档开始,一步步介绍文档的导入、整理与备份,如何运用摘录、笔记卡片、批注等功能把文档由厚读薄;进而通过组织笔记卡片建立起脑图笔记本,运用焦点、重点、留白、图层等新功能构建你自己的知识体系;以及如何利用 MarginNote 4 独特的复习模式巩固知识点,再结合实践经验,为你提供更多学习建议和插件的使用方法。

MWeb

  • MWeb Pro ¥228 → ¥136.8

 

MWeb Pro 是一款专为 Mac、iPad 和 iPhone 打造的专业级 Markdown 应用,集写作、笔记管理与静态博客生成于一体。核心编辑器严格遵循 CommonMark 及 GFM 语法标准,支持数学公式、Mermaid 图表、代码块等丰富元素,并提供精准的实时预览与高度自定义选项。

MWeb 提供两种灵活的文档组织方式:文件夹模式用于高效管理本地 Markdown 文档或 Jekyll/Hexo 等静态博客项目;文档库模式则是一个专为笔记设计的系统,通过分类树和标签管理,支持本地优先的 iCloud CloudKit 跨设备同步。

MWeb 集成了强大的发布与导出功能,支持将文稿一键发布至 WordPress、Ghost、语雀等多种服务,并内置图床上传工具。MWeb 采用 AppKit 和 UIKit 原生技术开发,确保了卓越的性能、稳定性与平台体验。

更多优惠

  • 50 音起源: Android 版 ¥12 → ¥6
  • AnyDroid: 家庭终身版 ¥139 → ¥118 | 个人终身版 ¥79 → ¥67 | 个人一年版 ¥49 → ¥42(持续至 3 月 19 日)
  • AnyTrans: 个人终身版 ¥89 → ¥75 | 家庭终身版 ¥159 → ¥135 | 个人一年版 ¥59 → ¥50(持续至 3 月 19 日)
  • bigmp4: 1560 GPU point ¥120 → ¥84 | 300 GPU point ¥30 → ¥21 | 1080 GPU point ¥90 → ¥63
  • CleanClip: 1 设备 ¥55 → ¥38.5 | 3 设备 ¥85 → ¥59.5
  • F-Vault: 永久会员 ¥98 → ¥68.6
  • FocusFour: 永久会员 ¥38 → ¥32 | 年付会员 ¥22 → ¥18
  • GitMind 思乎: 年会员 (送 AI 算粒) ¥188 → ¥149
  • HapiGo: 年会员 ¥98 → ¥89
  • IDjpg: 1 个月 / 60 GPU time ¥36 → ¥25.2 | 6 个月/ 200 GPU time ¥90 → ¥63 | 12 个月 / 500 GPU time ¥180 → ¥126
  • jpgHD: 132 张 ¥72 → ¥50.4 | 50 张 ¥30 → ¥21 | 270 张 ¥108 → ¥75.6
  • jpgHi: 1 个月 / 180 token ¥36 → ¥25.2 | 6 个月 / 500 token ¥90 → ¥63 | 12 个月 / 1200 token ¥180 → ¥126
  • jpgRM: 6 个月 ¥90 → ¥63 | 12 个月 ¥120 → ¥84 | 1 个月 ¥30 → ¥21
  • Lattics: 年会员 ¥168 → ¥151.2(持续至 3 月 19 日)
  • Limi Cam: 永久会员 ¥30 → ¥25
  • Manico: macOS ¥40 → ¥28
  • MenubarX Pro: Pro ¥35 → ¥30
  • Mindbox: 年会员 ¥98 → ¥88.2
  • Moment: 永久买断版 ¥30 → ¥18
  • MomentApp 相机: 12 张胶卷 ¥59 → ¥49
  • Moon FM 播客 App: 永久版本 ¥68 → ¥34
  • OmniConverter: 永久会员 ¥98 → ¥68.6
  • OmniPlayer: 永久会员 ¥58 → ¥40.6
  • One Switch: 单设备版 ¥30 → ¥18 | 五设备版 ¥99 → ¥59.4 | 双设备版 ¥50 → ¥30
  • PasteNow: macOS ¥50 → ¥35
  • tagLyst Next: 团队订阅版 (3 年) ¥168 → ¥117.6 | 个人订阅版 (1 年) ¥69 → ¥48.3
  • uPaste: 永久会员 ¥58 → ¥40.6
  • Varlens: 年度会员 ¥98 → ¥88.2
  • Wise Care 365 Pro: 终生 3 设备 ¥239 → ¥215.1 | 终生 1 设备 ¥119 → ¥107.1 | 1 年 3 设备 ¥89 → ¥80.1 | 1 年 1 设备 ¥49 → ¥44.1(持续至 3 月 19 日)
  • Wise Data Recovery: 1 年订阅版 ¥293 → ¥263.7(持续至 3 月 19 日)
  • Wise Hotkey: 1 年 3 设备 ¥46 → ¥41.4(持续至 3 月 19 日)
  • Zine: 年度会员 ¥159 → ¥148
  • 可乐记: 3 设备版 ¥49 → ¥34.3 | 5 设备版 ¥79 → ¥55.3
  • 捧读: 永久版 ¥68 → ¥54.4
  • 格志日记: 1 年订阅 ¥168 → ¥128
  • 滴墨书摘: 1 年订阅 ¥88 → ¥65
  • 简悦 2.0: 永久买断版 ¥18 → ¥14
  • 糯词笔记 Knotes: 24 个月 ¥112 → ¥78.4 | 12 个月 ¥66 → ¥46.2 | 永久会员 ¥268 → ¥187.6 | 1 个月 ¥8 → ¥5.6
  • 色采: 年会员 (双平台) ¥61 → ¥47.6 | 月会员 (双平台) ¥10 → ¥8.4 | Android 永久高级版 ¥27 → ¥21 | 双平台永久高级版 ¥72 → ¥56
  • 解压专家 Oka: 永久会员 ¥40 → ¥28
  • 阅读记录: 永久会员 ¥196 → ¥178 | 高级会员 (1 年订阅) ¥86 → ¥59

更多优惠,请访问活动专区获取。

付费栏目

本节所述优惠持续至 3 月 24 日。

macOS Tahoe 和 iOS 26 蓝皮书 

  • ¥59 → ¥47.20

(少数派年度会员可免费阅读。)

  

《macOS 蓝皮书》和《iOS 蓝皮书》是少数派的经典栏目,旨在引导你由浅入深,全面掌握最新版 macOS 和 iOS 的核心理念与实用操作,让你的 Apple 设备真正成为得心应手的强大工具。

今年,我们针对界面焕新的 macOS 26 和 iOS 26 系统,大幅更新了两本《蓝皮书》,在全面适配新版系统的同时,也做了许多结构和细节上的修订。无论你是初次接触 Apple 设备,从其他平台切换而来,还是追求系统化学习的探索者,相信今年的《蓝皮书》都能为带来清晰、系统的入门路径,快速建立正确的操作习惯,揭示隐藏的实用功能与高级技巧,助你成为真正的 高手。

两本《蓝皮书》均提供八折的上架优惠。此外,两本《蓝皮书》均属于少数派会员畅读权益范围,会员可以免费阅读,无需另外购买。

经验卷轴:久坐健康指南

  • ¥59 → ¥47.20

(少数派年度会员可免费阅读。)

 

在屏幕和工位主宰的时代,我们花在椅子上的时间,甚至比睡觉还多:8 小时的久坐办公、1 小时的通勤、回家后瘫坐在沙发……久坐,早已成为现代人最普遍、却常被忽视的「健康杀手」。可当我们想为此做出改变时,问题接踵而来:该怎么运动,运动多长时间?哪些动作能够更有效缓解腰酸背痛、肩颈疼痛?

本栏目以世界卫生组织的官方指南为纲,打造了一套科学、高效的方案,从整体到部位,细化成不同的运动方式和详尽的训练动作,助你利用碎片时间,告别久坐带来的种种困扰。一些值得提及的特点包括——

  • 直接可跟练的方案;
  • 沉浸式跟练视频;
  • 定制 Apple Watch 训练方案;
  • 知其所以然的底层原理;
  • 延伸阅读与系统学习;以及
  • 答疑汇总加更。

日本全境漫游计划

  • ¥69 → ¥49

 

我们希望,这本指南不再拘泥于游记的形式,而是更加全面地、系统地介绍日本。它是一次从「浮生」走向「实用」的延伸,不同于一般「打卡式」的路线推荐亦或者是「碎片化」的旅游攻略,这本栏目更像是一位熟门熟路的旅伴,从点滴开始,一边为你指路,一边轻声说:这个地方,别急着走。

我们希望它不止是一本「看完一次就搁置」的攻略,而是一本你每次出发前都会想翻一翻的小手册。这本指南,写给第一次来日本、却不想走马观花的你;也写给那些去了很多次,却还想继续深入、继续发现的旅人。希望这本旅人之书能够伴你走得更远,见得更多。

视频修复简明教程

  • ¥49 → ¥29.4

 

什么是视频修复?视频修复就是提升视频的观感,减少瑕疵。

为什么要做视频修复?每个人能可能有自己的答案:想要追忆往昔,怀缅故人;想要钻研视频相关技术;想要收藏「完美版」电影或者动画,等等。

简而言之,视频修复就是让视频变得更好看。纵然每个人对「好看版」的理解不同,但有一些属性——例如噪点柔和、颜色过渡自然、物体边缘干净清晰等——是人人都同意的。本栏目正是就这些放之四海而皆准的属性,试图用若干篇文章来简要介绍人人都可上手的视频修复工作。

在数字时代,视频修复是一项必备技能。在这个时代,人们与视频的交互如此频繁,能够正确识别视频中存在的瑕疵,并有能力进行修复,将是一种独特优势。对视频内容生产者,确保自己的视频能够准确、高质量地呈现给观众,是事半功倍的选择。对于一般人,能够让自己喜欢的视频观感更好,也不失为一件乐事。

目前,《视频修复简明教程》正处于连载期,上架时共有 5 篇文章。我们将以大约两周一次的频率更新后续文章,也会在已有内容规划的基础上,聆听来自你们的建议,适时作出适当优化。

此外,本栏目属于少数派会员畅读权益范围,年度会员无需购买即可免费阅读。如果你对本栏目感兴趣,欢迎考虑成为少数派会员

更多优惠

除上述栏目外,「100 小时」「生产力超频」「59 分钟」等系列的其他经典栏目也有 6 折的优惠价格,也请注意其中多数可供年度会员免费阅读,或通过会员点数免费兑换:

  • Notion All in One:¥249 → ¥199.2 前往购买
  • 食事为上:¥19 → ¥14.25(年度会员免费)前往购买
  • Android 绿皮书:¥19 → ¥14.25(年度会员免费)前往购买
  • 外设玩家:¥29 → ¥21.75(年度会员免费)前往购买
  • 100 小时后请叫我程序员:¥149 → ¥89.4(会员可点数兑换)前往购买
  • 100 小时后请叫我设计师:¥149 → ¥89.4(年度会员免费)前往购买
  • 100 小时后请叫我苹果开发者:¥299 → ¥179.4 前往购买
  • 100 小时后请叫我播客主理人:¥129 → ¥77.4(年度会员免费)前往购买
  • 生产力超频:成为 ChatGPT 全域调教高手:¥79 → ¥47.4 前往购买
  • 生产力超频:Keyboard Maestro 拯救效率:¥59 → ¥35.4(年度会员免费)前往购买
  • 生产力超频:Windows 命令行实用手册:¥59 → ¥35.4(会员可点数兑换)前往购买
  • 生产力超频:学得会的快捷指令:¥59 → ¥35.4(年度会员免费)前往购买
  • 生产力超频:科学做好 PPT 的三个步骤:¥79 → ¥47.4(年度会员免费)前往购买
  • 生产力超频:LaTeX 学术写作实用手册:¥59 → ¥35.4(年度会员免费)前往购买
  • 生产力超频:用 Keynote 入门动画创意:¥59 → ¥35.4(年度会员免费)前往购买
  • 生产力超频:LaTeX 从入门到精通(视频教程):¥199 → ¥119.4 前往购买
  • 经验卷轴:从零开始做好个人记账:¥59 → ¥35.4(会员可点数兑换)前往购买
  • 经验卷轴:入门学术论文写作:¥59 → ¥35.4(会员可点数兑换)前往购买
  • 经验卷轴:在家也能轻松健身:¥29 → ¥17.4(会员可点数兑换)前往购买
  • 59 分钟就上手 Tasker:¥29 → ¥21.75 前往购买
  • 59 分钟就上手 Power Automate Desktop:¥29 → ¥17.4(年度会员免费)前往购买
  • 59 分钟就上手 Heptabase:¥29 → ¥17.4(年度会员免费)前往购买

    第九章 USB 串行/JTAG 控制器控制台简介

    在现代嵌入式系统开发中,串口通信和调试功能是不可或缺的组成部分。ESP32-P4芯片通过内置的USB串行/JTAG控制器,简化了开发者的工作流程,消除了对外部USB-UART桥接芯片的需求。这一控制器不仅实现了高效的串口通信,还提供了强大的调试功能,使得开发、测试和调优过程更加便捷。本章节将深入探讨USB串行/JTAG控制器的功能、连接方式以及在实际开发中的应用,以帮助读者充分利用这一强大特性。
    本章分为如下几个小节:
    9.1 USB 串行/JTAG 控制器控制台概述
    9.2 如何使用USB 串行/JTAG 控制器

    9.1 USB 串行/JTAG 控制器控制台概述

    ESP32-P4芯片集成了一个功能强大的USB串行/JTAG控制器,该模块可以用于对SoC的Flash进行编程、读取程序输出以及将调试器连接到运行中的程序。通过USB主机设备(以下简称“主机”)与ESP32-P4直接通信,无需任何额外的外部组件即可实现这些功能。
    传统使用UART和JTAG功能调试ESP32-P4项目虽然可行,但存在以下不足:
    1)UART和JTAG都占用了IO引脚,减少了开发者可用于外设控制的引脚数量;
    2)主机通过外部芯片或适配器与UART和JTAG通信,这增加了额外的硬件设计复杂度。
    为解决上述问题,ESP32-P4提供了USB串行/JTAG控制器,集成了USB转串口和USB转JTAG的功能。该模块通过USB 2.0协议仅使用两条数据线(D+和D-)与主机通信,仅需占用两根引脚即可完成ESP32-P4的调试工作。
    USB串行/JTAG控制器具有以下功能特点:
    1)USB全速设备(Full-speed)
    硬件集成 CDC-ACM(通信设备类 - 抽象控制模型)和 JTAG 适配器功能。
    2)CDC-ACM功能:
    支持基于CDC-ACM标准的串口模拟(即插即用,兼容大多数现代操作系统)。提供主机可控的芯片复位功能以及进入下载模式的能力。
    3)JTAG适配器功能:
    提供紧凑高效的JTAG指令表示,支持快速通信。
    4)多种端点支持:
    包括一个控制端点(Control EP)、一个虚拟中断端点(Dummy int EP)、两个批量输入端点(Bulk in EP)和两个批量输出端点(Bulk out EP),数据负载最大支持64字节。
    5)集成物理层(PHY):
    内部集成 USB PHY,连接主机所需的外部组件极少甚至可以省略。
    下图是USB串行/JTAG控制器的模块组成。

    图9.1.1 USB 串行/JTAG 控制器功能框图
    如上图所示,USB串行/JTAG控制器由以下组件组成:USB PHY、USB设备接口、JTAG命令处理器、USB Device Logic响应捕获单元和CDC-ACM寄存器。USB PHY和设备接口由从基带PLL(BBPLL)派生的48 MHz时钟驱动;CDC-ACM模块中软件可访问的部分由APB_CLK时钟驱动。JTAG命令处理器连接到主处理器的JTAG调试单元;CDC-ACM寄存器连接到APB总线,因此可以由主CPU运行的软件进行读写操作。
    需要注意的是,虽然USB串行/JTAG设备支持USB 2.0标准,但它仅支持全速模式(12 Mbps),而不支持USB 2.0标准引入的其他模式,例如高速模式(480 Mbps)。
    ESP32芯片通常通过UART实现串口通信,并可借助外部USB-UART桥接芯片连接至主机或PC上的串口控制台仿真器。然而,具备USB串行/JTAG控制器的ESP32芯片,利用控制器的CDC-ACM部分可以直接与主机/PC实现串口连接,无需外部USB-UART桥接芯片。这一设计简化了连接过程,提高了系统的灵活性和可靠性。
    基于这一优势,ESP32-P4芯片内置USB串行/JTAG控制器,能够高效地实现串口通信和JTAG调试功能,进一步减少对外部USB-UART桥接芯片的依赖。通过该控制器,用户可以方便地将ESP32-P4连接至主机或PC,进行各种操作和调试。如下图所示。



    图9.1.2 PC机与ESP32-P4通过USB进行串口通信
    从上面的三幅图可以看出,PC机与ESP32-P4芯片之间的串口通信有三种连接方式。第一幅图展示了通过ESP32-P4芯片的内部USB串行/JTAG控制器直接实现通信。第二和第三幅图则展示了使用USB转UART模块连接ESP32-P4外设UART接口的两种方式,它们的唯一区别在于:第二幅图是开发板上集成的USB转UART电路,而第三幅图则是一个独立的模块。为了方便用户使用这些功能,我们正点原子选择了第一和第二幅图所示的连接方式。这两种方式均可有效地实现PC与ESP32-P4芯片之间的串口通信,用户可以根据实际需求进行选择。
    接下来,笔者将介绍USB串行/JTAG控制器的功能特点及其硬件连接方式。
    1,功能特点:
    1)双向串行控制台:支持与ESP-IDF监视器或其他串行监视器的双向通信,方便用户进行数据交互和调试。
    2)便捷烧录:使用esptool.py或 idf.py flash命令,用户可轻松将程序烧录到ESP32-P4。
    3)JTAG调试:借助OpenOCD等工具,用户可进行实时调试,同时保持串口通信。
    2,硬件连接
    将ESP32-P4与USB端口连接时,需注意以下引脚配置:
    1)D+(绿线):连接至GPIO25或27。
    2)D-(白线):连接至GPIO24或26。
    3)GND(黑线):连接至地。
    4)5V(红线):连接至电源供电。
    关于USB串口/JTAG控制器的管脚选择,笔者建议使用默认的GPIO24/25号管脚。有关这一部分的详细知识,笔者已在第二章节的2.2.2小节中表2.2.2.1进行了讲解,这里不再赘述。

    9.2 如何使用USB 串行/JTAG 控制器

    在ESP-IDF的配置菜单中,选择USJ_ENABLE_USB_SERIAL_JTAG选项,即启用USB串行/JTAG控制器,如下图所示。

    图9.2.1 启用USB 串行/JTAG 控制器
    ESP32芯片上电后,USB-Serial-JTAG模块默认开启。如果您的应用程序不需要该模块,且不依赖它作为系统控制台或进行JTAG调试,您可以选择禁用此功能。禁用后,该模块的时钟将在启动时被关闭,从而节省一些功耗。
    当我们选择UART0端口作为主要输出端口但未连接时,辅助选项支持通过其他特定端口(如USB 串口/JTAG)进行输出。需要注意的是,当前的辅助输出仅支持不使用REPL的非阻塞模式。如果您希望使用REPL并在阻塞模式下输出或通过该辅助端口进行输入,请在“Channel for console secondary output”菜单中将主要配置更改为该端口。这样可以确保正常的数据交互和调试体验,如下图所示。

    图9.2.2 配置USB 串口/JTAG正常输出日志

    在互联网世界中,代理服务器被广泛用于数据访问、网络测试、内容获取以及跨地区网络环境模拟等场景。随着网络工具的发展,很多用户在搜索代理资源时会看到一种叫做“开放代理”(Open Proxy)的服务。许多网站甚至会提供大量所谓的“免费开放代理列表”,吸引用户直接使用。
    然而,看似方便的开放代理背后其实隐藏着不少风险。如果不了解其工作方式和安全问题,盲目使用这些代理可能会带来隐私泄露、数据安全以及网络稳定性方面的隐患。因此,在使用代理之前,理解什么是开放代理以及它可能带来的风险非常重要。

    什么是开放代理

    开放代理通常指的是没有访问控制限制的代理服务器。这类代理服务器对外公开,任何人只要获取到 IP 地址和端口,就可以通过它访问互联网资源,而不需要账号、认证或授权。
    这种代理服务器通常是由于服务器配置不当,或者某些个人或组织主动开放端口所导致。一些开放代理可能原本是用于内部网络测试,但由于配置不严谨而暴露在公网中。还有一些代理则是短期搭建后被公开分享,供大量用户使用。
    在实际应用中,开放代理往往会被收集到各种“免费代理列表”网站中,用户可以随时查找并连接这些代理节点。但由于这些代理并没有统一管理或维护,因此其稳定性和安全性往往难以保证。

    免费开放代理为什么看起来很吸引人

    对于很多用户来说,免费开放代理最大的吸引力在于“无需成本”。用户不需要购买服务,也不需要注册账户,只需复制 IP 地址和端口即可使用。
    此外,一些代理列表网站会标注代理所在国家、响应速度和可用状态,这让很多人误以为这些代理已经经过验证并且可靠。但实际上,这些信息往往只是简单的检测结果,并不能反映代理的真实质量。
    由于开放代理来源复杂,它们的稳定性通常非常差。很多代理可能在短时间内就失效,或者在使用过程中出现连接失败、速度缓慢等问题。

    免费开放代理的主要风险

    开放代理最大的隐患在于安全性。由于这些代理服务器通常由未知来源提供,用户很难判断代理的运营者是谁,也无法确定数据是否会被记录或监控。
    当用户通过开放代理访问网站时,所有网络请求都需要经过代理服务器。如果代理服务器存在恶意行为,它可能会记录访问数据、截取通信内容,甚至篡改部分信息。这对于涉及账号登录、数据传输或业务操作的用户来说,存在较大的安全风险。
    除了安全问题之外,开放代理还经常被大量用户同时使用。这种共享环境容易导致 IP 被网站识别为异常流量,从而出现访问限制、验证码频繁甚至 IP 封禁的情况。
    另外,一些开放代理本身可能已经被多个平台列入黑名单,因此在访问某些网站时成功率会非常低。

    为什么专业代理服务更可靠

    相比开放代理,专业代理服务通常会对 IP 资源进行统一管理,并提供稳定的网络节点。用户通过账号认证使用代理,可以获得更稳定的连接质量和更清晰的流量控制。
    B2Proxy 这样的专业代理服务平台,给您提供最靠谱的IP保障,覆盖全球 195+ 国家和地区的住宅代理,拥有大量真实住宅 IP 资源。7/24小时专业客服支持,让您遇到问题第一时间就可解决,连接稳定,企业可以在数据采集、市场研究、广告验证以及跨境业务场景中获得更加可靠的网络环境,而不需要依赖来源不明的开放代理。

    如何安全使用代理服务

    在选择代理服务时,建议优先考虑可靠的服务提供商,并关注代理 IP 的来源、稳定性以及服务支持情况。稳定的代理网络不仅可以提升访问成功率,还可以减少因 IP 问题导致的网络限制。
    同时,在涉及账户登录或业务操作时,尽量避免使用来源不明的免费代理,以免造成数据泄露或账号风险。选择安全可靠的代理服务,往往比短期节省成本更加重要。

    总结

    开放代理在互联网中一直存在,并且由于免费和获取简单而受到一些用户关注。然而,这类代理通常缺乏管理和安全保障,在稳定性和隐私保护方面存在明显风险。
    对于需要长期使用代理的企业和开发者来说,选择稳定可靠的代理服务往往更加安全和高效。理解开放代理的风险,并合理选择代理工具,才能在保证网络安全的同时获得更好的使用体验。

    Vue.js官方的路由库,Vue Router已发布 5.0 版本。这是一个过渡性版本,将广受欢迎的unplugin-vue-router插件直接合并进核心包中。维护者 Eduardo San Martin Morote(posva)将此次发布刻意称为一次“很无聊”的更新,因为对于现有 Vue Router 4 用户来说,它不会带来破坏性变更。

     

    Vue Router 5 最重要的变化是吸收了 unplugin-vue-router。该插件是一个构建时工具,提供基于文件的路由功能,并具备完整的 TypeScript 支持。此前该功能作为独立包维护,如今可以直接通过vue-router的导入路径使用,从而不再需要额外依赖。对于已经使用 unplugin-vue-router 的开发者而言,迁移主要是更新导入路径;对于尚未使用该插件的用户,升级只需一条命令:

    pnpm update vue-router@5
    复制代码

     

    除了整合基于文件的路由功能之外,Vue Router 5 还以实验性特性的形式引入了一些新能力。其中,数据加载器可通过vue-router/experimental导入,为将数据获取逻辑直接绑定到路由定义提供了一种标准化方式。这种方式能够确保组件在所需数据准备就绪后才进行渲染,从而减少手动管理加载状态的需求。

     

    本次发布还新增了对 Volar 插件的支持,以提升编辑器开发体验;提供了用于校验的路由 JSON Schema;并在运行时为缺失的参数解析器抛出错误,以便更早发现配置问题。在底层实现方面,devtools API 已升级至 v8,不过这也意味着 IIFE 构建版本不再内置@vue/devtools-api,这是“无破坏性变更”承诺中的唯一例外

     

    社区反馈整体较为积极,该版本在GitHub 的发布页面已获得超过 50 个反应。posva在 X 上表示,这个 beta 版本“应该不会破坏任何东西,只是让你可以直接从 vue-router 导入来替换 unplugin-vue-router”,这一观点也得到了开发者的认同,他们普遍欢迎依赖链得到简化。随后发布的v5.0.3 版本已经进一步改进了基于文件的路由功能,例如支持使用_parent.vue作为更清晰的嵌套路由模式。

     

    在 X 上,有用户询问为什么这是一次主版本更新,可能是因为它并没有带来破坏性变更:

    有意思,但为什么不是 minor 版本更新?

     

    作者回应:

    本质上是因为合并了两个仓库。

     

    将基于文件的路由直接嵌入核心路由库的做法,也让人联想到 React 生态中的类似模式。例如 TanStack Router为 React 应用提供类型安全的文件路由和内置数据加载能力。两者都秉持一种理念:数据获取应该以声明式方式与路由绑定,而不是在组件内部以命令式方式处理。不过,目前 Vue Router 的数据加载器仍处于实验阶段,而 TanStack Router 的该功能已经是核心能力。

     

    值得注意的是,Vue Router 5 同时也是迈向版本 6 的一个过渡台阶。未来的 v6 将仅支持 ESM,并移除已弃用的 API。迁移指南建议开发者利用 v5 的过渡期,为这些即将到来的变化做好准备。对于从 unplugin-vue-router 迁移的项目,指南提供了一份详细清单,涵盖插件导入方式、数据加载器路径、Volar 配置以及 TypeScript 设置等内容。

     

    Vue Router 是 Vue.js 生态中的一个开源项目,由 Eduardo San Martin Morote 维护。它每周下载量超过 500 万,提供富有表达力的路由语法、细粒度的导航控制以及基于组件的配置方式,用于构建 Vue.js 单页应用。

    我本来这次还是信心满满的,毕竟有一个可做演示的真实全栈项目来托底,没想到市场凉透透地。。。。
    考虑 upwork ,但一个像样的项目,上百人竞争,价格低廉还要求巨多

    凌晨 5 点起来,考虑转行了。实在心痛,干了快 15 年的行业,学什么都快,全栈手撸, 既然沦落到如此地步

    “@grok 是真的吗?”
    现在 grok 只回复有蓝标的号,所以我在想能不能找一个有蓝标的号,作为一个中间代理,大家艾特他,然后他来替我们艾特 grok ,来实现以前大家都可以艾特 grok 的效果。可能需要自动化程序来实现,不知道好不好做,有没有老哥来实现一下。

    目前准备了 N100 8G 内存的软路由,6 台苹果手机准备做 TK 的直播

    需要干净稳定的 IP ,也可以自建,目前有什么机房可以满足这个要求?

    搬瓦工的如何?

    或者有没有做这方面的大佬给下其他方面的建议

    做的宠物赛道,两个平台点赞加收藏接近 2w ,粉丝量 500 ,粉丝转化率很低,最近也被流量搞得很焦虑。我家猫算是有一点特色的,有几个小爆款,但是拍宠物的难点在于这些爆款很难复刻,有没有小伙伴可以给些建议,或者同样尝试自媒体的小伙伴可以交流交流。

    之前在 V2EX 上看到有人说 chrome 的新功能,我就想着我的 chrome 挺久没更新了,结果一更新后我就无法访问外网的网站了,我以为是我的代理出现了问题(经常内外网切换)结果我打开本地的开发环境发现没办法访问本地的地址,我开始怀疑是否是项目有问题,重启项目后,排查相关链路发现是通的,打开 Firefox ,edge 后又一切正常了,外网页面也能访问,我突然意识到我的代理没有问题,是 chrome 出现了问题,我跟随网上教程及 ai 的指导也没有修复这个问题,只能暂时使用 Firefox 顶替了,有同样问题的大佬吗

    系列文章

    写给技术管理者的低代码手册系列文章(1)——从软件工程视角理解低代码的价值、边界与演进路径

    写给技术管理者的低代码手册系列文章(2)——第一部分:低代码诞生的背景【第一章】

    写给技术管理者的低代码手册系列文章(3)——第一部分:低代码诞生的背景【第二章】

    写给技术管理者的低代码手册系列文章(4)——第一部分:低代码诞生的背景【第三章】

    写给技术管理者的低代码手册系列文章(5)——第二部分:低代码的概念、价值与发展现状(第一章)

    写给技术管理者的低代码手册系列文章(6)——第二部分:低代码的概念、价值与发展现状(第二章)

    写给技术管理者的低代码手册系列文章(7)——第二部分:低代码的概念、价值与发展现状(第三章)

    写给技术管理者的低代码手册系列文章(8)——第二部分:低代码的概念、价值与发展现状(第四章)

    写给技术管理者的低代码手册系列文章(9)——第二部分:低代码的概念、价值与发展现状(第五章)

    引言

    低代码并不是一种以“降低技术要求”为目标的开发方式,而是软件工程在长期规模化实践中,对复杂性进行结构性收敛的结果。随着系统规模、协作人数与生命周期不断扩大,软件开发逐步从依赖个人能力的活动,演进为依赖模型、规范与工具体系的工程过程。在这一过程中,越来越多原本隐含在开发者经验中的决策,被外化为结构化描述,并由工具在统一规则下加以执行。

    在低代码平台中,这一趋势表现为以元数据为核心的系统表达方式:系统不再主要通过代码文本来描述,而是通过模型、配置与规则进行定义,并由平台在运行时统一解释和执行。

    本章将从这一主流工程实践出发,解释低代码平台在技术层面得以成立的基础条件。

    第一章 背景:企业软件开发的本质是一个工程问题

    低代码并非源于某一次技术突破,也并非某类厂商主动推动的产品创新,而是软件工程在长期实践中,被复杂性持续“折磨”之后的自然结果。当软件系统的规模、使用年限与协作人数不断扩大时,开发活动本身逐渐从解决业务问题,演变为如何控制开发过程与系统演进风险的工程问题。

    理解低代码的技术基础,首先需要回到这一长期积累的背景之中。

    1.1 企业软件开发的主要矛盾已转化为工程治理问题

    在企业软件开发中,项目规模、系统复杂度和团队人数的增长并非线性,而往往呈现出指数级膨胀的趋势。技术管理者和架构师常会发现,功能实现本身已不再是最大挑战。真正制约交付和演进的,是系统的可控性、团队协作效率以及长期维护风险。理解这一点,是分析企业软件开发现状的前提,也是后续探索工程技术手段、将开发者经验外显化的基础。

    1.1.1 什么是“工程治理问题”

    在讨论矛盾转化之前,需要先明确在软件领域,什么是“工程治理问题”。在企业软件开发中,所谓“工程治理问题”,并不是指某个具体的技术难题,也不是指某次项目管理失误,而是指当系统规模扩大、参与角色增多、生命周期拉长之后,组织是否具备一套稳定机制,来约束、协调和控制软件工程活动的整体运行状态。在小规模团队中,许多问题可以依靠个人经验和默契协作来解决。需求变更可以当面沟通,架构调整可以临时决定,质量问题可以靠核心成员兜底。但当系统发展到一定规模后,这种“靠人运转”的模式便难以持续。一旦关键人员变动、业务节奏加快或协作边界扩大,原本隐性的决策逻辑和工作规则便会迅速失效。

    工程治理问题主要体现在需求如何进入系统,架构如何演进,质量如何保障,发布如何规范,责任如何追溯等环节。如果这些关键环节缺乏制度化支撑,系统就会逐步走向失控。本质上,工程治理关注的不是“功能如何实现”,而是“系统如何被长期、稳定、可持续地建设与维护”。这意味着,工程治理问题与传统的技术实现问题有着根本性的不同:

    • 实现问题:关注的是“如何让功能运行起来”。这类问题的解决,主要依赖开发者的个人能力:技术水平、经验积累、学习能力。在这个阶段,提升开发效率的关键是更好的IDE、更强大的框架、更高效的调试工具。其核心挑战包括:

      • 算法是否正确?性能是否满足要求?
      • 代码逻辑是否清晰?是否存在明显的bug?
      • 是否熟悉所用的编程语言、框架和工具?
    • 工程治理问题:关注的是“如何让系统在长期演进中保持可控”,这类问题的解决,不再主要依赖个人能力,而需要系统化的工程机制:统一的架构规范、显式的约束表达、可追溯的变更历史、可复用的模式封装等。其核心挑战包括:

      • 理解成本:新成员如何快速理解系统?系统的关键约束和隐含假设如何被有效传递?
      • 协作成本:多人并行开发时,如何避免相互冲突?如何保证不同模块的一致性?
      • 变更风险:修改一处代码,如何确定影响范围?如何避免"改A坏B"的连锁反应?
      • 知识传承:核心人员离职后,系统的设计决策和运行规则如何被保留?

    两类问题的对比如下表所示:

    维度实现问题工程治理问题
    关注焦点如何让功能运行起来如何让系统长期可控
    主要挑战算法、性能、bug理解、协作、变更、传承
    解决依赖个人能力工程机制
    时间尺度当前开发周期系统全生命周期
    典型场景实现一个新功能维护一个运行10年的系统

    1.1.2 工程治理问题成为企业软件开发的瓶颈

    在软件工程发展的早期阶段,系统规模有限,业务边界清晰,同一团队下的开发者数量较少。此时,开发效率主要取决于个人能力,如是否熟悉语言、是否掌握框架、是否能快速定位问题。工具的价值,也集中在提升编码效率本身。

    但当系统进入企业级阶段,系统生命周期从数月拉长到数年,甚至十年以上,团队规模从个位数扩展到几十人、上百人且流动成为常态,情况发生了根本变化。在这一阶段,开发活动开始呈现出明显的工程特征:协作成本、理解成本和变更风险,逐步超过编码本身,成为影响系统演进的主要因素,具体而言有四种典型表现。其核心矛盾是”依赖开发者自觉“的代码作为唯一的系统表达方式,已经不够用了。

    1.1.2.1 表现一:理解成本的指数级增长

    系统长期演进导致内在逻辑和状态空间快速膨胀,关键规则和设计决策往往未以可追溯形式的文档留存。新加入开发团队的成员无法通过阅读代码或文档快速掌握全貌,必须耗费大量时间通过试错或询问来拼凑认知,严重拖慢人员融入与开发节奏。

    例如,某运行12年的订单系统,代码量从数千行膨胀到近10万行。一位新进高级工程师耗时一个月,才敢独立修改一个小功能。原因有很多,最典型的是订单状态有23种,但仅11种有文档说明。

    1.1.2.2 表现二:协作成本的不可控放大

    多名开发者并行修改系统时,如果缺乏统一领域模型、清晰模块边界和变更感知机制,局部修改易在集成时产生冲突。问题通常在测试甚至上线阶段才暴露,修复成本高昂。根源在于协作缺乏预设“交通规则”,我行我素几乎注定了冲突不可避免。

    例如,两名开发者同时修改订单审批流程,一人为核心代理商增加快速通道,另一人为大额订单增加财务审批。合并后,VIP大额订单既走快速通道又需财务审批,逻辑矛盾直至测试阶段才发现。二者均直接修改各自的功能代码,而未基于统一流程模型协作。

    1.1.2.3 表现三:变更风险的连锁反应

    系统模块间耦合隐晦、依赖关系不透明,一个看似局部的变更往往引发连锁影响。开发者难以准确评估修改范围,常遗漏边缘或历史功能,变更耗时远超预期,上线后仍易出现缺陷。

    例如,开发者在修改商品差异化定价的逻辑时,意外影响了促销模块,因为该依赖关系并未体现在代码或文档中,而是通过运维团队管理的数据库触发器实现的联动

    1.1.2.4 表现四:知识传承的断层

    关键业务规则、设计初衷与历史决策高度依赖核心成员的记忆,未转化为团队共享、可持续维护的资产。一旦人员离职,这些“隐性知识”随之消失,团队不得不通过代价高昂的反向工程和猜测重新发掘逻辑,严重威胁系统长期健康。

    例如,核心开发者离职后,团队面对多处“神秘代码”,如订单金额超10万自动发邮件的规则起因不明,标记为“特殊检查”的配置项含义未知等。缺乏文档支持,团队在维护相关功能是,花费了很长时间才勉强理解其意图。

    1.2 亟需软件工程技术将开发者的经验外显化

    在企业级软件系统中,工程治理问题的核心矛盾,是长期积累的开发经验高度隐性,分散在少数核心开发者脑海或零散文档中。这些经验包括业务规则、关键约束、设计决策以及模块间的依赖关系。如果无法将其显式化,团队在理解、协作、变更和知识传承上都将面临巨大风险。因此,软件工程技术必须将隐性经验转化为可管理、可验证、可追踪的工程资产,从而为长期可控性提供基础。

    1.2.1 从“隐性经验”到“工程资产”

    上文中我们介绍了工程治理问题在企业软件开发领域带来的四种典型挑战。其核心原因是长期积累的开发经验,往往存在于个别核心开发者的脑海或零散文档中,而非系统可理解、可操作的形式。将这些经验外显化,实现团队内部共享、长期可追溯,意味着让系统规则和设计约束从开发者个人经验中独立出来,形成团队共享、长期可追溯的工程资产:

    • 将业务规则、约束条件和设计决策转换为可验证的结构化信息
    • 支持多团队对统一模型的协作与扩展
    • 将隐性约束与系统实现解耦,使结构成为理解和变更的依据

    例如,在多模块订单系统中,将“VIP客户大额订单需财务审批”规则显式建模后,开发者在修改其他订单逻辑时,可以快速发现潜在冲突。经验显性化不仅降低理解和协作成本,也让系统规则可追踪、可验证,从而形成可管理的工程资产。

    1.2.2 从“工程资产”到“工具约束”

    一旦经验被转化为显式工程资产,下一步是将其用于系统化审查与硬性约束,而非仅依赖人工判断。仅靠阅读文档或代码仍存在遗漏风险,尤其在多团队并行开发环境中。显式资产可以实现:

    • 硬性约束执行:关键规则可以直接绑定到系统模型中,例如“VIP订单金额超过10万必须财务审批”,无法绕过。
    • 变更影响分析:工具基于显式依赖关系,自动计算修改范围和潜在连锁影响,使风险可量化、可管理。
    • 自动化审查:开发者修改订单状态机逻辑时,工具可检测是否违反审批规则或跨模块依赖,并提前阻止潜在冲突。

    通过这种机制,经验从静态文档或开发者脑海中解放出来,变为可计算、可执行的系统资产,开发者从被动遵循经验转向主动依赖系统资产,从而在不额外增加工作量的基础上,显著降低人为失误和跨团队冲突。

    1.2.3 从“工具约束”到“工程范式与管理方法”

    显式资产和自动化审查机制的价值最大化释放,关键在于如何将其上升为可复制的工程范式和管理方法。这不仅是技术问题,也涉及组织流程和治理体系。工具与约束需要与开发规范、协作流程和生命周期管理紧密结合,形成可推广、可持续的工程方法。这个层面的实际操作通常需要基于团队的特点量身定制,其中典型的做法如下:

    • 范式固化:团队需统一建模方法、约束表达和依赖管理规则,确保所有成员遵循相同标准。例如,所有订单规则必须通过模型定义并纳入自动审查,而非分散在代码中。
    • 流程嵌入:开发、审核、测试和部署流程应与资产模型和审查机制融合,CI/CD流程可自动执行规则校验,阻止违规提交。
    • 持续改进与治理:随着系统演进,资产和审查机制需要迭代更新,管理层可基于工具数据评估系统健康状况、风险点和团队遵守规范情况。

    通过上述步骤,经验不仅被显式化和工具化,更进一步形成可复制的工程范式和管理方法。团队不再依赖个体记忆或主观判断,也不限于代码和文档这种传统载体,而是通过更高层次的结构化资产、自动化约束和规范化流程,将长期积累的工程智慧固化为可持续的组织能力,为企业软件的长期可控性提供坚实基础,也为进一步探索元数据驱动的技术路径奠定了前提。

    1.3 从显式工程资产到元数据驱动的探索

    将经验外显化并通过工具进行自动化审查与约束执行,最终形成范式的方法,已经成为企业软件长期可控的重要工程实践。如何将显式工程资产“结构化、可操作化”,形成一种可持续、可治理的系统化方法?这正是向元数据驱动(Metadata-driven)方向探索的起点。

    1.3.1 元数据驱动的关键理念

    元数据指的是用来描述数据的数据。相比于语境单一、限定用途的代码,元数据更适合用来承载多样化的工程资产。理想条件下,我们可以将系统运行所需的全部规则、模块关系、约束条件以及设计决策全部抽象为结构化的元数据。开发活动不再直接依赖代码或零散文档,而是通过工具对这些元数据的解析、验证与执行。这种以元数据驱动运行的模式就是元数据驱动,其关键理念包括:

    • 系统理解基于元数据而非代码:开发者或工具可以通过解析元数据,快速理解模块依赖、业务规则和约束条件,而无需逐行分析实现代码。
    • 工程决策前移:规则和约束在元数据层统一定义,开发者在实现功能前即可获得反馈,从而避免常见冲突和错误。
    • 动态适应与复用:元数据可被不同工具和模块复用,实现跨系统、跨项目的统一治理。例如,通用的权限规则、审批流程、数据校验规则可以通过元数据一次建模,多系统共享执行。

    例如,在一个订单与库存系统中,VIP客户的审批规则、库存校验逻辑、价格策略等,均以元数据形式定义在统一的模型中。开发者在新增功能时只需要新增元数据,系统可自动解析该元数据与既存的其他元数据,自动进行约束校验,确保新增逻辑不会破坏已有规则。由此,团队从“依赖经验和手工审查”转向“依赖结构化模型和自动化验证”,显著降低理解成本和变更风险。

    1.3.2 元数据驱动的工程价值

    元数据驱动不仅是技术手段,更是工程实践的延伸,其价值主要体现在三个方面:

    • 透明性:系统结构、规则、依赖关系和约束条件被清晰表达,团队可以一目了然地理解系统全貌。例如,某银行信贷审批系统通过元数据定义审批节点、触发条件和责任人,实现跨模块审批逻辑可视化,减少沟通成本。
    • 一致性与可验证性:所有开发、测试和运维活动都以元数据为唯一参考源,确保系统行为符合规则。以电商促销系统为例,元数据定义折扣规则和时间窗口后,自动化生成的测试用例覆盖了规则边界,避免线上出现违规折扣。
    • 可演进性:当业务需求变化时,仅需修改元数据,相关模块和工具即可同步更新,而无需直接改动核心代码。例如,新增VIP客户的审批条件时,只修改元数据定义,系统自动生成约束检查和测试,减少人为操作风险。

    通过元数据驱动,显式工程资产从静态记录转化为动态可操作资源,开发者和工具都可以围绕这些资源进行协作、验证和执行,从而真正将经验从个人脑海和散乱文档中解放出来,实现企业软件工程治理的结构化、可控化和可持续化。更重要的是,这些元数据本身具有可执行的特点,能直接作用于约束检查等环节,一步到位。

    1.3.3 元数据驱动在软件工程中的地位

    元数据驱动的实践不仅改变了技术实现方式,更显著提升了工程治理能力。通过将系统规则、结构和约束显式化,元数据驱动方法能够在自动化审查、约束执行和依赖分析中发挥作用,使企业能够在复杂系统的开发、维护与演进中保持高可控性。

    在企业数字化领域,包括 IT 资产管理、数据治理、业务流程建模和系统配置管理等多个关键场景,元数据驱动已成为大型复杂系统开发的重要实践方法。它不仅让系统规则和约束从隐性经验中解耦,也提供了可验证、可追踪的工程资产,使开发者可以在统一标准下协作,降低理解成本、变更风险和知识传承断层的可能性。在表现形式上,大部分元数据是针对特定业务领域构建的,可以将此类元数据等同于领域特定语言(DSL);也有部分元数据本身采用的是通用的语言,即通用语言。

    事实上,元数据驱动的价值和成熟度已经在多个软件领域得到充分验证:

    BPMN流程HTML页面ORM映射RDLX报表
    企业通过 BPMN 元数据定义流程节点、触发条件和责任人,系统根据元数据自动执行审批、任务分派和状态流转。流程修改即时生效,无需手工调整业务逻辑,实现流程可控性和快速迭代。界面布局、表单字段、校验规则等通过元数据配置,前端平台根据元数据生成完整页面,如基于HTML的Web页面和基于XML的Android原生界面等。修改布局或样式只需调整元数据即可,降低了前端开发和维护成本,同时保证界面的一致性和规范化。数据库表结构、字段约束和关联关系由元数据描述,ORM 或自动生成工具根据元数据创建表、接口和校验逻辑,如 .NET EntityFramework、Spring JPA等,确保数据一致性和约束完整性,同时降低手工操作的风险。报表模板、维度和指标通过元数据配置,BI 系统自动生成报表和大屏。业务分析人员可以快速调整视图和指标,无需手写 SQL 或报表代码,提高数据可视化效率并降低错误率。
    imageimageimageimage

    这些实践显示,元数据驱动不仅适用于单一技术层面,而是可以覆盖企业软件开发、运维和分析的多维环节。通过将系统核心规则、约束和依赖关系显式化,企业能够实现跨模块协作、快速响应业务变化,并为长期可持续演进提供基础。

    在现代企业软件工程中,元数据驱动逐渐成为可控性和工程治理能力的核心标志:它让系统的长期一致性、透明性和可验证性从单纯依赖开发者经验,转向依赖统一的工程资产和可执行规范。这种方法不仅在实践中证明了可行性,也为进一步探索自动化、智能化的软件构建模式提供了坚实的基础,为后续低代码等技术路径的应用铺平了道路。

    image-1773365604352

    image-1773365626550
    有的模型,你的提示词再怎么精确,也听不懂,只会产生负面情绪价值。

    有的模型,比你自己还了解你自己,提供超高的自我肯定的高情绪价值

    MD5 即第五版消息摘要算法,因其原文不同,生成的哈希不同,广泛用于文件校验等

    由于 MD5 的结果为定长则一定会出现不同的输入得到相同的输出(鸽巢原理),因为碰撞难度太高,即便存在缺陷,仍然被广泛使用,直到 2004 年,中国山东大学王小云教授发表一篇关于 MD5 的论文后(理论上一直存在碰撞问题,只是现实中难度太高,该论文实际上展示了碰撞结果,证明了短时间可碰撞出结果),MD5 不再具备碰撞抗性,逐渐被废弃。

    下面是两个不同的文件,其 MD5 是相同的。

    image

    参考资料:
    https://crypto.stackexchange.com/questions/1434/are-there-two-known-strings-which-have-the-same-md5-hash-value
    https://natmchugh.blogspot.com/2015/02/create-your-own-md5-collisions.html