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

个人Unity自用面经(未完)

目录标题

      • 1.在 2D 平台跳跃游戏项目中,你使用了对象池来生成和回收怪物包含阵亡的动画预制件。在对象池回收对象时,如何确保动画状态被正确重置,避免下次使用时出现异常?
      • 2.在僵尸吃脑子模拟项目中,你创建了继承于IAspect的aspect,并通过RefRW和RefRO定义访问的属性。能详细说说在实际使用中,RefRW和RefRO有什么区别吗?在什么场景下分别使用它们?
      • 3.在 2D 平台跳跃游戏项目中,你使用对象池来生成和回收怪物预制件。在对象池的设计与实现过程中,如何确定对象池的初始容量和最大容量呢?
      • 4.在 3D 回合制策略游戏中,你使用了状态机实现敌人的 AI,并且 AI 的行为带权。在不同情况下,不同动作的权值是如何确定的呢?
      • 5.在僵尸吃脑子模拟项目里运用了 ECS 架构,你也清楚 ECS 架构适合并行计算。那在实际开发中,是怎样去利用 ECS 架构实现并行计算,进而提升游戏性能的呢?
      • 6.在 2D 平台跳跃游戏项目中,你使用了 TileMap 瓦砾地图系统构建地图。在使用过程中,如何实现地图的动态加载与卸载,以优化游戏内存占用?
      • 7.在 3D 回合制策略游戏中,你使用了状态机来管理角色的行为状态。当角色的状态比较复杂,存在多种状态之间的相互转换,并且有一些状态还存在子状态时,你是如何设计状态机以确保逻辑清晰,易于维护和扩展的呢?
      • 8.在僵尸吃脑子模拟项目里,你运用了 ECS 架构。当游戏场景中僵尸数量极多,比如上万只时,可能会面临性能瓶颈。你打算采取哪些策略来优化 ECS 架构下大规模僵尸的性能表现呢?
      • 9.在你参与的 “3D 回合制策略游戏” 项目里,你使用了状态机实现敌人的 AI 且行为带权。在游戏运行过程中,如果玩家做出了一个游戏设计师未曾预料到的操作,导致敌人 AI 的权值计算出现异常,你会如何排查和解决这个问题?
      • 10.在 “僵尸吃脑子模拟” 项目里,你使用了 ECS 架构并创建了多个继承于ISystem的系统。当多个系统之间存在数据依赖关系时,你是如何管理和协调这些依赖关系,以确保系统执行顺序正确且数据一致性的?

豆包 中等偏上—优秀 评价

1.在 2D 平台跳跃游戏项目中,你使用了对象池来生成和回收怪物包含阵亡的动画预制件。在对象池回收对象时,如何确保动画状态被正确重置,避免下次使用时出现异常?

答:我在泛型对象池定义之初就设置了一个私有的抽象Reset函数,对于后续继承它的对象池必须要实现它,然后在对外公开的回收预制体函数ReturnToPool中调用这个Reset函数,这样来保证他们状态复原,避免异常。比如我在Reset中重新设定这个预制体的动画机中所有的转换条件参数复原,Transform属性复原,并且在Reset函数里使用了Try和catch来捕获重置失败的预制体。

2.在僵尸吃脑子模拟项目中,你创建了继承于IAspect的aspect,并通过RefRW和RefRO定义访问的属性。能详细说说在实际使用中,RefRW和RefRO有什么区别吗?在什么场景下分别使用它们?

答:Ref RW对应的就是ref关键字, read and write,RO 对应的就是 read only,意思就是前者是一个可读写的属性,后者是一个只可读的属性,这要根据需求来用,比如我项目里写了僵尸的行走速度,我不希望他改变所以我把aspect里面对僵尸速度属性的引用设置为只读的意味着我不希望改变他,比如项目中墓碑的Transform属性,我希望每个墓碑生成的位置角度是不一样的所以我设置他为可读写的。

3.在 2D 平台跳跃游戏项目中,你使用对象池来生成和回收怪物预制件。在对象池的设计与实现过程中,如何确定对象池的初始容量和最大容量呢?

答:初步预估对象池容量
统计游戏数据:在设计阶段,仔细分析游戏场景和玩法,统计出游戏中不同类型对象(如怪物、子弹、道具等)同时出现的最大数量和常见数量。例如在一个射击游戏中,统计一场战斗里最多会同时存在多少颗子弹,一般情况下又会有多少颗子弹。
考虑扩展系数:为了应对游戏中可能出现的特殊情况,如玩家触发特殊技能、进入特殊关卡等导致对象数量突然增加,需要在最大数量的基础上乘以一个扩展系数(通常为 1.2 - 1.5),以此确定对象池的最大容量。初始容量可以设置为常见数量的均值。
游戏测试阶段的性能监测
选择合适的监测工具:在 Unity 中,可以使用内置的 Profiler 工具来监测对象池的使用情况,它能提供详细的内存使用信息、对象创建和销毁的频率等数据。
关注关键指标:重点关注对象池的扩容次数、闲置对象数量、对象创建和销毁的时间等指标。如果对象池频繁扩容,说明初始容量设置过小;如果大部分时间对象池都有大量闲置对象,说明最大容量设置过大。
根据监测数据进行动态调整
增大初始容量:如果发现对象池频繁扩容,导致游戏性能下降,可以适当增大初始容量。例如,将初始容量增加 20% - 30%,然后再次进行测试,观察性能是否有所改善。
减小最大容量:如果对象池大部分时间都有大量闲置对象,占用了过多的内存,可以考虑减小最大容量。每次减小的幅度不宜过大,建议在 10% - 20% 之间,然后重新测试,确保不会影响游戏的正常运行。

4.在 3D 回合制策略游戏中,你使用了状态机实现敌人的 AI,并且 AI 的行为带权。在不同情况下,不同动作的权值是如何确定的呢?

答:
我的项目中敌人和友军都是继承自player这个父类的,所以他们能使用的动作是一样的,对于敌人他有移动,射击,手雷。3个动作,我把移动的权值设置成10 - 可攻击范围内敌人的数量 * 3,这样如果范围内有敌人那么他们就不更容易去移动,对于射击权值就是 8,手雷权值是8 + (可攻击范围内敌人的数量 - 1) * 2,于是在有敌人且只有一个的情况下会使用射击,有敌人且有多个的情况下会使用手雷,没有敌人的情况下会使用移动,同时攻击还跟敌人剩余的血量有关,对于移动还要计算每个可到达的地点的权值不同于之前的权值系统,它会优先选择更多可接触敌人的地点到达,这些其实都只和设计者的需求来设定。

5.在僵尸吃脑子模拟项目里运用了 ECS 架构,你也清楚 ECS 架构适合并行计算。那在实际开发中,是怎样去利用 ECS 架构实现并行计算,进而提升游戏性能的呢?

答:
首先建立一个Job : IEntityJob,把这个job需要用到的所有东西比如EntityCommandBuffer.ParallelWriter如果不是并发的那么不用使用ParallelWriter(ecb用于更改实体组件,生成实体等)可以暂存某些指令等到某个时间点一起执行以免出现并发的线程争夺和数据错读问题,还有一些数据,或者实体。然后实现这个Job的Execute方法,如有需要还要提供sortKey这个参数,在调用这个作业的时候会自动检索含有Execute带有的组件的实体,并且在运行的时候给他发配一个sortKey。最后只需要在调用这个任务的system中new这个job,然后给他提供所需要的参数比如使用SystemAPI.Getsingleton,GetComponent等等,用来new这个job并且调用它,需要注意的是在EntityCommandBufferSystem创建EntityCommandBuffer的时候要AsParallelWriter否则会报错,这里state作用是在非托管世界申请一个命令缓冲区并且视为并发写者来缓存并执行并发的命令,因为要并发执行,最后在new的尾处.ScheduleParallel()进行并发执行任务。

避免在一个任务中修改另一个任务需要读取的数据

6.在 2D 平台跳跃游戏项目中,你使用了 TileMap 瓦砾地图系统构建地图。在使用过程中,如何实现地图的动态加载与卸载,以优化游戏内存占用?

答:
地图分块处理
划分地图区域:把整个游戏地图按照一定规则划分成多个小的地图块,比如以正方形或矩形区域为单位。每个地图块都可以独立加载和卸载。例如,在一个大型的 2D 平台跳跃游戏世界中,可以将其划分为多个 10×10 个 Tile 的地图块。
确定加载范围:依据玩家当前所在的位置和视野范围,确定需要加载的地图块。一般来说,除了玩家当前所在的地图块,还需要加载其周围的一些地图块,以保证玩家移动时地图的连贯性。比如,玩家在一个地图块中,那么可以同时加载其上下左右以及四个对角方向相邻的地图块。
实现动态加载与卸载机制
加载逻辑:当玩家接近某个未加载的地图块时,触发加载操作。可以使用 Unity 的场景加载 API(如 SceneManager.LoadSceneAsync )来异步加载地图块。异步加载不会阻塞主线程,能保证游戏的流畅性。在加载时,还可以显示一个加载提示,提升用户体验。
卸载逻辑:当某个地图块远离玩家的视野范围,并且在一段时间内不会被玩家访问到时,触发卸载操作。使用 SceneManager.UnloadSceneAsync 来异步卸载地图块,释放内存。
缓存机制
临时缓存:为了避免频繁的加载和卸载操作,可以设置一个缓存区,将最近使用过的地图块暂时保留在内存中。当玩家再次需要访问这些地图块时,可以直接从缓存中获取,而不需要重新加载。
缓存淘汰策略:由于缓存区的容量是有限的,当缓存区达到最大容量时,就需要移除一些数据来为新的数据腾出空间。常见的淘汰策略有先进先出(FIFO)、最近最少使用(LRU)等。

7.在 3D 回合制策略游戏中,你使用了状态机来管理角色的行为状态。当角色的状态比较复杂,存在多种状态之间的相互转换,并且有一些状态还存在子状态时,你是如何设计状态机以确保逻辑清晰,易于维护和扩展的呢?

答:我使用状态机系统来维护我的状态,状态机内部只有 state currentstate,两个公开的方法public void changeState(State stateName)和public void Initial,然后每个state都继承自Istate必须实现Istate里的抽象方法,Enter,Exit,Update,然后在FSM类里创建一个枚举类State用于枚举每个状态的名字,和一个字典关联 State state 和 Istate theState,然后FSM里包含对状态机的声明,并且有AddState方法用于往字典里添加状态,在声明fsm变量的脚本中的Onupdate调用currenState.Update,这样就可以确保状态之间的模块化和解耦而且扩展方便,维护方便。子状态也同样可以这样使用和添加,确保同一个时间只有一个状态在执行。

8.在僵尸吃脑子模拟项目里,你运用了 ECS 架构。当游戏场景中僵尸数量极多,比如上万只时,可能会面临性能瓶颈。你打算采取哪些策略来优化 ECS 架构下大规模僵尸的性能表现呢?

答:
空间分区与裁剪:
将游戏场景划分为多个空间区域,比如使用**四叉树(2D 场景)或八叉树(3D 场景)**结构。为每个僵尸分配所属的区域,当进行渲染、碰撞检测或 AI 计算时,只处理玩家所在区域及相邻区域内的僵尸。例如,玩家在一个特定房间内,只计算该房间及其相邻房间内的僵尸,避免对整个场景中所有僵尸进行不必要的操作。
对于视野范围外的僵尸,不进行渲染和复杂的 AI 计算,只保留基本的位置追踪等轻量级信息,当僵尸进入玩家视野范围时再进行完整的处理。
批处理与合并:
在渲染方面,将多个僵尸的渲染数据合并成一个批次进行绘制。利用 GPU 的批处理功能,减少 Draw Call 的数量。比如,可以将相同类型、相同材质的僵尸的顶点数据、索引数据等合并,一次性提交给 GPU 进行渲染,提高渲染效率。
对于僵尸的物理碰撞检测,可以将多个僵尸分组,对组内的僵尸进行统一的碰撞检测处理,而不是逐个僵尸进行检测,减少碰撞检测的计算量。
优化组件与数据结构:
确保僵尸的组件设计简洁,只包含必要的数据和功能。避免在组件中存储过多冗余或不常用的数据。例如,如果僵尸的某个属性只在特定情况下使用,可以考虑在需要时动态获取,而不是一直存储在组件中。
选择合适的数据结构来存储僵尸相关的数据。例如,使用数组而不是链表来存储僵尸列表,因为数组在随机访问和遍历方面通常具有更好的性能。同时,可以对数据进行预排序,以便在进行某些计算(如距离排序)时提高效率。
并行计算与多线程优化:
充分利用 ECS 架构的并行计算优势,将僵尸的 AI 计算、物理模拟等任务拆分成多个并行任务,利用多核 CPU 进行加速。例如,为每个僵尸的 AI 行为计算创建一个 Job,通过 ScheduleParallel() 方法并行执行这些 Job。
注意避免多线程之间的资源竞争和数据冲突。合理使用锁机制或无锁数据结构来保护共享资源。例如,对于僵尸的生命值等共享数据的修改,使用线程安全的方式进行操作。
LOD(Level of Detail)技术:
为僵尸设置不同的细节层次模型。当僵尸距离玩家较远时,使用低细节模型,减少模型的顶点数量和纹理复杂度,降低渲染成本。当僵尸靠近玩家时,切换到高细节模型,提供更好的视觉效果。
同样,对于僵尸的 AI 行为也可以设置不同的细节层次。例如,远处的僵尸可以采用简单的巡逻行为,而近处的僵尸则执行更复杂的追逐和攻击行为。

9.在你参与的 “3D 回合制策略游戏” 项目里,你使用了状态机实现敌人的 AI 且行为带权。在游戏运行过程中,如果玩家做出了一个游戏设计师未曾预料到的操作,导致敌人 AI 的权值计算出现异常,你会如何排查和解决这个问题?

答:
我应该会在敌人AI采取行动的使用使用Try和Catch去捕捉错误,如果没有捕捉到说明没有语法上或者访问越界等的问题而是逻辑上的问题,那么如果是后者只能去跟随敌人状态机进行一步一步的调试,如果它引起了空间或者性能问题那么可以使用性能检测工具profile来检测哪个函数或者哪个部分出现了内存性能异常。

10.在 “僵尸吃脑子模拟” 项目里,你使用了 ECS 架构并创建了多个继承于ISystem的系统。当多个系统之间存在数据依赖关系时,你是如何管理和协调这些依赖关系,以确保系统执行顺序正确且数据一致性的?

答:
在ECS架构中不像Unity自带一个脚本执行顺序的调整功能。在ECS架构中你运行项目的时候如果先后顺序有问题那么大概率会报错并且无法运行,届时你可以到Windows->Entities->System中查看每个系统的执行时间,但是这里不像unity原生开发框架可以直接拖动,你必须到每个系统中使用UpdateInGroup(typeof(InitializationSystemGroup))此处可以替换为很多ECS内定好的系统组或者UpdateAfter,Before某个System来调整它们的执行顺序。通过这个动作来保证依赖的关系不会出现问题,比如我项目中僵尸生成系统就定义了[UpdateAftertypedef(TombStoneSpawnSystem)]因为我僵尸生成的位置依赖于墓碑生成的位置。
避免循环引用导致相互依赖,可以设置中间层来接收相互依赖之间的数据避免直接依赖来解耦,或者调整循环依赖之间的关系,让其中一个不再引用环中的数据。
在这里插入图片描述

相关文章:

个人Unity自用面经(未完)

目录标题 1.在 2D 平台跳跃游戏项目中,你使用了对象池来生成和回收怪物包含阵亡的动画预制件。在对象池回收对象时,如何确保动画状态被正确重置,避免下次使用时出现异常?2.在僵尸吃脑子模拟项目中,你创建了继承于IAspe…...

【Pandas】pandas DataFrame agg

Pandas2.2 DataFrame Function application, GroupBy & window 方法描述DataFrame.apply(func[, axis, raw, …])用于沿 DataFrame 的轴(行或列)应用一个函数DataFrame.map(func[, na_action])用于对 DataFrame 的每个元素应用一个函数DataFrame.a…...

LearnOpenGL---绘制三角形

绘制三角形 #include <glad/glad.h> #include <GLFW/glfw3.h> #include <iostream>const unsigned int SCR_WIDTH 800; const unsigned int SCR_HEIGHT 600;/// <summary> /// 当用户改变窗口大小时&#xff0c;视口也应该被调整&#xff0c;因此编…...

使用 Poco C++ 库构建轻量级 HTTP 服务器

在现代 C 后端开发中&#xff0c;如果你需要构建一个轻量、高性能、可嵌入式的 HTTP 服务&#xff0c;而不愿引入重量级框架如 Boost.Beast 或 cpp-httplib&#xff0c;那么 Poco C Libraries 提供了一个优雅的解决方案。Poco 是一套广泛使用的 C 框架&#xff0c;涵盖网络、线…...

【Java EE初阶 --- 多线程(初阶)】多线程的基本内容

乐观学习&#xff0c;乐观生活&#xff0c;才能不断前进啊&#xff01;&#xff01;&#xff01; 我的主页&#xff1a;optimistic_chen 我的专栏&#xff1a;c语言 &#xff0c;Java 欢迎大家访问~ 创作不易&#xff0c;大佬们点赞鼓励下吧~ 文章目录 前言认识多线程(Thread的…...

CTF-DAY8

[LitCTF 2023]babyLCG 题目&#xff1a; from Crypto.Util.number import * from secret import flagm bytes_to_long(flag) bit_len m.bit_length() a getPrime(bit_len) b getPrime(bit_len) p getPrime(bit_len1)seed m result [] for i in range(10):seed (a*see…...

CSS--图片链接垂直居中展示的方法

原文网址&#xff1a;CSS--图片链接垂直居中展示的方法-CSDN博客 简介 本文介绍CSS图片链接垂直居中展示的方法。 图片链接 问题复现 源码 <html xml:lang"cn" lang"cn"><head><meta http-equiv"Content-Type" content&quo…...

用html+js+css实现的战略小游戏

效果图: 兄弟们&#xff0c;话不多说&#xff0c;直接上代码 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">…...

【落羽的落羽 C++】list及其模拟实现

文章目录 一、list介绍二、list模拟实现1. 节点2. 迭代器3. list 一、list介绍 list是我们之前学过的带头双向链表的类模板&#xff0c;具有链表的一系列性质&#xff0c;也有多种多样的接口便于使用&#xff0c;使用方法与vector大体相似&#xff1a; 函数接口说明list()构造…...

深入理解高性能网络通信:从内核源码到云原生实践

深入理解高性能网络通信&#xff1a;从内核源码到云原生实践 前言 随着互联网业务规模的高速增长&#xff0c;服务端网络通信能力成为系统性能的核心瓶颈。如何支撑百万级连接、在极限场景下实现低延迟高吞吐&#xff1f;本篇博客将围绕Linux通信机制内核剖析、性能调优实战、…...

全格式文档转 Markdown 工具,Docker 一键部署,支持 API 调用

以下是简要介绍&#xff1a; 这是一款可以快速将任意文档文件转markdown格式内容的工具&#xff0c;提供API转换接口&#xff0c;方便集成与应用原理就是利用libreoffice、pandoc文件转换工具&#xff0c;把所有文档类型的文件逐步转化&#xff0c;最终转成markdown格式的内容…...

算法思想之深度优先搜索(DFS)、递归以及案例(最多能得到多少克黄金、精准核酸检测、最富裕的小家庭)

深度优先搜索&#xff08;DFS&#xff09;、递归 深度优先搜索&#xff08;Depth First Search&#xff0c;DFS&#xff09;是一种用于遍历或搜索树或图的算法。在 DFS 算法中&#xff0c;从起始节点开始&#xff0c;沿着一条路径尽可能深地访问节点&#xff0c;直到到达叶子节…...

Windows玩游戏的时候,一按字符键就显示桌面

最近打赛伯朋克 2077 的时候&#xff0c;不小心按错键了&#xff0c;导致一按字符键就显示桌面。如下&#xff1a; 一开始我以为是输入法的问题&#xff08;相信打游戏的人都知道输入法和奔跑键冲突的时候有多烦&#xff09;&#xff0c;但是后来解决半天发现并不是。在网上搜…...

2025 后端自学UNIAPP【项目实战:旅游项目】1、创建项目框架

1、创建项目 ①项目名称&#xff1a;自定义&#xff0c;【我是travel】 ②vue版本&#xff1a;vue3 ③其他默认&#xff0c;最后创建 2、创建页面 ①展开自己刚才创建的项目 ②单击选中pages文件夹 --->鼠标右键---->新建页面 ③页面名称&#xff1a;自定义favouri…...

Tomcat中Web应用程序停止时为了防止内存泄漏,JDBC驱动程序被强制取消注册出现原因

1.问题描述 本地Windows环境开发的Springboot项目同样的mysql版本&#xff0c;jdk版本&#xff0c;tomcat版本&#xff0c;本地运行没有任何问题&#xff0c;发布到阿里云服务器上时报以下问题&#xff1a; 06-May-2025 20:06:12.842 警告 [main] org.apache.catalina.loader…...

vitepress 复杂环境引入 mermaid

方式一&#xff1a; 参考官网&#xff0c;这里不赘述 。 方式二&#xff1a; pnpm add -D vitepress-plugin-mermaid pnpm add -D mermaidimport { MermaidMarkdown, MermaidPlugin } from vitepress-plugin-mermaid;export default defineConfig({markdown: {config(md) {md…...

盘古信息领德创|半导体存储与云计算存储小巨人企业IMS数字化升级项目正式启动!

在数字化和智能化浪潮下&#xff0c;数据已然成为企业核心资产。随着大模型应用加速落地和智算新基建推进&#xff0c;数据量呈爆炸式增长&#xff0c;存储作为数据基础设施的关键环节&#xff0c;正从传统的容量与性能保障&#xff0c;向数据智能处理、高效管理及安全可靠的全…...

Oracle04-基本使用

零、文章目录 Oracle04-基本使用 1、创建表空间 &#xff08;1&#xff09;创建语句 create tablespace testdata datafile c:\datafile\testdata.dbf size 100m autoextend on next 10m&#xff08;2&#xff09;参数说明 testdata&#xff1a;表空间名称datafile&#x…...

YOLO 从入门到精通学习指南

一、引言 在计算机视觉领域,目标检测是一项至关重要的任务,其应用场景广泛,涵盖安防监控、自动驾驶、智能交通等众多领域。YOLO(You Only Look Once)作为目标检测领域的经典算法系列,以其高效、快速的特点受到了广泛的关注和应用。本学习指南将带领你从 YOLO 的基础概念…...

Linux 磁盘初始化与扩容操作手册

&#x1f4e6; 1. 初始化服务器&#xff0c;新磁盘挂载为 LV ✅ 使用 ext4 格式 # 创建挂载目录 mkdir -p /datatmp# 初始化物理卷 sudo pvcreate /dev/sdb# 创建卷组 sudo vgcreate vg_data /dev/sdb# 创建逻辑卷&#xff08;使用全部空间&#xff09; sudo lvcreate -l 100…...

ShardingSphere:使用information_schema查询时报错:Table ‘数据库名称.tables‘ doesn‘t exist

目录 简介异常信息SQL排查原因解决 简介 1、程序jdk1.8升级为jdk21 2、ShardingSphere框架从4.1.1升级为5.2.1 3、使用 information_schema.tables 查询时报错 异常信息 ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 数据库名称.tables …...

uniapp开发09-设置一个tabbar底部导航栏且配置icon图标

uniapp开发09-设置一个tabbar底部导航栏且配置icon图标&#xff01;在实际项目开发中&#xff0c;经常会遇到需要设置icon图标的情况&#xff0c;而且底部导航通常都是有固定位置且内容不会轻易发生变化的。官方提供了自带的tabbar组件。我们来了解一下最基础的入门案例。 1&am…...

使用OpenCV 和 Dlib 实现年龄性别预测

文章目录 引言1.系统架构2.代码解析2.1 模型初始化2.2 核心函数实现(1) 人脸检测函数 getBoxes()(2) 中文文本显示函数 3. 主循环流程4.关键技术点5.总结 引言 在计算机视觉领域&#xff0c;人脸检测与属性分析是一项基础且重要的技术。本文将详细介绍如何使用OpenCV和深度学习…...

SSTI学习

1&#xff0c;什么是模板 模板引擎&#xff08;这里特指用于Web开发的模板引擎&#xff09;是为了使用户界面与业务数据&#xff08;内容&#xff09;分离而产生的&#xff0c;它可以生成特定格式的文档&#xff0c;利用模板引擎来生成前端的html代码&#xff0c;模板引擎会提供…...

0基础学习鸿蒙开发-HarmonyOS4

一、初识 1. 开发工具 官网 开发-HarmonyOS NEXT鸿蒙应用开发平台-华为开发者联盟 2. ArkTS 二、TypeScript 基本语法 1.变量声明 2. 条件控制 注意 在TypeScrips中 空字符串数字0、null、undefined 都坡认为是false 其它值则为true if (num) {// num 非空执行 } 3. 循环迭…...

原生 IP(Native IP)

目录 一、核心特点 二、原生 IP 的常见应用 三、原生 IP vs. 数据中心 IP 四、如何获取原生 IP&#xff1f; 五、原生 IP 的优缺点 六、实际案例 原生 IP&#xff08;Native IP&#xff09; 是指由互联网服务提供商&#xff08;ISP&#xff09;直接分配给用户的 IP 地址&…...

python + whisper 读取蓝牙耳机, 转为文字

1. 起因&#xff0c; 目的: 看到别人做了类似的效果。所以自己也想试试看。动手。 2. 先看效果 3. 过程: 我用的是蓝牙耳机&#xff0c;EDIFIER W820NB 先找到声音&#xff0c;设置为 Hands-Free 模式 代码 1 &#xff0c;查找设备名称&#xff0c; 看看哪个是能用的。 我…...

Prometheus实战教程:k8s平台-使用文件服务发现案例

date: 2025-03-06 tags:- prometheus --- 1查看NODE-IPkubectl get node -o wideNAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIMEk8s-node01 Ready &…...

黄金量化:高频实时的贵金属API

在风云变幻的投资领域&#xff0c;贵金属黄金市场一直备受瞩目。近期&#xff0c;黄金等贵金属报价API&#xff0c;价格走势犹如过山车&#xff0c;引发投资者高度关注。据 iTick 数据显示&#xff0c;截至 2025 年 5 月 6 日 15:30&#xff0c;黄金 TD 价格为 792.97 元 / 克&…...

人工智能在医疗运营编程中的应用综述

引言 随着人工智能技术的迅猛发展,医疗行业正经历一场深刻的变革。人工智能不再仅限于辅助诊断或医学影像分析,而是逐步渗透到医疗运营的各个环节。医疗运营编程作为医院管理的核心,涵盖了从患者入院到出院的全过程管理,包括资源分配、工作流程优化、收入管理、供应链控制等…...

【心海资源】0U攻击工具|一键模仿地址生成+余额归集+靓号生成系统

内容&#xff1a; 这是一款集合多种区块链辅助功能的0U攻击工具&#xff0c;无需部署环境、无需复杂配置&#xff0c;打开即可使用。主要功能包括&#xff1a; 0U攻击模块&#xff1a;模拟常见0U攻击场景&#xff0c;实现交易干扰与诱导。模仿地址生成&#xff1a;快速批量生成…...

Jenkins忘记admin密码后的恢复步骤

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 时间较长没有使用…...

基于深度学习的智能仓储异常检测系统设计与实现

一、项目场景 该设备主要应用于制造业、物流中心和仓储管理等场景。在制造业生产线上&#xff0c;该系统可用于实时监测产品的码垛状况&#xff0c;确保产品符合安全标准&#xff0c;避免因堆叠不当导致的产品损坏和生产停滞。在物流中心&#xff0c;系统能够监测卸货和入库过…...

安装篇--CentOS 7 虚拟机安装

CentOS 7 作为一个稳定且广泛使用的 Linux 发行版&#xff0c;是学习服务器管理和搭建各种服务&#xff08;例如 Hadoop 集群&#xff09;的理想平台。本次教程将教会大家如何在 VMware Workstation 虚拟机软件中一步步安装 CentOS 7 桌面环境。 准备工作&#xff1a; 确保您的…...

【Fifty Project - D23】

今日完成记录 TimePlan完成情况8&#xff1a;30 - 9&#xff1a;30《挪威的森林》√14&#xff1a;00 - 16&#xff1a;00修改大论文√16&#xff1a;00 - 17&#xff1a;30和老板讨论√ 早上在轰隆隆的火车声和时而从窗帘钻进的刺眼阳光中醒来&#xff0c;并没有意识到假期已…...

从零开始学java--集合类(2)

集合类 目录 集合类 Queue 队列的使用&#xff1a; 双端队列&#xff08;Deque&#xff09; Map和Set 概念&#xff1a; 模型&#xff1a; Map 常见方法说明&#xff1a; 注意&#xff1a; TreeMap和HashMap的区别&#xff1a; Set 常见方法说明&#xff1a; 注…...

在Star-CCM+中实现UDF并引用场数据和网格数据

在Star-CCM中实现UDF并引用场数据和网格数据 Star-CCM中的用户自定义函数(UDF)允许用户通过Java或C/C编程扩展软件功能。下面我将详细介绍如何实现UDF并引用模拟数据。 1. UDF基础实现方法 1.1 创建UDF的步骤 在Star-CCM中&#xff0c;右键点击"工具" → “用户函…...

WebRTC 服务器之SRS服务器性能优化配置

1.概述 SRS &#xff08;Simple Realtime Server&#xff09; 中提供的各种性能优化选项。这些选项允许您针对不同场景优化 SRS&#xff0c;从而在延迟、吞吐量和资源利用率之间取得平衡。有关常规配置的信息&#xff0c;请参阅配置。 1.1 性能提升目标 流媒体服务器的性能通常…...

n8n 中文系列教程_20. n8n高效开发秘诀:单步调试与测试用例实战指南

在n8n低代码开发中&#xff0c;你是否遇到过工作流运行时出错却难以定位问题&#xff1f;或者精心设计的流程在处理新数据时突然崩溃&#xff1f;单步调试和测试用例是解决这些痛点的关键&#xff01;本文将带你掌握精准调试技巧和高效测试方法&#xff0c;确保你的自动化流程稳…...

手机携号转网查询,一键查看号码是否可转网!

在现代社会&#xff0c;手机已经成为人们生活不可或缺的一部分。随着通讯技术的不断发展&#xff0c;手机用户们也有了更多的选择权利&#xff0c;比如携号转网。那么&#xff0c;如何方便地查询一个手机号是否可以进行携号转网呢&#xff1f;今天&#xff0c;我们就来介绍一款…...

多线程网络编程:粘包问题、多线程/多进程服务器实战与常见问题解析

多线程网络编程&#xff1a;粘包问题、多线程/多进程服务器实战与常见问题解析 一、TCP粘包问题&#xff1a;成因、影响与解决方案 1. 粘包问题本质 TCP是面向流的协议&#xff0c;数据传输时没有明确的消息边界&#xff0c;导致多个消息可能被合并&#xff08;粘包&#xf…...

【ArcGISPro】属性规则--属性联动

新建要素 直接点击【完成】 设置全局ID <...

五一感想:知识产权加速劳动价值!

今天是五一劳动节&#xff0c;祝各位网友劳动节快乐&#xff0c;昨天《中华人民共和国民营经济促进法》通过&#xff0c;普推知产老杨看到其中第三十三条专门就是针对知识产权的&#xff0c;加强对民营经济的原始创新保护。 一个普通的小物件白牌可能就卖1元钱&#xff0c;但是…...

ORACLE EBS 12.1 启用https 简单策略

Oracle EBS 启用https的官方文档是Document 376700.1, Enabling TLS in Oracle E-Business Suite Release 12.1&#xff0c;上面各种配置比较繁琐&#xff0c;我们参照Using Load-Balancers with Oracle E-Business Suite Release 12.0 and 12.1 (Doc ID 380489.1) 这个文档来利…...

Sublime PrettyJson 快捷键

一、进入快捷键编辑页 二、添加格式化、去掉格式化 快捷键 [ { "keys": ["ctrlcommandj"], "command": "pretty_json"}, { "keys": ["ctrlcommandm"], "command": "un_pretty_json"}…...

【计算机网络】TCP为什么可靠?解决了哪些问题?

TCP提供了&#xff1a; 1.可靠传输 2.流量控制 3.拥塞控制 4.连接管理 解决了数据在不可靠IP网络上的传输问题。 下面具体分析这4个方面。 1.可靠性传输&#xff1a; TCP确保数据包在网络传输过程中 不丢失、不重复&#xff0c;并且按顺序到达。 通过确认(ACK)、重传机制以…...

AI服务器的作用都有哪些?

根据网络环境的飞速发展&#xff0c;人工智能技术逐渐入驻到各个行业当中&#xff0c;其中AI服务器则是一种专门用来运行人工智能算法和模型的硬件设备&#xff0c;通常具备高性能计算、大容量存储和并行计算等多种功能&#xff0c;本文就来详细讲解一下AI服务器的作用&#xf…...

移动应用开发:自定义 View 处理大量数据的性能与交互优化方案

实现 1 万条数据下流畅滑动与灵敏交互的完美平衡。 一、数据渲染优化&#xff1a;从 1 万条到丝滑体验 &#xff08;一&#xff09;视图复用机制 视图复用是提升大量数据渲染性能的关键策略。以一个简单的自定义列表视图为例&#xff0c;我们可以构建如下的复用池管理机制&a…...

在 Ubuntu 下使用 ESP-IDF 通过串口烧录 ESP32

1. 准备工作 (1) 安装 ESP-IDF 环境 确保已完成 ESP-IDF 的安装和配置&#xff08;参考官方文档&#xff09;&#xff1a; bash 复制 下载 git clone --recursive https://github.com/espressif/esp-idf.git cd esp-idf ./install.sh . ./export.sh (2) 连接开发板 通过…...

探索SQLMesh中的Jinja宏:提升SQL查询的灵活性与复用性

在数据工程和数据分析领域&#xff0c;SQL是不可或缺的工具。随着项目复杂度的增加&#xff0c;如何高效地管理和复用SQL代码成为了一个重要课题。SQLMesh作为一款强大的工具&#xff0c;不仅支持标准的SQL语法&#xff0c;还引入了Jinja模板引擎的宏功能&#xff0c;极大地提升…...