自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端性能优化正在进入“全链路时代”:从渲染机制到工程体系的系统级升级

随着 SPA(单页应用)、SSR/SSG、微前端、边缘渲染(Edge Rendering)、移动端 WebView、小程序、WebAssembly、WebGPU 等多端场景的出现,前端性能优化已经演变成一项。许多团队在做性能优化时仍沿用“压缩图片”“减少请求”“资源懒加载”等传统手段,但现代前端已经远远不是简单的页面渲染任务。本文将从渲染机制、网络链路、脚本执行、资源管理、工程体系与用户体验多个维度,系统性拆解现代前端性能优化的底层逻辑。渲染路径多样(CSR、SSR、流式渲染、边缘渲染)

2025-11-25 14:00:28 298

原创 前端正在从“界面开发”迈向“应用引擎”:透视现代前端体系化演进的核心逻辑

这也是为什么 React、Vue、Svelte、Solid 等框架都在向 “信号(Signals)” 模型靠拢——它比传统的虚拟 DOM 更轻、更快、更具备可预测性。尤其近五年,随着移动端、小程序、H5、WebAssembly、WebGPU、微前端、服务端渲染体系的全面升级,前端的技术边界被不断拓宽。本文将从五个维度重新审视前端的价值:运行时结构、状态系统、工程体系、渲染方式与未来演进趋势,帮助开发者从系统视角理解前端技术的深度。如果说运行时是前端的基础,那么工程体系就是前端的“武器库”。

2025-11-25 13:04:13 663

原创 前端正在走向“工程系统化”:从页面开发到复杂产品架构的深度进化

在过去十年里,前端技术的发展速度几乎是整个软件行业中最快的。曾经的前端只负责写页面、做交互、还原设计稿;而如今的前端已经成为。本文将从技术演化、工程体系、运行时架构、性能优化、跨端趋势五个方面,深入解析现代前端的真正价值与未来走向。前端的未来,属于那些真正理解底层机制、构建体系、掌控工程复杂度的工程师。用户打开页面 → 加载 JS → 前端执行逻辑 → 渲染页面。移动端框架(如 React Native)智能设备(如 WebOS、汽车大屏系统)它不再是“界面开发”,而是走向了。

2025-11-24 20:54:02 732

原创 NAS、对象存储与 JuiceFS:百亿量化基金的存储选型实践

在量化投研过程中,因子数据、交易策略等敏感信息的保护至关重要。存储系统必须提供强大的模块化访问权限管理机制,保障数据的隐私与安全性。此外,随着越来越多的数据存储转向云环境,数据加密、审计和合规管理等功能成为必须提供的安全措施,以确保敏感数据在云上安全存储和访问。

2025-11-21 11:53:08 378

原创 C#AI系列(1):深度学习项目构建及实战TensorFlow准备篇

以上分享了在C#中基于TensorFlow.Net简单创建一个人工神经网络模型并训练数据预测数据的丰富。});

2025-11-21 11:52:00 1003

原创 超参数调整,批量标准化和编程

这一切都由框架帮我们封装在我们调用的函数里,这就是框架的高效性所在。

2025-11-21 11:51:06 736

原创 小白也能看懂的RLHF:基础篇

LLM写了两个版本,一个全是专业术语,一个口语化、通俗易懂,老人会反馈第二个更好。LLM在收到反馈后,就明白以后碰到类似需求该如何回答,这种能够精准遵从人类指令的能力,是RLHF的独特优势。上图中,每个示例都包含长文本输入、两个备选摘要、一个标签(用于指示人类更倾向于哪个摘要)。通过直接将人类偏好以标签形式传递给模型,确保其与人类判断保持一致。

2025-11-20 17:33:01 784

原创 MySQL高级运维核心技术:事务处理、安全管理与性能优化

MySQL高级运维的核心是“稳”与“快”——通过事务处理保障数据一致性,通过安全管理控制访问风险,通过定期维护确保系统稳定,通过多维度优化提升响应速度。上述技术覆盖了数据库从日常运维到应急处理的关键场景,实际应用中需结合业务特点(如并发量、数据量、查询类型)灵活调整,同时养成定期监控、备份与优化的习惯,为业务提供可靠的数据库支撑。

2025-11-20 17:31:51 472

原创 【光照】[PBR][法线分布]为何不选Beckmann

MaxKB 支持本地模型存储,并可与各种外部向量数据库集成,从而在准确度、性能和成本之间实现灵活的平衡。MaxKB 的 RAG 引擎通过结合文档分段、向量检索和生成模型,实现了高效可靠的知识问答能力。默认情况下,MaxKB 将向量模型和生成模型的二进制文件放置在 /opt/maxkb/model 目录中,并在启动时自动加载,支持动态模型切换和版本回滚。分词和分块 : 使用高效的分词器处理原始文档,并根据预定义的长度阈值对其进行分块,确保每个文档片段既不过长(导致截断)也不过短(信息不足)。

2025-11-20 17:30:32 119

原创 macOS上优雅运行Docker容器

因此,Agent的数据和训练目标 均服务于 如何使Agent学会更好的使用工具与外界交互,从而利用外界的信息更好地完成任务。使用rl教会模型最后一种能力(工具间的协调调用,因为此任务比较难学习,需要大量的探索以及较高的泛化性要求)利用模型内部知识+外部知识(R) 根据q生成下一步的工具调用/答案 的能力 (step-wise)而训练目标体现在(1)数据集的构建方案(2)训练策略(loss)相较于传统的single-step的数据及其sft RL的训练方式。所以Agent的目标(需要的推理能力)分为三类。

2025-11-20 17:29:19 337

原创 从一次分表实践谈起:我们真的需要复杂的分布式ID吗?

最近在负责公司SaaS化系统的分表改造时,遇到了一个有趣的问题:如何为分表后的数据生成唯一ID?按照常规思路,我们首先想到的就是引入一套分布式ID生成系统,比如雪花算法或者美团Leaf。并不是所有分表场景都需要复杂的分布式ID方案。我们的SaaS系统服务于多个店铺,每个店铺的数据完全隔离,不存在跨店铺查询或者表连接的需求。对于订单、商品这类非核心数据,我们并不担心自增ID会暴露业务总量。直接使用"公司ID"或"店铺ID"作为分表键,然后在每个分片内使用数据库自增ID。

2025-11-20 17:27:55 755

原创 AgentFounder浅析——Agent的演化历程与目标

不要过分指望按照文本主题进行分隔, 因为实战中的资料太多而且没有规律, 根本没办法保证每个chunk是一个完整的主题内容, 哪怕人为干预也很难。由于文本读取过来后, 还需要分成一段一段的片段(分块chunk), 分块是为了更好地拆分语义单元,这样在后面可以更精确地进行语义相似性检索,也可以避免LLM的Token限制。// 不同的PDF生成工具可能使用不同的坐标系 , 如果内容识别有问题, 可以设置该属性为true。接下来,如果每个块的大小超出了预定义的块大小限制,则将其拆分成更小的块。

2025-11-19 21:27:07 889

原创 奶奶都能看懂的 C++ —— const 限定符与指针

下载地址:https://we-yun.com/doc/neo4j/5.26.0/neo4j-community-5.26.0-windows.zip。文件位置:d:\WinUser.dat\CursorMcp\neo4j-community-5.26.0\conf\neo4j.conf。解压位置:d:\WinUser.dat\CursorMcp\neo4j-community-5.26.0。.\neo4j-admin.bat dbms set-initial-password <新密码>

2025-11-19 21:23:34 550

原创 WebGL/Canvas 内存泄露分析

具体的才是频繁变化的,所以需要把变化的部分划分出来,使之可以在继承框架下既能重用也能独立变化,而不引发较大的影响,这就是继承的真正价值 —— 它帮助开发者在抽象与细节之间找到平衡,通过自下而上和自下而上的设计方法,引导我们从在局部与整体之间逐步完善对问题的认识。面对问题的时候,首先应该直面你面对的是什么问题,只要明确了问题,然后进行一般性的定性后,抽象也就出来了。比如看到狗、猫、鸟,然后观察它们的行为,随后,我们总结它们有一些共同点,比如都会吃和睡觉,于是抽象出“动物”这个概念,也知道了动物都需要吃和睡。

2025-11-19 21:19:35 597

原创 ks集群部署()(centos)

而且是纯粹的那种,不要框架,只依赖原生。早期 JavaScript 没有类的概念,通过 “构造函数+原型链” 模拟面向对象,this 因“动态绑定”特性,从强类型语言的角度看,其表现堪比怪物,this 指向完全依赖调用方式,稍不注意就出错。继承的先父后子,无论是隐式调用父类无参构造,还是显式调用有参构造,父类的构造函数总是先执行,父类成员先行完成初始化,不会出现子类访问未就绪的父类属性的情况。JavaScript 的 this 像怪物,核心是指向由函数调用时的方式决定,属于动态绑定,而非定义时的静态绑定。

2025-11-19 21:15:59 667

原创 抓到两只 IE 的虫子

通信顺序进程(Communicating Sequential Process,CSP)是 Tony Hoare 在 1978 年提出的一种描述并发系统交互的模式,它正是Golang并发模型的灵感源泉。该模型的另一显著特征是,消息的发送与接收是异步进行的。CSP模型的关键特性是,进程的执行不会受到其他进程的直接影响,进程间的交互仅通过通道发送和接收消息来实现。Golang通过轻量级的Goroutine和通信机制Channel,实现了CSP模型的核心思想,即通过消息传递而非共享内存实现并发控制。

2025-11-19 21:12:44 319

原创 受到启发,写了一个验证输入的简易框架

很明显的,由于client和server的数量是非常多的(因为多个服务可能公用一个公网IP),所以转发表是一个非常宝贵的资源,一旦转发表满了,就无法创建新的连接路径了。从上面代码中我们可以看到,LVS通过设置的timeout_table来设置转发表项超时时间,而不同的tcp状态会有不同的超时时间,而默认的established的超时时间是15 * 60 * HZ也就是15min。为了解决第一种的方案的问题,我们可以依旧复用连接,只不过这个复用时间特别短,例如6s之内复用,超过6s的连接就直接丢弃。

2025-11-18 22:31:10 352

原创 再次探讨企业级开发中的Try......Catch性能问题

如果 A 拿着 inode 的锁再去要 AGF 的锁, 而 B 拿着 AGF 的锁再去要 inode 的锁, 就会变成 “你等我,我等你” —— 这就是典型的死锁(deadlock)。解析xfs_buf地址,顺着 xfs_buf → xfs_trans → xlog_ticket → task_struct.pid 反查,锁持有者落到下一条堆栈(关键堆栈2)。#9 xfs_read_agf / xfs_alloc_read_agf [xfs] ← 正在尝试拿 AGF buf。

2025-11-18 22:27:49 379

原创 了解CSS的查找匹配原理,让CSS更简洁、高效

创建协程:zend_async_coroutine_create(nxt_php_request_coroutine_entry)HttpServer::onRequest() 把回调存到 nxt_php_request_callback。HTTP 请求 → NGINX Unit → nxt_php_request_handler()NGINX Unit 调用 nxt_php_request_handler(req)通过 nxt_unit_response_write_nb() 实现非阻塞数据传输。

2025-11-18 22:23:49 369

原创 Microsoft Ribbon for WPF 正式发布

文章简介: TDS 是一款基于 .NET 开源免费(MIT license)、高效且用户友好的文件搜索工具,使用 Avalonia UI 技术并完美支持 AOT 编译,实现并优化了如 USN 读取/近实时更新,索引磁盘缓存,索引增强搜索,多关键字匹配,多线程搜索,Avalonia UI 实现(虚拟化,全局热键,系统托盘)等功能,具有轻量高效、界面美观、交互舒适等特性。文章简介: 在 C# 的语法演进中,“弃元(Discard)” 以一个简单的下划线 _ 成为了既提升代码可读性,又优化性能的 “双料特性”。

2025-11-18 22:19:29 318

原创 云计算-从基础到应用架构系列-云计算的概念

KV Cache 是 Transformer 自回归推理的关键优化技术,通过缓存历史键值对将重复计算转化为内存查表,显著降低推理延迟。分页管理:借鉴操作系统的虚拟内存思想,vLLM 等框架将 KV Cache 切分为固定大小的块(如 16 个 token),动态分配物理显存,显著提升显存利用率和批处理吞吐。卸载与重算:对超长上下文,可将早期 token 的 KV 缓存卸载至 CPU 内存,或在访问时按需重算。需要明确的是,KV Cache 存储的是经过线性投影后的连续向量表示,其规模与词表大小无关。

2025-11-18 22:15:30 403

原创 《数字经济:数据要素》深度研究:“数字”星辰大海、“数据”星火燎原…

数字经济》即以 “数据资源” 为关键要素,以《现代信息网络》为主要载体,以《信息通信技术》融合应用、全要素《数字化转型》为重要推动力,促进公平 与 效率更加统一的新经济形态。《数字经济》与其他经济形式最大的不同在于:《数字经济》是以数据作为核心生产要素,不同经济形态下,数据对于 “全要素生产力” 的提升作用有区别。

2025-11-17 21:14:42 615

原创 在Scrum中实施敏捷建模

这里需要知道dapo的reward_manager_cls 具体是什么,因为reward需要batch数据才能计算,因此对于reward manager咱们先按下不表(其实dapo对应的reward_manager_cls是在verl/verl/workers/reward_manager/dapo.py),先去dapo_ray_trainer.py看一下batch是怎么采样的,再回来仔细阅读reward的具体计算方法。# max_num_gen_batches是最多可以使用的gen_batch的个数。

2025-11-17 21:10:30 512

原创 C#语法糖(Csharp Syntactic sugar)大汇总

PaddleOCR-VL 的核心组件是 PaddleOCR-VL-0.9B,它创新性地将 NaViT 风格的动态分辨率视觉编码器与轻量级 ERNIE-4.5-0.3B 语言模型相结合,兼具结构理解力与资源效率。本文将详细演示如何通过 GPUStack 平台,在本地环境中完成 PaddleOCR-VL 模型的推理部署,并展示其在真实文档解析任务中的表现。由于 PaddleOCR-VL-0.9B 模型位于下载的模型目录的 PaddleOCR-VL-0.9B 子目录下,需要修改为指向该目录进行部署。

2025-11-17 21:06:25 387

原创 [继续讨论]关于Windows PE和.net assembly的加载

查看 dest 的栈,它需要溢出 0x14+4,之后让其跳转到 backdoor 函数,也就是 what_is_this 函数的内存地址,但是,想要让复制操作执行,首先需要通过前面的 if ( v3 <= 3u || v3 > 8u ) 语句,即:让 v3 = strlen(s) 的长度保持在 0x04~0x08,也就是 buf 的长度要保持在 0x104~0x108。攻击思路:首先在choice时,选择 1,再输入用户名(随便输入),之后再溢出密码区域,dest 和 s。

2025-11-17 21:01:42 427

原创 Web前端技术趋势及总结

DataGrip 除了从脚本文件、CSV、TSV 或具有分隔符分隔值的文本文件导入之外,你还可以使用你喜欢的格式导出数据,包括 CSV、JSON、HTML、Markdown、Excel 等,你甚至可以自行创建格式!商业版的所有功能均可供使用,包括 AI 赋能的代码补全、智能查询控制台、类似 Excel 的数据编辑器、Git 集成,以及对多种数据库的支持。DataGrip 可根据自己的偏好,通过浅色和深色主题、全彩自定义、可定制的按键映射和语言插件调整工具的外观和配置。DataGrip 支持的数据库。

2025-11-17 20:57:12 294

原创 从Win回顾微软平台的各种技术

filename, _ = QFileDialog.getSaveFileName(self, '保存图片', '', 'Images (*.png *.jpg *.bmp)')如果有问题,随时讨论。这就是为什么它叫“Zero-Reference”(零参考),不需要依赖参考图像进行训练,这是一个很大的优点。例如,一张夜晚拍摄的照片,可能因为光线不足而看起来很模糊,经过增强后,就能看到更多细节,如绿植、房屋等。这些效果是通过PyQt5界面封装的,你可以直接打开图片,进行增强处理,并保存结果。

2025-11-16 15:38:54 935

原创 【原创】说说JSON和JSONP,也许你会豁然开朗,含jQuery用例

但今天读到的一篇文章《Java Performs Better When You Misspell Variable Names》,把这条铁律里的“性能部分”掀了桌:在 Java 的某些栈中,刻意缩短、甚至“错拼”的变量名,可能真的让服务更快。用 JMH 写对照实验,两个版本代码逻辑完全一致,唯一变量是“命名长度与形态”:一个版本用规范、完整、可读的名字,另一个版本把元音删掉、前缀缩短、偶尔把名字变得更随机。毕竟,在工程世界里,漂亮的代码不一定是最快的代码,而我们有时需要的,是能顶住流量的那一段真实提升。

2025-11-16 15:35:03 235

原创 有效预防.NET应用程序OOM的经验备忘

软件也存在这样类似的东西,这种东西我们也称之为“壳”,两者的目标都是一样的,都是用来保护,而“壳”用来保护可执行程序资源,避免被其他人窥探和篡改,但是壳又不会改变或影响原程序的功能。修改入口点:修改生成的可执行文件的“程序入口点”(OEP, Original Entry Point),使其指向外壳程序的代码,而不是原始程序的代码。系统在执行这个新程序的时候,先去执行壳程序,由壳对原程序进行解压(或解密)并还原到内存中去,系统将正常执行原来的程序。“壳”的具象理解就类似花生壳,用来保护里面的花生仁。

2025-11-16 15:30:54 287

原创 恋爱虽易,相处不易:当EntityFramework爱上AutoMapper

如果你看到了“别动”的标签(底层 const 修饰的指针),想根据这个标签给瓶子再贴一个标签,或者把别的瓶子上的标签移过来(创建新指针/修改旧指针),那么另一个标签上也得写“别动”(底层 const 修饰)。但是你还是可以根据这个标签,移动其它可以移动的标签(将其它无顶层 const 修饰的指针,赋值为它),或者创建一个新的标签,是否为强力胶都可以(创建新的指针时,顶层 const 修饰并不重要)。顾名思义,指针本身是常量,不能变(不能改变保存的位置,即不能修改它指向的对象是哪一个)。

2025-11-16 15:26:54 600

原创 ITFLY架构师之家

这个SQL最大的问题就是标量子查询 (SELECT count(*) FROM ORDER_EXECUTION@DB_LINK c WHERE c.ORDER_NO=A.ORDER_NO AND c.DELETE_FLAG='0')更糟糕的是,完成数被计算了两次(一次用于显示,一次用于计算剩余数),所以实际上子查询执行了2000次!SQL的编写尽量少采用复制、粘贴的方式来实现,最后是根据业务逻辑梳理清楚后再编写SQL语句,可减少SQL的复杂度,也可以减少表的多次访问。

2025-11-16 15:22:29 493

原创 ArgoCD:我的GitOps探索之旅与未来展望

很显然 \(f(q)\) 是个很没用而且碍眼并且值又固定的东西,那么预处理算出 \(f(q)\),然后问题转化成求长度为 \(k\) 值域为 \(1 \sim n\) 的序列中单调不降的序列个数,那么仔细思考,对于从 \(n\) 中任选 \(k\) 个,重排一遍一定可以,所以说就是 \(C_n^k\),答案为 \(C_n^k f(q)\)。我们先给每组分配一个物品,只剩 \(n-1\) 个物品,我们要在这 \(n-1\) 个物品中选择 \(k-1\) 个隔板,所以是 \(C_{n-1}^{k-1}\)。

2025-11-15 16:36:46 774

原创 软件: Keil esp固件烧写软件 华为云服务器(个人免费使用,每天消息上限) 二、调试过程 调试总体思路: 烧写官方的MQTT固 ...

替换为function receiveInstance(instance,module){wasmExports=instance.instance.exports;原理比较简单,如下图所示,将C#写的PixUI应用及C++写的Skia引擎编译为WebAssembly,然后通过微信小程序的WXWebAssembly加载,并在canvas(WebGL)通过skia绘制出用户界面,监听微信小程序的事件传给C#处理后重新绘制界面。2. 参考PixUI.Demo.Wasm.proj修改工程文件。

2025-11-15 16:31:47 476

原创 精选 款 .NET 开源、功能强大的工作流系统,告别重复造轮子!

您已经了解了 Kotlin 中的变量及其用途,掌握了如何创建、更新和使用变量,尝试了不同的基本数据类型(Int、Double、String、Boolean),并了解了 val 与 var 的区别。提示:在常见的编辑器中输入注释时,IDE 会提供自动提示和快捷键支持,帮助你快速书写注释。count-- // 使用减量运算符,等同于 count = count - 1。字符串类型 String "Hello" 字符序列,可用 """ 创建多行字符串。可空类型 String?

2025-11-15 16:26:30 362

原创 非IT技术指南:交友、学习与测试验证

非 IT 技术在交友、学习、求职招聘中的应用 引言 在生活中,交友、学习以及求职招聘是每个人都会面临的重要事务。虽然 IT 技术常被关注,但一些非 IT 技术同

2025-11-15 03:11:21 191

原创 非IT技术工程笔记:汽车/金融与性能优化

非 IT 技术:汽车与金融领域的节日科技融合 在当今时代,科技的影响力早已超越了传统的 IT 范畴,渗透到汽车和金融等众多领域。就拿节日期间来说,汽车与金融行业

2025-11-15 03:06:18 427

原创 【光照】Unity中的[光照模型]概念辨析

替换为function receiveInstance(instance,module){wasmExports=instance.instance.exports;原理比较简单,如下图所示,将C#写的PixUI应用及C++写的Skia引擎编译为WebAssembly,然后通过微信小程序的WXWebAssembly加载,并在canvas(WebGL)通过skia绘制出用户界面,监听微信小程序的事件传给C#处理后重新绘制界面。2. 参考PixUI.Demo.Wasm.proj修改工程文件。

2025-11-14 14:07:09 439 1

原创 沿速览:Nano Bananary、MCP Registry、通义DeepResearch 、VoxCPM、InternVLA·M具身机器人

您已经了解了 Kotlin 中的变量及其用途,掌握了如何创建、更新和使用变量,尝试了不同的基本数据类型(Int、Double、String、Boolean),并了解了 val 与 var 的区别。提示:在常见的编辑器中输入注释时,IDE 会提供自动提示和快捷键支持,帮助你快速书写注释。count-- // 使用减量运算符,等同于 count = count - 1。字符串类型 String "Hello" 字符序列,可用 """ 创建多行字符串。可空类型 String?

2025-11-14 14:02:10 827

原创 HECHEN****

戮雅芯又在深度学习中,优化器(Optimizer)是连接模型与数据的桥梁,它负责根据损失函数的梯度来更新模型的参数,以期找到一组能最小化损失的“最优解”。NAG 对经典动量做了一个聪明的修改:它不计算当前点的梯度,而是先“预估”一下按照当前动量会走到哪里,然后在那个“未来”的点计算梯度,再用这个梯度来修正最终的步进方向。MBGD 相对 SGD:用小批量平均来估计梯度,有效降低了梯度估计的方差,使得收敛更稳定,同时充分利用了现代计算硬件(如GPU)的并行计算能力,提升了训练吞吐量。无悬念首选 AdamW。

2025-11-13 16:47:12 351

原创 HarmonyOS_SDK

使用切线向量(Tangent)或副切线(Bitangent)替代法线向量,通过TdotH = dot(tangent, halfVector)计算高光强度,再转换为TsinH = sqrt(1 - TdotH2)实现条状高光效果。该实现通过将Kajiya-Kay模型的核心计算融入URP的标准BRDF框架,既保持了PBR工作流的兼容性,又实现了纤维材质特有的各向异性高光效果。:通过噪声贴图扰动切线方向(ShiftTangent函数),增强高光的动态变化和真实感。D项 法线分布函数?

2025-11-13 16:41:53 228

空空如也

空空如也

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

TA关注的人

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