自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1300)
  • 资源 (2)
  • 收藏
  • 关注

原创 别再让AI在业务系统里胡说了!7种角色的Prompt工程实战(附完整Prompt)

本文是 AI 中间层架构设计的续篇,深入探讨 Prompt 工程在业务系统中的实战方法。作者基于智慧社区物业系统的 7 种业务角色(财务、客服、派单员、投诉处理、维修工、物业经理、主管),提出了 Prompt 工程的核心原则:用硬规则约束代替软建议。文章系统性地阐述了三条方法论——用"如果……那么"替代否定式指令、用格式约束限制输出空间、对写操作强制确认机制,并通过真实对话案例展示如何让 AI 在业务场景中不产生幻觉、不编造数据。

2026-08-01 22:42:10 285

原创 前端工程师如何把大模型接入业务系统?这份AI中间层实战指南请收好

本文从前端工程师视角出发,系统分享在智慧社区项目中落地 AI 对话系统的完整工程化实践。文章围绕“AI 中间层”这一核心架构展开,详细拆解了多模型三级路由降级策略、SSE 流式响应处理方案,以及 Docker + Nginx 生产环境部署要点。不涉及模型训练,聚焦于前端如何将大模型能力真正融入业务系统,让 AI 从“聊天玩具”变成“可用工具”。

2026-08-01 22:40:17 235

原创 一次离奇的「codex 命令丢失」排查与修复之旅

一次离奇的「codex 命令丢失」排查与修复之旅

2026-07-14 20:59:45 424

原创 API网关认证鉴权终极指南:JWT/OIDC/Key-Auth/mTLS 生产级配置全解析

本文是一份全面的API网关认证鉴权生产落地指南,详细解析了JWT、OIDC、Key-Auth和mTLS四大核心方案的适用场景、配置步骤与最佳实践。内容涵盖从单体应用到微服务、多系统单点登录、对外开放API管控到金融级安全加固的完整架构演进路径,并提供可直接运行的配置代码、安全清单与决策速查表,帮助开发者构建安全、可扩展的微服务认证体系。

2026-07-14 20:28:00 128

原创 我让AI替我回了1个月消息,每天省下2小时:开源个人助手完全指南

个人AI助手搭建 | 开源免费 | 微信/钉钉/飞书统一管理 | 自动回复+知识库+插件系统 | 5分钟部署,每天省2小时

2026-07-06 21:32:46 426

原创 双状态模型 + ReadableStream:流式 AI 对话前端的架构内幕

双状态模型 + ReadableStream:流式 AI 对话前端的架构内幕

2026-07-04 10:49:54 126

原创 Ollama + LocalCode Windows 本地部署指南:免费打造你的私有 AI 编程助手

本文手把手教你如何在 Windows 上免费部署 Ollama + LocalCode,打造完全离线、数据不联网、无使用限制的私有 AI 编程助手。无需 GPU,8GB 内存即可流畅运行 deepseek-coder:latest (1.3B) 模型。文章涵盖安装步骤、常见问题解决、模型选择指南(1.3B/7B/14B)、实战用法及效果验证,适合代码敏感、网络受限或想摆脱付费额度的开发者

2026-06-08 06:27:36 726

原创 别再只会用 Partial 了!彻底吃透 TS 映射类型的 +?/-? 与 readonly 花式玩法

天天用 Partial<T>,但你真的懂 [K in keyof T] 后面的 ? 和 readonly 吗?为什么一写映射类型,原有的可选属性就被“莫名其妙”洗掉了?本文带你彻底搞懂修饰符的“加减运算”与“同态继承”机制,并附带可以直接抄进项目的部分修饰(SetRequired/Writable)、深浅只读控制及“可选键探测”高阶套路,让你精准掌控对象类型的每一处状态。

2026-10-27 11:28:54 396

原创 千万别裸写 TS 条件类型!一文彻底搞懂分配律陷阱与 never 的“黑洞”效应

为什么 IsTrue<never> 返回的不是 false,而是直接消失?为什么你的联合类型判断总是失控?这背后是 TypeScript 条件类型中最致命的“分配律”机制在作祟,而 never 与 any 则是最大的暗礁。本文从 10K+ Star 源码库提炼出“防御三件套”(IsAny/IsNever/IsUnion),带你彻底看懂分配律的触发条件、never 的三种形态,以及直接可抄的防御骨架,让你的类型推导固若金汤。

2026-10-27 11:23:42 336

原创 把字符串玩成“类型”!TypeScript 模板字面量类型的十八般武艺(万字拆解)

TS 4.1 引入的模板字面量类型,让编译期具备了真正的“字符串编程能力”。本文从两个 10K+ Star 的工具库源码中,提炼出十八般武艺:从联合展开、infer 递归切割、蛇形驼峰自动互转,到类型级路由表、事件名工厂与函数签名提取。每招均配源码级原理解析与可直接抄走的代码。带你真正把“约定”变成“约束”,零运行时成本打造类型安全的 DSL。

2026-10-26 10:17:39 236

原创 读完两个10K+ Star源码库,我提炼了TypeScript高手的8个“工具类型”习惯

还在写又长又臭的类型断言?读完两个10K+ Star的TS工具库源码,我总结了高手必备的8个“工具类型”抽象习惯。从深路径取值(Get)、按值类型挑键(ConditionalPick)到键名转换、类型级函数组合,本文为你拆解痛点场景、源码原理,并附带能直接抄走的“手写简化版”。学会这8招,让你的TS从“能跑”进化到真正的“优雅、可复用、防边界”。

2026-10-26 10:14:58 371

原创 运行时零依赖React和Vue:我把这套钩子设计拆开,发现它是多适配器类库的通用解药

多框架类库的通病是被某一个框架"吃掉"。这个跨端框架的运行时零import任何UI框架,事件中心、生命周期、元素补丁全部通过hooks.call按名注入,由Vue3/React桥接包注册实现。本文拆解完整钩子契约、Vue3根render渲染页面数组、defineProperty代理getApp语义、生命周期横向注入、React自定义渲染器与首屏Promise时序保障。核心结论:解耦不是少写代码,是把变化关进契约里——这套模式可迁移到任何"一内核+多适配器"系统。

2026-10-20 09:13:16 129

原创 一个编译内核撑起十几个平台:我把这套插件式解耦拆开,发现内核里一个平台名都没有

新平台年年冒出来,跨端框架凭什么几个月就出适配版?拆完编译层源码发现:内核根本不认识任何具体平台。新增一个平台的全部工作,是写个平台包注入模板对象和文件类型约定,内核一行不改。本文拆解完整接口设计、双runner共享协议的正交分层、Web端旁路模板的构建别名方案,以及旧编译模式的AST源码改写。核心结论:内核稳定+边缘插件化,把变化隔离在边缘。

2026-10-19 17:06:30 136

原创 没有虚拟DOM的组件库凭什么快?我拆完源码发现:它把账记在了别处

官方原生组件库不谈性能优化,因为起点就是性能上限:零运行时、零diff、零响应式包装。本文拆源码回答三个问题:零运行时在源码里长什么样(四件套、单文件硬约束、快照测试、依赖图构建链);高频手势和全局状态这些运行时本该解决的问题它怎么绕过去(逻辑推到渲染线程、几十行主题订阅器);以及这笔"零抽象换确定性"的交易适用边界——它快,是因为把重写税记在了别处。

2026-10-19 17:03:01 267

原创 一份CSS适配两套渲染引擎:我拆了官方组件库的降级补丁,发现跨端框架早把答案写好了

平台官宣新渲染引擎性能翻倍,迁移文档却藏着一句"部分CSS不支持"。核心样式来自不可重写的外部基础样式库,怎么办?本文拆解官方组件库的补丁文件:能力差异清单如何列、属性选择器如何展开成上百个class、em和无单位行高如何静态换算、变量为何零降级。核心结论:构建期降级与跨端框架样式转译层方法同构——同平台引擎碎片化和跨端碎片化,是同一问题的两个尺度。

2026-10-19 17:00:14 216

原创 深浅色主题别再只会切 class 了!三层架构讲透:CSS 变量 + JS 观察者 + Behavior 混入,一次做对永不翻车

深浅色主题两种翻车姿势:全靠 JS 切 class,运行中改主题无人通知、每页手写监听、切 class 闪白;全靠媒体查询,只能改值改不了结构,JS 拿不到状态。本文拆解官方组件库的三层架构:第一层 CSS 变量静态层,应用配置声明支持深浅色、颜色全走变量,零 JS 吃掉 90% 需求;第二层应用入口观察者通道,应用级单例状态、注册即回调,管换资源与条件渲染;第三层 Behavior + 页面包装函数,onLoad 注册 onUnload 注销,页面零样板且订阅退订严格对齐生命周期。附三层判断法,可直接迁移

2026-10-16 09:46:58 386

原创 小程序组件库为什么集体弃用官方 externalClasses?extClass 设计取舍,一次讲透「不好改样式」的真正解法

组件库B舍弃官方“外部样式类”机制,转而采用显式定义的extClass系列属性,通过在组件中逐个声明可定制节点(如bodyClass、iconClass),将样式扩展降维为字符串属性传参。该设计实现粒度可控的开放:仅允许外部修改明确标注的节点,内部结构保持静态,杜绝因版本升级导致的样式崩塌风险。命名统一使用ext前缀与语义化后缀,形成可预期的API体系,兼顾开发者体验与组件库演进安全。核心原则:显式扩展点优于隐式开放。

2026-10-16 09:41:52 104

原创 小程序表单校验为什么不能用事件冒泡?原生组件库的 relations 命令式直连设计,彻底解决逐层转发之痛

小程序事件只能子通知父、不跨层、无稳定标识,表单聚合被迫逐层转发或散装全局状态。本文拆解原生组件库的 relations 方案:按组件路径声明 ancestor/descendant 关系,linked/unlinked 回调直接拿到对方实例,按 prop 名登记成 formItems 字典,命令式调用 validate/setError 完成校验下发与反向通知。动态增删的一致性由成对回调自动保证,零事件、零转发、零全局状态。

2026-10-16 09:40:00 431

原创 小程序没有 React 的组件级重渲染隔离?我拆开源码,看它怎么手工造了一层

小程序的 setData 是页面级通信,路径再精确,渲染调度仍以页面为粒度,高频更新照样拖垮整页。本文源码级拆解跨端框架的「局部更新容器」:一个编译期生成的空壳组件,如何配合运行时调度、路径相对化、查找缓存与递归渲染器,手工造出组件级重渲染隔离,并给出收益边界与四个可迁移的设计模式。

2026-10-14 11:04:54 178

原创 小程序组件库藏了个官方文档不写的骚操作:type: null 传函数,把「上传到哪」整个甩给业务方

小程序属性系统默认不支持传函数——String 会被字符串化,Object 会在深拷贝快照里丢掉函数字段。本文从源码级拆解组件库的隐藏能力 type: null:它匹配不到任何类型分支,跳过整条「驯化」链路原值直通,于是函数、类实例都能注入组件。上传组件借此把「传到哪、怎么鉴权、怎么重试」完全外包给业务方,自己只留流程骨架。附五种方案淘汰赛、两大风险边界与面试话术。

2026-10-14 11:01:28 425

原创 平台模板不支持递归?跨端框架用“编译期套娃 16 层”硬扛了下来

跨端框架渲染任意深度的虚拟树,却遇上小程序模板不支持递归的死结。本文源码级拆解它的硬核解法:编译期把递归“逐层展开”成 16 层接力模板,再用裁剪器按项目实际嵌套深度砍掉多余层数;双构建链共享同一套模板协议,树数据三层压缩瘦身,H5 端则用构建别名彻底旁路模板。看“编译期消化运行时能力差异”这一跨端核心生存策略如何落地。

2026-10-10 09:31:56 128

原创 跨端样式不只是 px 转 rpx!一套转译、防御、拦截三层体系,讲透 RN 崩溃的真相

跨端样式远不止 px 转 rpx。本文拆解一套成熟框架的样式三层体系:转译层按设计稿比例表分端转单位,防御层为 RN 做白名单、静默降级、大写 PX 绕过缩放,拦截层用 lint 把运行时崩溃提前到编码期。核心判断:消费端容错能力决定防御强度,错误发现成本逐层递增,安全网要有,第一道门才省钱。

2026-10-10 09:29:28 158

原创 面试官问我:小程序没有 DOM,React 的 e.stopPropagation() 为什么还能生效?我当场讲透了这套合成事件系统

小程序逻辑层没有 DOM,原生事件只是一坨 JSON,stopPropagation 根本不存在——可 React 业务代码却能照跑。本文拆解跨端框架 A 的合成事件系统:事件中心如何用钩子注入接住原生事件、target/currentTarget 怎么靠 getter 惰性求值“算”出来、sid 如何反查虚拟节点重建冒泡路径、捕获-冒泡-委托语义怎么完整复刻,并对照原生组件库 B 的相反路线,一次讲透模拟层的收益与性能税。

2026-10-10 09:27:15 524

原创 跨端框架与原生组件库,我把两套小程序方案的源码都拆了

该用跨端框架还是写原生?本文把两套小程序方案的源码都拆开,从编译、运行时、组件、样式、生命周期五个维度逐项对照。框架A用编译时复杂度换运行时兼容性,组件库B用平台绑定换确定性。核心结论:能力差异在编译期消化,而不是运行时if-else。

2026-10-09 11:36:46 125

原创 面试官追问:setData调度为什么用setTimeout而不是微任务?

“setData做合并”都答得上,但追问“为什么用setTimeout不用微任务”就卡住了。本文拆解跨端框架的更新调度器:节点路径把通信粒度压到分支级,路径去重保证语义唯一,宏任务对齐渲染节奏。附可迁移的高频小更新三件套。

2026-10-09 11:27:01 522

原创 一个1.5万行的组件为什么没崩?拆解某渲染引擎的插件总线与双层数据区

1.5万行的核心文件、十几个重型功能,为什么不崩?因为核心文件只负责渲染与坐标计算,其余能力全通过插件总线挂载。本文拆解某渲染引擎的四层架构:核心引擎与插件、编排层、宿主适配层分离;状态按“是否驱动渲染”切成viewState响应式区与cacheStore缓存区,避免十万行数据被递归代理;渲染分三级派生,列配置编译成渲染函数让运行时零分支。附三条可迁移的架构结论。

2026-10-09 11:07:08 424

原创 面试官问我「10万行数据怎么渲染不卡」,我把某渲染引擎的源码吃透了

面试官问“10万行数据怎么渲染不卡”,只答“虚拟滚动”远远不够。本文拆解某渲染引擎的6个核心设计:双向虚拟化、超大滚动条坐标映射、滚动锚点恢复、唯一行ID+双层数据区、hooks插件总线、单元格级编辑缓冲。核心主线是:把需要响应的量压到最小,把不参与渲染的量移出响应式系统。

2026-10-08 10:53:12 436

原创 基于某渲染引擎二次封装企业级CRUD组件:从Proxy协议到“零代码”增删改查

一个列表页手写800行,编排模式只要30行。本文拆解基于某渲染引擎的CRUD封装:用四个标准动作约束时序而不约束接口形状,用字符串路径+函数兜底做字段适配,用四段钩子编排时序并内置页码越界与重复提交拦截,用命令码把工具栏配置化。附60行企业级CRUD组件完整实现。

2026-10-08 10:47:26 165

原创 手写低代码引擎踩坑实录:6个坑,每个都在源码里有答案

看十篇源码分析,不如亲手踩一遍坑。作者用几百行原生JS手写了一个最小低代码引擎,实现了物料拖拽、Schema渲染、属性编辑、撤销重做与表达式,最终测试全绿,但过程踩了6个真实坑:dragover不preventDefault导致drop不触发、坐标系漂移、落点抖动、撤销重做三连坑(快照爆炸/边界写反/默认值陷阱)、表达式能摸到window、undo后redo出平行宇宙。每个坑都对应成熟引擎里一个设计。

2026-09-30 10:57:48 123

原创 低代码面试20问:源码级答案(附知识地图)

两三年前说“低代码就是JSON渲染组件”还能混过去,现在面试官自己就被画布拖拽、撤销重做坑过,答案里有没有“源码味”一听就知道。本文把某低代码引擎几万行源码的设计翻译成20道高频面试题,覆盖Schema协议、渲染机制、拖拽交互、状态历史、工程化五大板块,每题给出标准答案+加分点。附知识地图、三段式回答框架与面试前一晚速查清单。

2026-09-30 10:55:03 575

原创 我扒了几万行低代码源码,抽象出这5个核心设计(附架构图)

低代码的内核是编译器+渲染器+编辑器的三合一系统。本文扒了某低代码引擎几万行源码,抽象出5个核心设计:双态渲染、传感器拖拽、会话式撤销重做、属性即协议、双路径出码。每个设计给出“解决什么问题→怎么做→可迁移的最小实现”,附完整架构图。

2026-09-29 15:37:52 508

原创 本地应用的数据迁移:schema演进的坑与一条能回退的路

本地应用改表结构没有回滚窗口。本文拆解SQLite迁移避坑方案:用user_version记住版本;实测ALTER TABLE能力边界,能ALTER就别重建(代价差50倍);改名做备份会把子表外键引用一起带走,foreign_keys开关管不住,备份用VACUUM INTO。附迁移执行顺序与checklist。

2026-09-29 15:22:04 269

原创 手写词级Diff:从O(n²)到可用的6行代码

用户把“关闭”改成“释放”,字符级diff输出四行增删,人看了只想问改了什么。词级diff的价值在于标记出来的是一个能读懂的词。本文用6行代码把2000词对比从179.4ms降到0.10ms:先砍掉公共前后缀,DP面积缩减99.9%,收益几乎全部来自这一步,而不是换算法。文中给出可直接抄的TypeScript实现、中文切词规则、面积阈值兜底,以及一条止损线:500字符以内直接用字符级。

2026-09-28 09:24:52 440

原创 小工具别急着上React:万行数据下原生渲染的性能账

小工具该不该上React?本文用数据算账:JS生成1万条HTML只要0.88ms,真正的成本是浏览器解析651KB字符串要几百毫秒,差了三个数量级。反直觉的是手写朴素diff反而比全量拼接更慢——字符串拼接从来不是瓶颈。全量重绘的真正代价是焦点丢失、滚动重置、监听器泄漏。正解是用Map持有节点引用做定点更新,实测快五万倍。框架的真正价值是帮你维护状态到DOM的映射,判断标准是“这份映射手写累不累”。

2026-09-28 09:20:29 325

原创 FTS5真比LIKE快吗?我把两万条中文数据压测了一遍

FTS5默认分词器对中文命中数为0。本文用2万条中文语料压测:命中率越低FTS5优势越大,但只取前20条不排序时LIKE反快380倍。trigram有3字符边界,英文场景unicode61更快。附决策表与路由代码。

2026-09-27 09:03:31 687

原创 本地优先应用的SQLite表设计:5个让我返工的取舍

本地优先不是小一号的后端。本文拆解SQLite表设计的5个取舍:JSON还是拆表看是否筛选、时间格式混用会静默错乱、外键默认关闭且事务内设置无效、索引有写入税、schema版本用user_version。附建表模板与checklist。

2026-09-27 08:59:53 517

原创 AI写的项目能跑但不敢改?我的6步重构顺序

AI生成的项目能跑但不敢改。本文给出6步重构顺序:grep量化现状、消除双入口与重复实现、用AppState收敛连接生命周期、状态收成唯一数据源让渲染变纯函数、安全兜底。核心是收敛,并附给AI下重构任务的三个约束。

2026-09-26 10:45:07 414

原创 Tauri应用自动更新:从签名密钥到三平台发布的完整流程

桌面应用一旦分发出去,用户不更新,漏洞就永远留在那台机器上,自动更新是生命线。本文串通Tauri更新全链路:用minisign生成密钥对,私钥只在CI、公钥写进客户端;更新源返回固定结构JSON,用{{target}}/{{arch}}/{{current_version}}做精确分发和灰度;前端延迟检查、给“稍后”选项、安装后必须relaunch();GitHub Actions矩阵构建三平台,Draft Release人工卡点。

2026-09-26 10:41:43 468

原创 不用Git,如何在SQLite里实现版本控制与回滚

内容类工具常有“改回去”的需求,但用户机器上不一定有Git。本文给出一套纯SQLite的版本管理方案:主表存不变元信息,修订表存完整快照,用current_revision_id指针解耦。核心原则是回滚用“追加新版本”而非“回退指针”,保证时间线永远连续;清理时按自增id滑动窗口,必须排除当前版本;时间线排序用id不用时间戳,避免同毫秒抖动。

2026-09-25 21:48:44 344

原创 Tauri桌面应用上线前,必须先查的3个安全细节

桌面应用不是更安全,而是更危险——渲染层一旦被打穿,攻击者脚下是一台有真实文件系统的机器。本文拆解Tauri上线前必查的三个安全细节:CSP默认关闭且开启时易漏掉connect-src的IPC放行;innerHTML拼接用户输入等于存储型XSS,给出textContent+转义+CSP三层防御;API Key写死前端或Rust常量都不算解决,真正管用的是用户自带凭据、服务端代理或可吊销子密钥。

2026-09-25 21:43:47 454

智能房价分析与预测系统设计(基于 Python) 毕业论文思路

适用于本科(或硕士)毕业论文的完整方案

2025-12-02

使任何应用程序位于最顶部 把应用钉住 固定窗口功能

使任何应用程序位于最顶部 把应用钉住 固定窗口功能

2022-07-13

名称:WindTerm_2.5.0 Windows 64位版本zip压缩包 适合人群:合适前后端运维开发人员 使用场景:远程连接

名称:WindTerm_2.5.0 Windows 64位版本zip压缩包 适合人群:合适前后端运维开发人员 使用场景:远程连接

2022-06-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除