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

56.HarmonyOS NEXT 登录模块开发教程(十):总结与展望

温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦!

HarmonyOS NEXT 登录模块开发教程(十):总结与展望

文章目录

  • HarmonyOS NEXT 登录模块开发教程(十):总结与展望
    • 效果预览
    • 1. 引言
    • 2. 登录模块开发回顾
      • 2.1 核心组件回顾
      • 2.2 技术要点回顾
      • 2.3 开发流程回顾
    • 3. HarmonyOS NEXT开发经验总结
      • 3.1 ArkTS语言特点
      • 3.2 声明式UI开发模式
      • 3.3 状态管理最佳实践
    • 4. 登录模块的未来发展方向
      • 4.1 生物识别登录
      • 4.2 无密码登录
      • 4.3 多因素认证
      • 4.4 跨设备登录与同步
    • 5. 实践建议与经验分享
      • 5.1 项目结构组织
      • 5.2 代码质量保证
      • 5.3 团队协作流程
    • 6. 总结
    • 7. 参考资源

效果预览

1. 引言

在前九篇教程中,我们全面介绍了HarmonyOS NEXT登录模块的开发过程,包括整体架构、模态窗口的实现原理、一键登录页面的实现、短信验证码登录的实现、状态管理和数据绑定机制、安全性考虑、UI设计和用户体验优化、性能优化和最佳实践、测试与调试技巧以及部署与发布流程。本篇教程将对整个系列进行总结和回顾,并展望登录模块的未来发展方向。

通过这个系列教程,我们不仅学习了如何实现一个功能完善的登录模块,还深入了解了HarmonyOS NEXT的核心开发理念和技术特点。本文将对这些内容进行系统性的总结,帮助读者形成完整的知识体系。

2. 登录模块开发回顾

2.1 核心组件回顾

在这个系列教程中,我们实现了以下核心组件:

组件名称主要功能关键技术点
ModalWindowComponent提供全屏模态窗口容器bindContentCover、状态管理
DefaultLogin实现一键登录页面条件渲染、转场动画、事件处理
OtherWaysToLogin提供短信验证码登录输入验证、倒计时、第三方登录
ReadAgreement用户协议和隐私政策展示富文本处理、事件绑定

这些组件共同构成了一个完整的登录模块,涵盖了现代移动应用中常见的登录方式和功能。

2.2 技术要点回顾

在开发过程中,我们涉及了以下关键技术点:

  1. 组件化开发:使用@Component装饰器创建自定义组件,实现UI和逻辑的封装
  2. 状态管理:使用@State、@Link等装饰器管理组件状态,实现数据驱动的UI更新
  3. 条件渲染:使用if语句实现条件渲染,根据状态变量控制UI显示
  4. 事件处理:实现按钮点击、输入变化等事件的处理逻辑
  5. 转场动画:使用transition属性和TransitionEffect实现平滑的页面切换效果
  6. 网络通信:使用http模块实现与服务器的通信,如发送验证码、验证登录等
  7. 安全处理:实现输入验证、数据加密、安全存储等安全措施
  8. 性能优化:减少组件层级、优化渲染逻辑、合理使用状态变量等
  9. 测试与调试:使用Jest进行单元测试,使用UITest进行UI测试,使用日志和断点进行调试
  10. 部署与发布:实现应用打包、签名、环境配置、版本管理等

2.3 开发流程回顾

登录模块的开发流程可以概括为以下几个阶段:

  1. 需求分析:明确登录功能的需求,包括登录方式、界面设计、交互流程等
  2. 架构设计:设计登录模块的整体架构,确定组件结构和通信方式
  3. UI实现:实现登录界面的布局和样式,包括模态窗口、一键登录页面、短信验证码登录页面等
  4. 功能实现:实现登录功能的核心逻辑,如输入验证、发送验证码、登录验证等
  5. 优化与完善:优化性能、提升用户体验、增强安全性等
  6. 测试与调试:进行单元测试、UI测试、集成测试等,确保功能正常和稳定
  7. 部署与发布:打包应用、签名、配置环境、版本管理、发布到应用市场等

3. HarmonyOS NEXT开发经验总结

3.1 ArkTS语言特点

ArkTS是HarmonyOS NEXT的开发语言,它基于TypeScript,并增加了声明式UI和状态管理等特性。主要特点包括:

  1. 类型安全:继承TypeScript的静态类型检查,提高代码质量和可维护性
  2. 声明式UI:使用类似JSX的语法,直观地描述UI结构和样式
  3. 装饰器:使用@Component、@State等装饰器简化组件定义和状态管理
  4. 响应式编程:基于状态变化自动更新UI,简化开发流程

3.2 声明式UI开发模式

HarmonyOS NEXT采用声明式UI开发模式,主要优势包括:

  1. 代码简洁:UI描述更加直观,减少样板代码
  2. 状态驱动:UI随状态自动更新,无需手动操作DOM
  3. 组件复用:便于创建和复用自定义组件
  4. 性能优化:框架自动优化渲染性能

3.3 状态管理最佳实践

在HarmonyOS NEXT中,状态管理是一个核心概念,最佳实践包括:

  1. 合理使用装饰器:根据状态的作用范围和修改需求,选择合适的装饰器
  2. 状态粒度控制:避免过大或过小的状态粒度,保持合理的状态划分
  3. 单向数据流:尽量保持数据流向的单一性,避免复杂的双向绑定
  4. 状态提升:将共享状态提升到最近的公共祖先组件
  5. 应用级状态:使用AppStorage管理全局状态

4. 登录模块的未来发展方向

4.1 生物识别登录

随着生物识别技术的发展,指纹识别、人脸识别等生物特征登录方式将成为趋势:

// 生物识别登录示例
import biometricAuthentication from '@ohos.biometricAuthentication';async function biometricLogin() {try {// 检查设备支持的生物识别类型const result = await biometricAuthentication.isDeviceSupported();if (result.facial) {// 支持人脸识别return await performFacialAuth();} else if (result.fingerprint) {// 支持指纹识别return await performFingerprintAuth();} else {// 不支持生物识别,回退到传统登录方式return false;}} catch (error) {console.error(`Biometric authentication error: ${error}`);return false;}
}async function performFacialAuth() {// 实现人脸识别登录const authParam = {challenge: new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]),authType: biometricAuthentication.AuthType.BIOMETRIC_TYPE_FACIAL,title: '人脸识别登录',description: '请将脸部对准屏幕进行识别',dialogAvoidArea: null};const authResult = await biometricAuthentication.auth(authParam);return authResult.result === biometricAuthentication.Result.SUCCESS;
}

4.2 无密码登录

无密码登录(Passwordless Authentication)是未来的发展趋势,包括:

  1. WebAuthn标准:基于公钥加密的强认证机制
  2. 设备绑定:将用户身份与特定设备绑定
  3. 一次性密码:通过邮件、短信等发送一次性密码
  4. 魔术链接:通过点击邮件中的特殊链接完成登录

4.3 多因素认证

多因素认证(MFA)通过组合多种认证方式提高安全性:

// 多因素认证示例
async function multiFactorAuth(username: string, password: string) {// 第一因素:用户名密码验证const firstFactorResult = await verifyCredentials(username, password);if (!firstFactorResult.success) {return { success: false, message: '用户名或密码错误' };}// 第二因素:短信验证码const phoneNumber = firstFactorResult.phoneNumber;const smsResult = await sendSmsVerificationCode(phoneNumber);if (!smsResult.success) {return { success: false, message: '短信验证码发送失败' };}// 等待用户输入验证码// 实际应用中,这里应该返回到UI层,让用户输入验证码// 第三因素(可选):生物识别const bioResult = await biometricLogin();if (!bioResult) {// 生物识别失败,可以选择继续或要求重试}return { success: true, message: '登录成功' };
}

4.4 跨设备登录与同步

随着多设备使用场景的增加,跨设备登录与数据同步变得越来越重要:

  1. 统一账号系统:一个账号在多个设备上使用
  2. 无缝切换:在不同设备间无缝切换登录状态
  3. 数据同步:自动同步用户数据和偏好设置
  4. 安全机制:确保跨设备访问的安全性

5. 实践建议与经验分享

5.1 项目结构组织

良好的项目结构有助于提高代码可维护性:

- entry/- src/main/ets/- components/- ModelLogin/- DefaultLogin.ets     // 一键登录组件- ModalWindow.ets      // 模态窗口组件- OtherWaysToLogin.ets // 其他登录方式组件- services/- auth.ets              // 认证服务- storage.ets           // 存储服务- utils/- validators.ets        // 输入验证工具- encryption.ets        // 加密工具- models/- user.ets              // 用户模型- pages/- index.ets             // 主页面

5.2 代码质量保证

保证代码质量的关键措施:

  1. 代码规范:遵循统一的编码规范和命名约定
  2. 代码审查:实施严格的代码审查流程
  3. 自动化测试:建立完善的自动化测试体系
  4. 持续集成:使用持续集成工具自动构建和测试
  5. 静态分析:使用静态代码分析工具发现潜在问题

5.3 团队协作流程

高效的团队协作流程:

  1. 需求管理:明确需求,避免需求蔓延
  2. 任务分解:将大任务分解为小任务,便于并行开发
  3. 版本控制:使用Git等版本控制工具,规范分支管理
  4. 文档共享:及时更新和共享开发文档
  5. 知识沉淀:总结经验教训,形成知识库

6. 总结

通过这个系列教程,我们全面介绍了HarmonyOS NEXT登录模块的开发过程,从架构设计到具体实现,从性能优化到安全考虑,从测试调试到部署发布,涵盖了登录模块开发的各个方面。

登录模块作为应用的入口,其质量直接影响用户的第一印象和使用体验。通过合理的架构设计、精细的UI实现、严格的安全措施、全面的测试验证和规范的部署流程,我们可以构建一个既安全可靠又用户友好的登录模块。

HarmonyOS NEXT提供了强大的开发工具和框架支持,使得开发高质量的登录模块变得更加简单和高效。随着技术的不断发展,登录模块也将向着更加安全、便捷、智能的方向演进。作为开发者,我们应该不断学习和实践,跟进最新的技术趋势和安全标准,为用户提供更好的登录体验。

7. 参考资源

  • HarmonyOS开发者文档 - ArkTS语言基础
  • HarmonyOS开发者文档 - 组件化开发
  • HarmonyOS开发者文档 - 状态管理
  • HarmonyOS开发者文档 - UI框架
  • HarmonyOS开发者文档 - 安全指南
  • HarmonyOS开发者文档 - 性能优化
  • HarmonyOS开发者文档 - 测试指南
  • HarmonyOS开发者文档 - 应用发布

相关文章:

56.HarmonyOS NEXT 登录模块开发教程(十):总结与展望

温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! HarmonyOS NEXT 登录模块开发教程(十):总结与展望 文章目录 HarmonyOS NEXT 登录模块开发教程(十&a…...

【Go每日一练】猜数字游戏

👻创作者:丶重明 👻创作时间:2025年3月16日 👻擅长领域:运维 目录 1.😶‍🌫️题目:猜数字游戏2.😶‍🌫️代码开发3.😶‍🌫…...

论文分享:PL-ALF框架实现无人机低纹理环境自主飞行

在室内仓库、地下隧道等低纹理复杂场景中,无人机依赖视觉传感器进行自主飞行时,往往会遇到定位精度低、路径规划不稳定等难题。针对这一问题,重庆邮电大学计算机学院雷大江教授团队在IEEE Trans期刊上提出了一种新型自主飞行框架:…...

element-plus中Autocomplete自动补全输入框组件的使用

目录 1.基本使用 ①从官网复制如下代码 ②查看运行效果 ③代码解读 2.调用后端接口&#xff0c;动态获取建议数据 结语 1.基本使用 ①从官网复制如下代码 <template> <div><!-- 自动补全输入框 --><el-autocompletev-model"state":fetc…...

【医学影像 AI】大型语言模型生成 ROP 患者信息材料的能力

【医学影像 AI】大型语言模型生成 ROP 患者信息材料的能力 0. 论文简介0.1 基本信息0.2 摘要 1. 引言2. 材料与方法2.1 大语言模型的使用2.2 可读性标准2.3 统计分析 3. 结果3.1 Bezirci-Yılmaz可读性评分3.2 Ateşman可读性评分3.3 全面性评分3.4 准确性评分 4. 讨论4.1 可读…...

(性能测试)性能测试工具 2.jmeter的环境搭建 3jmeter元件和4使用实例 5jmeter元件和参数化

目录 性能测试工具 性能测试工具 jemeter环境搭建 jmeter的常用目录介绍 jmeter修改语言和主题--jmeter界面的汉化 jmeter元件 jmeter元件和组件的介绍 jmeter的作用域原则 jmeter的执行顺序 案例&#xff1a;执行顺序 jmeter使用案例 jmeter线程组的介绍 jmeter…...

Matlab 四分之一车体车辆半主动悬架鲁棒控制

1、内容简介 略 Matlab 173-四分之一车体车辆半主动悬架鲁棒控制 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

Kafka可视化工具KafkaTool工具的使用

Kafka Tool工具 介绍 使用Kafka的小伙伴&#xff0c;有没有为无法直观地查看 Kafka 的 Topic 里的内容而发过愁呢&#xff1f;下面推荐给大家一款带有可视化页面的Kafka工具&#xff1a;Kafka Tool &#xff08;目前最新版本是 3.0.2&#xff09; 注意&#xff1a;以前叫Kafk…...

【Unity】在项目中使用VisualScripting

1. 在packagemanager添加插件 2. 在设置中进行初始化。 Edit > Project Settings > Visual Scripting Initialize Visual Scripting You must select Initialize Visual Scripting the first time you use Visual Scripting in a project. Initialize Visual Scripting …...

【Maven教程与实战案例】

文章目录 前言一、Maven是什么&#xff1f;二、Maven的安装与配置1. 安装前置条件2. 下载与配置 Maven3. 验证安装 三、Maven的核心概念1. POM.xml 文件2. 构建生命周期与插件机制 四、实战项目示例1. 项目目录结构2. 编写代码App.javaAppTest.java 3. 构建项目4. 运行项目 前言…...

Flask中使用with语句手动加载应用上下文

在 Flask 中&#xff0c;with app.app_context(): 手动加载应用上下文&#xff0c;使代码块可以访问 Flask 全局对象&#xff08;如 current_app、g&#xff09;&#xff0c;即使代码不在请求中运行。 1. 为什么需要手动加载应用上下文&#xff1f; 在 Flask 中&#xff0c;某…...

ROS实践(五)机器人自动导航(robot_navigation)

目录 一、知识点 1. 定位 2. 路径规划 (1)全局路径规划 (2)局部路径规划 3. 避障 二、常用工具和传感器 三、相关功能包 1. move_base(决策规划) 2. amcl(定位) 3. costmap_2d(代价地图) 4. global_planner(全局规划器) 5. local_planner(局部规划器…...

【数学建模】层次分析法(AHP)详解及其应用

层次分析法(AHP)详解及其应用 引言 在现实生活和工作中&#xff0c;我们经常面临复杂的决策问题&#xff0c;这些问题通常涉及多个评价准则&#xff0c;且各准则之间可能存在相互影响。如何在这些复杂因素中做出合理的决策&#xff1f;层次分析法(Analytic Hierarchy Process…...

【大模型】Transformer、GPT1、GPT2、GPT3、BERT 的论文解析

前言 在自然语言处理&#xff08;NLP&#xff09;和深度学习的快速发展中&#xff0c;Transformer模型和 GPT系列模型扮演了至关重要的角色。本篇博客旨在对这些开创性的论文进行介绍&#xff0c;涵盖它们的提出时间、网络结构等关键信息&#xff0c;能够快速的理解这些模型的设…...

Android 手机启动过程

梳理 为了梳理思路&#xff0c;笔者画了一幅关于 Android 手机启动的过程图片内容纯属个人见解&#xff0c;如有错误&#xff0c;欢迎各位指正...

【redis】hash基本命令和内部编码

文章目录 表示形式命令HSET 和 HGET HEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSETNXHINCRBYHINCRBYFLOAT命令小结内部编码 表示形式 Redis 自身已经是键值对结构了 Redis 自身的键值对就是通过哈希的方式来组织的 把 key 这一层组织完成之后&#xff0c;到了 value 这一层&…...

统计数字字符个数(信息学奥赛一本通-1129)

【题目描述】 输入一行字符&#xff0c;统计出其中数字字符的个数。 【输入】 一行字符串&#xff0c;总长度不超过255。 【输出】 输出为1行&#xff0c;输出字符串里面数字字符的个数。 【输入样例】 Peking University is set up at 1898. 【输出样例】 4 【输出样例】 #in…...

基于javaweb的SSM+Maven网上选课管理系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...

算法及数据结构系列 - BFS算法

文章目录 框架思路经典题型111. 二叉树的最小深度752. 打开转盘锁 框架思路 BFS 的核心思想应该不难理解的&#xff0c;就是把一些问题抽象成图&#xff0c;从一个点开始&#xff0c;向四周开始扩散。一般来说&#xff0c;我们写 BFS 算法都是用队列这种数据结构&#xff0c;每…...

深入剖析 MetaSpace OOM 问题:根因分析与高效解决策略

目录 一、MetaSpace 区 OOM&#xff1a;概述 &#xff08;一&#xff09; MetaSpace的变革与挑战 &#xff08;二&#xff09;MetaSpace OOM的影响 &#xff08;三&#xff09; 为什么要关注MetaSpace OOM 二、MetaSpace 区 OOM的根本原因 &#xff08;一&#xff09;Met…...

java自带日志系统介绍(JUL)以及和Log4j 2、Logback、SLF4J不同日志工具的对比

Java 日志系统是开发中用于记录应用程序运行时信息的重要工具。以下是 Java 日志系统的核心组件及其使用场景、配置参数的详细介绍&#xff0c;以及不同日志系统的对比分析。 Java 日志系统核心组件 1. 日志记录器&#xff08;Logger&#xff09; 作用&#xff1a;负责生成日…...

Kubernetes 中metrics-server的采集周期,采集链路是什么样的?

0. 运维干货分享 软考高级系统架构设计师备考学习资料软考高级网络规划设计师备考学习资料Kubernetes CKA认证学习资料分享信息安全管理体系&#xff08;ISMS&#xff09;制度模板分享免费文档翻译工具(支持word、pdf、ppt、excel)PuTTY中文版安装包MobaXterm中文版安装包ping…...

一分钟了解深度学习

一分钟了解深度学习 A Minute to Know About Deep Learning By JacksonML 1. 什么是深度学习&#xff1f; 深度学习(Deep Learning) 是机器学习的一个子集&#xff0c;都属于人工智能的范畴&#xff1b;它使用多层神经网络&#xff08;称为深度神经网络&#xff09;来模拟人…...

Git LFS (Large File Storage) 简介

目录 Git LFS (Large File Storage) 简介 1. 什么是 Git LFS&#xff1f; 2. 为什么需要 Git LFS&#xff1f; 3. Git LFS 的工作原理 4. 如何使用 Git LFS&#xff1f; 4.1 安装 Git LFS 4.2 配置 Git LFS 5. Git LFS 的优缺点 优点 缺点 6. 适用场景 7. 结论 1. …...

前端权限系统

前端权限系统是为了确保用户只能访问他们有权限查看的资源而设计的。在现代前端开发中&#xff0c;权限控制不仅仅是简单的显示或隐藏元素&#xff0c;还涉及到对路由、组件、数据和操作权限的细致控制。下面是前端权限系统的常见设计方案和实现步骤。 前端权限系统的组成部分 …...

【蓝桥杯速成】| 4.递归

递归 题目一&#xff1a;最大公约数 问题描述 1979. 找出数组的最大公约数 - 力扣&#xff08;LeetCode&#xff09; 给你一个整数数组 nums &#xff0c;返回数组中最大数和最小数的 最大公约数 。 两个数的 最大公约数 是能够被两个数整除的最大正整数。 解题步骤 需要…...

QEMU源码全解析 —— 块设备虚拟化(4)

接前一篇文章:QEMU源码全解析 —— 块设备虚拟化(3) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 类模板是创建类的模式_创建类是的模版-CSDN博客<...

92.HarmonyOS NEXT开发学习路径与最佳实践总结:构建高质量应用

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; HarmonyOS NEXT开发学习路径与最佳实践总结&#xff1a;构建高质量应用 文章目录 HarmonyOS NEXT开发学习路径与最佳实践总结&#xff1a;构建高质…...

【004】deepseek本地化部署后,python的调用方式_#py

python调用本地deepseek 1 本地化部署deepseek2 python调用方式 1 本地化部署deepseek 已经有很多大佬们说了不少部署本地化部署deepseek的工作了&#xff0c;我就不过多重复了。 先安装Ollama软件&#xff0c;再通过Ollama获取deepseek的模型文件&#xff0c;大家根据电脑的配…...

基于Python+Flask+MySQL+HTML的爬取豆瓣电影top-250数据并进行可视化的数据可视化平台

FlaskMySQLHTML 项目采用前后端分离技术&#xff0c;包含完整的前端&#xff0c;以flask作为后端 Pyecharts、jieba进行前端图表展示 通过MySQL收集格列数据 通过Pyecharts制作数据图表 这是博主b站发布的详细讲解&#xff0c;感兴趣的可以去观看&#xff1a;【Python爬虫可…...

【Prometheus01】可观测性系统之Prometheus简介、优缺点对比、组件介绍、数据采集流程、TSDB简介

监控工具对比、黑盒监控与盒白盒监控、Kubernetes监控简介 监控简介&#xff1a; 监控的价值&#xff1a; 长期趋势分析&#xff1a;通过对监控样本数据的持续收集和统计&#xff0c;对监控指标进行长期趋势分析。例如&#xff0c;通过对磁盘空间增长率的判断&#xff0c;我们…...

Postman下载安装及简单入门

一&#xff0e;Postman简介 Postman是一款API测试工具&#xff0c;可以帮助开发、测试人员发送HTTP请求&#xff0c;与各种API进行交互&#xff0c;并分析响应 二&#xff0e;下载与安装 访问Postman官网&#xff08;https://www.postman.com/&#xff09;&#xff0c;下载适…...

记第一次跟踪seatunnel的任务运行过程三——解析配置的具体方法getLogicalDag

前绪 记第一次跟踪seatunnel的任务运行过程二——ClientJobExecutionEnvironment的execture方法 从这里开始&#xff0c;就是使用seatunnel-2.3.9的源码了。前面部分没有变化&#xff0c;2.3.X版本都是通用的。 建议打开源码&#xff0c;边读文章&#xff0c;边阅读源码 正文…...

Maven 的核心包

由于前端项目不是核心&#xff0c;阅读 nexus-public 源代码似乎绕远路了。nexus-oss 社区版主要就是集成 maven 的上传包、认证、包解析、包存储这几个核心功能&#xff0c;前端实现重新可以使用新的现代前端工具来提高生产力。故重新疏理一下 maven 的核心机制&#xff0c;即…...

上位机数据可视化:使用QtCharts绘制波形图

工程配置 CMake文件 find_package(Qt5 COMPONENTS Charts REQUIRED)target_link_libraries(zhd-desktop PRIVATE Qt5::Charts)包含头文件以及名称空间&#xff08;这个很重要&#xff0c;没有包含名称空间编译器会提示找不到相关的类型&#xff09; #include <QtCharts&g…...

制造业数字化转型,汽车装备制造企业数字化转型案例,智能制造数字化传统制造业数字化制造业数字化转型案例

《某制造业企业信息化整体解决方案》PPT展示了一个汽车装备企业的整体信息化解决方案&#xff0c;阐述了该企业的业务特点和现状&#xff0c;主要包括按订单生产、多级计划和产品跟踪等&#xff0c;分析了信息化建设的主要困难&#xff0c;如信息管理手工化、过程数据追溯困难、…...

网络安全常识科普(百问百答)

汪乙己一到店&#xff0c;所有喝酒的人便都看着他笑&#xff0c;有的叫道&#xff0c;“汪乙己&#xff0c;你又监控员工隐私了&#xff01;”他不回答&#xff0c;对柜里说&#xff0c;“来两个fofa。”便排出三个比特币。他们又故意的高声嚷道&#xff0c;“你一定又在电报群…...

P2512糖果传递 P4447分组 P1080国王游戏 P4053建筑抢修

P2512 [HAOI2008] 糖果传递 题目描述 有 n n n 个小朋友坐成一圈&#xff0c;每人有 a i a_i ai​ 个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为 1 1 1。 输入格式 小朋友个数 n n n&#xff0c;下面 n n n 行 a i a_i ai​。 输出格式 求使所…...

SpringMVC(七)数据校验+VO++脱敏

目录 一 基础原理 1 先将数据校验的依赖导入 2 在JavaBean中编写校验注解 3 使用Valid告诉SpringMVC进行校验&#xff08;校验不通过&#xff0c;方法通知执行&#xff09; 4 在Valid参数后面加上一个BindingResult参数&#xff0c;获取校验结果。 二 改进方案 1 没写全…...

使用OpenResty(基于Nginx和Lua)优化Web服务性能

引言 1.1 OpenResty简介 OpenResty 是一个基于 Nginx 和 Lua 的高性能 Web 应用平台。它通过将 Lua 脚本嵌入到 Nginx 中,提供了强大的动态处理能力,适用于构建高性能的 Web 服务、API 网关、动态内容生成等场景。 1.2 Nginx与Lua结合的优势 高性能:Nginx 本身就是一个高…...

32、构造函数

1、用构造函数反复创建多个相同结果的对象 问题 如果想反复创建多个相同结构&#xff0c;但是内容不同的对象时&#xff0c;用{}创建会代码重复&#xff0c;及其不便于维护&#xff01; 解决 今后只要想反复创建同一类型的多个相同结构不同内容的对象时&#xff0c;都用构造函…...

蓝桥与力扣刷题(蓝桥 星期计算)

题目&#xff1a;已知今天是星期六&#xff0c;请问 20^22 天后是星期几? 注意用数字 1 到 7 表示星期一到星期日。 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 解题思路&#xff0b;代码&#xff1a; 代码&#xff1…...

【leetcode hot 100 230】二叉搜索树中第K小的元素

解法一&#xff1a;从小到大输出到list中&#xff0c;取list[k-1]就是第k小的元素 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val;…...

六种最新优化算法(TOC、MSO、AE、DOA、GOA、OX)求解多个无人机协同路径规划(可以自定义无人机数量及起始点),MATLAB代码

一、算法简介 &#xff08;一&#xff09;阿尔法进化&#xff08;Alpha Evolution&#xff0c;AE&#xff09;算法 阿尔法进化&#xff08;Alpha Evolution&#xff0c;AE&#xff09;算法是2024年提出的一种新型进化算法&#xff0c;其核心在于通过自适应基向量和随机步长的…...

python离线安装

Python Releases for Windows | Python.org 下载包地址widows一般是64bit的包 下载完成后双击&#xff0c;在弹出的首个页面会看到下面的图 第一步&#xff1a;建议手动安装 第二步&#xff1a;一定要勾选把版本加入到Path路径 然后就是无脑下一步&#xff0c;到这一步就可…...

【每日学点HarmonyOS Next知识】状态栏字体、生命周期、自定义对话框屏幕中间、透明度、tab居中

1、HarmonyOS 单页面如何控制状态栏字体颜色&#xff1f; 状态栏字体颜色可通过设置statusBarContentColor修改&#xff0c;参考文档如下&#xff1a; https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5 参考代码&#xff1a; import…...

C# GeneticSharp包

可以直接从nuget安装GeneticSharp包 GeneticSharp 遗传算法类库 GeneticSharp 是什么 GeneticSharp 是一个C#的遗传算法类库, 遗传算法Java著名的JMetal, Python也有JMetalPy和PyMoo, C#相对差一截, 稍微有名的是GeneticSharp库. GeneticSharp 的弱点: 不支持多目标优化没…...

大模型中的常用名词介绍八:【特征与数据处理、伦理与公平性等】【建议收藏】

本文总结了大模型领域有关特征与数据处理、伦理与公平性等其他部分的名词&#xff0c;并解释其含义。跳出浩如烟海的大模型知识圈层&#xff0c;从概念上理清大模型的基础脉络&#xff01; 序号模块分组说明快捷访问1 模型架构与基础概念 介绍了【模型架构与基础概念】相关的常…...

HTML5 drag API实现列表拖拽排序

拖拽API&#xff08;Drag and Drop API&#xff09;是HTML5提供的一组功能&#xff0c;使得在网页上实现拖放操作变得更加简单和强大。这个API允许开发者为网页元素添加拖拽功能&#xff0c;用户可以通过鼠标将元素拖动并放置到指定的目标区域。 事件类型 dragstart&#xff1…...

HTTPS建立连接过程

一、混合加密 通过混合加密的方式可以保证信息的机密性&#xff0c;解决了窃听的风险。 HTTPS采用的是对称加密和非对称加密结合的混合加密方式&#xff1a; &#xff08;1&#xff09; 在通信建立前采用非对称加密的方式交换会话密钥&#xff0c;后续就不再使用非对称加密。 &…...