鸿蒙运动项目开发:封装超级好用的 RCP 网络库(下)—— 实战应用
鸿蒙核心技术##运动开发## Remote Communication Kit(远场通信服务) 在之前的文章中,我们详细介绍了如何封装一个功能完备的 RCP 网络库,并探讨了其核心功能和高级特性。在本篇中,我们将展示如何在鸿蒙运动项目中使用这个网络库来实现具体的网络请求功能。 前言 在鸿蒙运动项目中 ...
USB Gadget设备枚举失败的处理方法
技术背景 我们的板子作为 USB Gadget 设备通过 USB 线接入 USB 主机使用,我们的板子被主机识别为一个 Compsite Device,这个 Compsite Device 是由我们板子根据 Host 口实际接的 USB 设备动态创建的,所以它包含哪些功能,由接在 Host 口的设备 ...
设计模式:简单工厂、工厂方法与抽象工厂
工厂模式的核心目的是将对象的创建与使用分离,我们习惯于在构造函数中进行一系列对象的初始化甚至逻辑处理,如果仔细推敲,会发现其实并不符合常理。如果把汽车的发动机当作一个对象,我们向发动机传入设计图纸,然后发动机自己把自己生产了出来。是的,发动机自己生产了自己,是不是感觉有些怪异?其实现实生活中的场景更... ...
用好 JUnit 5 的高级特性:提升单测效率和质量
写在前面 在当今的软件开发实践中,单元测试已成为保障代码质量的必备环节。许多团队已经积累了一定的单元测试经验,能够编写基本的测试用例来验证功能逻辑。然而,当我们面对复杂的业务场景时,仅靠基础的JUnit功能往往会导致测试代码冗长、结构混乱,甚至出现大量重复代码。 作为最新版本的Java测试框架,JU ...
ArkUI-X应用工程结构说明
简介 本文档配套ArkUI-X,将OpenHarmony ArkUI开发框架扩展到不同的OS平台,比如Android和iOS平台,让开发者基于ArkUI,可复用大部分的应用代码(UI以及主要应用逻辑)并可以部署到相应的OS平台,降低跨平台应用开发成本。 应用工程目录结构介绍 跨平台应用工程目录结构说 ...
从“看懂世界”到“改造世界”:AI发展的四个阶段你了解了吗?
过去几年,人工智能一路狂飙,从识图识声,到能写能画,再到能干活做决策,甚至走上现实生活的“物理战场”。你是否也曾困惑,AI到底发展到哪个阶段了?又有哪些能力正在悄悄进化? Nvidia的创始人黄仁勋(Jensen Huang)在 GTC 2025 提出了AI 发展的四个阶段。 今天,我们就来具体聊聊 ...
Java 集合框架底层数据结构实现深度解析
Java 集合框架(Java Collections Framework, JCF)是支撑高效数据处理的核心组件,其底层数据结构的设计直接影响性能与适用场景。 ...
前/后向自动微分的简单推导与rust简单实现
自动微分不同于数值微分与符号微分, 能够高速高精度求可微函数 \(f(x)\) 的定点微分值 \(f'(x_0)\). 下面将对比三种微分方案并简要介绍自动微分原理, 最后给出 rust 的两种微分方式的基本实现. 微分方法简介 数值微分 利用微分的定义式 \[f'(x) = \lim_{h\to ...
Java线程池详解:高效并发编程的核心利器
Java线程池详解:高效并发编程的核心利器 在高并发的Java应用中,频繁创建和销毁线程是非常消耗系统资源的操作。线程池作为Java并发编程的核心组件,不仅能够复用线程、降低系统开销,还能有效控制并发数量、提升应用性能。本文将深入浅出地讲解线程池的工作原理、核心参数配置和最佳实践,让你彻底掌握这个并 ...
C#实现语音预处理:降噪、静音检测、自动增益(附Demo源码)
无论是在音视频通话系统或视频会议系统中,对从麦克风采集到的说话的声音数据进行预处理,都是是非常必要的。语音数据预处理主要包括:降噪、静音检测、自动增益 。这篇我们来看看在C#中如何实现这些功能。 ...
PVE折腾笔记 (3) 在原QNAP使用的硬盘上创建ZFS
QNAP硬盘换ZFS?自愈功能挺好用,但折腾Linux兼容性够闹心。LVM残留导致擦盘失败?内核对象得一个个干掉。Pool创建时参数选错?那可真是后患无穷。 ...
uni-app项目process is not defined
uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),是对前端开发友好,自带的IDE让开发体验也挺棒的,项目遇到process is not defined,怎么解? ...
Java团队Cursor最佳实践:3分钟构建「零泄漏」AI开发环境
最近用了段时间的 cursor, 发现卷程序员的还是程序员自己, 开发效率确实飞起了. 没办法, 开源卷自己、AI还是第一个卷自己, 但对于我们个人来说, 只能拥抱变化. 本文总结了下最近用到的基础配置, 希望对大家有帮助, 点用起来吧. 环境基础配置 1.1 JDK设置 通过 command+sh ...
记一次 .NET 某无语的电商采集系统 CPU爆高分析
一:背景 1. 讲故事 前段时间有位朋友微信上找到我,说他们docker中的采集程序出现了CPU爆高的情况,让我帮忙看下怎么回事,自己抓了个dump,感觉这位朋友动手能力还是比较强的,可能调试这块知识不熟悉,不知道如何分析,既然找到我,那就给他分析下吧。 二:CPU爆高分析 1. 为什么会爆高 在动 ...
物无弃材 —— 混闪机型部署 OceanBase 集群的探索
在满足业务稳定性和性能要求的前提下,使用混闪机型进行部署,可大大降低硬件资源使用量,解决纯闪机型资源不足、存量资源无法使用等问题。 ...
CURL 命令的用法详解
CURL(Client URL)是一个强大的命令行工具,用于通过各种网络协议与服务器进行数据传输。它支持 HTTP、HTTPS、FTP、SFTP 等多种协议,广泛应用于 API 测试、数据获取、文件传输等场景。以下是 CURL 命令的详细用法: 一、基本语法 curl [选项] [URL] 选项:控 ...
历时半年,我将一个大型asp.net的零代码快速开发平台转成了java
老的博客园朋友应该清楚,我在10年前开发了一个基于asp.net的大型开发平台,其中作为开源项目的SilverLight流程设计器也获得了当年的微软开发大奖。时过境迁,当年的设计器早就在技术的更新换代中迭代了很多次。 很久以来就一直有一个想法,要实现不同语言平台下的无差别开发平台使用体验,这一次终于 ...
AI大模型应用开发-用LangChain构建PAL应用:SQL的生成与执行
PAL(Program-Aided Language models) 思想成为大模型 Agent 领域的重要范式。核心思路是 LLM 只负责语言任务,复杂的逻辑/计算交由程序执行。 通过合理设计 prompt,模型生成代码/SQL/逻辑描述,外部程序再执行,得到结果后反馈给 LLM,LLM 再生成最 ...
ArkUI-X跨平台技术落地-华为运动健康(二)
原生和ArkUI界面参数传递 在原生页面拉起对应的跨平台的页面时,会将代表拉起哪个页面的参数通过intent的形式传递给跨平台的Entry模块,这里主要用到的是intent的putExtra()方法进行设置,Entry模块收到该参数之后,解析参数从而决定拉起的页面,一个简单的示意图如下所示: Ark ...
在Linux下使用wxWidgets进行跨平台GUI开发(三)
创建wxWidgets应用程序 在本文中,我们将了解创建wxWidgets应用程序所需的基础知识。首先创建一个简单的示例程序,展示如何显示图标;接着通过另一个示例演示事件的使用方法;最后探讨wxWidgets应用程序中控件之间的通信机制。 一个简单的应用程序 首先我们创建一个非常基础的wxWidge ...