从0到1自定义文字排版引擎:原理篇

博主头像 这篇文章是从0到1自定义富文本渲染的原理篇之一,此外你还可能感兴趣: 更多内容欢迎关注公众号:非专业程序员Ping 一文读懂字符与编码 一文读懂字符、字形、字体 一文读懂字体文件 从0到1自定义文字排版引擎:原理篇 逆向分析CoreText中的字体级联/Font Fallback机制 新手小白也能看 ...

“化零为整”的智慧:内存池如何绕过系统调用和GC,构建性能的护城河

博主头像 内存池:精打细算的内存管家 在高性能系统(如网络服务器)的极致优化中,当处理器和I/O的瓶颈被逐一攻克后,内存管理便成为决定系统延迟和吞吐量的最后一道,也是最关键的一道关隘。传统的内存分配方式在这种场景下显得力不从心,催生了通过内存池(Memory Pool)作为管理策略。 在C/C++或Java等 ...

数量堪比自然语言的编程语言,该怎么选择?

博主头像 前面的文章分析了当前环境下的编程行业,提供了一些入行建议,接下来聊聊当你决定入行后,编程语言的选择。 据不完全统计,全世界目前有八千余种编程语言,而自然语言是七千余种。而且编程语言随着计算机行业的发展在每年增加,而自然语言却因为政治文化等因素在每年减少,可见标题所言非虚了。 不过我们完全没必要被这个 ...

C#/.NET/.NET Core技术前沿周刊 | 第 58 期(2025年10.13-10.19)

博主头像 前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。 欢迎投稿、推荐或自荐优质文章、项目、学习资源等。 � ...

JavaScript 自定义元素类的作用域跨环境兼容管理

博主头像 JavaScript 自定义元素类的作用域跨环境兼容管理 原创 夏群林 2025.10.22 自定义元素类,是为了后续复用,通常需要全局可见。 JavaScript 类名遵循标识符规范,可包含字母、数字、下划线(_)、美元符号($),且不能以数字开头。社区的惯例采用帕斯卡命名法(Pascal Cas ...

解决 Semi Design Upload 组件实现自定义压缩,上传文件后无法触发 onChange

博主头像 背景 我们团队主要在做 C 端产品,对于 C 端应用,图片资源使用 CDN 十分重要,因此我们曾建立了一个文件上传平台:上传文件后,可以复制图片的 CDN URL 在前端项目中使用。 目前服务端不会对图片做压缩,使用前得先借助其他工具手动压缩再上传,体验很差。调研后发现,纯前端就能完成压缩且完全满足 ...

扫描线学习笔记

博主头像 扫描线学习笔记 今天初学了扫描线,发一篇学习笔记巩固一下 扫描线能干什么 计算矩形面积的并 计算矩形周长的并 其他 引入 如下图所示,给定平面直角坐标系内N个矩形,求矩形的面积并,定义面积的并为矩形并集覆盖坐标系的面积和 正文部分 面积并: 通过观察,我们发现,对于矩形面积的并,可以通过以每个矩形左 ...

QT实现DockWidget内部组件自动换行布局

博主头像 主要功能概述 当DockWidget窗口大小改变时,内部的按钮能够自动重新排列,以最佳方式利用可用空间。具体表现为: 1. 当水平空间足够时,按钮排成一行 2. 当水平空间不足时,按钮自动换行 程序环境 Python 3.8.9 pyside6==6.1.3 pip install pyside6= ...

虚拟地址到应物理地址与FEAT_VIPT

简短 本文是我读ARM手册时根据自己的理解做的一些记录 虚拟地址(VA)到物理地址(PA)的转换是由 MMU(内存管理单元) 和 页表机制完成的。具体过程如何我举例分享一下我的理解 ARM64 虚拟地址结构(假设 4KB 页大小) 介绍转换过程之前先来介绍虚拟地址构成 虚拟地址一般使用四级页表结构, ...

数字商品服务助力开发者降本增效,加速数字商品商业变现

博主头像 在数字内容消费快速增长的背景下,开发者面临应用内数字商品维护效率低、多端适配困难、交易合规成本高、用户付费率和留存低等痛点,而用户则遭遇商品交易流程繁琐、权益管理混乱等问题。 HarmonyOS SDK应用市场服务(AppGallery Kit)提供数字商品服务,数字商品服务为开发者提供便捷高效的数 ...

通过命令模拟pod创建

博主头像 介绍 这篇文章主要涉及到 kubelet 通过 csi 向运行时发送创建请求,运行时发生了什么?pod 网络又是怎么连通的? 对应的流量图 我们将使用 docker 和 linux Bridge 去完成这个 pod 需求 流程描述 kubelet 通过 CRI 接口调用运行时(如 container ...

1024开发者狂欢季!小马算力 × 博客园福利矩阵来袭,算力金拿到手软

博主头像 各位奋战在代码世界的开发者们,属于我们的专属节日 —— 程序员节即将到来!为回馈大家始终如一的技术热情与创新坚守,此前达成战略合作的「小马算力」与「博客园」,为程序员节打造的专属福利活动正式上线!百万算力金羊毛无限薅,这一次,让优质算力与技术社区双重加持,陪你轻松过节,助力项目创新! ...

技术 | 在单台电脑上管理多个 GitHub 账户并解决推送问题(测试中)

博主头像 ### 在单台电脑上管理多个 GitHub 账户并解决推送问题 >在日常开发中,我们经常需要在同一台电脑上使用多个 GitHub 账户(例如个人账号和工作账号),但默认配置下容易出现推送权限错误或提交记录关联到错误账户的问题。本文将详细介绍如何优雅地管理多账户环境并彻底解决推送冲突问题。 ## ... ...

别再手写过滤器!SpringCloud Gateway 内置30 个,少写 80% 重复代码

博主头像 大家好,我是小富~ 我发现公司的网关项目里有很多的轮子,几乎每个人接手这个项目开发,都会自定义过滤器,导致有非常非常多的过滤器,修改其中一个,指不定就会影响其他的人功能,非常的恼火。 其实在 Spring Cloud Gateway 本身内置了很多通用的过滤器组件,有些功能无需重复开发,直接通过配置 ...

WPF/C#:使用Stylet中的IWindowManager用于显示等待窗体、对话框与消息框

博主头像 前言 显示等待框意义 在创建WPF应用的时候,如果我们要执行一个耗时的操作,那么给用户显示一个等待窗体是很常见的需求,通过显示一个等待窗体让用户明白运行的这个软件并没有崩溃,能有效消除用户的焦虑与不确定性,同时能极大提升用户体验,展示软件的专业性和品质,将无聊的等待转化为可预期的、安心的过程。 显示 ...

记一次 .NET 某药品缺陷高速检测系统 卡慢分析

博主头像 一:背景 1. 讲故事 上个月有位朋友找到我,说他们公司的程序当内存达到一定阈值(2g+)之后,业务逻辑明显变慢导致下位机超时报警,想让我看下到底怎么回事,这种问题其实抓dump比较难搞,但朋友也说了有一个增长阈值,那就让朋友抓一个 2g+ 的dump发过来看看吧,当然越大越好。 二:内存洞察分析 ...

记录我适配iOS26遇到的一些问题

博主头像 这是适配iOS 26的笔记,并非介绍新功能和API。我只是把项目中遇到的适配问题记录起来。后续如果遇到新的问题会更新这个笔记。 1. 暂时关闭Liquid Glass 液态玻璃 在iOS26中,系统默认开启了Liquid Glass 液态玻璃效果。例如UINavigationBar和UITabBar ...

123···100>