自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 unity-导入外部资源(1)

导入。

2025-05-12 16:16:46 178

原创 13.C# Thread

在操作系统中,进程是程序运行的实例。线程是进程中的一个执行单元。一个进程可以包含多个线程。

2025-05-26 16:21:21 950

原创 12.C# Stream

Stream 流,字节序列提供灵活且高效的方式来处理数据的输入和输出。

2025-05-26 16:18:49 221

原创 11.C# Reflaction

获取 Type 对象。

2025-05-26 16:16:24 292

原创 10.C# EF

where s.Name.StartsWith("李")Name = "张三"Name = "张三"Name = "李四"使用 where 过滤条件。字符串操作转换为 SQL。类似 SQL 查询语句。

2025-05-26 15:33:01 646

原创 09.C# ADO.NE

GetConnection 方法。@ 可以实现多行 String。执行成功,或者失败,确保。被执行,关闭打开的数据库。

2025-05-26 15:31:18 614

原创 08.C#Contracts

ToolBar><Label Content="姓名:"></Label><Label Content="电话:"></Label><Button Content="添加"></Button></ToolBar>

2025-05-26 15:28:54 843

原创 07.C#抽象和接口

接口中的定义方法的申明。

2025-05-26 15:26:36 970

原创 06.C#隐藏重写

隐藏 调用哪个方法由定义时的对象类型决定。重写 调用哪个方法由实际的对象类型决定。

2025-05-26 15:23:02 260

原创 05.C#构造函数

没有返回类型声明,包括void。名称与类同名。

2025-05-26 13:33:44 365

原创 04.C#继承和派生

一个类可以继承另一个类。

2025-05-26 13:31:57 239

原创 03.C#方法

没有函数名的方法,也成为 Lamda 表达式。使用 this 关键字定义索引器名,给指定类型的对象添加扩展方法。

2025-05-26 13:28:20 335

原创 02.函数数组

数组是一个存储元素的的集合。

2025-05-26 13:27:13 854

原创 01.C#函数

访问修饰符> <返回类型> <函数名称>(参数列表)函数体例子。

2025-05-26 13:24:20 247

原创 Unity——控制声效的音频控制面板在飞机停留在触发区播放背景音乐时出现和小地图显隐(11)

【代码】Unity——控制声效的音频控制面板在飞机停留在触发区播放背景音乐时出现和小地图显隐(11)

2025-05-24 18:52:00 190

原创 Unity——协程(10)

该Unity脚本实现飞机在触发区停留时触发数字区域颜色循环变换的效果。主要功能包括:通过射线检测触发区,启动协程控制对应Cube物体颜色循环变换; 离开触发区时停止颜色变换并重置为白色。脚本使用OnTriggerStay/Exit处理触发区交互,通过Raycast检测正对触发区状态,并采用协程实现平滑颜色过渡效果。能量值通过UI滑块实时显示,满足最大能量限制条件。

2025-05-24 18:02:59 202

原创 Unity-能量条增加(9)

文章摘要: 该脚本实现飞机能量管理系统,初始能量为0。当飞机进入指定触发区(Trigger5_1、Trigger5_2等)时,能量值增加2点(最高10点),每个触发区仅生效一次。通过triggerStayFlag数组确保单次触发,使用Mathf.Min防止能量溢出。Cube类型触发区需设置Tag为"a",离开触发区时恢复能量面板显示。Slider和Text实时更新能量值,实现可视化反馈。

2025-05-24 17:52:15 208

原创 Unity-UI元素跟随飞机对象(8)

摘要:该脚本实现了飞机能量值UI面板的动态跟随功能。通过将UI元素挂载在飞机对象上,使用LateUpdate()确保每帧更新UI位置,使其始终保持在飞机右上方(0.6,0.36,0)的相对位置。摄像机也被设置为跟随飞机(0,0.6,1.44)并保持固定视角(10°,180°,0°)。这种方案使UI能随飞机移动而同步更新,同时保持理想的观察角度,为玩家提供稳定的能量值显示。

2025-05-24 17:37:33 183

原创 Unity-飞机能量条(6)

设置:

2025-05-23 23:03:32 161

原创 Unity-视图左上角有跟踪飞机的小窗口视图(7)

文章摘要:该脚本实现飞机模型的世界空间UI和相机跟随功能。通过挂载在飞机对象上,脚本在Start()中初始化相机旋转角度为(10,180,0),在LateUpdate()中让UI画布和相机跟随飞机移动:UI以(0.6,0.36,0)偏移量保持相对位置,相机以(0,0.6,1.44)偏移量跟随,同时保持与飞机一致的旋转姿态。

2025-05-23 23:02:51 115

原创 Unity--控制飞机上下左右前后旋转

这篇代码实现了一个Unity飞机控制脚本,主要功能包括:1) 通过WASDQE键控制飞机在六个方向移动;2) 使用数字键9/0控制飞机旋转;3) 按回车键重置飞机位置;4) 螺旋桨自动旋转功能;5) 支持移动操作日志输出;6) 包含退出应用功能。脚本使用Rigidbody物理组件并禁用重力,通过Transform组件实现位置和旋转控制,适用于Windows和Android平台。

2025-05-23 23:01:42 176

原创 Unity小地图--右上角有小地图,可以查看场景的全貌或局部,通过按键可以控制小地图的显隐(5)

摘要:该Unity脚本实现了顶部摄像机的移动控制功能。通过键盘方向键控制摄像机在3D空间中的移动:上下键控制前后移动,左右键控制升降移动,回车键可重置摄像机到初始位置和角度。脚本在初始化时保存了原始位置和旋转信息,使用Translate方法实现平滑移动,并通过Time.deltaTime确保帧率无关的运动速度。该功能仅支持Windows平台,适用于需要手动调整摄像机视角的场景。

2025-05-23 21:54:41 593

原创 Unity帮助按钮--显示帮助信息(4)

在Unity中创建Canvas并添加UI组件的过程包括:右击Hierarchy面板,选择UI -> Canvas来创建Canvas。接着,在Canvas上右击,选择UI -> Button来添加按钮,并自动生成Text组件。要创建帮助文本,可以右击Canvas选择UI -> Panel,然后在Panel上右击选择UI -> Text,并将Text组件放入Panel中。Canvas的渲染模式(RenderMode)有三种选择:ScreenSpace-Overlay、ScreenSpac

2025-05-23 21:27:02 785

原创 Unity-UI 音量控制(3)

UI 元素会被渲染到摄像机视野中的一个平面上,可以通过摄像机的视角和视野调整 UI 的显示效果。使用UI元素,都要把这些放到Canvas下,作为Canvas的子类,否则会渲染不成功或者无法渲染,报错。会直接渲染到屏幕上,而不依赖于任何摄像机。这意味着 UI 元素会覆盖在画面之上,始终位于屏幕的最前面。更改button的image:image是Sprite ,直接将图片拖到Souce Image 里面。在Panel下,右击 选择UI -> Button。选择:不要选择中间,不好计算。例:人物头上的血条。

2025-05-12 17:59:20 223

原创 Unity地形-山、树、草(2)

,需要通过"Terrain组件"中的“设置选项卡”中的Terrain Width 和 Terrain Height属性进行设置。Terrain Collider组件属于物理引擎方面的组件,实现地形对象的物理运动模拟,入碰撞检测等。山:选择好Brushes、Brush Size 和 Opacity后,在界面上点击,往上拖。再选择Brushes,鼠标点击就是raise,按shift+点击就是lower。删除树:shift+将树笼罩在圈里面,点击。再加上点石头,选择图片,去点击页面。

2025-05-12 15:18:14 392

原创 IDEA连接数据库

IDEA连接数据库

2025-02-19 18:51:13 382

原创 前置通知、环绕通知和后置通知

在Java中,AOP(Aspect-Oriented Programming,面向切面编程)是一种编程范式,它允许开发者将横切关注点(如日志记录、事务管理、安全等)从业务逻辑代码中分离出来,从而提高代码的模块性和可重用性。在Spring框架中,AOP的实现主要通过代理模式来完成。Spring AOP提供了三种类型的通知(Advice):前置通知(Before advice)、环绕通知(Around advice)和后置通知(After advice)。

2025-02-15 16:48:23 607

原创 找不到log符号

找不到log符号

2025-02-15 11:30:26 296

原创 TiDB Cloud 简介

TiDB Cloud 是一个功能齐全的数据库即服务或(DBaaS)管理员门户管理员门户是TiDB Cloud的业务管理平台调试门户调试门户是TiDB Cloud的运营诊断平台DataDogDataDog是一款提供监控服务的SaaS。用户可以在TiDB Cloud上为自己的数据系统配置增量数据同步 (MySQL 协议或Kafka协议),相应数据系统的可靠性由用户保证。内部部署:手动下载TIDB组件手动安装TIDB组件手动管理TiDB组件和工具。

2024-11-25 23:46:56 783

原创 TiDB 6.0 新特性

在三个数据中心上,分别分布式地存储数据,BeiJing的用户要访问T2表和T3表,T2表的大部分的leader角色都在BeiJing的TiKV-1上,follower有的在BeiJIng有的在NewYork,当去写数据的时候,数据复制不仅要在BeiJIng那去复制,也还要复制到NewYork,我还要访问T3表,T3表的大部分节点都在NewYork的数据中心,业务吞吐量受影响。又续约了:TiKV会将刚修改好的数据,重新载入缓存(refresh),刷新之后,去读的用户依旧可以从内存中去读,写又被阻塞。

2024-11-25 23:30:59 1065

原创 TiFlash

product有索引,从大量数据中找少量数据,它适合TiKV,把product表的过滤放到TiKV中,sales表没有过滤条件,但select又要求某一列的值,适合于TiFlash,再将结果放到TiDB Server中,去做表连接。到T1时刻,客户端向TiFlash去请求key = 1,key = 999,TiKV中绿色的部分已经读到idx = 108,Region有新数据了,黄色的还没有,现在一个有,一个没有,当去读取的时候,去问一下写到哪儿了。2.关于 TiFlash 的使用,描述不正确的是?

2024-11-25 23:27:18 480

原创 TiDB数据库HTAP概述

TiDB Server作为协调者,把每一个TiFlash拥有的列存的Region进行交换,相关的表到一个TiFlash上,在TiFlash上做表连接,每个TiFlash(MPP worker)都会做过滤。正确答案: C. 支持在线业务高并发、D. 同时支持 OLTP 和 OLAP 业务、E. 能够读取到一致性的数据。正确答案: B. MPP 架构可以作用于 TiKV 和 TiFlash 上的数据。B. MPP 架构可以作用于 TiKV 和 TiFlash 上的数据。A. MPP 架构的中间结果都在内存中。

2024-11-25 23:24:39 842

原创 TiDB数据库SQL执行流程

sql语句先到Protocol Layer接收,再到PD节点获取TSO(sql语句读的开始时间),再到词法解析和语法解析为AST语法树,到Compile模块,会区分点查和非点査,到Execute执行器,从TiKV中读取信息,读取的信息再交由Execute返回给用户。DML 语句写流程概要。

2024-11-25 23:22:57 897

原创 Placement Driver

执行计划会传到Executor(执行器),将执行的请求发给TiKV Client,到PD上去找在哪一个TiKV上,PD返回信息告诉TiKV Client,然后TiKV Client发送请求到指定的TiKV,把数据读出来。(如果去访问的时候,leader已经变了 ,bade off),Region Cache信息过旧。正确答案: C. isolation-level 要和数据中心(DC)对应,这样可以获得最大的可用性。C. PD 会周期性地查询 TiKV 的状态,不需要 TiKV 上报,目的是为了高效。

2024-11-25 23:11:48 3361

原创 TiKV - 读写与Coprocessor

raftstore pool :线程池,收到写请求,将写请求转化为raft 日志,持久化日志,将日志发送给其他日志所在节点,其他的raftstore pool负责接收,将日志持久化到rocksdb raft中,当副本大多数TiKV节点返回append成功了,就认为Raft 日志做的修改,它committed。第三步:replicate:将raft 日志复制到其他的节点,其他的节点接受后,将raft 日志写到rocksdb raft中,持久化后,返回一个写入成功消息,

2024-11-25 23:08:22 936

原创 TiKV-Raft

分布式强一致性:TiDB 写数据,只写leader,leader会将写入的指令变成日志的方式,向所有follower去复制,当集群中的大多数节点都收到日志,并且持久化之后,认为这个日志committed(存进去了),leader把写入 apply到rocksdb 中,变成KV数据。<1>propose:操作被leader收到了,leader准备同步,把写入请求,变成一条写入日志(Raft log),存到日志文件里,持久化到rocksdb raft中。Region:键值对的集合,按照key有序排列。

2024-11-25 23:04:13 950

原创 TiKV-分布式事务

prewrite:修改数据,TiKV节点会用三个列族来存,第一个对应的是修改的新数据,业务上的id再加上事务开始的时间戳,Default,第二个存储锁信息,在整个分布式事务的模型里面,只给事务的第一行加一把主锁,其他修改的行多依附于主锁,锁加到Lock列族中,W:写锁(主锁)+信息,第三个对应提交信息。原来版本(看Transaction 1),在修改的时候不修改当前的数据,新生成一个副本,有两个副本,一个副本是未提交的,把Jack可以随便改,我读的是原来的(未提交的)。给两个副本一个时间戳,就可以了。

2024-11-25 23:02:06 608

原创 TiKV - 持久化

TiDB Server作为sql层,对外暴露这个MySQL的协议,负责接收客户端的连接,执行sql的解析和优化,最终它会生成一个分布式的执行计划,TiDB Server本身是无状态。WAL:(红线)先将数据写到磁盘中的日志文件中,再把数据写到内存中,(数据还在内存中,没有落到磁盘上,突然宕机了,再起时,内存中的数据是完全没有了,但是WAL日志里,可以重读日志,把数据恢复出来:故障修复,sync_log = true 在写入的时候,直接会调用,直接将数据写到磁盘中,不会经过操作系统的缓存)

2024-11-25 22:59:45 569

原创 TiDB Server

原理:首先用户发出DDL语句,由start job接收,start job会把DDL当作一个job,放到TiKV的任务队列中(job queue),在同一时间只有一个TiDB Server ,它的角色叫owner,owner模块中的workers模块会从job队列,去取中的第一个job去执行,执行完的job放到history queue中,再拿下一个。在这个流程中,事务开始时,系统会记录一个开始时间(这个开始时间可以是事务创建时的系统时间戳,或者是从某个时间源获取的时间戳,具体取决于系统的设计和要求)。

2024-11-25 22:54:43 1051

原创 TiDB体系架构:

TiDB可以扩展,多个会话连到TiDB Server上,可以在集群中增加节点,分走一部分会话,分走并发压力存储能力不够了,加TiKV节点,数据库容量变大不需要太多存储,回收TiKV节点天然的讲Region生成副本,默认是3个存储集群。

2024-11-22 10:29:42 1026

unity-导入外部资源

unity-导入外部资源

2025-05-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除