最新资讯

  • 鸿蒙NEXT开发-面试题库

鸿蒙NEXT开发-面试题库

2025-04-27 10:00:52 0 阅读

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下

如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识

专栏地址: https://blog.csdn.net/qq_56760790/category_12794123.html

​​​​​​​

目录

1. 简历模板

2. 面试题

2.1 鸿蒙和安卓和IOS的区别

2.2 HarmonyOS应用打包后的文件扩展名是?

2.3  如何进行数据持久化?

2.4 鸿蒙简单介绍和发展历程

2.5 鸿蒙使用网络资源的时候,需要申请什么权限

2.6 父子组件如何通信

2.6.1 @Prop装饰器:父子单向同步

2.6.2 @Link装饰器:父子双向同步

2.6.3 @Provide和@Consume装饰器:与后代组件双向同步

2.6.4 @Observed和@ObjectLink装饰器:嵌套类对象属性变化

2.7 UIAbility生命周期

2.8 页面和自定义组件生命周期

 2.9 自定义组件的创建和渲染流程

2.10 UiAbility页面启动的方式有哪些?

2.11 常用的修饰符有哪些介绍一下

2.12 页面栈最大容量是多少

2.13 路由模式有几种

2.14 如何设置沉浸式效果

2.15 兄弟组件如何通信

2.16 Navigation组件跳转和router跳转有什么区别

2.17 ArkUI框架有哪些特点

2.18 跨设备通信的方式有哪些

2.19 HarmonyOS中的权限管理模型是怎样的

2.20 ArkTS基本介绍

2.21 模块如何导出导入的

2.22 说一下你做的这个项目,开发鸿蒙项目的流程是什么

2.23 鸿蒙的系统能力你用过哪些,简单讲一下

2.24 你项目中的权限是如何管理的

2.24 H5和原生是怎么通信的

2.26 鸿蒙云服务和微信小程序的区别是什么

2.27 鸿蒙的刷新机制是怎么样的,多层嵌套时,是从build开始刷新吗

2.28 说一下全局存储状态用哪些方式

2.29 你在项目中用过线程通信吗,线程是怎么进行通信的?

2.30 你在项目中使用首选项主要用来做什么

2.31 组件通信的方式有哪些

2.32 弹窗UI是怎么在页面UI中使用的

2.33 Builder和BuilderParams的区别

2.34 对于一些公共的样式你是怎么做的?有没有什么优化的方式

2.35 共享库之间怎么进行页面跳转

2.36 websocker用过吗?说说你在项目中怎么用的

2.37 项目中有用到多线程嘛,具体说一下多线程的作用,如何使用的

2.38 什么是鸿蒙应用签名

2.39  如何引入本地的web页面?

2.40 @Provide和@Consume的使用中,消费者修改了值,提供者那边会变化吗?

2.41 鸿蒙客户端怎么实现长登陆的;再说说token的失效后是如何处理的?


1. 简历模板

鸿蒙next出来的时间没那么长,企业接受能力也基本不是要求纯鸿蒙开发的,一般正常是安卓+鸿蒙或者前端+鸿蒙或者Java+鸿蒙,大家最好不要单独写鸿蒙技能,容易简历被筛选掉

示例

  • 精通Html+CSS+JAVASCRIPT的前端布局,开发语言及样式处理
  • 精通Vue2+Vue3/TS + 小程序 + React 及各类组件库的应用与开发
  • 鸿蒙-熟练掌握ArkTS/ArkUI/主流能力Kit及HarmonyOS应用开发
  • 鸿蒙-掌握各类装饰器/State/Prop/Link/Provide/Consume/StorageLink/Observed/ObjectLink的用法
  • 鸿蒙-掌握Builder/BuilderParams尾随必报-Styles/Extend公共样式处理
  • 鸿蒙-掌握ArkUI自定义组件的封装-传值-及各层级组件传值
  • 鸿蒙-ability的启动,运行,传值的各类方式及路由传值的各种方式
  • 鸿蒙-掌握原生能力如 动画/PCM录音/PCM播音/语音转化/拍照/视频/及图片压缩/解压缩相关能力
  • 鸿蒙-掌握多线程TaskPool及Worker的用法,掌握线程通信-emiiter/eventHub/commonEventManager的用法
  • 还可以加+... API文档中 随便抓几个KIt的能力,加上去

2. 面试题

2.1 鸿蒙和安卓和IOS的区别

HarmonyOS 是华为开发的一个开源、分布式的操作系统。它设计用于多种设备,包括智能手机、平板电脑、智能电视和物联网设备。与Android和iOS的主要区别在于:

  • 分布式架构:HarmonyOS支持跨设备无缝协作,允许设备之间共享硬件资源。
  • 性能:HarmonyOS优化了任务调度和内存管理,提高了性能和响应速度。
  • 安全性:HarmonyOS采用了多层次的安全策略,包括数据加密和安全启动。
  • 生态系统:HarmonyOS正在构建自己的应用生态系统,鼓励开发者使用Ark Ts和ArkUI框架。

2.2 HarmonyOS应用打包后的文件扩展名是?

打包后的文件扩展名为.hap(HarmonyOS Ability Package),这是HarmonyOS应用的标准包格式

2.3  如何进行数据持久化?

  1. 用户首选项(Preferences):这是一种轻量级的配置数据持久化方式,适用于保存应用配置信息、用户偏好设置等。它通过文本形式保存数据,并且数据会全量加载到内存中,因此访问速度快,但不适合存储大量数据。
  2. 键值型数据库(KV-Store):适用于存储结构简单的数据,如商品名称和价格、员工工号和出勤状态等。键值型数据库以“键值对”的形式组织数据,适合数据关系不复杂的场景。
  3. 关系型数据库(RelationalStore):基于SQLite,适用于存储包含复杂关系的数据,如学生信息、雇员信息等。关系型数据库提供了一系列SQL操作,如增删改查等。

2.4 鸿蒙简单介绍和发展历程

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

鸿蒙操作系统发展历程

  • 2019年8月9日 鸿蒙1.0发布,首次应用于华为荣耀智慧屏产品中,标志着华为正式进军操作系统领域
  • 2020年9月10日 鸿蒙2.0在华为开发者大会上发布,适用于部分手机、车机、智能电视等设备
  • 2022年7月27日 鸿蒙3.0在HarmonyOS3及华为全场景新品发布会上正式发布,支持更多设备加入超级终端,并提升了鸿蒙智联、万能卡片、流畅性能、隐私安全、信息无障碍等方面
  • 2023年8月4日 鸿蒙4.0在华为开发者大会上正式发布,提供了强大的智能互联能力,并在多屏跨设备投屏等方面实现突破
  • 2024年1月18日 鸿蒙Next开发者预览版本发布,将不在兼容安卓应用

2.5 鸿蒙使用网络资源的时候,需要申请什么权限

使用网络资源时,需要申请权限ohos.permission.INTERNET

在module.json5文件中加上(也就是在module下面加上requestPermissions)

{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [
      "phone",
      "tablet",
      "2in1"
    ],
    "requestPermissions":[
      {
        "name" : "ohos.permission.INTERNET",
        "reason": "$string:reason",
        "usedScene": {
          "abilities": [
            "FormAbility"
          ],
          "when":"inuse"
        }
      }
    ],

2.6 父子组件如何通信

2.6.1 @Prop装饰器:父子单向同步

@Prop装饰的变量可以和父组件建立单向的同步关系。@Prop装饰的变量是可变的,但是变化不会同步回其父组件。

2.6.2 @Link装饰器:父子双向同步

子组件中被@Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。

2.6.3 @Provide和@Consume装饰器:与后代组件双向同步

@Provide和@Consume,应用于与后代组件的双向数据同步,应用于状态数据在多个层级之间传递的场景。

@Provide/@Consume装饰的状态变量有以下特性:

  • @Provide装饰的状态变量自动对其所有后代组件可用,即该变量被“provide”给他的后代组件。由此可见,@Provide的方便之处在于,开发者不需要多次在组件之间传递变量。
  • 后代通过使用@Consume去获取@Provide提供的变量,建立在@Provide和@Consume之间的双向数据同步,与@State/@Link不同的是,前者可以在多层级的父子组件之间传递。
  • @Provide和@Consume可以通过相同的变量名或者相同的变量别名绑定,建议类型相同,否则会发生类型隐式转换,从而导致应用行为异常。

2.6.4 @Observed和@ObjectLink装饰器:嵌套类对象属性变化

上文所述的装饰器仅能观察到第一层的变化,但是在实际应用开发中,应用会根据开发需要,封装自己的数据模型。对于多层嵌套的情况,比如二维数组,或者数组项class,或者class的属性是class,他们的第二层的属性变化是无法观察到的。这就引出了@Observed/@ObjectLink装饰器。

@ObjectLink和@Observed类装饰器用于在涉及嵌套对象或数组的场景中进行双向数据同步:

  • 被@Observed装饰的类,可以被观察到属性的变化;
  • 子组件中@ObjectLink装饰器装饰的状态变量用于接收@Observed装饰的类的实例,和父组件中对应的状态变量建立双向数据绑定。这个实例可以是数组中的被@Observed装饰的项,或者是class object中的属性,这个属性同样也需要被@Observed装饰。
  • @Observed用于嵌套类场景中,观察对象类属性变化,要配合自定义组件使用(示例详见嵌套对象),如果要做数据双/单向同步,需要搭配@ObjectLink或者@Prop使用(示例详见@Prop与@ObjectLink的差异)。

2.7 UIAbility生命周期

  • onCreate

Ability创建时回调,执行初始化业务逻辑操作。

  • onDestory

Ability生命周期回调,在销毁时回调,执行资源清理等操作。

  • onWindowStageCreate

当WindowStage创建后调用。

  • onWindowStageDestory

当WindowStage销毁后调用。

  • onForeground

Ability生命周期回调,当应用从后台转到前台时触发。

  • onBackground

Ability生命周期回调,当应用从前台转到后台时触发

2.8 页面和自定义组件生命周期

在开始之前,我们先明确自定义组件和页面的关系:

  • 自定义组件:@Component装饰的UI单元,可以组合多个系统组件实现UI的复用,可以调用组件的生命周期。
  • 页面:即应用的UI页面。可以由一个或者多个自定义组件组成,@Entry装饰的自定义组件为页面的入口组件,即页面的根节点,一个页面有且仅能有一个@Entry。只有被@Entry装饰的组件才可以调用页面的生命周期。

页面生命周期,即被@Entry装饰的组件生命周期,提供以下生命周期接口:

  • onPageShow:页面每次显示时触发一次,包括路由过程、应用进入前台等场景。
  • onPageHide:页面每次隐藏时触发一次,包括路由过程、应用进入后台等场景。
  • onBackPress:当用户点击返回按钮时触发。

组件生命周期,即一般用@Component装饰的自定义组件的生命周期,提供以下生命周期接口:

  • aboutToAppear:组件即将出现时回调该接口,具体时机为在创建自定义组件的新实例后,在执行其build()函数之前执行。
  • aboutToDisappear:aboutToDisappear函数在自定义组件析构销毁之前执行。不允许在aboutToDisappear函数中改变状态变量,特别是@Link变量的修改可能会导致应用程序行为不稳定。

 2.9 自定义组件的创建和渲染流程

  1. 自定义组件的创建:自定义组件的实例由ArkUI框架创建。
  2. 初始化自定义组件的成员变量:通过本地默认值或者构造方法传递参数来初始化自定义组件的成员变量,初始化顺序为成员变量的定义顺序。
  3. 如果开发者定义了aboutToAppear,则执行aboutToAppear方法。
  4. 在首次渲染的时候,执行build方法渲染系统组件,如果子组件为自定义组件,则创建自定义组件的实例。在首次渲染的过程中,框架会记录状态变量和组件的映射关系,当状态变量改变时,驱动其相关的组件刷新。

当应用在后台启动时,此时应用进程并没有销毁,所以仅需要执行onPageShow。

2.10 UiAbility页面启动的方式有哪些?

单例/多例

2.11 常用的修饰符有哪些介绍一下

  • Entry- 修饰成为页面
  • Component -修饰成为组件
  • Preview - 让组件可预览
  • State - 在组件内部定义响应式数据- 必须给初始值
  • Prop- 接收父组件的响应式数据- 可以给初始值 也可以不给
  • Builder- 声明轻量复用UI
  • BuilderParam - 接收传入的轻量复用UI- 可以给初始值 也可以不给(如果不给的话,调用时需要判断)
  • CustomDialog- 修饰自定义弹层
  • Styles- 修饰样式复用集合-不允许传参数
  • Extend- 修饰某个特定组件的样式复用集合- 允许传参数
  • Link- 可以实现父-子的双向绑定- 注意: $$值得是组件内的双向绑定, $$同样可以实现和Link绑定(必须不能给初始值)
  • LocalStorageProp 单向读取LocalStorage共享的属性(必须给初始值)
  • LocalStorageLink 。双向读取LocalStorage共享的属性 必须给初始值)

2.12 页面栈最大容量是多少

页面栈的最大容量是32个页面

2.13 路由模式有几种

路由提供了两种不同的跳转模式

1、Standard:无论之前是否添加过,一直添加到页面栈(默认)

2、Single:如果目标页面已存在,会将已有的最近同url页面移到栈顶(看情况使用)

2.14 如何设置沉浸式效果

  1. 使用windowStage的设置全屏的方式
  2. 使用组件的安全区域扩展的方式

2.15 兄弟组件如何通信

1、通过公共父组件传递
如果两个组件是同一个父组件的子组件,可以通过父组件来传递数据或事件。父组件可以作为中介,将一个子组件的数据或事件传递给另一个子组件。

2、使用全局状态管理
使用全局状态管理(如 AppStorage、LocalStorage)来存储共享数据。兄弟组件可以独立地读取和更新这个全局状态,从而实现通信。

2.16 Navigation组件跳转和router跳转有什么区别

1、Navigation:是路由容器组件,适用于模块内和跨模块的路由切换,一次开发,多端部署场景。Router位于页面栈管理节点 stage 下面,不提供导航容器的概念。
2、Navigation和 Router都支持跳转传参,但 Router对象中暂不支持方法变量。
3、Navigation:支持清理指定路由,页面栈没有上限,可以无限跳转。Router不支持清理指定路由且页面栈最大为32,页面栈到达32之后必须清除之后才能继续跳转。
4、Navigation:支持自定义转场动画和共享元素转场动画。 Router:仅支持简单自定义转场动画。
5、Navigation:支持通过 setInterception 方法设置路由拦截。Router:不支持路由拦截。
6、Navigation:支持沉浸式页面和模态嵌套路由。Router:不支持,需要通过窗口配置实现沉浸式页面

2.17 ArkUI框架有哪些特点


ArkUI框架是鸿蒙(HarmonyOS)中的一个重要组件框架,具有以下几个特点:

1、组件树结构 : ArkUI框架通过布局组件和基础组件构建界面描述树(组件树),其中基础组件为叶子节点,布局组件为中间节点 。当用户进行交互时,会触发界面修改,通过重新渲染组件树来实现应用界面更新 。


2、数据与UI更新过程 : ArkUI框架的数据处理过程和UI更新过程是分开进行的。数据处理过程中,主要是对状态数据进行更新,并通过标脏过程确定布局最小影响范围,减少不必要的重新布局 。UI更新过程包括组件标脏、布局、测量和渲染等阶段 。


3、布局组件 : ArkUI框架提供了多种布局组件,如Row、Column、Stack、Flex、List、Grid、RelativeContainer等。开发者可以根据场景选择合适的布局组件,以优化性能 。例如,线性布局(Row、Column)适用于横向或纵向排列组件,而弹性布局(Flex)适用于需要弹性排列的场景。


4、性能优化 : ArkUI框架在性能优化方面做了很多工作。例如,通过减少不必要的组件嵌套和节点数量,降低布局测算的复杂度,从而提升性能。开发者可以使用DevEco Studio提供的工具(如Profiler和ArkUI Inspector)来查看性能瓶颈和组件树结构,进一步优化应用性能。


5、状态管理 : ArkUI框架支持状态管理最佳实践,通过有效的状态管理减少无效的UI更新操作,提升性能。例如,在状态变量变化导致UI更新时,只更新部分组件,而不是重新渲染整个界面。

2.18 跨设备通信的方式有哪些


HarmonyOS支持多种跨设备通信方式,包括:

  • 分布式软总线:一种高性能的通信机制,允许设备之间建立直接连接,进行数据传输。
  • 蓝牙:使用标准的蓝牙技术进行设备间的通信。
  • WLAN:通过WLAN网络实现设备间的通信。
  • 远程服务调用:通过分布式任务调度实现跨设备的服务调用。

2.19 HarmonyOS中的权限管理模型是怎样的

  • 权限声明:应用在config.json中声明所需的权限。
  • 权限申请:在应用运行时,根据需要动态申请权限。
  • 权限检查:在执行敏感操作前,检查是否已获得相应权限。
  • 权限分组:系统将权限分为不同的组,便于管理和申请。

2.20 ArkTS基本介绍

ArkTS是HarmonyOS优选的主力应用开发语言。

ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,保持了TS的基本风格,同时通过规范定义强化开发期静态检查和分析,提升程序执行稳定性和性能。

从API version 10开始,ArkTS进一步通过规范强化静态检查和分析,对比标准TS的差异可以参考从TypeScript到ArkTS的适配规则:

  • 强制使用静态类型:静态类型是ArkTS最重要的特性之一。如果使用静态类型,那么程序中变量的类型就是确定的。同时,由于所有类型在程序实际运行前都是已知的,编译器可以验证代码的正确性,从而减少运行时的类型检查,有助于性能提升。
  • 禁止在运行时改变对象布局:为实现最大性能,ArkTS要求在程序执行期间不能更改对象布局。
  • 限制运算符语义:为获得更好的性能并鼓励开发者编写更清晰的代码,ArkTS限制了一些运算符的语义。比如,一元加法运算符只能作用于数字,不能用于其他类型的变量。
  • 不支持Structural typing:对Structural typing的支持需要在语言、编译器和运行时进行大量的考虑和仔细的实现,当前ArkTS不支持该特性。根据实际场景的需求和反馈,我们后续会重新考虑。

ArkTS它是纯新的一门语言,它不是前端也不是TypeScript,它是TS的超集

2.21 模块如何导出导入的

程序可划分为多组编译单元或模块。

每个模块都有其自己的作用域,即,在模块中创建的任何声明(变量、函数、类等)在该模块之外都不可见,除非它们被显式导出。

与此相对,从另一个模块导出的变量、函数、类、接口等必须首先导入到模块中。

导出

可以使用关键字export导出顶层的声明。

导入

可以使用关键字import导入

2.22 说一下你做的这个项目,开发鸿蒙项目的流程是什么

  • 创建项目
  • 导入一些资源/色值
  • 创建一些公共目录-组件库-数据模型-工具类-请求-常量
  • 读写首选项工具类
  • 封装请求工具类
  • 使用泛行工具统一处理响应数据
  • 封装组件库-列表-加载-上传-日历-弹出时间-卡片。。。
  • 分包
  • 发布上线

2.23 鸿蒙的系统能力你用过哪些,简单讲一下

  • 弹窗
  • 路由跳转
  • 声音播放-av-player(Video)
  • 震动
  • 打电话
  • 定位(需要用户授权)
  • 发布通知
  • ability通信-传参
  • 网络权限
  • 首选项
  • 文件选择
  • 后台订阅闹铃

2.24 你项目中的权限是如何管理的

  • 进入应用-判断token(坑点-只能用首选项获取token)- 跳转到主页/登录页
  • 销毁应用
  • 进入登录页- 获取token(存储到持久化/首选项)-跳到主页
  • token超时- 销毁token(销毁持久化/首选项)-跳回登录页

2.24 H5和原生是怎么通信的

鸿蒙原生和h5通信有大概两种方式

  1. 通过消息机制推送,类似于前端的postMessage的跨域通信,首先通过原生端的webviewController进行创建通信端口, createMessagePorts, 该方法会创建两个端口,一个用作原生端,一个用作h5端,然后通过webviewController将其中一个端口通过postMessage发送到h5端,h5端用onmessage来接收该端口,并全局缓存,此时,h5端用接收的端口发送消息给原生端,原声端用自己剩余的端口进行onMessage接听消息,此时就可以实现双向通信
  2. api调用的形式

原生端可以通过javascriptProxy给h5页面注入可用的sdk应用方法集合,在h5完成初始化后,可以直接调用原生的方法,这是h5调用原生

原生端也可以直接调用h5端的方法 runJavascript,在这个方法里面传入方法调用传参数就可以

需要注意的点: 如果原生端的sdk方法是个异步方法,在h5端无法及时得到结果,此时需要再用原生反调h5进行传递结果

2.26 鸿蒙云服务和微信小程序的区别是什么

本质上很像,因为他们都遵循即用即走的模式,都可以免安装,轻量级的使用。

但是微信小程序本质上是在微信的安卓架构/ios架构上做了一层代码框架的机制,也就是说本质上- 微信使用安卓/ios的开发语言完成,小程序是微信自创的一套小程序的开发语言-类似于Vue的MVVM的框架,然后微信进行了统一的代码编译和代码解释,最终实现如今的小程序的效果

鸿蒙的元服务实现了代码大一统的效果,也就是开发一个鸿蒙应用和鸿蒙元服务本质上都直接使用鸿蒙的arkTS和arkUI来进行,调用通用能力和api方式一致,并且把应用变成元服务变得非常简单,只需要加个参数即可

2.27 鸿蒙的刷新机制是怎么样的,多层嵌套时,是从build开始刷新吗

一个组件的渲染- aboutToAppear - build函数(构建UI视图)

当响应式数据发生变化 =》 builde的重新执行

所有的鸿蒙的响应式监测都只能监测到一层

多层嵌套时-执行的顺序 。洋葱圈模式- 一定时先最里面的组件渲染完毕,一定是最外层的组件最后渲染。

关于更新机制的问题

比较机制- 列表比较-ForEach-有三个参数, 第三个参数需要返回一个唯一的key, 如果不写,系统会自动帮我们生成一个函数 规则 index_JSON.stringfy(item) { a: 1, b: 2 } => { a: 2: b: 2 }

如果列表中key发生变化,更新机制直接销毁该组件,然后重新创建, 但是反之,你给的key如果没有发生变化,但是数据变化了,就会出现页面不更新现象。

2.28 说一下全局存储状态用哪些方式

  • LocalStorage- 内存化存储- 局部可用
  • AppStorage- 内存化存储- 全局可用
  • PersitentStoreage- 写入磁盘(沙箱) 全局可用
  • 首选项- 写入磁盘- 全局可用
  • 关系型数据库- 写入磁盘

2.29 你在项目中用过线程通信吗,线程是怎么进行通信的?

emitter和eventHub

都是基于事件总线的

区别是:

eventHub当前线程内通信

emitter是同一进程不同线程或者同一进程和同一线程也可以通信

2.30 你在项目中使用首选项主要用来做什么

存任何持久化的东西都可以,比如token,用户信息等。

首选项有长度限制 每一项的长度8192个字节

2.31 组件通信的方式有哪些

父传子

子传父

跨层

跨ability

跨页面

2.32 弹窗UI是怎么在页面UI中使用的

CustomtDialogController

创建子窗口的形式创建弹层

弹层

bindSheet 半层

bindContentCover 全层

2.33 Builder和BuilderParams的区别

Builder是当前组件的UI复用结构

BuilderParams是接收父组件传入的UI复用结构, 传过来的类型是UI复用结构类型

Builder传值 想要响应式必须是对象,如果基础数据类型,不具备响应式

2.34 对于一些公共的样式你是怎么做的?有没有什么优化的方式

  • 封装组件
  • 抽提Builder
  • 抽提Styles和Extends

2.35 共享库之间怎么进行页面跳转

  • import动态引入共享库的页面
  • 给共享库一个entry的name属性
  • 使用pushRouteName
  • 不要忘记导入依赖

2.36 websocker用过吗?说说你在项目中怎么用的

主要用在发消息和接消息,用于客服模块的消息

用过,和前端用法是一样的

const socket = new WebSocket(url)

socket.on("connect", () => {

})

socket.on("message", () => {

})

socket.on("disconnect", () => {

})

socket.send()

2.37 项目中有用到多线程嘛,具体说一下多线程的作用,如何使用的

用了,因为我们要提高性能。

自定义组件创建完成之后,在build函数执行之前,将先执行aboutToAppear()生命周期回调函数。此时若在该函数中执行耗时操作,将阻塞UI渲染,增加UI主线程负担。因此,应尽量避免在自定义组件的生命周期内执行高耗时操作。在aboutToAppear()生命周期函数内建议只做当前组件的初始化逻辑,对于不需要等待结果的高耗时任务,可以使用多线程处理该任务,通过并发的方式避免主线程阻塞;也可以把耗时操作改为异步并发或延后处理,保证主线程优先处理组件绘制逻辑。

worker帮我们处理图片压缩处理完成之后再去执行其它任务

2.38 什么是鸿蒙应用签名

指纹-就是一堆证明当然项目可被agc识别并允许调试到设备的说明文件

p12

csr

ce

p7b

2.39  如何引入本地的web页面?

web({ src: $rawfile("index.html"),controller: new weview.WebviewController() })

组件

2.40 @Provide和@Consume的使用中,消费者修改了值,提供者那边会变化吗?

当然会,因为都是双向的

2.41 鸿蒙客户端怎么实现长登陆的;再说说token的失效后是如何处理的?

  • token是登录之后得到的,如果失效应该去换取token,还应有一个refreshToken,
  • refreshToken换取一个新的token
  • 如果换取成功-替换原有token-重启发请求
  • 如果换取失败-删除token-删除refreshToken-跳转到登页

本文地址:https://www.vps345.com/3175.html

搜索文章

Tags

PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? CC攻击 攻击怎么办 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP 服务器 linux 运维 游戏 云计算 javascript 前端 chrome edge python MCP llama 算法 opencv 自然语言处理 神经网络 语言模型 ssh 进程 操作系统 进程控制 Ubuntu deepseek Ollama 模型联网 API CherryStudio harmonyos 华为 开发语言 typescript 计算机网络 ubuntu 数据库 centos oracle 关系型 安全 分布式 macos adb react.js 前端面试题 node.js 持续部署 Dell R750XS 科技 ai java 人工智能 个人开发 udp unity 网络 网络协议 rust http fastapi mcp mcp-proxy mcp-inspector fastapi-mcp agent sse pycharm ide pytorch numpy 笔记 C 环境变量 进程地址空间 nginx 监控 自动化运维 阿里云 网络安全 django flask web3.py github 创意 社区 flutter RTSP xop RTP RTSPServer 推流 视频 golang 后端 IIS .net core Hosting Bundle .NET Framework vs2022 es jvm windows 经验分享 php html tcp/ip oceanbase rc.local 开机自启 systemd 麒麟 ecm bpm 深度学习 机器学习 chatgpt 大模型 llama3 Chatglm 开源大模型 android c++ 深度优先 图论 并集查找 换根法 树上倍增 ddos ollama llm 自动化 蓝耘科技 元生代平台工作流 ComfyUI zotero WebDAV 同步失败 代理模式 YOLO vue.js audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 java-ee bash sql KingBase 银河麒麟 kylin v10 麒麟 v10 目标检测 计算机视觉 AI 爬虫 数据集 spring spring boot tomcat ESP32 LDAP websocket nuxt3 vue3 docker 实时音视频 filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 .netcore 容器 .net 统信 国产操作系统 虚拟机安装 gitlab 低代码 Docker Compose docker compose docker-compose 多线程服务器 Linux网络编程 conda pillow live555 rtsp rtp json html5 firefox kubernetes 学习方法 程序人生 搜索引擎 vscode 代码调试 ipdb DeepSeek-R1 API接口 Flask FastAPI Waitress Gunicorn uWSGI Uvicorn prometheus Hyper-V WinRM TrustedHosts kvm 无桌面 命令行 串口服务器 YOLOv8 NPU Atlas800 A300I pro asi_bench apache matlab mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 Deepseek vim c# c语言 面试 性能优化 jdk intellij-idea 架构 ansible playbook shell 磁盘监控 华为云 物联网 springsecurity6 oauth2 授权服务器 前后端分离 电脑 智能路由器 dell服务器 go redis mysql 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 XFS xfs文件系统损坏 I_O error 学习 重启 排查 系统重启 日志 原因 佛山戴尔服务器维修 佛山三水服务器维修 file server http server web server ssl https 医疗APP开发 app开发 uni-app 集成学习 集成测试 openEuler AI编程 jar 嵌入式硬件 arm FunASR ASR minio Spring Security jenkins gitee 腾讯云 ollama下载加速 kylin 远程连接 rdp 实验 virtualenv 远程工作 负载均衡 Wi-Fi 权限 交换机 硬件 设备 GPU PCI-Express UOS 统信操作系统 yum SysBench 基准测试 1024程序员节 ISO镜像作为本地源 MNN DeepSeek Qwen 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 web安全 大数据 音乐服务器 Navidrome 音流 媒体 transformer Linux PID 游戏服务器 Minecraft mongodb fpga开发 jupyter pip AIGC pppoe radius microsoft arm开发 系统安全 微信 远程桌面 gaussdb ffmpeg 音视频 DeepSeek行业应用 Heroku 网站部署 xss 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 kind react next.js 部署 部署next.js QQ 聊天室 spring cloud 单片机 温湿度数据上传到服务器 Arduino HTTP ocr AI agent 硬件架构 系统架构 思科模拟器 思科 Cisco 云服务 maven 机器人 googlecloud CPU 内存 主板 电源 网卡 muduo X11 Xming 小程序 其他 Docker Hub docker pull 镜像源 daemon.json Linux selete 高级IO EMQX MQTT 通信协议 运维开发 弹性计算 虚拟化 KVM 计算虚拟化 弹性裸金属 博客 WebUI DeepSeek V3 AI大模型 游戏程序 stm32 qt 安全威胁分析 vscode 1.86 远程登录 telnet junit 漏洞 unity3d 编辑器 k8s SSH Xterminal 向日葵 WSL2 excel postman mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 hugo Samba SWAT 配置文件 服务管理 网络共享 aws ruoyi 服务器繁忙 备选 网站 api 调用 示例 银河麒麟桌面操作系统 Kylin OS 国产化 AD域 AutoDL IIS服务器 IIS性能 日志监控 intellij idea 信息与通信 开源 边缘计算 智能硬件 华为od sqlite dubbo MS Materials TCP服务器 qt项目 qt项目实战 qt教程 openssl 密码学 模拟退火算法 国标28181 视频监控 监控接入 语音广播 流程 SIP SDP mosquitto 消息队列 r语言 数据挖掘 数据可视化 数据分析 HarmonyOS Next word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 3d 数学建模 网络结构图 kafka hibernate kamailio sip VoIP express 7z 根服务器 clickhouse av1 电视盒子 机顶盒ROM 魔百盒刷机 远程 命令 执行 sshpass 操作 宝塔面板 同步 备份 建站 laravel 大模型入门 大模型教程 webrtc remote-ssh sqlserver ukui 麒麟kylinos openeuler W5500 OLED u8g2 微服务 chfs ubuntu 16.04 安装教程 GPU环境配置 Ubuntu22 CUDA PyTorch Anaconda安装 框架搭建 微信小程序 android studio springboot Nuxt.js git 需求分析 规格说明书 豆瓣 追剧助手 迅雷 nas RTMP 应用层 监控k8s集群 集群内prometheus okhttp CORS 跨域 雨云 NPS elasticsearch 孤岛惊魂4 恒源云 Cursor tcp Dify 单一职责原则 jmeter 软件测试 HCIE 数通 oneapi 大模型微调 open webui pdf asp.net大文件上传 asp.net大文件上传下载 asp.net大文件上传源码 ASP.NET断点续传 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 pygame 小游戏 五子棋 TRAE 华为认证 网络工程师 gateway Clion Nova ResharperC++引擎 Centos7 远程开发 外网访问 内网穿透 端口映射 Headless Linux uniapp 5G 3GPP 卫星通信 XCC Lenovo 安全架构 AISphereButler visualstudio zookeeper debian SSL 域名 云原生 ci/cd WSL win11 无法解析服务器的名称或地址 僵尸进程 armbian u-boot LORA 大语言模型 NLP ceph mysql离线安装 ubuntu22.04 mysql8.0 驱动开发 硬件工程 嵌入式实习 ecmascript nextjs reactjs RustDesk自建服务器 rustdesk服务器 docker rustdesk 黑客技术 流式接口 URL ftp 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 EasyConnect hive Hive环境搭建 hive3环境 Hive远程模式 Cline 缓存 LLM Web APP Streamlit hadoop big data opensearch helm ios ssrf 失效的访问控制 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 MI300x 交互 flash-attention 报错 openwrt ux 多线程 vscode1.86 1.86版本 ssh远程连接 SSE zabbix Python 网络编程 聊天服务器 套接字 TCP 客户端 Socket svn xrdp string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap TrinityCore 魔兽世界 开发环境 SSL证书 sysctl.conf vm.nr_hugepages 多进程 群晖 文件分享 飞牛NAS 飞牛OS MacBook Pro odoo 服务器动作 Server action token sas 软件需求 JAVA Java 源码剖析 rtsp实现步骤 流媒体开发 rsyslog Reactor 设计模式 C++ 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 毕设 银河麒麟操作系统 rpc 远程过程调用 Windows环境 直播推流 服务器部署ai模型 ipython FTP服务器 企业微信 Linux24.04 deepin v10 软件 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 微信公众平台 Agent 中间件 C语言 eureka 联想开天P90Z装win10 DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 bootstrap 压力测试 tailscale derp derper 中转 网工 C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 IDEA 统信UOS bonding 链路聚合 idm 课程设计 cursor MCP server C/S LLM windows日志 数据库架构 数据管理 数据治理 数据编织 数据虚拟化 H3C iDRAC R720xd 命名管道 客户端与服务端通信 能力提升 面试宝典 技术 IT信息化 agi MacOS录屏软件 gpu算力 unix mamba devops iot midjourney AI写作 firewalld 相差8小时 UTC 时间 Unity插件 netty CH340 串口驱动 CH341 uart 485 dify iventoy VmWare OpenEuler css3 sentinel rabbitmq bat 端口 查看 ss c 实时互动 bug VMware安装mocOS VMware macOS系统安装 状态管理的 UDP 服务器 Arduino RTOS 服务器配置 生物信息学 mac bcompare Beyond Compare 模拟器 教程 win服务器架设 windows server gitea linux 命令 sed 命令 prompt ros 迁移指南 n8n 工作流 workflow 技术共享 我的世界 我的世界联机 数码 黑客 计算机 自动化任务管理 easyui langchain 前端框架 RAGFlow Invalid Host allowedHosts vue 无人机 我的世界服务器搭建 加解密 Yakit yaklang 可信计算技术 网络攻击模型 王者荣耀 gcc 职场和发展 执法记录仪 智能安全帽 smarteye yum源切换 更换国内yum源 矩阵 线性代数 电商平台 流量运营 IPv4 子网掩码 公网IP 私有IP Windows 服务器管理 配置教程 服务器安装 网站管理 springcloud SSH 密钥生成 SSH 公钥 私钥 生成 Linux find grep wsl 云电竞 云电脑 todesk elk 智能手机 EMUI 回退 降级 升级 代理 eclipse BMC IPMI 带外管理 ShenTong 中兴光猫 换光猫 网络桥接 自己换光猫 ip ui ArkUI 多端开发 智慧分发 应用生态 鸿蒙OS 安卓 apt 嵌入式 linux驱动开发 Erlang OTP gen_server 热代码交换 事务语义 ESXi Dell HPE 联想 浪潮 鸿蒙 鸿蒙系统 freebsd fd 文件描述符 glibc npm 远程控制 rustdesk 线程 游戏引擎 llama.cpp dns是什么 如何设置电脑dns dns应该如何设置 单元测试 功能测试 selenium 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 测试工具 测试用例 .net mvc断点续传 AI作画 元服务 应用上架 图形化界面 换源 国内源 Debian tcpdump 计算机外设 GCC crosstool-ng AI-native Docker Desktop 个人博客 蓝桥杯 银河麒麟服务器操作系统 系统激活 wsl2 状态模式 策略模式 单例模式 tensorflow 算力 visual studio code trae 工业4.0 虚拟机 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 文件系统 路径解析 HarmonyOS 多层架构 解耦 rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK 软链接 硬链接 deekseek ragflow 知识库 办公自动化 自动化生成 pdf教程 windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 CrewAI log4j 阻塞队列 生产者消费者模型 服务器崩坏原因 jetty undertow 微信分享 Image wxopensdk Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 grafana 直流充电桩 充电桩 微信开放平台 微信公众号配置 Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 游戏开发 efficientVIT YOLOv8替换主干网络 TOLOv8 SEO hexo minicom 串口调试工具 图像处理 端口测试 显示管理器 lightdm gdm g++ g++13 cnn DenseNet 小智AI服务端 xiaozhi TTS 分析解读 pyautogui 信号 NAS Termux SSH 服务 SSH Server OpenSSH Server Xinference 云服务器 裸金属服务器 弹性裸金属服务器 p2p rclone AList webdav fnOS 小艺 Pura X onlyoffice 游戏机 双系统 VMware安装Ubuntu Ubuntu安装k8s Netty 即时通信 NIO HTTP 服务器控制 ESP32 DeepSeek Jellyfin 宠物 毕业设计 免费学习 宠物领养 宠物平台 信号处理 ubuntu24 vivado24 matplotlib 毕昇JDK 查询数据库服务IP地址 SQL Server 语音识别 k8s集群资源管理 云原生开发 历史版本 下载 安装 半虚拟化 硬件虚拟化 Hypervisor RAGFLOW 数据结构 cd 目录切换 micropython esp32 mqtt GoogLeNet 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 超融合 vasp安装 safari Mac 系统 Radius VR手套 数据手套 动捕手套 动捕数据手套 lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 postgresql pgpool nvidia 业界资讯 田俊楠 ros2 moveit 机器人运动 code-server SVN Server tortoise svn Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 烟花代码 烟花 元旦 程序员 数据库系统 xpath定位元素 dity make HAProxy ABAP 大数据平台 银河麒麟高级服务器 外接硬盘 Kylin Open WebUI 物联网开发 输入法 echarts 信息可视化 网页设计 华为机试 outlook sonoma 自动更新 RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 具身智能 list 模拟实现 vSphere vCenter rime 程序 Java Applet URL操作 服务器建立 Socket编程 网络文件读取 DevEco Studio 自动驾驶 流水线 脚本式流水线 rust腐蚀 强化学习 技能大赛 dba keepalived ArcTS 登录 ArcUI GridItem Qwen2.5-coder 离线部署 web 网络穿透 linux环境变量 firewall cocoapods xcode CVE-2024-7347 VPS threejs 3D chrome devtools chromedriver IM即时通讯 剪切板对通 HTML FORMAT SenseVoice 抗锯齿 实习 软件定义数据中心 sddc 反向代理 致远OA OA服务器 服务器磁盘扩容 yolov8 合成模型 扩散模型 图像生成 OD机试真题 华为OD机试真题 服务器能耗统计 序列化反序列化 飞书 dns web3 阿里云ECS gpt autodl 智能音箱 智能家居 服务器数据恢复 数据恢复 存储数据恢复 北亚数据恢复 oracle数据恢复 IPMITOOL 硬件管理 opcua opcda KEPServer安装 IMM 语法 金仓数据库 2025 征文 数据库平替用金仓 OpenHarmony 真机调试 传统数据库升级 银行 LLMs 黑苹果 虚拟局域网 VSCode 繁忙 解决办法 替代网站 汇总推荐 AI推理 移动云 CDN sdkman sequoiaDB css less 鲲鹏 FTP 服务器 捆绑 链接 谷歌浏览器 youtube google gmail nac 802.1 portal 政务 分布式系统 监控运维 Prometheus Grafana proxy模式 图形渲染 trea idea cuda cudnn gpt-3 文心一言 prometheus数据采集 prometheus数据模型 prometheus特点 相机 自定义客户端 SAS embedding 软件工程 显卡驱动 wsgiref Web 服务器网关接口 alias unalias 别名 flink nfs skynet 实战案例 大大通 第三代半导体 碳化硅 混合开发 环境安装 JDK 回显服务器 UDP的API使用 regedit 开机启动 java-rocketmq ldap ardunio BLE Python基础 Python教程 Python技巧 网络用户购物行为分析可视化平台 大数据毕业设计 webstorm Trae IDE AI 原生集成开发环境 Trae AI Linux环境 源码 webgl 环境配置 centos-root /dev/mapper yum clean all df -h / du -sh Claude 项目部署到linux服务器 项目部署过程 考研 本地部署 在线office eNSP 网络规划 VLAN 企业网络 ruby pyqt 京东云 深度求索 私域 AnythingLLM AnythingLLM安装 虚幻 Kylin-Server Kali 基础入门 编程 Kali Linux 渗透测试 信息收集 h.264 frp 网卡的名称修改 eth0 ens33 QT 5.12.12 QT开发环境 Ubuntu18.04 GRUB引导 Linux技巧 腾讯云大模型知识引擎 docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos cpp-httplib redhat Google pay Apple pay 服务器主板 AI芯片 springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 wordpress 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 P2P HDLC k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 open Euler dde uv can 线程池 asm epoll 性能分析 gradle MySql RAID RAID技术 磁盘 存储 adobe 移动魔百盒 linux上传下载 iis USB转串口 健康医疗 互联网医院 harmonyOS面试题 雨云服务器 wps Typore 视觉检测 邮件APP 免费软件 环境迁移 USB网络共享 昇腾 npu 崖山数据库 YashanDB db VMware创建虚拟机 Ubuntu Server Ubuntu 22.04.5 视频编解码 ssh远程登录 Ubuntu 24.04.1 轻量级服务器 NFS python3.11 dash 正则表达式 tidb GLIBC Anolis nginx安装 linux插件下载 YOLOv12 cpu 实时 使用 浏览器开发 AI浏览器 linux安装配置 EtherCAT转Modbus ECT转Modbus协议 EtherCAT转485网关 ECT转Modbus串口网关 EtherCAT转485协议 ECT转Modbus网关 僵尸世界大战 游戏服务器搭建 rnn 远程看看 远程协助 vmware 卡死 知识图谱 iBMC UltraISO sqlite3 mcu AI代码编辑器 etl etcd 数据安全 RBAC wireshark 三级等保 服务器审计日志备份 链表 金融 seatunnel yaml Ultralytics 可视化 deepseek r1 risc-v 交叉编译 软考 make命令 makefile文件 开机自启动 rag ragflow 源码启动 rocketmq iperf3 带宽测试 架构与原理 iphone 多个客户端访问 IO多路复用 TCP相关API ue4 着色器 ue5 iftop 网络流量监控 KylinV10 麒麟操作系统 Vmware jina anaconda Vmamba 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 大文件秒传跨域报错cors 镜像 压测 ECS Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 camera Arduino 电子信息 宕机切换 服务器宕机 composer mariadb 产测工具框架 IMX6ULL 管理框架 navicat IMX317 MIPI H265 VCU Linux的基础指令 ROS DOIT 四博智联 防火墙 NAT转发 NAT Server Unity Dedicated Server Host Client 无头主机 stm32项目 aarch64 编译安装 HPC lio-sam SLAM HiCar CarLife+ CarPlay QT RK3588 Ark-TS语言 域名服务 DHCP 符号链接 配置 开发 Node-Red 编程工具 流编程 自动化测试 性能测试 milvus 常用命令 文本命令 目录命令 树莓派 VNC Logstash 日志采集 xml thingsboard AI Agent 字节智能运维 cmos RAG 检索增强生成 文档解析 大模型垂直应用 curl wget docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 ubuntu24.04.1 Ubuntu共享文件夹 共享目录 Linux共享文件夹 DNS UDP rpa fast 干货分享 黑客工具 密码爆破 大模型应用 离线部署dify neo4j kali 共享文件夹 服务器时间 嵌入式Linux IPC mybatis gnu 飞牛nas fnos 大模型推理 大模型学习 ping++ 企业网络规划 华为eNSP LInux vr 灵办AI mq x64 SIGSEGV xmm0 CentOS Stream CentOS edge浏览器 李心怡 visual studio Linux的权限 剧本 热榜 uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 docker部署Python 社交电子 VS Code 产品经理 AD 域管理 MDK 嵌入式开发工具 论文笔记 sublime text 网站搭建 serv00 qemu libvirt grub 版本升级 扩容 arcgis 影刀 #影刀RPA# 网络爬虫 Redis Desktop 风扇控制软件 运维监控 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 增强现实 沉浸式体验 应用场景 技术实现 案例分析 AR TrueLicense minecraft bot Docker 虚幻引擎 leetcode 推荐算法 DocFlow MacMini 迷你主机 mini Apple figma 分布式训练 论文阅读 自动化编程 EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 程序员创富 docker run 数据卷挂载 交互模式 西门子PLC 通讯 ip命令 新增网卡 新增IP 启动网卡 searxng 网络药理学 生信 PPI String Cytoscape CytoHubba 用户缓冲区 xshell termius iterm2 数据仓库 数据库开发 database 做raid 装系统 PX4 存储维护 NetApp存储 EMC存储 deep learning arkUI 服务网格 istio js 火绒安全 内网服务器 内网代理 内网通信 VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 车载系统 渗透 nlp 鸿蒙开发 移动开发 聚类 wpf ai小智 语音助手 ai小智配网 ai小智教程 esp32语音助手 diy语音助手 dock 加速 spark HistoryServer Spark YARN jobhistory docker命令大全 主从复制 ai工具 键盘 人工智能生成内容 GIS 遥感 WebGIS 本地知识库部署 DeepSeek R1 模型 信创 信创终端 中科方德 本地化部署 docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 openstack Xen 大模型面经 Windsurf 嵌入式系统开发 内网环境 拓扑图 代理服务器 私有化 ubuntu20.04 开机黑屏 玩机技巧 软件分享 软件图标 WebRTC 匿名管道 基础环境 C# MQTTS 双向认证 emqx 多路转接 项目部署 SRS 流媒体 直播 远程服务 沙盒 word conda配置 conda镜像源 DBeaver Playwright 大模型部署 ssh漏洞 ssh9.9p2 CVE-2025-23419 raid5数据恢复 磁盘阵列数据恢复 搭建个人相关服务器 OpenSSH swoole IO模型 Cookie 音乐库 飞牛 实用教程 粘包问题 seleium 目标跟踪 OpenVINO 推理应用 IO triton 模型分析 perf kerberos TCP协议 欧标 OCPP lua mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 系统开发 binder framework 源码环境 AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 Deepseek-R1 私有化部署 推理模型 CLion Attention hosts PVE 软负载