鸿蒙ArkUI-X跨平台技术:【SDK结构介绍】

 ArkUI-X SDK目录结构介绍

简介

本文档配套ArkUI-X,将OpenHarmony ArkUI开发框架扩展到不同的OS平台,比如Android和iOS平台,让开发者基于ArkUI,可复用大部分的应用代码(UI以及主要应用逻辑)并可以部署到相应的OS平台,降低跨平台应用开发成本。

SDK获取

  • SDK获取可参见[版本说明]
  • 开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

开发工具集成

  • ACE Tools命令行集成 ACE Tools作为ArkUI跨平台应用构建的命令行工具,通过集成ArkUI-X SDK具有创建、编译构建OpenHarmony/HarmonyOS、Android和iOS应用的能力。
  • DevEco Studio集成 DecEco Studio作为ArkUI跨平台应用构建的IDE工具,通过集成ArkUI-X SDK支持一键构建出OpenHarmony/HarmonyOS应用、Android应用、iOS应用的能力。

ArkUI-X SDK构建规则

SDK压缩包命名规则

ArkUI-X编译构建流水线出包时,需按照SDK命名规则进行打包,命名规则如下:

path_操作系统类型_CPU架构类型_版本号_releaseType.zip

表1 SDK规则字段说明

字段描述
path取值为SDK根目录元数据arkui-x.json文件中的path标签内容。
操作系统类型可选值:windows,darwin,linux。
CPU架构类型可选值:"x64"-x86架构,"arm64"-arm架构。
版本号构建版本号与OpenHarmony SDK版本号规则保持一致。
releaseType可选值:Canary,Beta,Release三种可选取值。releaseType后面加数字,标识迭代次数,比如:Beta1。

示例:  arkui-x_windows_x64_1.0.0.0_Release.zip

SDK压缩包内部结构

这里,以macOS平台上的ArkUI-X SDK包为例,对SDK目录结构和内容规格进行说明。更详细的ArkUI-X SDK内容规格会在第五节进行介绍。

arkui-x_darwin_x64_1.0.0.0_Release.zip
└── arkui-x
    ├── engine                   // ArkUI-X的引擎库
    │   ├── lib                  // ArkUI-X的引擎库:包括Android平台及架构的动态库
    │   ├── framework            // ArkUI-X的引擎库:包括iOS平台及架构的Framework库
    │   ├── xcframework          // ArkUI-X的引擎库:包括iOS平台及架构的XCFramework库
    │   ├── ets                  // ArkUI-X增量接口,比如:@arkui-x.bridge
    │   ├── apiConfig.json       // engine库配置文件,用于IDE和ACE Tools解析,以支持应用构建按需打包。
    │   └── systemres            // ArkUI-X框架自带的资源
    ├── plugins                  // ArkUI-X官方提供的插件库
    │   ├── component            // ArkUI组件插件库
    │   └── api                  // @ohos接口插件库,apiConfig.json
    ├── toolchains               // ArkUI-X应用开发工具,比如:ACE Tools。
    ├── sdkConfig.json           // 增量d.ts路径和接口前缀配置
    ├── arkui-x.json             // SDK管理配置,流水线自动生成
    └── NOTICE.txt

ArkUI-X SDK引擎目录结构

ArkUI-X应用构建最小依赖集合,位于arkui-x_darwin_x64_1.0.0.0_Release.zip/arkui-x/engine目录:

engine
├── lib
│   ├── include
│   ├── arkui
│   │   ├── arkui_android_adapter.jar
│   │   ├── android-arm
│   │   ├── android-arm-profile
│   │   ├── android-arm-release
│   │   ├── android-arm64
│   │   ├── android-arm64-profile
│   │   ├── android-arm64-release
│   │   └── android-x86_64
│   ├── third_party                        // 内部目录同arkui
│   └── utils                              // 内部目录同arkui
├── framework
│   ├── arkui
│   │   ├── ios-arm64
│   │   ├── ios-arm64-profile
│   │   ├── ios-arm64-release
│   │   ├── ios-arm64-simulator
│   │   └── ios-x86_64-simulator
│   ├── third_party
│   └── utils
├── xcframework
│   ├── arkui
│   │   ├── ios
│   │   │   └── libarkui_ios.xcframework
│   │   │       ├── Info.plist
│   │   │       ├── ios-arm64
│   │   │       └── ios-arm64_x86_64-simulator
│   │   ├── ios-profile
│   │   │   └── libarkui_ios.xcframework
│   │   │       ├── Info.plist
│   │   │       ├── ios-arm64
│   │   │       └── ios-arm64_x86_64-simulator
│   │   └── ios-release
│   │       └── libarkui_ios.xcframework
│   │           ├── Info.plist
│   │           ├── ios-arm64
│   │           └── ios-arm64_x86_64-simulator
│   ├── third_party                          // 内部目录同arkui
│   └── utils                                // 内部目录同arkui
├── ets
│   └── @arkui-x.bridge.d.ts
├── apiConfig.json
└── systemres

ArkUI-X SDK插件目录结构

ArkUI-X应用按需打包插件库集合,位于arkui-x_darwin_x64_1.0.0.0_Release.zip/arkui-x/plugins目录:

plugins
├── component
│   ├── lib
│   │   ├── include
│   │   └── ${ui-name}                                        // 一个UI组件一个目录
│   │       ├── ${ui-name}.jar
│   │       ├── android-arm
│   │       ├── android-arm-profile
│   │       ├── android-arm-release
│   │       ├── android-arm64
│   │       ├── android-arm64-profile
│   │       ├── android-arm64-release
│   │       │   └── lib${ui-name}.so
│   │       └── android-x86_64
│   ├── framework
│   │   ├── ios-arm64
│   │   ├── ios-arm64-profile
│   │   │   └── lib${ui-name}.framework
│   │   ├── ios-arm64-release
│   │   ├── ios-arm64-simulator
│   │   └── ios-x86_64-simulator
│   ├── xcframework
│   │   ├── ios
│   │   │   └── lib${ui-name}.xcframework
│   │   │       ├── Info.plist
│   │   │       ├── ios-arm64
│   │   │       └── ios-arm64_x86_64-simulator
│   │   ├── ios-profile
│   │   │   └── lib${ui-name}.xcframework
│   │   │       ├── Info.plist
│   │   │       ├── ios-arm64
│   │   │       └── ios-arm64_x86_64-simulator
│   │   └── ios-release
│   │       └── lib${ui-name}.xcframework
│   │           ├── Info.plist
│   │           ├── ios-arm64
│   │           └── ios-arm64_x86_64-simulator
│   └── apiConfig.json
└── api
    ├── lib
    │   ├── include
    │   └── ${module-name}_${submodule-name}                  // 一个API模块一个目录
    │       ├── ${module-name}_${submodule-name}.jar
    │       ├── android-arm
    │       ├── android-arm-profile
    │       ├── android-arm-release
    │       ├── android-arm64
    │       ├── android-arm64-profile
    │       ├── android-arm64-release
    │       │   └── lib${module-name}_${submodule-name}.so
    │       └── android-x86_64
    ├── framework
    │   ├── ios-arm64
    │   ├── ios-arm64-profile
    │   │   └── lib${module-name}_${submodule-name}.framework
    │   ├── ios-arm64-release
    │   ├── ios-arm64-simulator
    │   └── ios-x86_64-simulator
    ├── xcframework
    │   ├── ios
    │   │   └── lib${module-name}_${submodule-name}.xcframework
    │   │       ├── Info.plist
    │   │       ├── ios-arm64
    │   │       └── ios-arm64_x86_64-simulator
    │   ├── ios-profile
    │   │   └── lib${module-name}_${submodule-name}.xcframework
    │   │       ├── Info.plist
    │   │       ├── ios-arm64
    │   │       └── ios-arm64_x86_64-simulator
    │   └── ios-release
    │       └── lib${module-name}_${submodule-name}.xcframework
    │           ├── Info.plist
    │           ├── ios-arm64
    │           └── ios-arm64_x86_64-simulator
    └── apiConfig.json

arkui-x.json配置说明

{
  "apiVersion": "10",
  "displayName": "ArkUI-X",
  "meta": {
    "metaVersion": "1.0.0"
  },
  "path": "arkui-x",
  "releaseType": "Release",
  "version": "1.0.0.0"
}

字段解释如下:

  • apiVersion:  ArkUI-X SDK依赖OpenHarmony SDK的版本。
  • displayName:  ArkUI-X SDK在DevEco Studio的显示名称。
  • path:  ArkUI-X SDK下载的后的路径名称。
  • version:  ArkUI-X SDK编译构建版本号,用于转测试。

ArkUI-X SDK内容详细规格

Windows平台

ArkUI-X SDK引擎目录结构

  • lib目录:ArkUI-X基础框架跨平台实现。
  • ets目录:ArkUI-X独有接口定义和ArkUI跨平台Stage模型相关基础接口配置说明。
  • systemres目录:ArkUI渲染一致性资源主题包。
arkui-x_windows_x64_1.0.0.0_Release.zip/arkui-x/engine
├── lib                                           // ArkUI跨平台引擎及平台适配层
│   ├── include                                   // NAPI和相关辅助C接口
│   ├── arkui
│   │   ├── arkui_android_adapter.jar
│   │   ├── android-arm
│   │   ├── android-arm-profile
│   │   ├── android-arm-release
│   │   ├── android-arm64
│   │   ├── android-arm64-profile
│   │   ├── android-arm64-release
│   │   │   └── libarkui_android.so               // ArkUI跨平台引擎,包含:ArkUI\NAPI\ARk三部分。
│   │   └── android-x86_64
│   ├── third_party
│   └── utils
├── ets                                           // ArkUI-X独有接口定义和ArkUI跨平台Stage模型相关基础接口配置说明。
│   └── @arkui-x.bridge.d.ts
├── apiConfig.json
└── systemres                                     // ArkUI组件渲染一致性系统资源包

ArkUI-X SDK插件目录结构

  • component目录:ArkUI组件插件化动态库。
  • api目录:ArkTS接口插件化动态库。
arkui-x_windows_x64_1.0.0.0_Release.zip/arkui-x/plugins
├── component                                                   // ArkUI组件插件化动态库。
│   ├── lib
│   │   ├── include
│   │   └── ${ui-name}
│   │       ├── ${ui-name}_android_adapter.jar                    // 部分组件实现依赖的Android接口。
│   │       ├── android-arm
│   │       ├── android-arm-profile
│   │       ├── android-arm-release
│   │       ├── android-arm64
│   │       ├── android-arm64-profile
│   │       ├── android-arm64-release
│   │       │   └── lib${ui-name}.so                            // ArkUI组件实现。
│   │       └── android-x86_64
│   └── apiconfig.json                                          // ArkUI组件跨平台实现配置说明。
└── api                                                         // ArkTS接口插件化动态库。
    ├── lib
    │   ├── include
    │   └── ${module-name}_${submodule-name}
    │       ├── ${module-name}_${submodule-name}.jar            // ArkTS接口实现依赖的Android接口。
    │       ├── android-arm
    │       ├── android-arm-profile
    │       ├── android-arm-release
    │       ├── android-arm64
    │       ├── android-arm64-profile
    │       ├── android-arm64-release
    │       │   └── lib${module-name}_${submodule-name}.so      // ArkTS接口实现。
    │       └── android-x86_64
    └── apiConfig.json                                          // ArkTS @ohos接口跨平台实现配置说明。

Linux平台

ArkUI-X SDK引擎目录结构

  • lib目录:ArkUI-X基础框架跨平台实现。
  • ets目录:ArkUI-X独有接口定义和ArkUI跨平台Stage模型相关基础接口配置说明。
  • systemres目录:ArkUI渲染一致性资源主题包。
arkui-x_linux_x64_1.0.0.0_Release.zip/arkui-x/engine
├── lib                                           // ArkUI跨平台引擎及平台适配层
│   ├── include                                   // NAPI和相关辅助C接口
│   ├── arkui
│   │   ├── arkui_android_adapter.jar            // ArkUI Android平台适配层
│   │   ├── android-arm
│   │   ├── android-arm-profile
│   │   ├── android-arm-release
│   │   ├── android-arm64
│   │   ├── android-arm64-profile
│   │   ├── android-arm64-release
│   │   │   └── libarkui_android.so               // ArkUI跨平台引擎,包含:ArkUI\NAPI\ARk三部分。
│   │   └── android-x86_64
│   ├── third_party
│   └── utils
├── ets                                           // ArkUI-X独有接口定义和ArkUI跨平台Stage模型相关基础接口配置说明。
│   └── @arkui-x.bridge.d.ts
├── apiConfig.json
└── systemres                                     // ArkUI组件渲染一致性系统资源包

ArkUI-X SDK插件目录结构

  • component目录:ArkUI组件插件化动态库。
  • api目录:ArkTS接口插件化动态库。
arkui-x_linux_x64_1.0.0.0_Release.zip/arkui-x/plugins
├── component                                                   // ArkUI组件插件化动态库。
│   ├── lib
│   │   ├── include
│   │   └── ${ui-name}
│   │       ├── ${ui-name}_android_adapter.jar                    // 部分组件实现依赖的Android接口。
│   │       ├── android-arm
│   │       ├── android-arm-profile
│   │       ├── android-arm-release
│   │       ├── android-arm64
│   │       ├── android-arm64-profile
│   │       ├── android-arm64-release
│   │       │   └── lib${ui-name}.so                            // ArkUI组件实现。
│   │       └── android-x86_64
│   └── apiconfig.json                                          // ArkUI组件跨平台实现配置说明。
└── api                                                         // ArkTS接口插件化动态库。
    ├── lib
    │   ├── include
    │   └── ${module-name}_${submodule-name}
    │       ├── ${module-name}_${submodule-name}.jar            // ArkTS接口实现依赖的Android接口。
    │       ├── android-arm
    │       ├── android-arm-profile
    │       ├── android-arm-release
    │       ├── android-arm64
    │       ├── android-arm64-profile
    │       ├── android-arm64-release
    │       │   └── lib${module-name}_${submodule-name}.so      // ArkTS接口实现。
    │       └── android-x86_64
    └── apiConfig.json                                          // ArkTS @ohos接口跨平台实现配置说明。

macOS平台

ArkUI-X SDK引擎目录结构

  • lib、framework、xcframework目录:ArkUI-X基础框架跨平台实现。
  • ets目录:ArkUI-X独有接口定义和ArkUI跨平台Stage模型相关基础接口配置说明。
  • systemres目录:ArkUI渲染一致性资源主题包。
arkui-x_darwin_x64_1.0.0.0_Release.zip/arkui-x/engine
├── lib                                                 // ArkUI跨平台引擎及平台适配层
│   ├── include                                         // NAPI和相关辅助C接口
│   ├── arkui
│   │   ├── arkui_android_adapter.jar                     // ArkUI Android平台适配层
│   │   ├── android-arm
│   │   ├── android-arm-profile
│   │   ├── android-arm-release
│   │   ├── android-arm64
│   │   ├── android-arm64-profile
│   │   ├── android-arm64-release
│   │   │   └── libarkui_android.so                     // ArkUI跨平台引擎,包含:ArkUI\NAPI\ARk\Ability等部分。
│   │   └── android-x86_64
│   ├── third_party
│   └── utils
├── framework
│   ├── arkui
│   │   ├── ios-arm64
│   │   ├── ios-arm64-profile
│   │   ├── ios-arm64-release
│   │   │   └── libarkui_ios.framework                    // ArkUI跨平台引擎及平台适配层
│   │   │       ├── Headers
│   │   │       ├── Info.plist
│   │   │       ├── libarkui_ios
│   │   │       ├── libarkui_ios.podspec
│   │   │       └── Modules
│   │   │           └── module.modulemap
│   │   ├── ios-arm64-simulator
│   │   └── ios-x86_64-simulator
│   ├── third_party
│   └── utils
├── xcframework
│   ├── arkui
│   │   ├── ios
│   │   │   └── libarkui_ios.xcframework                     // ArkUI跨平台引擎及平台适配层
│   │   │       ├── Info.plist
│   │   │       ├── ios-arm64
│   │   │       └── ios-arm64_x86_64-simulator
│   │   ├── ios-profile
│   │   │   └── libarkui_ios.xcframework                     // ArkUI跨平台引擎及平台适配层
│   │   │       ├── Info.plist
│   │   │       ├── ios-arm64
│   │   │       └── ios-arm64_x86_64-simulator
│   │   └── ios-release
│   │       └── libarkui_ios.xcframework                     // ArkUI跨平台引擎及平台适配层
│   │           ├── Info.plist
│   │           ├── ios-arm64
│   │           │   └── libarkui_ios.framework
│   │           │       ├── Headers
│   │           │       ├── Info.plist
│   │           │       ├── libarkui_ios
│   │           │       ├── libarkui_ios.podspec
│   │           │       └── Modules
│   │           │           └── module.modulemap
│   │           └── ios-arm64_x86_64-simulator
│   ├── third_party
│   └── utils
├── ets                                                 // ArkUI-X独有接口定义和ArkUI跨平台Stage模型相关基础接口配置说明。
│   └── @arkui-x.bridge.d.ts
├── apiConfig.json
└── systemres                                           // ArkUI组件渲染一致性系统资源包

搜狗高速浏览器截图20240326151450.png

ArkUI-X SDK插件目录结构

  • component目录:ArkUI组件插件化动态库。
  • api目录:ArkTS接口插件化动态库。
arkui-x_darwin_x64_1.0.0.0_Release.zip/arkui-x/plugins
├── component                                                  // ArkUI组件插件化动态库。
│   ├── lib
│   │   ├── include
│   │   └── ${ui-name}
│   │       ├── ${ui-name}_android_adapter.jar                 // 部分组件实现依赖的Android接口。
│   │       ├── android-arm
│   │       ├── android-arm-profile
│   │       ├── android-arm-release
│   │       ├── android-arm64
│   │       ├── android-arm64-profile
│   │       ├── android-arm64-release
│   │       │   └── lib${ui-name}.so                           // ArkUI组件实现。
│   │       └── android-x86_64
│   ├── framework
│   │   ├── ios-arm64
│   │   ├── ios-arm64-profile
│   │   ├── ios-arm64-release
│   │   │   └── lib${ui-name}.framework                        // ArkUI组件实现。
│   │   │       ├── Headers
│   │   │       ├── Info.plist
│   │   │       ├── lib${ui-name}
│   │   │       ├── lib${ui-name}.podspec
│   │   │       └── Modules
│   │   │           └── module.modulemap
│   │   ├── ios-arm64-simulator
│   │   └── ios-x86_64-simulator
│   ├── xcframework
│   │   ├── ios
│   │   │   └── lib${ui-name}.xcframework                          // ArkUI组件实现。
│   │   │       ├── Info.plist
│   │   │       ├── ios-arm64
│   │   │       └── ios-arm64_x86_64-simulator
│   │   ├── ios-profile
│   │   │   └── lib${ui-name}.xcframework                          // ArkUI组件实现。
│   │   │       ├── Info.plist
│   │   │       ├── ios-arm64
│   │   │       └── ios-arm64_x86_64-simulator
│   │   └── ios-release
│   │       └── lib${ui-name}.xcframework                          // ArkUI组件实现。
│   │           ├── Info.plist
│   │           ├── ios-arm64
│   │           │   └── lib${ui-name}.framework
│   │           │       ├── Headers
│   │           │       ├── Info.plist
│   │           │       ├── lib${ui-name}
│   │           │       ├── lib${ui-name}.podspec
│   │           │       └── Modules
│   │           │           └── module.modulemap
│   │           └── ios-arm64_x86_64-simulator
│   └── apiConfig.json                                         // ArkTS UI组件跨平台实现配置说明。
└── api                                                        // ArkTS接口插件化动态库。
    ├── lib
    │   ├── include
    │   └── ${module-name}_${submodule-name}
    │       ├── ${module-name}_${submodule-name}_android_adapter.jar       // ArkTS接口实现依赖的Android接口。
    │       ├── android-arm
    │       ├── android-arm-profile
    │       ├── android-arm-release
    │       ├── android-arm64
    │       ├── android-arm64-profile
    │       ├── android-arm64-release
    │       │   └── lib${module-name}_${submodule-name}.so     // ArkTS接口实现。
    │       └── android-x86_64
    ├── framework
    │   ├── ios-arm64
    │   ├── ios-arm64-profile
    │   ├── ios-arm64-release
    │   │   └── lib${module-name}_${submodule-name}.framework  // ArkTS接口实现。
    │   │       ├── Headers
    │   │       ├── Info.plist
    │   │       ├── lib${module-name}_${submodule-name}
    │   │       ├── lib${module-name}_${submodule-name}.podspec
    │   │       └── Modules
    │   │           └── module.modulemap
    │   ├── ios-arm64-simulator
    │   └── ios-x86_64-simulator
    ├── xcframework
    │   ├── ios
    │   │   └── lib${module-name}_${submodule-name}.xcframework    // ArkTS接口实现。
    │   │       ├── Info.plist
    │   │       ├── ios-arm64
    │   │       └── ios-arm64_x86_64-simulator
    │   ├── ios-profile
    │   │   └── lib${module-name}_${submodule-name}.xcframework    // ArkTS接口实现。
    │   │       ├── Info.plist
    │   │       ├── ios-arm64
    │   │       └── ios-arm64_x86_64-simulator
    │   └── ios-release
    │       └── lib${module-name}_${submodule-name}.xcframework    // ArkTS接口实现。
    │           ├── Info.plist
    │           ├── ios-arm64
    │           │   └── lib${module-name}_${submodule-name}.framework
    │           │       ├── Headers
    │           │       ├── Info.plist
    │           │       ├── lib${module-name}_${submodule-name}
    │           │       ├── lib${module-name}_${submodule-name}.podspec
    │           │       └── Modules
    │           │           └── module.modulemap
    │           └── ios-arm64_x86_64-simulator
    └── apiConfig.json                                         // A

鸿蒙开发岗位需要掌握那些核心要领?

目前还有很多小伙伴不知道要学习哪些鸿蒙技术?不知道重点掌握哪些?为了避免学习时频繁踩坑,最终浪费大量时间的。

自己学习时必须要有一份实用的鸿蒙(Harmony NEXT)资料非常有必要。 这里我推荐,根据鸿蒙开发官网梳理与华为内部人员的分享总结出的开发文档。内容包含了:【ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。

废话就不多说了,接下来好好看下这份资料。

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。鸿蒙OpenHarmony知识←前往。下面是鸿蒙开发的学习路线图。

针对鸿蒙成长路线打造的鸿蒙学习文档。鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。

其中内容包含:

《鸿蒙开发基础》鸿蒙OpenHarmony知识←前往

  1. ArkTS语言
  2. 安装DevEco Studio
  3. 运用你的第一个ArkTS应用
  4. ArkUI声明式UI开发
  5. .……

《鸿蒙开发进阶》鸿蒙OpenHarmony知识←前往

  1. Stage模型入门
  2. 网络管理
  3. 数据管理
  4. 电话服务
  5. 分布式应用开发
  6. 通知与窗口管理
  7. 多媒体技术
  8. 安全技能
  9. 任务管理
  10. WebGL
  11. 国际化开发
  12. 应用测试
  13. DFX面向未来设计
  14. 鸿蒙系统移植和裁剪定制
  15. ……

《鸿蒙开发实战》鸿蒙OpenHarmony知识←前往

  1. ArkTS实践
  2. UIAbility应用
  3. 网络案例
  4. ……

最后

鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/635186.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ngnix 入门 二,docker启动nginx, 安装ssl 证书,使用配置文件,映射后端服务 ,提供给前端项目访问

搭建生产环境真不是人做的事,特别是对于一知半解的人。仅以此文献给各位技术人 说一下背景:项目前后端分离,前端 vue3 、小程序端 ,后端 go 提供服务。 微信小程序需要使用 https 请求。 这就必须让我们想到nginx 了 想要达到的…

代码随想录算法训练营第二天| 977.有序数组的平方 、209.长度最小的子数组、 59.螺旋矩阵II

977. 有序数组的平方 题目链接:977. 有序数组的平方 文档讲解:代码随想录 状态:so easy 刚开始看到题目第一反应就是平方之后进行排序,数据量在 1 0 4 10^4 104,可以使用O(nlogn)的排序。但是更好的方式是使用双指针&a…

ArrayList与LinkedList

内存 内存缓存 预先将数据写到容器等数据存储单元中,就是软件内存缓存。 内存缓存淘汰机制 FIFO(First in ,First Out)(先进先出) LFU (Least Frequently Used) (频繁的最后淘汰) LRU(Least Recently Used) &#…

Socket同步通讯

目录 引言 1. 建立连接 2. 数据传输 3. 同步机制 4. 处理延迟 5. 安全性 6、一对一Socket同步通讯 客户端 代码分析 服务端 代码分析 7、服务端操作 1、首先我们先运行客户端代码 2、服务端点击Connect连接客户端 3、服务端输入信息传输到客户端 4、断开连接 引…

【笔记】软件架构师要点记录(1)

【笔记】软件架构师要点记录 20240517 20240517 连续性:恢复能力;可用性:保持稳定态的时长 增量开发模式:在增量开发中,每个增量都有明确的范围和功能,并按照特定的功能顺序完成。增量之间的范围划分在开发…

Flask CORS: 解决跨域资源共享问题的利器

文章目录 安装和启用 CORS配置 CORS拓展 在本文中,我们介绍了如何使用 Flask-CORS 扩展来解决跨域问题。Flask-CORS 是一个方便的工具,可以帮助我们轻松地实现跨域资源共享支持。 安装和启用 CORS 要开始使用 Flask-CORS,我们需要先安装它。…

腹部多器官分割的眼动引导双路径网络

文章目录 标题摘要方法实验结果 标题 摘要 这项研究提出了一种新的方法,名为眼动引导双路径网络(Eye-Guided Dual-Path Network,EG-DPN),用于腹部多器官分割。这项工作的主要目标是提高医学影像分析中的多器官分割准…

express.js--token中间件验证及token解析(三)

主要作用 访问路由接口时,哪些需要校验token 通过token解析身份信息,就可以知道是哪个人 框架基本搭建express.js--基本用法及路由模块化(一)-CSDN博客 如何生成tokenexpress.js--生成token(二)-CSDN博客 middleware/index.js const jwt require(…

Vue 离线地图实现

效果图: 一、获取市的地图数据 DataV.geoAtlas 获取市地图数据 点击地图缩放至想要的市区域,通过右侧的链接打开网址,复制json数据。 二、获取镇地图数据 选择你想要的镇数据,点击下载 选择级别(清晰度&#xff09…

如何搭建Sphinx文档

环境准备 Linux CentOS 7 方案 搭建一个文档网站,本文档使用的是tomcatsphinx。 Tomcat可以快速搭建出http服务,也可以使用apache httpd。 Sphinx作为文档网页自动生成工具,可以从reStructured文档转换为html文件。 Tomcat安装 创建/…

App玩转oCPX投放,打造低成本高转化的广告模型

随着广告主考核目标逐渐深化,以激活、注册等浅层指标为考核已经无法满足大部分广告主的投放诉求,越来越多的后端深化指标成为了广告主的核心诉求。OCPX应需而生,更好的助力广告主优化投放,全面提升转化效率。 在投放实践中&#…

【系统分析师】论文框架

文章目录 HA高可用集群软件1、需求分析2、架构设计3、技术选型:4、编码实现:5、测试验证:6、部署和运维: HA高可用集群软件 论文支持 文心一言查的 1、需求分析 明确业务需求,包括需要支持的用户数量、服务级别协议…

AI绘画Stable Diffusion制作文字光效指南,SD实现超炫文字光影效果!

大家好,我是小强 如果你经常刷短视频,那么你可能会在各大社交平台上见到了这样的文字光效,那么这种光线照射文字的效果是如何制作的呢? 这个教程将解密如何使用Stable Diffusion ControlNet来制作这种非常火的文字光效效果~&…

[Chapter 5]线程级并行,《计算机系统结构》,《计算机体系结构:量化研究方法》

文章目录 一、互连网络1.1 互连网络概述1.1 互连函数1.1.1 互连函数1.1.2 几种基本的互连函数1.1.2.1 恒等函数1.1.2.2 交换函数1.1.2.3 均匀洗牌函数1.1.2.4 碟式函数1.1.2.5 反位序函数1.1.2.6 移数函数1.1.2.7 PM2I函数 1.2 互连网络的结构参数与性能指标1.2.1 互连网络的结…

Terraria泰拉瑞亚服务器开服联机教程

1、进入控制面板 2、等待服务器安装 3、启动服务器 服务器启动成功后如下图所示 4、连接游戏服务器 4.1、复制服务器地址和端口 4.2、连接游戏服务器 5、预配置选项修改(可选) 6、更换游戏版本(可选) 服务器默认安装是最新稳定版…

民国漫画杂志《时代漫画》第18期.PDF

时代漫画18.PDF: https://url03.ctfile.com/f/1779803-1248612707-27e56b?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps:资源来源网络!

Miniconda安装教程——macos

一、安装 二、启用 三、安装包 四、删除旧版 一、安装 1、Miniconda安装 Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror Date倒序选择最新版,macos端下载pkg 点击安装,安装完成后,打开终端&a…

2024年信息素养大赛初赛成绩,你们查到了吗?

2024年全国青少年信息素养大赛初赛成绩已经发布,赶紧来查一下吧!今年Scratch实验室预计晋级复赛分数在90分以上嘞(最次也要85),今年的初赛题比较简单,大部分同学10多分钟就交卷了,之前发布了202…

视频图像识别技术常见开源算法模型及实践应用方案介绍

一、图像识别技术常见算法模型及数据集 人工智能图像识别技术是一种利用人工智能技术识别并理解图像内容的技术。它可以通过训练模型来识别和分类图像中的物体、场景和人脸等内容。 在人工智能图像识别技术中,常见的算法模型包括: 卷积神经网络&#x…

【iOS安全】BurpSuite iOS https抓包 | DNS Spoofing

BurpSuite 完整版安装 参考:Admin Team 小数智 的博客 下载 Burp Suite 2021.6 官网下载地址 https://portswigger.net/burp/releases (下载并安装好) jdk 使用的是11.0.10 https://www.oracle.com/java/technologies/javase-jdk11-downl…