- 博客(151)
- 资源 (2)
- 收藏
- 关注
原创 Vue3的 nextTick API 5分钟讲清楚
nextTick的本质是「DOM 更新完成的通知器」——它帮你衔接「数据变化」和「DOM 可用」之间的间隙。对于需要精确控制 DOM 操作的场景(比如嵌入式设备上的前端界面?),nextTick是必不可少的工具。
2025-12-21 11:39:30
570
原创 CSS属性backdrop-filter浅谈
要理解 backdrop-filter「背后的区域」(而非元素自身内容),是实现「毛玻璃」「背景虚化」等视觉效果的利器。用于修改元素(即被该元素遮挡的内容)的视觉表现,支持模糊、亮度/对比度调整、灰度转换等滤镜操作。它与filterfilter:作用于(如图片、文字);:作用于(需元素半透明/透明以露出后方内容)。
2025-12-20 19:57:00
352
原创 浏览器IndexedDB技术,5分钟讲清楚
IndexedDB 是浏览器端的“轻量级数据库”,适合存储大量、结构化、需高效查询的本地数据。对于想构建的“独立 APP”(尤其是 PWA 或离线应用),它是实现离线能力和复杂客户端逻辑的关键技术之一。后续学习可关注:用idb(第三方库)简化 IndexedDB 的 Promise 封装(避免原生回调地狱);与 Service Worker 配合实现离线缓存策略(比如 Cache API + IndexedDB 组合);
2025-12-18 10:15:17
646
原创 为什么Rust的编译工具依赖C语言的编译工具?
系统级编程无法完全脱离 C 生态的底层支撑(链接器、系统库、ABI 兼容),同时历史延续和生态复用也强化了这种依赖。但随着 Rust 的发展,这种依赖正在逐步减弱——未来的 Rust 可能会更独立,但短期内仍会与 C 工具链共存。惠州西湖。
2025-12-15 11:23:14
791
原创 VUE3 动态Prop 10分钟讲清楚
Vue3 的动态 Prop 是父组件向子组件传递动态数据的核心机制,其本质是用响应式变量/表达式替代静态字面量,结合 Vue 的响应式系统实现“数据联动”。关键要点:用绑定动态值(变量、表达式、对象);遵循单向数据流(子组件改 Prop 需emitComposition API 中用接收,通信;用类型验证确保数据正确性。掌握动态 Prop 后,你可以轻松构建组件化、可复用的 UI 结构,为后续用 Web 技术(Vue3 + Rust 后端)构建产品打下基础。惠州西湖。
2025-12-12 21:42:28
1192
原创 VUE3 data()函数浅谈
datadata()不能使用箭头函数,否则this会指向父级上下文(而非组件实例),导致无法访问组件的其他选项(如propsmethods// ❌ 错误:箭头函数导致 this 指向错误// ✅ 正确:普通函数,this 指向组件实例。
2025-12-12 21:06:00
1048
原创 VUE3 defineProps 5分钟讲清楚
是 Vue 3 组件通信的核心工具之一,通过简洁的语法实现了类型安全响应式绑定与灵活的校验配置。惠州大亚湾。
2025-12-12 14:02:12
833
原创 Tauri框架是什么,它能做什么?
Tauri 是一个,核心定位是用 +,替代传统 Electron 等框架,为开发者提供更优的性能、更小的体积和更强的安全性。Tauri 能给你带来“Web 前端灵活性 + Rust 后端硬核能力”的组合惊喜,尤其适合流媒体处理、跨平台 GUI 的场景。
2025-12-04 09:15:15
1166
原创 CSS3 display属性浅谈
取值是否独占行能否设宽高能否设上下margin典型场景block是能能容器、标题、段落inline否不能不能文本修饰、链接否能能按钮、图标、导航项flex取决于方向能(子项)能(子项)一维布局(导航、表单)grid二维能(子项)能(子项)二维布局(卡片、仪表盘)table-cell否(同行)能能多列等高、垂直居中none隐藏元素。
2025-11-28 11:44:37
886
原创 React组件状态(State)浅谈
状态是组件内部的可变数据,用于描述组件的「当前情况」(比如计数器的数值、表单的输入内容、弹窗的显示/隐藏)。它是驱动UI更新的核心——当状态变化时,React会自动重新渲染组件,以反映最新的状态。React状态是组件动态行为的核心,其设计遵循「单向数据流」「不可变性」「最小权限原则简单状态用useState;复杂状态用useReducer;跨组件共享用Context;大型应用用第三方库(Redux/MobX)。掌握状态的关键是理解「数据驱动UI」的本质。
2025-11-25 18:00:32
837
原创 linux timedatectl时间管理命令基础用法
timedatectl 的核心目标是解决设备时间的准确性一致性和可维护性系统时间(System Time):内核维护的软件时钟(UTC时间),受NTP同步、手动设置等影响。硬件时钟(Hardware Clock/RTC):主板RTC芯片存储的时间(通常为本地时间或UTC,取决于配置),掉电后仍保留。时区(Timezone):系统本地时间与UTC的转换规则(如对应UTC+8)。NTP同步:通过网络时间协议(如或第三方NTP服务)自动校准系统时间。
2025-11-19 16:31:56
1038
原创 JS Promise基础用法
Promise是一个表示异步操作最终完成或失败的对象。Pending(等待中):初始状态,操作未完成或未失败。Fulfilled(已成功):操作成功完成,结果可用。Rejected(已失败):操作失败,原因(错误)可用。状态一旦从Pending转换为Fulfilled或Rejected,就不可逆转(不可变)。Promise是 JavaScript 异步编程的核心工具,通过状态机、链式调用和丰富的静态方法,解决了回调地狱问题。关键要点:用封装异步操作,通过resolvereject控制状态。用。
2025-11-17 19:44:08
683
原创 有了Node.js Express是否还需要Nginx?
Express是“业务大脑”:负责处理动态请求和业务逻辑;Nginx是“门神+快递员”:负责安全防护、静态资源分发、请求转发、HTTPS加密等。生产环境必搭Nginx,否则你的Express应用会面临性能瓶颈、安全风险、HTTPS配置复杂等问题。开发环境可以不用,但生产环境一定要加!
2025-11-17 16:46:13
1133
原创 CommonJS是什么,5分钟讲清楚
CommonJS 是 JavaScript 模块化的早期标准,解决了服务器端 JS 的代码组织问题,是 Node.js 生态的基础。虽然现在 ES6 模块逐渐成为主流,但理解 CommonJS 有助于掌握 JS 模块化的演进,以及兼容旧项目或打包工具(如 Webpack 对 CommonJS 的支持)。惠州大亚湾。
2025-11-17 15:44:19
635
原创 Qt QByteArray类型,10分钟讲清楚
在Qt开发中,QByteArray 是处理(如ASCII/Latin-1/UTF-8)和 的核心容器类。它类似C++的或C风格字符串,但提供了更安全、更便捷的API,且与Qt生态(如QString、网络模块、文件IO)深度集成。QByteArray的设计目标是:存储(如图像像素、RTP payload、加密数据);处理(如HTTP头部的ASCII文本、RTSP协议的UTF-8 URL);替代C风格的char[],避免手动内存管理和越界风险。QByteArray。
2025-11-17 09:15:39
1277
原创 Qt QHostInfo::lookupHost()函数,10分钟讲清楚
(如GUI主线程),适合需要“后台解析+前台响应”的场景(比如流媒体播放器输入域名后,异步解析IP再连接服务器,避免界面卡顿)。,通过回调机制实现非阻塞查询,适合需要“后台解析+前台响应”的场景(如流媒体服务器连接、设备发现)。返回查询的主机名(若输入是IP,则返回该IP的反向解析主机名,可能为空)。的结果封装,能快速实现DNS解析功能,提升嵌入式产品的用户体验。如果是IP,查询会直接返回该IP的封装(无DNS请求)。,查询对应的主机信息(如IP地址列表、别名)。等,适合需要更细粒度DNS控制的场景。
2025-11-15 17:58:03
1049
原创 Qt告警clazy-detaching-temporary浅谈
/ clazy:skip (在触发告警的代码行后添加)是 Qt 隐式共享类的性能陷阱,核心是避免对临时对象做修改。修复后可减少不必要的深拷贝,提升嵌入式设备的性能表现。
2025-11-15 15:22:51
827
原创 QT QML Item基类浅谈
的子项会按Z-order从顶到底处理事件,若上层子项拦截事件,下层无法接收。的核心属性和方法,是掌握QML开发的关键一步——所有复杂的界面组件,最终都是。:深度值(Z-order),数值越大越靠上绘制(解决重叠项的遮挡问题)。:仅处理逻辑(如坐标转换、状态管理),无需显示内容。:作为父项接收事件,分发给子项(如自定义按钮的背景。:定义状态切换时的动画效果(如淡入淡出、滑动)。,它不负责具体渲染,却提供了构建界面所需的。:相对于父项的坐标位置(左上角为原点)。,通过锚定父项/兄弟项的位置实现对齐。
2025-11-15 10:48:33
1148
原创 流媒体,包含哪些技术?Zynq MP方案
FLV(Flash Video,低延迟,适合直播)、TS(Transport Stream,广电行业标准,抗丢包强,如卫星/有线电视)、MP4(存储常用,需分段才能实时传输)。AAC( Advanced Audio Coding,高压缩比、低延迟)、G.711(PCM压缩,广电常用,低延迟)、Opus(低延迟、高音质,适合WebRTC)。将流切片成TS文件,通过HTTP传输,支持自适应码率(ABR),适合广域网播放(如手机端),但延迟较高(10-30s)。
2025-11-14 10:14:39
1428
原创 Linux systemd闲谈杂话(第一篇:概述)
systemd 是嵌入式 Linux 开发中不可或缺的工具,尤其在 ZynqMP 等高性能 SoC 方案中,其并行启动、服务管理、依赖解析特性可显著提升系统可靠性和开发效率。•掌握.service文件编写,明确定义依赖和资源限制。•利用systemctl和journalctl高效管理服务与排查问题。•结合嵌入式场景优化(裁剪、只读适配、资源限制)。惠州西湖。
2025-11-13 09:31:44
1414
1
原创 CONFIG_TRACEPOINTS和CONFIG_FTRACE的作用
•:给内核打“静态标记”,让工具能采集特定事件;•:提供“跟踪引擎”,整合各种数据源(包括静态跟踪点),实现灵活的跟踪与分析。两者结合,是Linux内核调试与性能优化的“黄金组合”——尤其是在嵌入式系统中,无需额外硬件就能深入分析内核行为,非常实用。深圳坝光。
2025-11-11 19:10:32
888
原创 git如何回退到指定提交
修改历史提交(比如合并最近几个提交为一个,或修改提交信息)。的提交,想彻底回到某个版本(比如测试分支的bug修复)。到目标提交,进入「分离头指针」状态,可查看代码或测试,但。:后续提交的修改会从「暂存区」回到「工作目录」,可通过。(本地临时日志,可找回误删的提交,有效期约90天):想撤销「暂存」操作,但保留工作区的代码(比如刚。(其他人的提交会被覆盖),禁止在公共分支使用!,该提交的内容是「撤销目标提交的所有更改」。的提交,想安全撤销(避免影响团队协作)。会永久丢弃未提交的修改,操作前建议用。
2025-11-10 20:03:50
1043
原创 什么是量子纠缠?大白话
量子纠缠是量子系统中粒子间的“深度关联”,它们的状态相互绑定,即使分离后仍保持同步。这种现象挑战了经典物理的“局域实在论”(认为物体的属性独立于观测且受空间限制),是量子力学最反直觉却已被实验证实的特性之一,也为未来量子技术的发展奠定了基础。
2025-11-10 17:40:41
791
原创 Unable to handle kernel NULL pointer dereference at virtual address错误分析
此次内核Oops的本质是。
2025-11-10 16:54:46
386
原创 Linux内核的Oops机制浅谈(ZynqMP)
Oops是Linux内核的“自我诊断报告”,它通过详细的上下文信息帮助开发者定位内核空间的错误。掌握Oops的分析方法能快速排查驱动或内核模块的问题。关键是。
2025-11-10 16:52:18
792
原创 Qt/QML DelegateModel基础用法示例
/ 通知 DelegateModel 选中项// DelegateModel 中处理选中逻辑console.log("选中项:", model.get(index).title);DelegateModel 是 Qt Quick 中数据与呈现解耦的核心组件,通过封装模型数据和委托管理,解决了多视图共享数据的痛点。•降低维护成本:数据只存一份,委托独立配置;•提升性能:委托回收池优化滚动体验;•增强灵活性:动态切换委托,适配不同场景。参考资料惠州大亚湾。
2025-11-07 10:56:59
1175
原创 Qt/QML ListView组件基础用法示例
对于大量数据或复杂逻辑(如数据库查询、网络加载),建议用 C++ 实现或•C++ 端:实现rowCount()(返回项数)、(返回指定角色数据)等方法。•QML 端:注册模型类型后使用:ListView {model: FruitModel {} // 自定义 C++ 模型ListView是 Qt Quick 中灵活、高效的线性列表组件,通过模型-视图-代理模式实现了数据与视图的分离。惠州西湖。
2025-11-07 10:38:42
1326
原创 SMBus和I2C的区别,5分钟讲清楚
:I2C是“通用快递”,负责把数据送到各个芯片;SMBus是“系统管家”,不仅送数据,还会主动报告异常、确认送达,更懂系统运维的需求。
2025-11-04 11:56:26
1112
1
原创 Xilinx PetaLinux浅谈
PetaLinux是“底层系统搭建的脚手架”——它帮你快速搞定硬件适配、驱动整合与系统优化,让你能专注于自身业务的开发。掌握PetaLinux,能大幅提升你在异构SoC嵌入式Linux项目中的开发效率。
2025-11-04 10:29:11
1265
原创 Python为什么能成为Ubuntu官方支持的脚本语言?
Ubuntu 系统默认都安装有 Python ,由此可见Python已经成为了ubuntu默认支持的官方脚本语言。那么Python究竟有什么魔力,能够在众多脚本语言中胜出,成为官方合作伙伴呢?
2025-11-01 14:18:29
803
原创 linux kernel struct clk_init_data结构浅解
定义在中,其核心作用是向时钟框架描述一个时钟的基本属性和行为。// 时钟名称(全局唯一)// 父时钟名称数组(NULL表示无父时钟)// 父时钟数量// 时钟操作函数集(必须实现核心操作)// 时钟属性标志(如关键时钟、不可睡眠等)// 硬件初始化回调(可选)注:部分内核版本可能包含扩展成员(如clk_hw指针),但核心成员保持稳定。通常与配合使用,最终通过时钟注册函数(如)将时钟信息传递给框架。是时钟硬件的抽象,包含和指向具体硬件操作的指针(如指向// 必须作为第一个成员(强制转换用)
2025-10-31 16:19:48
857
原创 C++11 std::chrono::high_resolution_clock::now()浅谈
C++11 引入了<chrono>库,这是一个用于处理时间和日期的库。它提供了一套丰富的工具来测量时间间隔、执行时间点的计算以及处理日期和时间。是 C++ 标准库<chrono>中用于获取的核心函数,广泛应用于时间测量、性能分析、实时系统定时等场景。(高分辨率时钟)是库提供的三种标准时钟之一(另外两种是和其设计目标是提供,通常基于硬件底层计时器,适用于需要纳秒/微秒级精度的场景。now()是的,无需实例化时钟对象即可调用,直接返回当前时间点(time_point。
2025-10-31 11:53:51
1123
原创 装了新的QtCreator17,没有用Qt5.12自带的QtCreator4,导致QtCreator17无法找到Qt5.12帮助文档
Qt Creator版本是否兼容(Qt Creator 17理论上支持Qt 5.12文档,若异常可尝试更新Qt Creator到最新补丁版)。添加后,列表中会出现“Qt 5.12 Documentation”条目,状态应为“已加载”。文件是否被系统权限限制(尝试以管理员权限运行Qt Creator)。(所有子项,如Qt Core、Qt Widgets等)。Qt Creator的帮助文档依赖Qt版本对应的。首先说明,按照如下步骤,我的问题已经解决了。文件位置,可在Qt 5.12的。:查看Qt安装目录下的。
2025-10-31 10:58:42
454
原创 C++11 std::async()基础用法示例
在 C++11 中引入的std::async是一个用于异步执行任务的工具,它简化了多线程编程的复杂度,通过返回对象实现对异步任务结果的获取。
2025-10-30 20:31:14
387
安霸h22s75规格书:H22S75-DTS-003-0.1-Ambarella-Datasheet.pdf
2023-02-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅