自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 vue中的watch详细讲解保证看的明明白白

|------|--------------|-----------|| 根据已有数据计算新值 | ✅ 完美 | ❌ 不推荐 || 数据变化时执行异步/副作用(如请求) | ❌ 不行 | ✅ 完美 || 监听多个数据联动 | 可以,但麻烦 | ✅ 方便 || 性能要求高 | ✅ 有缓存 | ❌ 无缓存,每次触发 |### 深入:监听对象和数组基础用法很简单,但如果你监听的是一个对象或数组,事情就变得微妙了。是 Vue 提供的一个“监视器”,让你能监听某个数据的变化,并在变化时执行自定义的逻辑。

2026-07-31 16:59:34 173

原创 独立开发:这才过去一个月?

## 第四周:技术与商业的平衡现在,一个月过去了,我的产品有 87 个注册用户,付费转化率约 2%,虽然赚的钱还不够付房租,但我悟到了一个真正重要的道理:**独立开发者的技术能力只是基础,更重要的是产品思维、用户洞察和持续迭代的能力。回看这 30 天,我经历了一开始的自大、中期的焦虑、后期的务实,最终找到了自己的节奏。今天,当我坐在出租屋里,盯着屏幕上第 27 个未修复的 bug,突然意识到——这才过去一个月,我怎么感觉像过了一年?不过,我反而更坚定了——因为我知道,这条路虽然难,但每一步都算数。

2026-07-31 16:58:29 205

原创 [深度学习] 大模型学习-RAG技术全景解析

基础实现很简单。

2026-07-30 17:17:40 218

原创 支付宝小程序IDE突然极不稳定

小程序IDE中,开发者常用的。## IDE“白屏”之谜:渲染进程与主进程的通信机制IDE突然白屏,通常是由于渲染进程崩溃或主进程响应超时。当开发者编写的代码中存在同步的耗时代码(如大量计算、阻塞网络请求),会阻塞渲染进程的事件循环,导致无法响应IDE的绘制指令。当项目文件数量过多(如超过1万个),或文件变更过于频繁(如使用自动保存的编辑器),监听器会触发大量事件,导致主进程CPU飙升。:在IDE中打开该页面,观察任务管理器或IDE自带的性能监控工具,会发现内存持续上升,最终导致IDE卡顿甚至崩溃。

2026-07-30 17:15:12 309

原创 告别 DOM 的旧时代:从零重塑 Web 渲染的未来

renderjavascript// 创建一个自定义元素,使用 Shadow DOMclass MyCard extends HTMLElement { constructor() { super();// 创建 Shadow DOM(封闭模式,防止外部访问) const shadow = this.attachShadow({ mode: 'closed' });// 创建内部结构 const wrapper = document.createElement('div');

2026-07-29 15:56:51 182

原创 rage 存入的数据在页面关闭后,会自动清除。 、相同 URL 的每个 tab 页签的 sessionStorage 会被隔离,互不 ...

相同 URL 的不同标签页拥有独立的会话上下文,数据严格隔离。### 1.2 底层实现原理浏览器为每个页面会话分配独立的存储空间,该空间与浏览器的渲染进程绑定。当页面关闭时,渲染进程销毁,关联的存储数据也随之释放。### 2.2 隔离的底层原理浏览器为每个标签页(或窗口)分配独立的渲染进程(现代浏览器如 Chrome 会为不同站点的标签页分配不同进程,但同站点的标签页可能共享进程)。:- 在当前标签页执行此代码,数据会被存储。会独立演变,不再同步。的行为与普通模式一致:页面关闭后数据清除,标签页之间隔离。

2026-07-29 15:55:44 167

原创 主流 nodejs 包管理器 pnpm vs bun vs npm vs yarn 简单横评

随着 Node.js 生态的不断壮大,包管理器作为开发流程的核心工具,其性能、功能和设计哲学直接影响开发效率与项目稳定性。本文将从底层原理和实际使用角度,对 npm、yarn、pnpm 和 bun 这四款主流包管理器进行横向对比,并附带可运行的代码示例,帮助读者理解它们的核心差异。—### 二、yarn:经典替代,加速与确定性Yarn 由 Facebook 于 2016 年推出,旨在解决 npm 的性能和可靠性问题。编写,原生支持 HTTP/2 和多线程下载,安装速度比 npm 快 10-30 倍。

2026-07-28 17:39:23 217

原创 效,导致大量数据需要重新迁移,引发 “哈希雪崩”。 key的hash值 节点数 求模 % = % = % ...

基础概念。

2026-07-28 17:38:18 159

原创 Group By很慢,如何定位?如何优化?

### 代码示例1:定位慢查询以下是一个 Python 脚本,用于模拟慢查询并打印执行计划。### 高级优化:分区、预聚合与数据库配置当索引无法满足需求时,需要更高级的策略。,说明数据库进行了全表扫描,这是慢查询的典型特征。### 基础优化:索引与查询调整针对慢查询,最直接的优化是添加索引和调整 SQL 语句。过滤数据,能显著减少处理量。、慢查询日志)和优化技术(索引、分区、预聚合),你可以显著提升查询性能。例如,按月份分区,查询只扫描相关分区。:使用物化视图或汇总表,定期计算聚合结果,供查询直接使用。

2026-07-27 16:12:49 221

原创 在国企干了 年 Java,居然不知道 RPC?这正常吗?

评论区瞬间炸开了锅,有人嘲讽这是“养老式编程”,也有人表示理解:“国企项目大多是单体架构,RPC 用不上很正常。## 三、RPC 与微服务架构的深度绑定在国企项目中,很多系统仍然是“大单体”架构——一个 WAR 包部署到 Tomcat 上,所有逻辑都在同一个 JVM 进程内。就像你不会因为每天用电灯就要求理解发电厂原理一样,但如果你是一名电工,不懂交流电和变压器的区别,那就说不过去了。## 五、从 RPC 到分布式系统的必修课理解 RPC 只是第一步,真正掌握分布式系统还需要:-这不是技术能力问题,而是。

2026-07-27 16:11:34 177

原创 webapi接口请求。 一、为什么要用async、await? 异步编程可以提高系统的吞吐量,async/await语法简化了异步编 ...

2026-07-26 15:56:58 170

原创 为什么要用async、await ?

解决了异步编程中的三大痛点:同步模型的阻塞浪费、回调地狱的代码混乱、以及手动管理并发的高复杂度。它通过协程和事件循环,在单线程内实现高效的非阻塞 I/O,同时保持代码的线性可读性。问题在于:当等待网络响应时,CPU 完全闲置,但线程被阻塞,无法处理其他任务。对于高并发场景,这种浪费是致命的。时,它会主动让出控制权,事件循环可以切换到其他就绪的协程。协程是特殊的函数,可以在执行中暂停和恢复,而事件循环负责调度协程。语法提供了一种优雅的解决方案,它让异步代码看起来像同步代码一样清晰,同时保持非阻塞的高效性。

2026-07-26 15:55:48 226

原创 基于 SocketIO 消息协议设计报文规范,构建FastAPI上的SocketIO 应用

支持多种传输方式。

2026-07-25 16:06:34 229

原创 使用 Rust 实现的基础的List 和 Watch 机制

在软件开发中,我们经常需要一种机制来跟踪数据的变化,并在变化发生时通知相关的观察者。在编程中,List 是一个可共享的数据集合,Watch 是一种监听器,当 List 中的数据发生变化时,所有注册的 Watch 都会收到回调通知。这种机制在很多场景下非常有用,比如:- 实时监控系统状态- 前端状态管理- 游戏中的事件处理- 分布式系统中的配置更新## 基础设计思路我们将用 Rust 实现一个简单的 List 和 Watch 机制。- 观察者模式的核心结构:List 存储数据,Watcher 接收通知。

2026-07-25 16:05:22 189

原创 吴恩达深度学习课程一:神经网络和深度学习 第三周:浅层神经网络(三)

参数初始化。

2026-07-24 16:37:57 252

原创 从零实现富文本编辑器#-浏览器输入模式的非受控DOM行为

/ 只取纯文本 // 或者使用getData('text/html')并解析 const selection = window.getSelection();if (!// 重新调整光标位置 const range = selection.getRangeAt(0);});接受非受控性全面测试。

2026-07-24 16:35:21 218

原创 当纺织机轰鸣而来——一个数字时代“纺织女”的自白

2026-07-23 16:14:41 232

原创 需求描述工程师的成长路径

2026-07-23 16:13:23 154

原创 上班摸鱼玩塔防,竟然是为了学架构?

聪明的架构师会混合使用。## 塔防游戏 = 系统架构的微观世界塔防游戏的核心逻辑很简单:敌人沿着固定路径前进,玩家在路径旁放置防御塔,试图阻止敌人到达终点。### 敌人的生成速率 = 请求的流量峰值在塔防中,敌人会按波次生成,每波敌人的数量、速度、血量都不同。运行这段代码,你会看到请求如何被限流器(魔法塔)和缓存塔处理,当缓存塔队列满了,请求就会进入降级流程——这完全就是真实系统中流量治理的缩影。### 策略二:迷宫布局(服务网格)高级塔防玩家会设计复杂的“迷宫”,让敌人走更长的路,给塔更多时间输出。

2026-07-22 20:41:09 218

原创 K8s Helm部署模板编写指南:快速掌握核心技巧

变量引用。

2026-07-22 20:35:56 232

原创 Lua--基础入门

SciTE是一款Lua脚本测试编辑器,提供Lua编辑运行环境。在脚本文件第一行增加#!/usr/bin/lua,表示当前文件使用/usr/bin/lua 命令来运行。Lua中的变量默认都是全局变量,即使声明在语句块或函数里。var为循环遍历,exp1为循环初始值,exp2为循环结束值,exp3为循环步长。Lua中函数以function开头,后跟函数名和参数列表,以end结尾。先使用lua命令进入lua命令行模式,然后输入语句后回车开始运行。泛型for:用于遍历table中的值,要与Lua的迭代器联合使用。

2026-07-21 15:15:45 227

原创 IntelliJ IDEA 无法识别 Maven SNAPSHOT 依赖,但 Maven 编译正常

使用 mvn compile 或 mvn package 编译完全正常IDEA 中对应的类无法识别,显示红色报错打开 IDEA 的 Project Structure > Libraries,可以看到该依赖的路径指向一个不存在的 JAR 文件例如,IDEA 中显示的路径为:~/.m2/repository/com/example/my-service-client/1.0.0-SNAPSHOT/my-service-client-1.0.0-20240101.100000-1.jar ← 文件不

2026-07-21 15:15:12 204

原创 FastAPI配置管理避坑指南:从硬编码到 .env 与 pydantic_settings 类,连路由用法都给你捋清楚

你在 my_project 目录下执行 python app/main.py 或者 uvicorn app.main:app ,当前工作目录就是 my_project,所以它能找到同级的 .env,稳稳的。我有次就是忘了这一步,差点把密钥推上去。这里所有敏感值都来自外部,代码里没硬编码,而且 pydantic 在启动时就会校验类型,数据库地址格式不对的话,应用压根起不来,早报错早治疗。既然 Settings 类已经在用了,那 .env 文件到底该扔在哪儿,绝对是个“说大不大,说小坑一堆”的问题。

2026-07-20 14:59:18 158

原创 C# 实现 Excel 页面自定义设置 (页面布局、打印优化)

从基础的页边距、纸张方向,到进阶的打印区域和分页符控制,开发者可以完全通过编程方式自动化完成 Excel 文件的打印与显示配置。当处理包含多个工作表且需要为不同工作表设置不同打印方向的场景时,务必注意一个关键配置:需要将 Workbook.ConverterSetting.PrintWithSheetPageSetting 属性设为 true,否则打印时多个工作表可能会统一使用同一个方向。插入分页符后,Excel 在打印时会按照设定的分页点进行分页,精确控制内容的页面分布。

2026-07-20 14:58:40 184

原创 【ASP.NET Core】在 Windows Forms 中运行 Web 服务器

最近,老周接了一个很“简单”的项目,就是车间大约有 45 台压条机,姑且这么叫吧,也不知道机器的真名叫什么,反正工人是这么叫的。他们请另外的团队做了固件,但问题,它能上传了,没人接收。是个大聪明,获取 IHostApplicationLifetime 服务,毕竟这个服务是框架自动添加的,当 Host 启动后,会触发 ApplicationStarted,而 ApplicationStopping 是在 Host 即将完蛋时触发,而且,它会一直 block,直到注册的委托执行完成。运行之后,咦,没反应。

2026-07-19 15:54:25 207

原创 PicoServer的哲学:不是Web框架,是Web胶水

如果需要的不仅是 HTTP 接口——大文件上传下载(流式异步、断点续传)、视频流推送(无缓存、分块传输)、SSE 或长连接推送(低内存持续推送)、WebSocket 双向通信(与 WebAPI 共用端口)、静态文件托管、CORS、Cookie 管理、Token/JWT 鉴权、特性路由、API文档自动生成——全都有。PicoServer 借助开源 .NET 平台来做这件事——为你的 .NET 程序添加 Web 能力,让设备能对话,让系统能互通,让旧程序能被调用、被管理、被赋予新的能力。想配合任意第三方库?

2026-07-19 15:53:22 233

原创 Redis--Redis分布式系统的原理与实操

通过命令redis-cli -c --cluster add-node {newHost}:{newPort} {existHost}:{existPort}将新节点加入到系统中,其中{newHost}:{newPort} 是新节点的地址,{existHost}:{existPort} 是原系统中任意节点地址。这些节点启动后仍然时6个独立的Redis,通过redis-cli --cluster create 命令将6个节点创建成一个分布式系统。当批量写入多个key时,由于多个key会计算出多个solt。

2026-07-18 15:33:41 190

原创 二进制安装Kubernetes(k8s)v1.36.0

环境主机名称 IP地址 说明 软件192.168.1.60 外网节点 下载各种所需安装包Master01 192.168.1.31 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、Master02 192.168.1.32 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、

2026-07-18 15:33:10 275

原创 ArrayPoolWrapper简洁、安全的ArrayPool

以上写法会是我们的代码中充斥大量的样板代码和大量的嵌套,影响代码后续的可读性和可维护性。的基础上稍加封装,以实现简洁、安全的使用。

2026-07-17 14:49:26 222

原创 多 Agent 协作——子代理、团队与任务编排

这篇文章逐一分析这三个层面的实现,最后看它们怎么组合起来做任务编排。

2026-07-17 14:48:53 353

空空如也

空空如也

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

TA关注的人

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