尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
数据中台数据质量作业实战:规则配置、冷热表治理与告警闭环
1. 数据质量作业到底解决什么问题先想明白再做数据质量作业这五个字在 AIIData 数据中台里一年到头都有人问。问的人多了我慢慢发现很多朋友其实没搞清楚它和自己的数据仓库到底什么关系上来就建作业、配规则结果不是误报一堆就是漏报关键问题最后跑来吐槽这个产品不好用。先说清楚这玩意儿是干什么的。你平时开发数仓、跑ETL、出报表最怕什么不是跑得慢是跑完了没人发现数据不对。报表出了个负数、用户表多了一堆重复ID、核心维表昨天还几千万行今天只剩几万行这些事故发生后往往不是第一时间发现的而是业务方拿着数据来问你“这数对吗”你才开始查。AIIData 数据中台里的数据质量作业就是把“事后挨骂”改成“事前拦截”的那道闸门。它定期扫描你指定的表或分区对表行数、字段空值率、重复值、数据值域、枚举合法性做校验不达标就告警、阻断下游调度或者直接给你发消息通知。你不需要自己写shell脚本定时跑SQL去核对这些脏活它帮你干。那这个功能适合谁来学如果你是数据开发、数仓工程师、数据治理或数据平台运维手上管着几十张表、好几个核心任务我觉得非常值得把这块学透。哪怕你只负责一张核心看板的数据把一个质量作业配好也能省掉不少半夜被电话叫醒的机会。后面我会从一个完整实战入手从创建作业、配置规则到看运行结果一步步把里头的细节讲明白。2. 核心设计思路拆解规则、调度、告警三位一体2.1 AIIData 质量作业在数据中台里的定位先说个大背景。AIIData 是整套数据中台产品的名字数据质量作业是它的一个子模块和元数据管理、数据资产管理、数据开发、数据服务这些模块是平级打通的。它最有价值的一点不是单点校验而是和调度系统深度绑定你可以在每个产出表的任务后面挂一个质量作业跑完数先校验校验不通过就直接停下游。这个能力非常关键。很多团队会自己写“质量校验SQL”来检查数据但SQL写完之后存在你的开发库里每天靠人去跑出了问题也没有和调度打通最终还得人肉介入。AIIData 把这一步做成配置化的作业质量规则可以复用、可以批量下发、可以自动通知这就是它的产品定位和价值所在。在这套体系里数据质量作业放在“数据资产—质量中心”这个位置。你打开平台会看到质量规则、质量作业、质量报告三类东西。规则是模板作业是规则跑在具体表上的实例报告是每次运行后的结果汇总。记住这三者的关系后面所有操作都建立在它上面。2.2 为什么质量作业要做成“规则表周期”的组合我觉得很多刚开始用的朋友第一个误区是试图为每一张表写一条特别复杂的校验逻辑。比如一个需求写十条规则放在一起跑恨不得把整个业务的底层逻辑都灌进去。这样搞的后果是维护成本极高某天业务变了你根本不知道是哪条规则在误报。AIIData 的做法是让你把规则拆散成原子级别的模板再挂到不同表上。一条规则只解决一个问题比如“非空校验”就是判断某字段是否为空“表行数波动”就是对比今天和昨天差了百分之多少“枚举值合法性”就是检查某字段是否落在指定的枚举值范围内。这样设计有几个好处单条规则语义清晰出问题立刻能定位是哪方面的质量原因同一套规则模板能复用到几十张表上比如每张表都配“主键不重复、非空、行数波动不超过20%”一次配好批量应用性能压力可控校验是分片执行的而不是一条大SQL全表扫然后每个质量作业包含“校验的表”“应用哪些规则”“按什么周期跑”“跑完不通过怎么办”这几件事。你可以理解成写了一个定时任务只不过定时任务的核心逻辑是从规则库里挑出来的几条规则跑在指定的表和字段上。后面实战我会演示如何完成这几步配置。2.3 冷热数据和归档表的引入质量作业不能一刀切这次很多人搜索“数据中台的冷热数据”“归档表”我觉得这和数据质量作业的关系比想象中密切。我先解释一下冷热数据是什么概念。中台里数据是分温度的。热数据指那些每天被加工、查询频繁的核心明细表、维表比如今日订单表、用户实时维度表温数据可能按周或按月更新冷数据基本上就是过了生命周期、只用于历史追溯或报表回溯的数据。而归档表则是把冷数据从生产环境迁移到成本更低的存储介质或者独立分区里平时基本不参与线上计算。问题来了很多团队对所有表一视同仁地配质量作业结果归档表每天都在告警。原因很简单归档表不做每日增量写入你今天比对昨天的行数肯定是大波动某个历史字段当年允许为空现在用热表的标准去非空校验也必然不通过。这就是没做好冷热分离导致的“质量作业疲劳”——真出问题时告警被淹没在一片误报里。所以在我自己的实践中质量作业应当是“热表严查、温表抽检、冷表归档表低频粗查”。热表周期按小时甚至分钟级做严格规则温表按天校验波动即可归档表只在每次写入归档动作完成后跑一次全量校验校验历史数据完整性而不是天天拿日增量规则去套。这个思路你不一定在官方文档里看到但是踩过坑的人都懂。3. 从头演示在 AIIData 上创建一个数据质量作业的全过程3.1 前置准备先有一张要治理的表这次演示我假设一个比较常见的场景你维护了一张电商订单日表dwd_order_di每天凌晨由数仓任务写入当天订单明细。这张表的产出直接影响管理层看板、营收报表以及下游好几个指标。表结构大概长这样字段名类型说明order_idstring订单ID业务主键user_idstring下单用户IDorder_amountdecimal(10,2)订单金额必须大于0order_statusstring订单状态取值 pending/paid/shipped/finished/closedprovincestring收货省份必须非空create_timedatetime创建时间这种表是典型的热数据表每天大量写入下游依赖很多。按我的经验它至少需要保证订单ID不能重复、金额不能为负数、省份不能为空、订单状态必须在合法枚举值里、每天数据量不能和前日偏差太大。在 AIIData 质量作业配置前你需要先确认这张表已经被采集到了中台的元数据里。打开“数据地图”或“元数据管理”搜索表名dwd_order_di能看到字段信息、分区信息、所属项目空间。如果你的表根本没有被平台采集或者字段信息是空的先跑一次元数据采集再回来配质量规则否则后面选字段时会找不到。3.2 创建质量作业选择表与基础配置登录 AIIData 数据中台进入“数据质量”模块左侧菜单有“质量作业”点击“新建质量作业”。这时候需要填几项基础信息作业名称dwd_order_di_每日质量校验所属目录建议按业务域建目录比如电商/交易/核心表调度周期先选“天”每天凌晨3点执行一次运行引擎选择默认调度资源组责任人填你自己方便收到告警通知这里有个细节作业名称一定要带上表名和校验维度比如“每日质量校验”这个后缀。后期你的作业数量上来后列表里能一眼看出哪个作业是干什么的不用点进去看。平台的搜索功能是按名称模糊匹配的规范命名能让检索效率高一截。关于所属目录我多说一句很多团队不建目录全把作业放在根目录下面三个月后就有上百个作业看不见全貌。这个目录相当于给质量作业做分类我建议直接对齐业务线建二级目录比如“交易域”“会员域”“商品域”后续批量授权和排查都方便。基础配置填完后下一步就是挑选要执行的规则了这是整个作业最核心的部分。3.3 配置质量规则从三个维度入手覆盖表、字段、自定义AIIData 的规则配置分三大类表级规则、字段级规则、自定义SQL规则。我强烈建议能用前两类解决的就不要用自定义SQL维护成本低平台执行性能也通常更好。第一类表级规则。最常用的是“表行数波动”和“表是否存在”。我一般是这么配的规则名称dwd_order_di_当日行数较前日波动不超过20%比较方式今日行数 VS 前一日行数变化率超过20%判定失败执行周期每天这条规则的核心目的不是抓几千几万行的细微差别而是要拦截那种大规模数据丢失或者重复写入的故障。比如某天任务上游漏了一个分区今天只写入昨天的一半数据行数波动直接超过50%这种级别的异常必须当天发现。第二类字段级规则。我经常给热表配置五类规则类型配置说明校验内容非空校验字段province空值率不超过0%不合法统计为空的行数超阈值失败唯一性校验字段order_id去重统计确认业务主键没有重复值域校验字段order_amount大于0拦截负数或零金额的脏数据枚举校验字段order_status指定合法枚举值集合拦截非法状态值正则校验字段user_id符合规定的ID格式拦截格式错误的数据配置时重点注意“空值率”和“告警阈值”这两个参数。默认空值率一般填0但是实际生产中有些上游表本身就会容忍一定的空值率比如手机号字段填写率95%就算正常。千万不要一刀切都填0先看一段时间的数据分布再定阈值。我的建议是新建作业后的前两周先跑“观测模式”只记录不告警拿到真实通过率后再调阈值到合适的值。第三类自定义SQL规则。比如我要校验“当日订单金额总额和昨日比较偏差不超过30%”这需要一段带聚合的SQL。AIIData 支持在规则里写SQL片段并指定返回值为一个数字数字满足条件视为通过。这种规则适合做业务口径级校验因为它已经超出了单纯字段质量的范畴在监控“指标突变”上效果显著。缺点是要你维护SQL一旦表结构调整SQL很容易失效所以保持数量克制。配置好规则后平台会生成一个规则预览页能看到每条规则要扫描的表分区、涉及字段、预估扫描量。我建议在上线前先看看扫描量的预估值如果单次扫描涉及的数据量在几十亿行级别即使是分片扫描也会消耗不少计算资源最好缩小到最近一个分区或者只做抽样。3.4 调度周期设置热表、冷表、归档表分别怎么定调度周期是质量作业非常容易被忽视的一环。我见过太多人不管什么表都默认每天0点跑一次这样对热表来说太慢了对冷表来说又太浪费。在 AIIData 新建作业时调度周期可以从分钟、小时、天、周、月里选择也可以使用“依赖上游任务完成后触发”这样的机制。我实际使用中总结出一套经验核心事实表比如订单表、交易流水表每天跑一次远远不够。我建议在每批次数据写入后触发校验也就是挂依赖。比如你的数仓任务在每天凌晨1点30分写完当日分区质量作业就在这个任务之后触发等它跑完到2点前如果出问题早高峰报表还没开始刷新你有充足时间处理。重要维表比如用户维表、商品维表每天跑一次就够了因为维表不是高频写入。日增量表、日志表可以按小时跑一次或每两小时跑一次主要是为了快速发现采集链路中断。归档表和冷表每周或只在归档任务执行后跑一次“全表快照校验”不需要日跑。一是因为归档表数据基本不变化天天跑浪费资源二是因为归档表通常数据量巨大日跑会占用大量存储扫描资源。就我观察很多团队把归档表纳入每日质量扫描后计算账单明显上涨但并没有换来任何质量提升。调度还有一个“超时时间”和“重试次数”的配置。质量作业如果跑慢会影响占用调度资源建议设一个合理的超时时间比如30分钟。重试次数默认是0但校验类作业我一般设置1次重试避免因为集群抖动导致误报。3.5 告警通知至关重要宁可多一点不可没有质量作业跑完的结果如果长时间没人看那等于没做。AIIData 的告警通知支持短信、邮件、钉钉或企业微信机器人的Webhook。我在配置告警时有过这样的教训一开始只在告警里填了自己一个人结果某天凌晨作业告警了我在睡觉没看到第二天早上才发现数据问题业务报表已经带着脏数据发出去了。所以告警配置要遵循两条原则第一告警通知至少两个通道。邮件是异步的可能不会被及时看到配合钉钉或企业微信的机器人推送到群里群里再当班的人响应速度才有保障。有的团队直接把质量告警接到值班群按告警级别不同的人这个实践非常推荐。第二告警级别要分级。AIIData 支持按规则严重程度分设“提示”“警告”“严重”三档比如字段为空这种可以设警告主键重复或者表行数归零要设严重。严重级别的告警可以阻断下游调度警告级别的只是记录不阻断。这里我的经验是是否阻断下游一定要谨慎。表全没数据这种必须阻断单字段空值率上升但还在阈值内先放行并通知人去看否则一次小波动就把整条链路卡住业务影响反而更大。3.6 冷热数据与归档表在质量作业里的实际玩法前面把冷热数据、归档表拉出来专门讲了一遍这里落到实际操作上。对于热表规则要严、调度要快、告警要全。比如dwd_order_di每天要校验主键重复、金额非负、省份非空、状态枚举合法一个都不能少而且必须在批次写入后立刻校验。对于冷表比如两年前的历史订单分区它的数据是写死的。这时候质量作业只要关注“表能不能查到”“分区数是否正确”“关键字段统计是否为空”。你可以建一个专门的“归档表质量作业统一模板”把非空校验放宽到历史可容忍的范围只做粗校验。对于归档表我遇到过的最典型问题是把归档表当成普通分区表做增量行数波动。归档表经常会一次性把几个月甚至几年的分区合并写入到冷存储每天行数波动不是增几个百分点而是从0到几亿行波动规则必然告警。所以归档表做质量校验的正确姿势是在归档任务的最后一步挂一个全量质量作业对该次归档的分区做“写入后快照校验”确认行数符合预期、主键无重复、字段完整性达标然后这个作业这个月就跑这么一次。这个做法既能保证归档过程数据不丢又不会每天被无意义的波动告警骚扰。强烈建议所有维护归档表的团队把这条记下来。4. 实战复盘一次从脏数据产生到质量作业拦截的完整经过4.1 制造一个真实的数据问题场景理论讲多了容易飘不如把一次真实的运行记录拿出来复盘。假设今天是某一天我故意在上游ETL里引入一个bug因为join逻辑写错导致dwd_order_di当天写入的数据几乎全都没有province字段同时有约10%的订单ID重复。如果用这个表去刷新业务报表那么“分省销售报表”会瞬间多出一堆空省数据GMV被重复计算10%。这个场景是现实中很常见的尤其是用了错误的去重逻辑或者left join后主键膨胀。在我刚接触数据治理的那几年这种问题往往要到次日上午业务方跑数时才会暴露中间浪费大量时间定位是出数任务的问题还是报表逻辑的问题。现在假设我已经按前文建好了dwd_order_di_每日质量校验这个质量作业里面包含了主键唯一性校验、非空校验、行数波动校验、枚举校验等规则且挂在dwd_order_di每日产出任务之后。这个 bug 导致的脏数据写入后会发生什么4.2 质量作业如何发现异常并通知到人当天凌晨ETL任务跑完质量作业随之启动。平台先扫当日分区然后逐条规则执行非空校验扫描province字段因为几乎全为NULL空值率远超设定的0%判定失败唯一性校验对order_id做去重统计发现10%重复判定失败行数波动校验行数和昨天相比基本持平通过枚举值校验order_status都是合法值通过最终质量作业整体标记为“失败”告警在作业结束后的几秒内发出。钉钉群里出现一条消息内容大致是质量作业 dwd_order_di_每日质量校验 失败失败规则非空校验[province]唯一性校验[order_id]请前往平台查看运行日志。因为设置了严重级别且启用了阻断机制挂在后面的报表刷新任务没有启动。早上的你做不了别的第一件事就是打开 AIIData 质量作业界面点开当次运行实例能看到是哪条规则对应的哪一段数据导致不通过。平台还会把具体的异常数据样例展示出来比如列出几条province为空的订单记录帮助你快速确认是上游逻辑问题还是数据本身问题。对比一下没配质量作业的情况这个 bug 会让你早上被业务方质问然后花一小时查任务日志、反复核对数据最后才定位到上游join。而现在有了质量作业你的定位时间压缩到十分钟以内而且下游报表没有被脏数据污染这就是它的核心价值。4.3 发现后如何闭环处理质量作业告警只是起点不是终点。我一般把质量问题的闭环分为三步第一步确认影响。先从质量作业报告里看失败规则命中了多少数据比如空值的省份会影响哪些报表、重复订单会影响哪些指标。评估严重程度决定是否需要立即阻断或者可以放行给一个观察期。第二步修复数据。如果是上游ETL逻辑错误修正代码后对对应分区做重跑。注意重跑之后质量作业会再次触发本次如果通过系统自动把状态置为“成功”告警自动恢复。这里提醒一点修复后一定要回到质量作业页面看一眼最新运行结果不要改完代码就以为万事大吉我见过改完之后忘了重跑质量作业第二天继续告警的情况。第三步沉淀经验。如果这个质量问题值得长期盯就把对应的规则强度再提一档如果是新出现的异常模式可以考虑写一条自定义SQL规则纳入后续监控。数据质量本来就是持续迭代的质量作业不是配一次就完事而是一个逐渐完善的过程。5. 常见问题与排查技巧实录把踩过的坑一次性说清5.1 规则误报太频繁告警被“狼来了”效应淹没误报是数据质量作业使用率下降的第一大杀手。我见过有的团队一开始很积极结果每天几十条告警大部分点开一看都是正常波动久而久之没人处理告警真问题出现时反而被忽略。误报的根源基本是两类。第一类是阈值设置过紧和实际数据的自然波动不匹配。解决办法是先把规则设为“仅记录”模式跑一两周统计通过率再根据真实的波动区间把阈值调宽到合理范围。第二类是把冷表和热表用同一套模板这个前面已经说过归档表天天高波动必然误报。另外要特别提醒表行数波动不要只看“今天比昨天”。周一和周末的数据量本身就有天然差异如果业务有明显的周期性应该用“同比上周同日”或者“近7天均值”作为基线。AIIData 的行数波动规则里比较基线通常可以选“前一日”“上周同期”“近N天均值”我在有活动促销的电商场景里都是用“近7天均值”做基线这样波动率才会在一个稳定区间否则每周一早上必误报。5.2 质量作业本身跑失败或者一直不触发质量作业经常运行失败最常见的原因有这几种一是被扫描的表中途发生了 schema 变更。比如业务同学在表里加了一个字段你配置的规则里还引用着旧的字段名质量作业在准备阶段就会因为找不到字段而失败。这种情况的排查方式是看质量作业的运行日志平台会明确提示某个字段不存在。治本的办法是每次上游表结构变更后同步检查并更新质量规则。二是运行资源不足。质量作业本身也是一份计算任务在早上所有ETL任务都集中跑的高峰期如果你没有给质量作业预留独立的调度资源它可能会排队等待很久甚至超时失败。我的建议是给质量作业配置单独的调度资源组和并发上限避免被日常开发任务挤掉。三是上游写数任务还没完成质量作业就已经开始扫了。明明配置了依赖但偶尔还是会出现扫到半截数据的情况。这是因为部分任务提交给调度系统时依赖关系没建立或建错层级。排查时直接看调度实例图确认质量作业上游是“产出 dwd_order_di 那个任务”而不是其他任务。这一条实际上是最常见的一旦依赖挂错表面上看作业每天在跑实际扫到的全是上游写了一半的数据。5.3 质量作业运行时影响正常业务查询质量作业要给表做大范围扫描在某些时候确实会冲高计算资源的占用影响正常的报表查询和分析任务。有人为了解决这个问题把质量作业的调度周期拉得很长比如一周跑一次结果数据问题发现得太慢。这里我提供两个折中方案。第一个方案是降低扫描粒度。AIIData 的规则可以指定扫描分区范围对热表只扫最近几天的分区对冷表直接扫归档分区可以做成月级扫描。你可以把“表行数波动”这种规则设置成按分区执行而不是全表扫描这样数据量和资源消耗都小得多。第二个方案是错峰运行。观察集群的任务负载曲线把质量作业的调度时间放到相对空闲的时间窗口。尽量避开凌晨整点的大规模ETL集中运行阶段比如从3点挪到3点40分。经过错峰之后我遇到过的一些资源竞争问题明显缓解。关于扫描性能还有一个很多人不知道的点规则越多并不是越好。每加一条规则就多一次扫描开销。在配置规则时保留真正能反映问题核心的规则就好不要为了“看起来全面”把无关字段全都配上非空校验。冗余规则只会让质量作业更慢、误报更多对数据质量的提升反而没有帮助。6. 最后的几点实操心得AIIData 数据中台的数据质量作业说到底是一个把被动救火变成主动预防的工具。但再好的工具用不好也只是个摆设。我这些年用下来的核心体会是质量作业要“先窄后宽”先聚焦最核心的两三张表把规则调校准确、告警流程跑通再扩展到更多表不要一上来就铺一大堆规则那样只会把维护成本抬得很高最后反而坚持不下去。另外可以分享一个小技巧不要只在新建作业时才去看质量报告。我每隔一两周会专门打开 AIIData 的质量报告中心看过去一段时间内哪些作业在频繁失败、哪些规则的告警命中率最高。命中率高的规则说明这块数据的确容易出问题值得加强命中率几乎为零的规则如果不是核心强约束反而可以考虑下线节省资源也减少噪音。数据质量这件事没有一劳永逸业务在变表结构在变规则也得跟着变。时不时回到平台上把规则、调度和告警都重新过一遍你的质量作业才能一直保持在一个能打的状态。希望这篇实战演示能让你少走几步弯路回去把第一张核心表的质量作业建起来剩下的就交给时间慢慢迭代。
RELATED

相关推荐

胎心仪语音引导方案:同步胎心数据与用户操作

胎心仪语音引导方案:同步胎心数据与用户操作

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/19 3:26:50
微带功分器设计:ADS原理图与EM联合仿真实战指南

微带功分器设计:ADS原理图与EM联合仿真实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/19 3:26:50
Spring Boot电影院系统:高并发选座与订单防超卖实战

Spring Boot电影院系统:高并发选座与订单防超卖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/19 3:26:50
MORE NEWS

更多资讯

📰

AlphaFold结果解读:pLDDT、PAE、pTM与ipTM实用指南

我见过不少刚接触AlphaFold的同行,第一次跑完拿到结构就特别兴奋,打开PyMOL把pLDDT值往模型上一映射,看到大片大片蓝色和青色,立刻觉得“成了”,然后直接把这模型拿去做对接、做突变解释,甚至写进文章里。直…

📰

Windows下从零搭建Spark本地集群:环境配置与实战避坑指南

想在Windows上跑Spark,很多人第一反应是"这玩意儿不是跑在Linux服务器上的吗"。我一开始也这么想,直到有次接了个数据分析的私活,手头只有一台Windows笔记本,客户又要求用Spark做用户复购率分析,硬着头皮在W…

📰

搜索性能评估四锚点:数据规模、查询特征、SLA与运维水位

1. 为什么“比ES快5倍”这个说法本身就需要被拆解“推荐一个比ES快5倍的搜索引擎”——这句话在技术社区里像一枚扔进水塘的石子,涟漪一圈圈扩散,但很少有人蹲下来捞起那块石头,看看它到底是什么质地。我从2014年开始做搜索相关系统&#xff…

📰

移 Codex 的调用出口,TaoToken 统一发 Key

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Arthas base64 命令详解:在 Java 诊断终端内完成 Base64 编解码

Arthas base64 命令详解:在 Java 诊断终端内完成 Base64 编解码 【免费下载链接】arthas Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas 项目地址: https://gitcode.com/gh_mirrors/ar/arthas Arthas 内置的 base64 命令提供了与 Linux b…

📰

Front-End Checklist 定义列表语义指南:用正确的 dl/dt/dd 结构构建无障碍术语-描述关系

Front-End Checklist 定义列表语义指南:用正确的 dl/dt/dd 结构构建无障碍术语-描述关系 【免费下载链接】Front-End-Checklist 🗂 The essential checklist for modern web development, for humans and AI agents 项目地址: https://gitcode.com/gh_…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬