鸿蒙面试---1208
- HarmonyOS 三大技术理念
- 分布式架构:HarmonyOS 的分布式架构使得设备之间能够无缝协同工作。例如,它允许用户在不同的智能设备(如手机、平板、智能手表等)之间共享数据和功能。比如,用户可以在手机上开始编辑文档,然后在平板上继续完成,数据能够实时同步,就像所有设备是一个整体一样。这种分布式能力打破了设备之间的界限,极大地提升了用户体验和设备的协同效率。
- 原子化服务:原子化服务是 HarmonyOS 的一个创新理念。它可以将应用的功能拆分成一个个小的服务单元,这些服务单元可以独立运行并且能够被其他应用或服务调用。以一个智能家居控制应用为例,温度调节、灯光控制等功能可以被拆分成原子化服务,这些服务可以被不同的智能场景(如回家模式、睡眠模式)所调用,用户无需打开完整的应用,就能快速实现某个特定功能。
- 一次开发,多端部署:这一理念大大提高了开发效率。开发者使用 HarmonyOS 开发工具和框架,通过一套代码就可以适配多种不同类型的设备。例如,一个简单的新闻阅读应用,开发者只需要编写一次代码,就可以将其部署到手机、智能手表等不同尺寸屏幕和硬件资源的设备上,系统会根据设备的特性自动适配界面和性能,减少了开发的工作量和成本。
- HarmonyOS 生态下应用安全核心理念
- 硬件安全基础:HarmonyOS 从硬件层面就开始构建安全体系。它利用设备芯片的安全特性,如可信执行环境(TEE),确保在最底层的数据和操作是安全的。例如,在处理敏感数据(如支付信息、用户密码)时,这些数据会在可信执行环境中进行处理,防止外部恶意软件的访问。
- 系统安全加固:在操作系统层面,通过多种安全机制进行加固。包括进程隔离,不同的应用和服务运行在相互隔离的进程空间中,防止一个应用对其他应用的非法访问。还有安全启动,确保系统在启动过程中不被篡改,只有经过验证的系统组件和应用才能被加载运行。
- 应用安全防护:对于应用开发者,HarmonyOS 提供了一系列的安全防护措施。如应用签名机制,每个应用都需要经过签名才能在系统中安装和运行,这样可以保证应用的来源是可信的。同时,还提供了权限管理系统,应用在访问用户的敏感数据(如相机、麦克风、通讯录等)时,需要经过用户的授权,并且用户可以随时撤销授权。
- IDE 环境的搭建、编辑器的使用、预览器的使用、模拟器和真机的调试
- IDE 环境搭建:以 DevEco Studio 为例,首先需要从官方网站下载适合 HarmonyOS 开发的版本,安装过程中要根据操作系统的要求进行配置,如安装相关的依赖库。安装完成后,需要配置 SDK 路径,以便能够使用 HarmonyOS 开发所需的各种工具和资源。
- 编辑器使用:在 DevEco Studio 编辑器中,提供了丰富的代码编辑功能。例如,代码自动补全功能可以帮助开发者快速输入代码,提高编码效率。语法检查功能可以及时发现代码中的语法错误,并且在代码中以明显的标记提示。还可以通过代码导航功能,快速在项目的不同文件和代码块之间跳转。
- 预览器使用:预览器允许开发者在开发过程中快速查看应用的界面效果。在编写界面代码(如 ArkUI)后,可以通过预览器实时查看界面的布局和样式。预览器能够模拟不同设备的屏幕尺寸和分辨率,帮助开发者及时调整界面设计,确保应用在各种设备上都能有良好的视觉效果。
- 模拟器和真机调试:模拟器可以模拟 HarmonyOS 设备的运行环境。开发者可以在模拟器中运行应用,进行功能测试和调试。例如,在模拟器中可以模拟不同的网络环境、传感器数据等,以测试应用在各种场景下的性能。真机调试则是将开发的应用直接安装到真实的 HarmonyOS 设备上进行测试。这样可以更真实地体验应用的性能和功能,发现一些在模拟器中无法发现的问题,如设备硬件兼容性问题。
- ArkTS 基础语法,ArkUI 的基本概念、两种开发范式(声明式开发熟悉,类 Web 开发了解),两种应用模型(Stage 模型。FA 模型)
- ArkTS 基础语法:ArkTS 是 HarmonyOS 的开发语言,它基于 TypeScript,具有类型安全的特点。例如,在定义变量时需要明确变量的类型,这有助于减少代码中的错误。它还支持面向对象编程的特性,如类、继承、接口等。在语法结构上,和传统的编程语言类似,有条件语句(if - else)、循环语句(for、while)等,用于实现不同的逻辑控制。
- ArkUI 基本概念:ArkUI 是 HarmonyOS 的用户界面开发框架。它的核心目标是帮助开发者快速构建高效、美观的用户界面。ArkUI 采用了组件化的开发方式,开发者可以通过组合各种系统提供的组件(如文本组件、按钮组件等)来构建复杂的界面。
- 声明式开发范式:声明式开发是 ArkUI 的主要开发范式。在这种范式下,开发者主要关注界面 “是什么”,而不是 “怎么做”。例如,在构建一个界面包含一个按钮和一段文字时,开发者只需要声明界面中有这个按钮和文字,以及它们的属性(如文字内容、按钮样式等),系统会自动根据这些声明来渲染界面。这种方式使得界面开发更加简洁、高效,代码的可读性也更强。
- 类 Web 开发范式(了解):类 Web 开发范式在一定程度上借鉴了 Web 开发的思路。它和声明式开发有一些相似之处,但在语法和开发方式上可能更接近传统的 Web 开发。例如,在布局方式上可能会采用类似 CSS 的样式设置方法,通过选择器来选择元素并设置其样式。
- Stage 模型和 FA 模型
- Stage 模型:Stage 模型是 HarmonyOS 的一种应用模型,它更强调应用的独立运行和资源管理。在 Stage 模型下,应用具有自己独立的运行空间和生命周期管理。应用的组件和功能模块之间的通信更加规范化,通过特定的接口和机制进行。这种模型适合构建复杂的、功能完整的应用,能够更好地利用设备资源。
- FA 模型(了解):FA(Feature Ability)模型是 HarmonyOS 的另一种应用模型,主要用于快速开发简单的功能模块。它相对来说更轻量级,组件之间的连接和交互方式比较灵活。通常用于开发一些原子化服务或者简单的应用功能扩展。
- 声明式 UI 语法、布局结构、常用的系统组件(图片、文本显示、文本输入、按钮等)
- 声明式 UI 语法:在声明式 UI 中,使用类似于 HTML 标签的语法来构建界面。例如,要创建一个按钮,可以使用
Button()
函数来声明,并且可以在函数参数中设置按钮的属性,如文本内容{text: '点击我'}
、样式{style: {width: '100px', height: '50px'}}
等。对于文本显示组件,可以使用Text()
函数,同样可以设置文本内容、字体大小、颜色等属性。 - 布局结构:HarmonyOS 的声明式 UI 支持多种布局方式。常见的有线性布局(类似于 Android 中的 LinearLayout),可以通过设置组件的排列方向(水平或垂直)来布局组件。还有弹性布局(类似于 CSS 中的 Flexbox),可以根据组件的权重来分配空间。例如,在一个水平线性布局中,有两个按钮,通过设置不同的宽度权重,可以让一个按钮占据更多的空间。
- 常用系统组件
- 图片组件:用于显示图片,开发者可以通过设置图片的路径来加载本地或网络图片。并且可以设置图片的缩放模式(如按比例缩放、填充整个容器等)、裁剪方式等属性,以满足不同的视觉需求。
- 文本显示组件:除了设置基本的文本内容外,还可以设置字体样式(如字体粗细、斜体等)、对齐方式(左对齐、居中对齐、右对齐)、行间距等属性,使文本在界面上呈现出更好的视觉效果。
- 文本输入组件:提供用户输入文本的功能。可以设置输入框的类型(如普通文本输入、密码输入等)、最大输入长度、提示文字等属性。并且可以监听用户的输入事件,当用户输入内容后,能够及时获取输入的数据并进行处理。
- 按钮组件:按钮是实现用户交互的重要组件。除了设置按钮的文本内容和样式外,还可以设置按钮的点击事件。当用户点击按钮时,可以触发相应的操作,如打开新的页面、执行某个计算任务、发送网络请求等。
- 声明式 UI 语法:在声明式 UI 中,使用类似于 HTML 标签的语法来构建界面。例如,要创建一个按钮,可以使用
- 应用程序框架基础、Stage 模型应用程序包结构
- 应用程序框架基础:HarmonyOS 的应用程序框架提供了应用运行的基础支持。它包括了应用的启动和停止机制、组件的加载和管理、资源的分配等功能。例如,当用户点击应用图标启动应用时,应用程序框架会负责加载应用的主组件,并且根据应用的配置文件启动相应的生命周期流程。
- Stage 模型应用程序包结构:在 Stage 模型下,应用程序包通常包含了多个模块。有应用的主模块,负责应用的整体启动和核心功能展示。还有一些资源模块,包含了应用所需的图片、音频、文字等资源。此外,还有配置文件模块,用于配置应用的属性(如应用名称、版本号、权限要求等)和组件之间的通信接口等信息。
- UIAbility 组件的生命周期、启动模式、基本用法、数据同步,以及设备内的组件通信
- 生命周期:UIAbility 组件具有完整的生命周期,包括创建(onCreate)、启动(onStart)、恢复(onResume)、暂停(onPause)、停止(onStop)和销毁(onDestroy)等阶段。例如,当应用启动时,UIAbility 组件会经历 onCreate 和 onStart 阶段,在这两个阶段可以进行一些初始化操作,如加载界面资源、初始化数据等。当应用切换到后台时,会经历 onPause 和 onStop 阶段,在这些阶段可以进行资源的释放和数据的保存。
- 启动模式:UIAbility 组件有多种启动模式,如标准模式、单实例模式等。标准模式下,每次启动 UIAbility 组件都会创建一个新的实例。而单实例模式下,整个应用生命周期内只有一个该组件的实例存在。例如,对于一些全局配置的页面,采用单实例模式可以保证数据的一致性和避免资源浪费。
- 基本用法:通过继承 UIAbility 类来创建自己的组件。在组件内部,可以通过重写生命周期方法来实现自己的逻辑。例如,在 onCreate 方法中可以初始化一些数据和组件,在 onStart 方法中可以启动一些动画或者网络请求等。
- 数据同步:在不同的 UIAbility 组件之间或者同一组件的不同生命周期阶段,可能需要进行数据同步。可以通过共享数据对象或者使用数据库等方式来实现数据同步。例如,在一个购物应用中,购物车数据可能需要在多个页面(UIAbility 组件)之间同步,这时可以通过一个全局的共享数据对象来存储和更新购物车数据。
- 设备内组件通信:在同一设备内,不同的 UIAbility 组件之间可以通过事件总线或者接口调用等方式进行通信。例如,一个组件可以发送一个事件(如更新数据事件),其他感兴趣的组件可以监听这个事件并做出相应的反应。或者一个组件可以调用另一个组件的公开接口来获取数据或者执行某个操作。
- 高级容器组件,例如 List、Swiper、Grid、Tab、Navigation 等组件
- List 组件:List 组件用于展示一组数据列表。例如,在一个新闻应用中,可以使用 List 组件来展示新闻列表。开发者可以自定义列表项的样式和内容,并且可以根据数据的变化动态更新列表。List 组件还支持滚动功能,方便用户浏览大量的数据。
- Swiper 组件:Swiper 组件主要用于实现页面滑动切换效果。比如在一个图片展示应用中,用户可以通过左右滑动来查看不同的图片。Swiper 组件可以设置滑动的方向、自动滑动的间隔时间、滑动的动画效果等属性,增强用户的视觉体验。
- Grid 组件:Grid 组件用于以网格的形式展示数据。例如,在一个商品展示应用中,可以使用 Grid 组件将商品以网格的形式排列,方便用户查看和比较。开发者可以设置网格的行数和列数、每个网格单元的样式等属性。
- Tab 组件:Tab 组件用于创建选项卡式的界面。例如,在一个多功能应用中,不同的功能模块可以分别放置在不同的选项卡下。用户可以通过点击选项卡来切换不同的功能模块。Tab 组件可以设置选项卡的标题、样式、选中状态等属性。
- Navigation 组件:Navigation 组件用于实现页面导航功能。它可以帮助用户在不同的页面之间进行跳转。例如,在一个多层级的应用中,Navigation 组件可以管理页面的栈,当用户返回上一层级页面时,可以正确地恢复页面状态。
- HTTP 网络请求,了解 RCP 网络请求,能封装 Axios 请求
- HTTP 网络请求:在 HarmonyOS 开发中,通过 HTTP 协议进行网络请求是获取数据的重要方式。可以使用系统提供的网络请求库或者第三方库(如 Axios)来发送 HTTP 请求。例如,在一个天气应用中,通过向天气服务提供商的服务器发送 HTTP 请求,获取天气数据并展示给用户。
- RCP 网络请求(了解):RCP(Remote Procedure Call)网络请求是一种远程过程调用的网络通信方式。它允许在不同的进程或者设备之间进行类似于本地函数调用的通信。在 HarmonyOS 生态中,这种方式可以用于设备之间的协同通信,例如在分布式应用场景下,不同设备之间通过 RCP 进行数据交换和功能调用。
- 封装 Axios 请求:Axios 是一个流行的用于发送 HTTP 请求的 JavaScript 库。在 HarmonyOS 开发中,为了方便使用和管理网络请求,可以对 Axios 进行封装。例如,封装一个函数用于发送 GET 请求,在函数内部可以设置请求的 URL、参数、请求头信息等,并且可以对请求的响应进行统一的处理,如错误处理、数据解析等。
- 用户的首选项,可以通过用户首选项实现数据持久化,会封装持久化工具类,会使用 SQLite 轻型数据库,存储复杂关系数据类型
- 用户首选项实现数据持久化:HarmonyOS 提供了用户首选项(Preferences)功能,用于存储一些简单的用户配置信息。例如,用户的应用主题设置、字体大小偏好等信息可以存储在用户首选项中。通过简单的 API 操作,可以方便地读取和写入这些信息,并且这些信息在应用重新启动后仍然可以获取到。
- 封装持久化工具类:为了更好地管理数据持久化操作,可以封装一个持久化工具类。在这个工具类中,可以封装一些常用的操作方法,如保存数据、读取数据、删除数据等。这样可以提高代码的复用性和可维护性。例如,在一个具有多个页面都需要访问用户首选项的应用中,通过使用封装的工具类,可以统一管理数据的读写操作。
- SQLite 轻型数据库使用:对于存储复杂关系数据类型,SQLite 轻型数据库是一个很好的选择。例如,在一个学生管理应用中,学生的个人信息(姓名、年龄等)和成绩信息(各科成绩)之间存在复杂的关系,可以使用 SQLite 数据库来存储这些数据。通过使用 SQL 的查询语句,可以方便地获取、更新和删除数据。在 HarmonyOS 开发中,可以使用系统提供的 SQLite 相关的 API 来操作数据库。
- 使用动画,以及页面转场
- 动画使用:HarmonyOS 提供了丰富的动画支持。可以通过定义动画的属性(如动画的类型、持续时间、延迟时间等)来创建动画效果。例如,对于一个按钮组件,可以创建一个缩放动画,当用户点击按钮时,按钮会有一个缩放的视觉效果。动画可以应用于各种组件,包括图片、文本等,用于增强界面的交互性和趣味性。
- 页面转场:页面转场是指在不同页面之间切换时的过渡效果。例如,在一个应用中,从首页切换到详情页时,可以设置一个淡入淡出的页面转场效果。HarmonyOS 提供了多种页面转场方式,如滑动转场、缩放转场等。通过在页面导航时设置相应的转场动画,可以提升用户的视觉体验。
- Web 组件的构建与使用
- 构建 Web 组件:在 HarmonyOS 开发中,可以构建 Web 组件来嵌入 Web 内容。例如,可以使用系统提供的 WebView 组件来加载网页。在构建 Web 组件时,需要设置一些基本的属性,如 Web 页面的 URL、是否允许 JavaScript 执行等。并且可以通过相关的接口来控制 Web 组件的行为,如加载、暂停、重新加载等操作。
- 使用 Web 组件:Web 组件可以用于多种场景。例如,在一个应用中,可以使用 Web 组件来展示一些在线文档、新闻网页或者嵌入一些第三方的 Web 服务。通过与本地组件的结合,可以创建出更加丰富的应用体验。例如,在 Web 组件旁边放置一个本地的导航按钮,方便用户在本地应用和 Web 内容之间进行切换。
- 应用通知
- 通知创建:HarmonyOS 允许开发者创建应用通知。可以设置通知的标题、内容、图标等基本属性。例如,在一个消息应用中,当收到新消息时,可以创建一个通知,显示消息的发送者和消息的简短内容,提醒用户查看消息。
- 通知发送和管理:通过系统提供的通知管理 API,可以将创建好的通知发送给用户。并且可以对通知进行管理,如设置通知的优先级、定时发送、重复发送等功能。还可以根据用户的操作
相关文章:
鸿蒙面试---1208
HarmonyOS 三大技术理念 分布式架构:HarmonyOS 的分布式架构使得设备之间能够无缝协同工作。例如,它允许用户在不同的智能设备(如手机、平板、智能手表等)之间共享数据和功能。比如,用户可以在手机上开始编辑文档&…...
【论文阅读】一名系统研究者的攀登之路
作者:陈海波 陈海波是操作系统、系统结构、并行与分布式系统方向大牛,上海交通大学大牛团队 学习体会: 计算机系统论文准备周期较长,十有八九都是在解决新问题的路上~ 因此学习大佬的学习经验,少踩坑,把主…...
MySQL 索引(B+树)详解
MySQL 索引(B树)详解 MySQL逻辑架构对比InnoDB与MyISAM存储结构存储空间可移植性、备份及恢复事务支持AUTO_INCREMENT表锁差异全文索引表主键表的具体行数CRUD操作外键 sql优化简介什么情况下进行sql优化sql语句执行过程sql优化就是优化索引 索引索引的优…...
【不稳定的BUG】__scrt_is_managed_app()中断
【不稳定的BUG】__scrt_is_managed_app函数中断 参考问题详细的情况临时解决方案 参考 发现出现同样问题的文章: 代码运行完所有功能,仍然会中断 问题详细的情况 if (!__scrt_is_managed_app())exit(main_result);这里触发了一个断点很奇怪,这中断就发生了一次,代…...
护网蓝队日志分析
Windows日志分析 一、事件查看器 在「事件查看器」中,可以查看系统中记录的所有事件日志。操作步骤如下: 1、打开 Windows 事件查看器 1、使用Windows R快捷键打开「运行」对话框,输入eventvwr.msc,然后按回车键打开事件查看…...
滤波器设计(八)-McClellan-Parks design algorithm
步骤 Initialization: Choose an extremal set of frequences {ωi(0)}.Finite Set Approximation: Calculate the best Chebyshev approximation on the present extremal set, giving a value δ(m) for the min-max error on the present extremal set.Interpolation: Calc…...
ElasticSearch常见的索引_集群的备份与恢复方案
方案一:使用Elasticsearch的快照和恢复功能进行备份和恢复。该方案适用于集群整体备份与迁移,包括全量、增量备份和恢复。 方案二:通过reindex操作在集群内或跨集群同步数据。该方案适用于相同集群但不同索引层面的迁移,或者跨集…...
C#对Excel表csv文件的读写操作
C#对Excel表csv文件的读写 一、变量定义二、加载主窗口三、创建表头四、向表中添加数据五、从表中读取数据六、单击按钮向表中添加数据七、测试验证 一、变量定义 #region 变量定义 private string CurAppExeDir System.AppDomain.CurrentDomain.BaseDirectory; private strin…...
【MySQL】mysql服务器架构
目录 1、背景2、mysql服务器架构解释3、总结 1、背景 简单理解一下mysql的服务器架构。 2、mysql服务器架构解释 mysql的架构图如下: 主要分为三部分:客户端、服务端、存储引擎。接下来我们来解释一下各个部分: 客户端 用来连接mysql服务…...
Vue Web开发(三)
1. 添加el-menu样式 将Home.vue文件重新命名为Main.vue文件,本节涉及新的home目录和User目录下的index.js文件,因为侧边导航栏Aside和顶部Header是在每一个页面都存在的,所以重新命名为Main,而home文件夹下的index.js则对应系统首…...
Java项目实战II基于微信小程序的小区租拼车管理信息系统 (开发文档+数据库+源码)
目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 随着城市化进程的加速,小区居民对于出行方…...
云安全:云计算安全
目录 云安全的定义和重要性 云安全的关键组成部分 云安全技术实现 云安全最佳实践 云安全的定义和重要性 云安全是指在云计算环境中保护数据、应用程序和相关服务不受威胁的一系列策略、技术和控制措施。随着云计算的快速发展,云安全已成为企业和个人用户最关心…...
git clone加速(亲测好用)
用公司网git clone特别卡,本以为宿舍网会好一点,回来下的时候也只有几十kb. 然后找到了一种方法,就是在原始下载命令前加一个gitclone 比如 git clone https://github.com/infiniflow/ragflow.git替换成 git clone https://gitclone.com/gi…...
Python 网络爬虫进阶:突破数据采集的边界
在成功踏入 Python 网络爬虫的入门之境后,我们犹如初窥宝藏的探险家,领略到了数据采集世界的奇妙与潜力。而此刻,进阶之路在脚下徐徐展开,它将引领我们深入这片领域的更深处,挖掘出更为强大和精妙的爬虫技艺࿰…...
【网络安全】网站常见安全漏洞 - 网站基本组成及漏洞定义
文章目录 引言1. 一个网站的基本构成2. 一些我们经常听到的安全事件3. 网站攻击者及其意图3.1 网站攻击者的类型3.2 攻击者的意图 4. 漏洞的分类4.1 按来源分类4.2 按危害分类4.3 常见漏洞与OWASP Top 10 引言 在当今的数字化时代,安全问题已成为技术领域不可忽视的…...
[论文解读]Street Gaussians: Modeling Dynamic Urban Scenes with Gaussian Splatting
Street Gaussians是年初的一篇动态场景重建论文, 在当时是做到了SOTA,至今为止很多自动驾驶或者动态场景重建的文章都会将Street Gaussians作为实验的比较对象,这也表明了这篇文章的重要性,今天就一起来看看这篇文章; …...
在Github上上传大文件的办法(图文版)
在上一篇笔记中,笔者用图文的形式介绍了如何在GITHUB中上传文件夹。 可参考这篇笔记 在GITHUB上传本地文件指南(详细图文版)-CSDN博客 但接下来,笔者在继续上传别的文件的过程中,遇到了新的问题,gitbash…...
关于springBoot+vue项目中配置SSL证书问题
前端可以通过https进行访问 1.前端在访问后端接口时,使用https进行访问,在request.js配置文件中,这个文件是配置axios的基本请求的,在基础请求地址中改为https方式 2.需要在Linux中的nginx中配置ssl证书,具体请参考&…...
GitLab
Git服务器 一、概念 C/S 架构的 Git 服务端是存放代码的公用平台是多人并行协作的核心部分通常单独部署在一台独立的服务器上客户端可以通过网络访问服务器上的仓库 GitLab搭建 一、部署 1、安装依赖包 [rootGitLab ~]# yum -y install policycoreutils-python-utils.noarc…...
TCP客户端服务器端通信(线程池版)
1、什么是监听套接字,和UDP相比,TCP为什么文件描述符变多了? 在网络编程中,TCP和UDP是两种常见的传输协议,它们之间最大的不同之一在于连接的管理方式。为了更好地理解这个区别,我们可以用一个生动的比喻来…...
go语言的成神之路-标准库篇-fmt标准库
目录 一、三种类型的输出 print: println: printf: 总结: 代码展示: 二、格式化占位符 %s:用于格式化字符串。 %d:用于格式化整数。 %f:用于格式化浮点数。 %v࿱…...
高级java每日一道面试题-2024年12月08日-JVM篇-什么是类加载器?
如果有遗漏,评论区告诉我进行补充 面试官: 什么是类加载器? 我回答: 在Java高级面试中,类加载器(ClassLoader)是一个重要的概念,它涉及到Java类的加载和初始化机制。以下是对类加载器的详细解释: 定义与作用 类加…...
数据库之连接池Druid
Druid是一个由阿里巴巴开源的高性能数据库连接池组件,它在许多项目中都是首选的连接池实现。Druid不仅提供了高效的连接管理,还具备丰富的监控和统计功能,以及强大的安全特性。 一、功能介绍 1、高效连接管理 Druid采用了高效的连接管理机…...
【如何审稿】Notes on Constructive and Positive Reviewing
学习体会: 用chatgpt翻译的2005年审稿人如何审稿的一篇文章, 学着用审稿人的角度评审自己写的稿件~ 全文摘录: 作为审稿人,您代表的是您的社区,您的审稿意见应当是专业和建设性的。会议的质量取决于审稿的质量。审稿人的任务是选出高质量、创…...
1.文本方块方法(Spacy Text Splitter 方法)Can‘t find model ‘zh_core_web_sm‘
一、概述 执行如下: def split_spacy(text):import spacynlp spacy.load( "zh_core_web_sm" ) doc nlp(text) for s in doc.sents: print(s) # d:\programdata\anaconda3\envs\python310\lib\site-packages if __name__"__main__":text &q…...
IT类项目实施流程
一、项目启动准备阶段 (一)甲方组建项目委员会 **甲方委员会确立:**指定负责人,全权负责整个项目人员、启动及时间调配、需求确定及需求变更、项目节点的验收、项目款项的支付工作。 (二) 乙方组建项目实施工作组 **乙方实施工作组确立:**工作组主要包括项目经理、需…...
数据分析平台业务落地痛点分析
在当今数字化时代,数据已成为企业决策和运营的核心驱动力。数据分析平台作为数据处理和洞察的重要工具,其业务落地过程中的痛点分析对于企业的数据战略至关重要。本文将通过概述、功能点、背景、业务点、底层原理等多个方面,深入剖析数据分析…...
java语言学习(5)
第九章 目录 类变量和类方法 理解main方法语法 代码块 单列设计模式 final关键字 抽象类 接口 类变量/静态变量 该变量最大的特点就是会被本类的所有对象实例共享,类变量可以通过类名来访问 分析代码,探讨内存的分配 class Child{private Str…...
基于SSM框架点餐管理系统(计算机毕业设计)论文,Java
系统合集跳转 源码获取链接 一、系统环境 运行环境: 最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 tomcat环境: Tomcat 7.x,8.x,9.x版本均可 操作系统…...
独家首发 | 基于 KAN、KAN卷积的轴承故障诊断模型
往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 基于FFT CNN - BiGRU-Attention 时域、频域特征注意力融合的轴承故障识别模型-CSDN博客 基于FFT CNN - Transformer 时域、频域特征融合的轴承故障识别模型-CSDN博客 P…...
nginx-proxy-manager初次登录502 bad gateway
nginx-proxy-manager初次登录502 bad gateway 按照官方docker-compose安装后,页面如下: 默认账户密码: adminexample.com/changeme点击sign in,提示Bad Gateway 打开调试 重装后依然如此,最后查阅githup issue 找到答案 https://github.com/NginxProxyManager/nginx-proxy-…...
棋牌项目Go的日志打印问题
棋牌项目Go的日志打印问题 项目使用 go work 管理模块 github.com/spf13/viper 通过 application.yml 加载配置 $ tree . ├── README.md ├── common │ ├── application.yml │ ├── config │ │ └── config.go │ ├── go.mod │ ├── go.su…...
基于SpringBoot校园台球厅人员与设备管理系统设计与实现
1.1课题背景与意义 在Internet高速发展的今天,计算机的应用几乎完全覆盖我们生活的各个领域,互联网在经济,生活等方面有着举足轻重的地位,成为人们资源共享,信息快速传递的重要渠道。在中国,网上管理的兴起…...
样品前处理工作站自动化操作
样品前处理工作站通过集成多种技术和自动化模块,实现了对样品的高效、精准处理。以下是实现自动化操作的关键步骤和原理: 1、集成多种技术:工作站通常集成了液体处理、固相萃取、离心、过滤等多种技术。这些技术的结合使得工作站能够完成从样…...
在 Vue 3 中实现点击按钮后禁止浏览器前进或后退
在 Vue 3 中实现点击按钮后禁止浏览器前进或后退,我们可以通过 ref 和 watch 来管理状态,同时使用 onBeforeUnmount 来清理事件监听。 使用 Vue 3 实现: <template><div><button click"disableNavigation">点击…...
【Redis集群】使用docker compose创建docker集群,并暴露外部接口
使用 Docker Compose 创建一个 Redis 集群并暴露外部接口需要配置 docker-compose.yml 文件。以下是一个基本的步骤,包括 Redis 集群的创建和外部接口的暴露。 1、创建 docker-compose.yml 首先,您需要创建一个 docker-compose.yml 文件,配…...
RabbitMq 基础
文章目录 一、初识 MQ1.1 同步调用:1.2 异步调用: 二、RabbitMQ三、SpringAMQP3.1 依赖和配置文件3.2 消息发送和接收:3.2.1 消息发送:3.2.2 消息接收: 3.3 WorkQueues 模型:3.4 交换机类型:3.4…...
类文件结构详解
一、引言 Java 类文件是 Java 虚拟机执行的基本单元。它包含了 Java 程序的字节码以及其他重要的元数据信息。了解类文件结构可以帮助我们更好地理解 Java 程序的编译过程、运行机制以及如何进行优化。 二、类文件结构概述 Java 类文件采用一种紧凑的二进制格式,主…...
01_Linux
一.Linux简介 1.1 Linux介绍 Linux是一套免费使用和自由传播的操作系统。说到操作系 统,大家比较熟知的应该就是Windows和MacOS操作系统, 我们今天所学习的Linux也是一款操作系统 1.2 Linux发展历史 时间:1991年 地点:芬兰赫尔…...
区块链与AI结合:驱动Web3的未来发展
Web3作为下一代互联网的核心理念,强调去中心化、用户主权和透明性。而区块链技术和人工智能(AI)则是推动Web3发展的两大关键力量。两者的结合不仅为Web3带来了新的可能性,还推动了智能化、透明化、自治化等特点的实现。本文将探讨…...
如何解决 docker 容器中 “-bash: ping: command not found” 错误 ?
在 Docker 的世界里,遇到错误是学习曲线的一部分,其中一个常见的错误是: -bash: ping: command not found。当您在 Docker 容器中尝试使用 ping 命令来测试与其他网络机器或服务的连接,但该命令在您的容器环境中不可用时ÿ…...
Leetcode 每日一题 242.有效的字母异位词
目录 问题描述 示例 题目要求 解决方案 算法思路 过题图片 代码实现 算法分析 优化思路 优化后的代码实现 优化后的算法分析 题目链接 问题描述 给定两个字符串 s 和 t,我们需要编写一个函数来判断 t 是否是 s 的字母异位词。字母异位词指的是两个字符串…...
centos7搭建FTP详细讲解
文章目录 1、ftp服务1、工作原理2、工作模式3、身份验证模式4、ftp服务器配置5、ftp客户端操作 1、ftp服务 1、工作原理  是一个cs架构 2个通道,21端口为控制…...
YOLOv8-ultralytics-8.2.103部分代码阅读笔记-build.py
build.py ultralytics\data\build.py 目录 build.py 1.所需的库和模块 2.class InfiniteDataLoader(dataloader.DataLoader): 3.class _RepeatSampler: 4.def seed_worker(worker_id): 5.def build_yolo_dataset(cfg, img_path, batch, data, mode"train"…...
JAVA-动态代理
文章目录 概要两种主要方式JDK 动态代理Proxy 类作用:常用方法: InvocationHandler 接口作用: 目标对象、代理对象、被代理对象JDK 动态代理工作原理 cjlib 动态代理demo 对比 概要 Java 动态代理利用 Java 的反射机制,可以在运行…...
【前端】React_Next.js
定期更新,建议关注、收藏! 安装 要使用react的框架,都应当安装node.js conda install nodejs选择Next.js 并创建项目 npx create-next-applatest可以看到目录结构生成如下 作为网页中的一个子路由 想让其嵌入已经写好的项目中…...
深入理解malloc与vector:内存管理的对比
引言 在编程中,内存管理是一个至关重要的环节。无论是C语言中的malloc函数,还是C标准库中的vector容器,它们都在内存分配和释放上扮演着关键角色。然而,它们的设计理念和用法有着显著的不同。本文将深入探讨malloc和vector的区…...
LeetCode题练习与总结:四数相加 Ⅱ --454
一、题目描述 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 < i, j, k, l < nnums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1: 输入:n…...
AI绘画设计实战-Day1
AI绘画变现方向: 生成猫咪拟人化;老照片修复;生成奇幻场景,换上客户的脸;生成商品详情模特图;商品宣传图;建筑/室内设计方案; AI视频-变现方向: AI跳舞视频ÿ…...
【Windows】ImmGetContext函数不适合跨进程工作
1. 教授回复 ChatGPT-o1: ImmGetContext() is not designed to work across process boundaries. It is indicates that a thread should not access the input context created by another thread, which implies that the function is intended for use within the same proc…...