当前位置: 首页 > news >正文

HarmonyOS NEXT第一课——HarmonyOS介绍

一、什么是HarmonyOS

万物互联时代应用开发的机遇、挑战和趋势

随着万物互联时代的开启,应用的设备底座将从几十亿手机扩展到数百亿IoT设备。全新的全场景设备体验,正深入改变消费者的使用习惯。 同时应用开发者也面临设备底座从手机单设备到全场景多设备的转变,全场景多设备的全新底座,为消费者带来万物互联时代更为高效、便捷的体验。

新的场景同时也带来了新的挑战。开发者不仅需要支持更加多样化的设备,还需要支持跨设备的协作。不同设备类型意味着不同的传感器能力、硬件能力、屏幕尺寸、操作系统和开发语言,还意味着差异化的交互方式。同时跨设备协作也让开发者面临分布式开发带来的各种复杂性,例如跨设备的网络通信、数据同步等。若采取传统开发模式,适配和管理工作量将非常巨大。

当前移动应用开发中遇到的主要挑战包括:

  • 针对不同设备上的不同操作系统,重复开发,维护多套版本。
  • 多种语言栈,对人员技能要求高。
  • 多种开发框架,不同的编程范式。
  • 命令式编程,需关注细节,变更频繁,维护成本高。

图1 更多的智能设备

与此同时,AI时代全面来临。随着人们对交互和信息获取的智能化要求越来越高,移动设备的计算能力越来越强,在设备侧就能提供AI的相关能力,例如自然语言交互、环境智能感知、图像识别等。如何快速地使用这些AI能力,使自己的应用更加智能化,进而更好的服务消费者,也是开发者面临的全新挑战。

移动终端上的应用生态发展到今天也面临着变革。传统厚重的App ,整体体验好,功能齐全,但开发成本高、周期长,且存在搜索,安装,升级,卸载等一系列需要用户主动关注的显性操作,这些显性操作给用户带来了实质性的使用成本。轻量化、可快速达成消费者意图、可独立执行、完成单一功能的程序实体正成为新的趋势。

为了更好的抓住机遇,应对万物互联所带来的一系列挑战,新的应用生态应该具备如下特征:

  • 单一设备延伸到多设备:应用一次开发就能在多个设备上运行,软件实体能够从单一设备转移到其他设备上,且多个设备间能够协同运行,给消费者提供全新的分布式体验。
  • 厚重应用模式到轻量化服务模式:提供轻量化的服务,最小化资源消耗,一步直达,快速完成消费者特定场景的任务。
  • 集中化分发到AI加持下的智慧分发:为消费者提供智慧场景服务,实现“服务找人”。
  • 纯软件到软硬芯协同的AI能力:提供软硬芯协同优化的AI能力,全面满足应用高性能诉求。

图2 HarmonyOS

HarmonyOS是新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言,为用户带来简捷,流畅,连续,安全可靠的全场景交互体验。

HarmonyOS结合移动生态发展的趋势,提出了三大技术理念:一次开发,多端部署;可分可合,自由流转;统一生态,原生智能。核心技术理念详细内容可参考《鸿蒙生态应用开发白皮书》,此白皮书全面阐释了HarmonyOS生态下应用开发核心理念、关键能力以及创新体验,旨在帮助开发者快速、准确、全面的了解HarmonyOS开发套件给开发者提供的能力全景和未来的愿景。

另外,《鸿蒙生态应用安全技术白皮书》全面阐述了HarmonyOS生态下应用安全核心理念;通过应用开发、应用发布、应用安装运行三个阶段,构建关键安全能力,从始至终贯彻应用安全核心理念,帮助开发者快速理解HarmonyOS生态应用安全设计,提升应用开发安全质量。

二、HarmonyOS核心技术理念

HarmonyOS应用:使用HarmonyOS SDK开发的应用程序,能够在HarmonyOS终端设备(如:手机、平板等)上运行,其有两种形态:

  • APP:传统方式的需要安装的APP
  • 元服务:轻量级,具备免安装,随处可及,服务直达,自由流转等关键特征的元服务

HarmonyoS应用关键概念:元服务和App的关系

  • App和元服务是HarmonyOS生态的“一体两面”,是面向用户的两种形态。
  • App和元服务均可选择服务卡片作为入口,应用图标作为必选入口。

  • App具有手动下载安装、包大小无限制、应用内或应用市场更新、全量功能等特征,可使用全量API
  • 元服务具有免安装、包大小有限制、即用即走、轻量化等特征,只能使用“元服务API集”

三大技术理念:

一次开发 多端部署、可分可合 自由流转、统一生态 原生智能

1.一次开发 多端部署

一个工程一次开发上架,多端按需部署,目的是为了支撑开发者高效的开发多种终端设备上的应用,为了实现这一目的HarmonyOS提供了几个核心能力,包括多端开发环境、多端开发能力以及多端分发机制

2.可分可合 自由流转

可分可合:开发态代码共享,应用和元服务生命周期完全独立

元服务是支撑可分可合、自由流转的轻量级化程序实体,帮助开发者的服务更快触达用户,可分可合是指在开发态,开发者通过业务解耦,把不同的业务拆分成多个模块,在部署态,开发者可以将一个或多个模块自由组合,打包成多个App Pack,不同的App Pack的包名是不一样的,每个App Pack都需要单独上架,在运行态,应用和元服务的生命周期完全独立

HarmonyoS操作系统提供了自由流转的能力,使得开发者可以方便地开发出跨越多个设备
的应用,用户也能够方便地使用这些功能。

自由流转可分为跨端迁移和多端协调两种情况,分别是时间上的串行交互和时间上的并行交互

3.统一生态 原生智能

Harmonyos支持业界主流跨平台开发框架,通过多层次的开放能力提供统一接入标准,实
现三方框架快速接入。

HarmonyOS内置强大的Al能力,面向Harmonyos生态应用的开发,通过不同层次的Al能力
开放,满足开发者的不同开发场景下的诉求,降低应用的开发门槛,帮助开发者快速实现应
用智能化。

MachineLearning Kit提供了场景化能力,包括通用卡证识别、实时语音识别等;提供AI控件能力,使系统控件融合文字识别等AI能力,CoreAlAP提供了图像语义、语言语音解析、OCR文字识别等能力,Core DeepLearning APl提供了高性能低功耗的端侧推理和端侧学习环境,意图框架提供了Harmonyos系统级的意图标准体系,通过多维系统感知、 大模型等能力,构建全局意图范式实现对用户显性与潜在意图的理解并及时、 准确地将用户需求传递给生态伙伴匹配合适宜的服务,为用户提供多模态、 场景化进阶体验

三、高效开发与测试

1.开发语言

ArkTS是鸿蒙应用的开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,通过规范强化静态检查和分析,提升代码健壮性,让你轻松上手。

2.ArkUI框架

声明式UI前端,提供了UI开发范式的基础语言规范,并提供内置的UI组件、布局和动画,提供了多种状态管理机制,为应用开发者提供一系列接口支持;

语言运行时,选用方舟语言运行时,提供了针对UI范式语法的解析能力,跨语言调用支持的能力和TS语言高性能运行环境;

声明式UI后端引擎,提供了兼容不同开发范式的UI渲染管线,提供多种基础组件、布局计算、动效、交互事件和绘制能力;

渲染引擎提供了高效的绘制能力,将渲染管线收集的渲染指令绘制到屏幕的能力;

平台适配层,提供了对系统平台的抽象接口,具备接入不同系统的能力,如系统渲染管线、生命周期调度等

3.集成开发环境

HUAWEI DevEco Studio是面向HarmonyOS生态的集成开发环境,提供了一站式的HarmonyOS生态应用、元服务开发能力,主要包括工程管理、代码编辑、界面预览、编译构建、代码调试、性能调优、设备模拟、命令行工具和端云一体化开发等功能

4.开发和测试工具

测试套件包括测试标准和测试工具两部分

测试标准覆盖HarmonyOS生态应用性能、功耗、稳定性、兼容性、UX、安全、分布式、游戏等测试规范,帮助开发者解决测什么的问题,测试工具平台提供了HarmonyOS生态应用开发、调试、单元测试、集成测试、上架测试等各开发阶段所需的测试工具集,支持多种设备,帮助开发者全面高效测试

四、上架与分发

HUAWEl AppGallery Connect

HUAWEl AppGallery Connect为开发者提供全球化、全场景、一站式应用/元服务分发能力,并为开发者提供质量、安全、工程管理等领域的能力,大幅降低应用开发与运维难度,提升版本质量帮助开发者获得用户并实现收入的规模增长,快速上架即HUAWEl AppGallery Connect,作为开发者统一提交HarmonyOS生态应用与元服务的入口,集成证书管理、项目管理、版本管理等功能,支持HarmonyOS生态应用、元服务的快速上架与分发,上架审核是指为了给用户提供更安全且出色的体验,HUAWEl AppGallery Connect对开发者提交的HarmonyOS生态应用、元服务进行审核与测试,应用/元服务分发是指HUAWEl AppGallery Connect提供了灵活的分发能力,支持按阶段、维度、场景等多种形式,高效、精确的分发到用户设备上,HarmonyOS作为万物互联时代,泛终端的载体,面向跨设备多终端环境,实现服务随身的跨设备无缝体验,元服务于AI算法深度配合,实现多入口、场景化分发

五、HarmonyOS赋能套件

一站式获取文档和赋能资源

赋能套件旨在为开发者提供全方位的支持,帮助开发者更加轻松地进行HarmonyOS应用开发。

开发者可以通过开发者联盟官网一站式获取HarmonyOS应用开发文档。

赋能套件全景

打造业界一流的开发者赋能产品,助力开发者开发卓越应用,按照学习和开发旅程将赋能套件分为四个部分:感知、学习与评估、开发上架、支持

HarmonyOS开发知识地图,改图完整涵盖了开发者从学习到投入项目实战开发以及应用最终发布上线的全旅程知识导航,

在感知阶段,开发者可以通过白皮书了解认识HarmonyOS应用开发的核心理念、关键能力和创新体验

在学习与评估阶段,为了帮助开发者能快速上手HarmonyOS应用开发,我们提供了一个快速入门教程,通过手把手的Codelabs教学案例和视频课程,带领开发者完成一个HarmonyOS应用的开发,同时,我们为开发者提供了丰富的视频课程以及一系列配套的Codelabs动手案例,帮助开发者真正掌握HarmonyOS应用开发,还可以结合对应的HarmonyOS应用开发者认证来评估你当前的开发水平;

在开发和上架阶段,提供了配套的开发者指南、API参考、最佳实践、技术文章以及一系列对应的Sample来帮助开发者开发出属于自己的HarmonyOS应用,还特别准备了一个符合HarmonyOS应用架构设计和最佳实践的中大型应用——鸿蒙世界(APP)该份代码已开源,FAQ常见问题解答和开发者论坛则全程支持,为开发者进行答疑解惑。

赋能套件旨在赋能应用开发者高质、高效助力开发者开发出更优用户体验的应用

HarmonyOS开发知识地图

知识地图

基于开发者任务旅程的知识地图,聚合官方套件,帮助开发者一站式便捷获取信息

赋能套件全景——白皮书

《鸿蒙生态白皮书》——《鸿蒙生态应用开发白皮书》和《鸿蒙生态应用安全技术白皮书》全面阐释了鸿蒙生态下应用开发核心理念、关键能力以及创新体验,旨在帮助开发者快速、准确、全面的了解HarmonyOS开发套件给开发者提供的能力全景和未来的愿景。

快速入门教程

通过手把手的教学实践案例,从零基础开始,带你快速开发一个简单的HarmonyOS应用,快速扫清继续学习的障碍,产生开发HarmonyOS应用的兴趣。支撑有经验的开发者,快速投入项目实战开发。

赋能套件全景——视频课程

在视频课程中,开发者可以通过代码讲解的方式深入了解HarmonyOS的技术特性和能力,即学即练,从而更加深入地理解和掌握技术。

基础课程:

中级课程:

高级课程:

赋能套件全景——CodeLabs

CodeLabs是一种全新发布的场景化案例,它们的数量丰富,分层分级,并且结合了最佳实践,为开发者提供了丰富的学习资源和实践经验。

赋能套件全景——开发指南

开发指南的内容包括相关概念的定义、原理机制的解释、详细的开发步骤以及调试验证的指导等,帮助开发者全面掌握HarmonyOS UI的能力和开发流程。

赋能套件全景——API参考

API参考为开发者提供了清晰的功能描述、详细的参数说明、完善的权限信息以及规范的示例代码,能够帮助开发者更快地理解和使用HarmonyOS的API。

赋能套件全景——最佳实践

最佳实践涵盖了应用架构、性能优化、多端开发实例、流水线搭建等方面,旨在帮助开发者构建高体验的应用。

HarmonyOS还提供了一个优秀的实践案例“HMOS世界”APP,展示了HarmonyOS 2D特性在实际开发中的运用。

赋能套件全景——Sample

Sample对于开发者具有实际使用价值,帮助开发者理解技术原理,开发者可重用代码片段,快速搭建出原型验证,有助于节省开发时间。

赋能套件全景——FAQ

在HarmonyOS应用开发的全程中,我们还提供了FAQ作为支持,提高开发效率和开发质量。我们为开发者获取FAQ提供了以下途径:

  • 智能客服:全量FAQ内容的载体,负责主要的内容输出。开发者输入FAQ问题内容,即可获得对应问题的参考答案。

  • FAQ:开发者可以浏览FAQ的各个分类和问题,找到自己需要的答案。

相关文章:

HarmonyOS NEXT第一课——HarmonyOS介绍

一、什么是HarmonyOS 万物互联时代应用开发的机遇、挑战和趋势 随着万物互联时代的开启,应用的设备底座将从几十亿手机扩展到数百亿IoT设备。全新的全场景设备体验,正深入改变消费者的使用习惯。 同时应用开发者也面临设备底座从手机单设备到全场景多设…...

数据库系统概论|第五章:数据库完整性—课程笔记1

前言 在前文介绍完数据库标准语言SQL之后,大家已经基本上掌握了关于数据库编程的基本操作,那我们今天将顺承介绍关于数据库完整性的介绍,数据库的完整性是指数据的正确性和相容性。数据的完整性是为了防止数据库中存在不符合语义的数据&…...

开源无人机地面站QGroundControl安卓界面美化与逻辑优化实战

QGroundControl作为开源无人机地面站软件,其安卓客户端界面美化与逻辑优化是提升用户体验的重要工程。 通过Qt框架的界面重构和代码逻辑优化,可以实现视觉升级与性能提升的双重目标。本文将系统讲解QGC安卓客户端的二次开发全流程,包括开发环境搭建、界面视觉升级、多分辨率…...

工作记录 2017-12-12 + 在IIS下发布wordpress

工作记录 2017-12-12 序号 工作 相关人员 1 修改邮件上的问题。 更新RD服务器。 在IIS下发布wordpress。 郝 服务器更新 RD服务器更新了,更新的文件放在190的D:\Temp\CHTeam\fnehr_update_20171212\下了。 数据库更新: 数据库没有更新 更新的文件&#xf…...

BBR 之 ProbeRTT 新改

早在 1981 年,Jaffe 在 Flow Control Power is Nondecentralizable 中就给出过论证,测量 maxbw 必然引入队列,而获得 minrtt 时带宽必然欠载,这确定了后面 30 年的拥塞控制算法基调,但 BBR 在 35 年后非常聪明地在两者…...

[创业之路-354]:农业文明到智能纪元:四次工业革命下的人类迁徙与价值重构

农业文明到智能纪元:四次工业革命下的人类迁徙与价值重构 从游牧到定居,从蒸汽轰鸣到算法洪流,人类文明的每一次跨越都伴随着生产关系的剧烈震荡。四次工业革命的浪潮不仅重塑了物质世界的生产方式,更将人类推向了身份认同与存在…...

敏感词 v0.25.0 新特性之 wordCheck 策略支持用户自定义

开源项目 敏感词核心 https://github.com/houbb/sensitive-word 敏感词控台 https://github.com/houbb/sensitive-word-admin 版本特性 大家好,我是老马。 敏感词一开始了内置了多种检验策略,但是很多用户在使用的过程中希望可以自定义策略。 所以 v0…...

从0到上线,CodeBuddy 如何帮我快速构建旅游 App?

引言 腾讯云AI代码助手之前就改成了CodeBuddy我相信这也是在为后期做准备。那么这篇文章会对CodeBuddy进行比较详细的介绍,并一起来上手实战,感受一下实际开发中这款插件能带给我们多少的便利。本篇文章是一边写一边进行测试,并不是测试完之…...

微信小程序 自定义组件 标签管理

环境 小程序环境: 微信开发者工具:RC 1.06.2503281 win32-x64 基础运行库:3.8.1 概述 基础功能 标签增删改查:支持添加/删除单个标签、批量删除、重置默认标签 数据展示:通过对话框展示结构化数据并支持复制 动…...

从 Eclipse Papyrus / XText 转向.NET —— SCADE MBD技术的演化

从KPN[1]的萌芽开始,到SCADE的推出[2],再到Scade 6的技术更迭[3],SCADE 基于模型的开发技术已经历许多。现在,Scade One 已开启全新的探索 —— 从 Eclipse Papyrus / XText 转向.NET 8跨平台应用。 [1]: KPN, Kahn进程网络 (197…...

【学习笔记】机器学习(Machine Learning) | 第五章(2)| 分类与逻辑回归

机器学习(Machine Learning) 简要声明 基于吴恩达教授(Andrew Ng)课程视频 BiliBili课程资源 文章目录 机器学习(Machine Learning)简要声明 二、决策边界决策边界的数学表达线性决策边界示例非线性决策边界非线性决策边界的示例…...

python 常用web开发框架及使用示例

Python常用Web开发框架及使用示例 Python拥有丰富的Web开发框架生态系统,以下是主流框架及其使用示例: 一、Flask - 轻量级框架 安装 pip install flask 基础示例 from flask import Flask, request, jsonifyapp Flask(__name__)app.route(/) def…...

[ Qt ] | 第一个Qt程序

1. 创建Qt项目 我们打开Qt Create工具,左上角“文件”,新建文件。 --- --- --- --- 这个是我们的APP“走出国门”的时候,要关注的,这里就不说了。 后面这两个直接默认,下一步就行~~。 2. 项目默认内容 下面就是Qt C…...

react + antd 实现后台管理系统

文章目录 完整路由搭建Layout 和 Aside组件引入 AntdAside组件实现 项目效果图 项目完整代码地址 https://gitee.com/lyh1999/react-back-management 项目完整代码地址 react依赖安装 最好采用yarn 安装 react-router 安装依赖 配置路由 history模式 / // src/router/…...

vue3+ts项目 配置vue-router

安装vue-router pnpm install vue-router配置 1.src/router/index.ts文件下的内容 import type { App } from vue import type { RouteRecordRaw } from vue-router import { createRouter, createWebHistory } from vue-router import remainingRouter from ./modules/remai…...

MySQL基本查询(二)

文章目录 UpdateDelete插入查询结果(select insert)聚合函数分组聚合统计 Update 1. 语法: set后面加列属性或者表达式 UPDATE table_name SET column expr [, column expr …][WHERE …] [ORDER BY …] [LIMIT …] 案例 将孙悟空同学的…...

MySQL:联合查询

目录 一、笛卡尔积 ​二、内连接 三、外连接 (1)左外连接 (2)右外连接 (3)全外连接 四、自连接 五、子查询 (1)单行子查询 (2)多行子查询 &…...

[算法学习]——通过RMQ与dfs序实现O(1)求LCA(含封装板子)

每周五篇博客:(3/5) 碎碎念 其实不是我想多水一篇博客,本来这篇是欧拉序的博客,结果dfs序也是可以O1求lca的,而且常数更优,结果就变成这样了。。。 前置知识 [算法学习]——dfs序 思想 分…...

复刻低成本机械臂 SO-ARM100 舵机配置篇(WSL)

视频讲解: 复刻低成本机械臂 SO-ARM100 舵机配置篇(WSL) 飞特舵机 组装之前需要配置舵机的ID,如下的网址为舵机的资料,实际上用不到,但可以mark在这里 Software-深圳飞特模型有限公司 User Guide里面可以…...

聊一聊接口测试更侧重于哪方面的验证

目录 一、功能性验证 输入与输出正确性 参数校验 业务逻辑覆盖 二、数据一致性验证 数据格式规范 数据完整性 数据类型与范围 三、异常场景验证 容错能力测试 边界条件覆盖 错误码与信息清晰度 四、安全与权限验证 身份认证 数据安全 防攻击能力 五、性能与可…...

【网络安全实验】SSL协议的应用

目录 一、SSL协议介绍 2.功能与特点 1)数据加密 2)身份验证 3)数据完整性校验 3.SSL的工作流程(握手过程) 1)客户端问候(ClientHello) 2)服务器响应(…...

测试——用例篇

目录 1. 测试用例 1.1 概念 2. 设计测试用例的万能公式 2.1 常规思考逆向思维发散性思维 2.2 万能公式 3. 设计测试用例例的方法 3.1 基于需求的设计方法 ​编辑 3.2 具体的设计方法 3.2.1 等价类 3.2.2 边界值 3.2.3 正交法 3.2.4 判定表法 3.2.5 场景法 3.2.6…...

计算机视觉技术的发展历程

计算机视觉技术的发展历程可以分为以下几个阶段: 早期探索阶段(1960s-1980s) 1960年代:计算机视觉的概念开始形成,研究者尝试让计算机识别和理解图像,主要集中在基础的图像处理,如边缘检测和特…...

docker 官方:在 alpine 上安装 python 的方法

在 alpine 上安装 python 的方法在 alpine 上安装 python 的方法: # alpine 官方 apk add python3 # docker 官方 docker pull python:3.11-alpine # 第三方 docker run --rm frolvlad/alpine-python3 python3 -c print("Hello World") # 编译安装 略 要点…...

mescroll.js 是在 H5端 运行的下拉刷新和上拉加载插件

1. mescroll的uni版本, 是专门用在uni-app的下拉刷新和上拉加载的组件, 支持一套代码编译到iOS、Android、H5、小程序等多个平台 2. mescroll的uni版本, 继承了mescroll.js的实用功能: 自动处理分页, 自动控制无数据, 空布局提示, 回到顶部按钮 .. 3. mescroll的uni版本, 丰富的…...

openEuler 22.03 安装 Mysql 5.7,RPM 在线安装

目录 一、检查系统是否安装其他版本Mariadb数据库二、安装 MySQL三、配置 MySQL四、修改默认存储路径五、开放防火墙端口六、数据备份七、生产环境优化八、常用命令 一、检查系统是否安装其他版本Mariadb数据库 # 查看已安装的 Mariadb 数据库版本 [rootopeneuler ~]# rpm -qa…...

云原生后端架构的挑战与应对策略

📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 随着云计算、容器化以及微服务等技术的快速发展,云原生架构已经成为现代软件开发和运维的主流趋势。企业通过构建云原生后端系统,能够实现灵活的资源管理、快速的应用迭代和高效的系统扩展。然而,尽管云原…...

第十六届蓝桥杯 2025 C/C++组 客流量上限

目录 题目: 题目描述: 题目链接: 思路: 打表找规律: 核心思路: 思路详解: 得到答案的方式: 按计算器: 暴力求解代码: 快速幂代码: 位运…...

LeetCode算法题 (移除链表元素)Day15!!!C/C++

https://leetcode.cn/problems/remove-linked-list-elements/description/ 一、题目分析 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 今天的题目非常好理解,也就是要删除…...

stm32 HAI库 SPI(一)原理

基本特点 通信方式:同步、串行(串行、并行、并发,别再傻傻分不清了!_串行和并行的区别-CSDN博客)、全双工 (也可以选择半双工)速率:50MHZ以下数据格式:8位/16位传输顺序…...

仿腾讯会议——主界面设计创建房间加入房间客户端实现

1、实现腾讯会议主界面 2、添加Qt类WeChatDialog 3、定义创建会议和加入会议的函数 4、实现显示名字、头像的函数 调用函数 5、在中间者类中绑定函数 6、实现创建房间的槽函数 7、实现加入房间的槽函数 8、设置界面标题 9、服务器定义创建和进入房间函数 10、服务器实现创建房间…...

在pycharm profession 2020.3上安装使用xlwings

之前写了一篇文章在win7和python3.8上安装xlwings-CSDN博客 今天安装了pycharm profession 2020.3,自带Terminal,所以试一下安装xlwings。 一、新建一个python项目 二、安装xlwings 三、输入安装命令 pip3.exe install -i https://pypi.tuna.tsinghu…...

Mybatis学习笔记

介绍 MyBatis 是一款优秀的持久层开发框架,它在 Java 开发中被广泛应用,以下是对它的详细介绍: 概述 MyBatis 最初是 Apache 的一个开源项目 iBatis,2010 年这个项目由 Apache Software Foundation 迁移到了 Google Code&#…...

「Mac畅玩AIGC与多模态13」开发篇09 - 基于多插件协同开发智能体应用(天气+名言查询助手)

一、概述 本篇介绍如何在 macOS 环境下,同时接入多个自定义 OpenAPI 插件,实现智能体根据用户请求自动分析,调用天气查询或名言查询服务,完成多功能协同应用开发。 二、环境准备 1. 确认本地开发环境 macOS 系统Dify 平台已部署并可访问可正常访问外部 API 服务2. 准备天…...

C++--入门基础

C入门基础 1. C的第一个程序 C继承C语言许多大多数的语法,所以以C语言实现的hello world也可以运行,C中需要把文件定义为.cpp,vs编译器看是.cpp就会调用C编译器编译,linux下要用g编译,不再是gcc。 // test.cpp #inc…...

Ubuntu环境下如何管理系统中的用户:创建用户、删除用户、修改密码、切换用户、用户组管理

管理用户的操作需要root权限,在执行命令时需要加sudo,关于sudo命令可以看这篇:Linux_sudo命令的使用与机制 1、添加用户 使用命令: adduser 用户名,主要是按提示输入密码和用户信息(可直接回车使用默认配置…...

广告事件聚合系统设计

需求背景 广告事件需要进行统计,计费,分析等。所以我们需要由数据接入,数据处理,数据存储,数据查询等多个服务模块去支持我们的广告系统 规模上 10000 0000个点击(10000 00000 / 100k 1wQPS) …...

PDF智能解析与知识挖掘:基于pdfminer.six的全栈实现

前言 在数字化信息爆炸的时代,PDF(便携式文档格式)作为一种通用的电子文档标准,承载着海量的结构化与非结构化知识。然而,PDF格式的设计初衷是用于展示而非数据提取,这使得从PDF中挖掘有价值的信息成为数据…...

VGG网络模型

VGG网络模型 诞生背景 VGGNet是牛津大学计算机视觉组核谷歌DeepMind一起研究出来的深度卷积神经网络。VGG是一种被广泛使用的卷积神经网络结构,其在2014年的ImageNet大规模视觉识别挑战中获得亚军。 通常所说的VGG是指VGG-16(13层卷积层3层全连接层)。具有规律的…...

开闭原则与依赖倒置原则区别:原类不变,新增类(功能)vs 接口类不变,原实现类可变

好,我来用最通俗的方式,用角色扮演 场景对话,不讲术语,让你彻底明白「依赖倒置原则」和「开闭原则」的区别。 🎭 场景:你是老板(高层),你要雇人做事 一、【依赖倒置原则…...

【AI面试准备】Azure DevOps沙箱实验全流程详解

介绍动手实验:通过 Azure DevOps 沙箱环境实操,体验从代码提交到测试筛选的全流程。如何快速掌握,以及在实际工作中如何运用。 通过 Azure DevOps 沙箱环境进行动手实验,是快速掌握 DevOps 全流程(从代码提交到测试筛选…...

大数据面试问答-数据湖

1. 概念 数据湖(Data Lake): 以原始格式(如Parquet、JSON等)存储海量原始数据的存储库,支持结构化、半结构化和非结构化数据(如文本、图像)。采用Schema-on-Read模式,数…...

驱动开发系列56 - Linux Graphics QXL显卡驱动代码分析(三)显示模式设置

一:概述 如之前介绍,在qxl_pci_probe 中会调用 qxl_modeset_init 来初始化屏幕分辨率和刷新率,本文详细看下 qxl_modeset_init 的实现过程。即QXL设备的显示模式设置,是如何配置CRTC,Encoder,Connector 的以及创建和更新帧缓冲区的。 二:qxl_modeset_init 分析 in…...

沥青路面裂缝的目标检测与图像分类任务

文章题目是《A grid‐based classification and box‐based detection fusion model for asphalt pavement crack》 于2023年发表在《Computer‐Aided Civil and Infrastructure Engineering》 论文采用了一种基于网格分类和基于框的检测(GCBD)&#xff…...

单片机-STM32部分:0、学习资料汇总

飞书文档https://x509p6c8to.feishu.cn/wiki/Kv7VwjDD8idFWKkMj4acZA3lneZ 一、软件部分 STM32F1系列资料官网下载地址 https://www.stmcu.com.cn/Designresource/list/STM32F1/document/document STM32官方数据手册 有哪些版本,哪些资源,对应哪些IO…...

杭电oj(1180、1181)题解

目录 1180 题目 思路 问题概述 代码思路分析 1. 数据结构与全局变量 2. BFS 函数 bfs 3. 主函数 main 总结 代码 1181 题目 思路 1. 全局变量的定义 2. 深度优先搜索函数 dfs 3. 主函数 main 总结 代码 1180 题目 思路 注:当走的方向和楼梯方向一…...

内部类(3):匿名内部类

1 匿名类 请看下面这个例子: public class Parcel7 {public Contents contents() {return new Contents() {private int i 11;public int value() {return i;}};}public static void main(String[] args) {Parcel7 p new Parcel7();Contents c p.contents();} }…...

组件通信-$attrs

概述:$attrs用于实现当前组件的父组件,向当前组件的子组件通信(爷→孙)。 具体说明:$attrs是一个对象,包含所有父组件传入的标签属性。 注意:$attrs会自动排除props中声明的属性(可以认为声明过…...

Laravel Octane 项目加速与静态资源优化指南

Laravel Octane 项目加速与静态资源优化指南 一、Octane 核心加速配置 扩展安装与环境配置 composer require laravel/octane # 安装核心扩展‌php artisan octane:install # 生成配置文件(选择 Swoole/RoadRunner 等服务器)‌服务器参数调优‌ …...

【Linux】Petalinux U-Boot

描述 部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。 专栏目录:记录自己的嵌入式学习之路-CSDN博客 目录 0 引导流程示例 1 进入U-Boot 2 常用U-Boot操作命…...