- 博客(40)
- 收藏
- 关注
原创 10.C# EF
where s.Name.StartsWith("李")Name = "张三"Name = "张三"Name = "李四"使用 where 过滤条件。字符串操作转换为 SQL。类似 SQL 查询语句。
2025-05-26 15:33:01
646
原创 08.C#Contracts
ToolBar><Label Content="姓名:"></Label><Label Content="电话:"></Label><Button Content="添加"></Button></ToolBar>
2025-05-26 15:28:54
843
原创 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-视图左上角有跟踪飞机的小窗口视图(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
原创 前置通知、环绕通知和后置通知
在Java中,AOP(Aspect-Oriented Programming,面向切面编程)是一种编程范式,它允许开发者将横切关注点(如日志记录、事务管理、安全等)从业务逻辑代码中分离出来,从而提高代码的模块性和可重用性。在Spring框架中,AOP的实现主要通过代理模式来完成。Spring AOP提供了三种类型的通知(Advice):前置通知(Before advice)、环绕通知(Around advice)和后置通知(After advice)。
2025-02-15 16:48:23
607
原创 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人