自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(221)
  • 资源 (19)
  • 收藏
  • 关注

原创 【漏洞分析】浅析android手游lua脚本的加密与解密(一)

其中lua是明文代码,直接用记事本就能打开,luac是lua编译后的字节码,文件头为0x1B 0x4C 0x75 0x61 0x51,lua虚拟机能够直接解析lua和luac脚本文件,而luaJIT是另一个lua的实现版本(不是原作者写的),JIT是指Just-In-Time(即时解析运行),luaJIT相比lua和luac更加高效,文件头是0x1B 0x4C 0x4A。这个情况主要是先解密后反编译,反编译主要是通过luajit-decomp项目,它能够将luajit字节码反编译成伪lua代码。

2024-03-29 09:02:26 1385 28

原创 【游戏逆向】Lua游戏逆向及破解方法介绍

随着手游的发展,越来越多的Cocos-lua端游开发者转移到手游平台。Lua脚本编写逻辑的手游也是越来越多,如梦幻西游、刀塔传奇、开心消消乐、游龙英雄、奇迹暖暖、疾风猎人、万万没想到等手游。随着Lua手游的增加,其安全性更值得关注,在此归纳一些常用的分析方法,同时介绍一些辅助工具。Android平台的apk包可以直接解压,找到./lib目录下的so逻辑模块,一个个分析其so,寻找是否内嵌lua引擎(一般情况下,最大的so最有可能内嵌lua引擎)。

2023-05-03 22:00:20 6000 3

原创 【游戏逆向】FPS游戏自瞄追踪及原理算法

FPS类游戏的自瞄和爆头效果看起来很奇妙,但实际情况下,算法却并不难,而且该功能也不算变态功能,只不过是通过内存数据计算出精准的准星朝向,我们知道计算器的计算速度,一个精确的角度而已,那么自瞄和爆头是很简单的事情。首先,我们需要的内存数据有我们自身的坐标,敌人也就是目标的坐标,然后知道准星朝向的表达方式,这样我们就可以建立坐标系,推算算法了。人物坐标和怪物坐标我们就不单独说了,每个游戏我们都去逆向过,一样的方法,大家可以直接去尝试。很简单,人物准星水平移动,然后CE扫描变化的数值。

2023-02-06 11:16:37 5442 1

原创 【游戏逆向】FPS网络游戏自动瞄准漏洞分析以及实现二

所以,继续敲黑板:把生活中的转化为游戏中的,那么我们直接加个负号: atan2((敌人Y-我们Y),(敌人X-我们X))就逐渐增大了。得知了P,得知Z = 敌人的Z-我们的Z,那么我们就可以计算角度了:atan2(Z,P),取值范围为0–π/2 逐渐增大。最终,我们的算法就结束了,还差最后一步,那就是源源不断的写入敌人的角度数据到我们的鼠标角度中,就可以实现锁定敌人的功能。又因为加负号后的生活中取值变化为:-π/2->0 游戏中为: -π->π/2,所以依然需要在原公式的基础上-π/2。

2023-02-05 20:21:17 1386 1

原创 【游戏逆向】FPS网络游戏自动瞄准漏洞分析以及实现

因为游戏分为鼠标X和鼠标Y两种坐标,鼠标X即左右的坐标,鼠标Y为上下坐标,由于左右坐标在游戏中转一圈无法确定坐标数据是否增大还是减小,所以我们通常分析鼠标的Y,即上下坐标。在这里解释一下为什么我们需要填入23E3500,因为鼠标Y地址是: 23E3588,鼠标X在附近的位置,所以我们存在一个取值范围,这个范围不是很大,所以我们填入了一个估值,填入后定义结构体,一切回车默认即可。其中,通过我们的分析,得知:0x23E20D4这个地址存放的使我们自身的数组的下标,所以,表达式可转换为。

2023-02-05 20:09:32 7995 3

翻译 基于RK3588的360°全景相机

这种方式虽然简单易行,但是由于鱼眼镜头本身会对画质有影响,加上小尺寸图像传感器对成像素质的限制,因而采用这种方式输出的全景画面往往分辨率相对较低,当我们想要放大查看时,画面的细节就不是那么令人满意了。飞凌嵌入式FET3588-C核心板会经过严格的上电老化过程及全功能测试,且公司严格执行ISO9001质量体系,从把控操作流程到规范生产标准,可以保证产品出厂合格率,真正做到对品质负责,对客户负责,为客户的高端应用提供稳定性能支撑。为了能够拥有更好的画质,采用多路摄像头取景拼接画面就是一种更有优势的方案选择了。

2024-04-18 22:46:20 3

原创 安全开发之碰撞检测与伤害计算逻辑

关于核心玩法的碰撞检测逻辑,以格斗类游戏攻击逻辑为例,玩家A挥动武器攻击玩家B,那么碰撞检测逻辑就是玩家A的武器运动轨迹范围与玩家B的立体空间是否有交集的检测逻辑。那么游戏中和现实社会也基本一致,A能否攻击中玩家B的检测逻辑也是依赖A的坐标、B的坐标、武器的攻击范围、攻击朝向信息等等。在格斗类游戏PVE玩法中,如果怪物攻击角色,那么攻击能否成功和攻击者坐标和被攻击者坐标相关,如果能修改玩家坐标那么让攻击者和被攻击者坐标距离大于攻击攻击的攻击长度,那么就可以确保攻击过程的碰撞检测不成功从而实现角色无敌。

2024-04-18 22:44:18 290

原创 MySQL 8.0 新特性之 Clone Plugin

个人感觉,主要还是为 Group Replication 服务。在 Group Replication 中,如果要添加一个新的节点,这个节点差异数据的补齐是通过分布式恢复( Distributed Recovery )来实现的。在 MySQL 8.0.17 之前,只支持一种恢复方式,即 Binlog。如果新节点需要的 Binlog 在集群中不存在,这个时候,就只能借助于备份工具先做个全量数据的备份恢复,然后再通过分布式恢复同步增量数据。

2024-04-18 22:41:51 632

原创 基于 Bazel 的 iOS Monorepo 工程实践

举个具体的例子,播放器是哔哩哔哩的核心组件,是其他上层业务的基石,作为一家拥抱变化的公司,我们的播放器核心也在发展之中,几乎每过几个版本就会有一些 API 层面的变更。国内的互联网从业者可能对 Monorepo 比较陌生,但其实 Monorepo 在全球互联网已经是一个比较成熟概念了,已经有许多的团队基于不同的理念开发出了各种的 Monorepo 工具,如:谷歌的 Blaze(内部使用)和 Bazel(Blaze 的子集,开源项目),微软的 Lage 和 Rush 都是非常成熟的 Monorepo 工具。

2024-04-17 20:01:13 884

原创 在Ubuntu系统上定制文件系统

为了给客户的测试和开发提供便利,飞凌嵌入式的开发板产品一般都支持多种操作系统,以基于全志T507H处理器设计研发的OKT507-C开发板为例,它支持三种操作系统,分别是:Linux、Android 和 Forlinx Desktop(Ubuntu),这里提到的Forlinx Desktop系统是飞凌嵌入式在Ubuntu base的基础上构建的桌面操作系统,完全兼容Ubuntu18.04,相对传统的Linux系统而言易用性更高。烧录到板子后,在终端启动minicom,验证下是否安装上。

2024-04-17 19:39:58 656

原创 C++ 一些编程问题解决 (C++ some programming error solutions)

第二次:在我用 opencv 生成了一个三通道的全零像素图片,然后再这个图片上找了一个 ROI 区域,然后把另外一张二维图片的内容 copyTo 这个生成图片的时候,因为维度的不同而造成这个提示错误。我发现虽然 Error List 里面看不到错误提示,但是在控制台上我发现了错误提示,进而才明白错误的原因,如下图所示。第一次:第一次遇到这个错误提示是因为编译的时候遇到中文,这里我是在读取文件的时候读取的是中文名称的文件所以出错,所以我认为目前最好的解决方案就是把中文名称改成英文。

2024-04-17 19:36:39 486

翻译 【游戏分析】《勇者大冒险》吸物

那么我们只要遍历出物品 把ID 传入封包是否就可以达到吸物 直接捡取的效果了呢?我们发现 我们没有动位置 直接发送捡取封包 传递的是地面药瓶的ID。如果我们没有各种算法或则很多底层数据是不可能自动捡取到的。如图 0x18的封包 当然我们要反复捡取 确定是该封包。我们在打副本的时候 地面上会掉落各种各样的物品。地面上的药瓶 (实际叫融合剂) 已经到我们背包里了。那么有一种变态类型的外挂 是可以自动吸物的。我们第一时间考虑是否可以修改 物品的坐标。又或则即使我们能自动捡取也是很慢的。

2024-04-17 19:34:36 4

原创 Python Coroutine 池化实现

在当今计算机科学和软件工程的领域中,池化技术如线程池、连接池和对象池等已经成为优化资源利用率和提高软件性能的重要工具。然而,在 Python 的协程领域,我们却很少见到类似于 ThreadPoolExecutor 的 CoroutinePoolExecutor。为什么会这样呢?首先,Python Coroutine 的特性使得池化技术在协程中的应用相对较少。与像 Golang 这样支持有栈协程的语言不同,Python Coroutine 是无栈的,无法跨核执行,从而限制了协程池发挥多核优势的可能性。

2024-04-16 17:42:46 494 4

原创 C++中的类型推断问题与解决方案概述

类型推断在C++中是一个非常重要的特性,通过使用auto和decltype关键字,可以更加简化代码并提高代码的可读性和可维护性。然而,在使用类型推断时,我们需要注意其边界与限制,并适时地结合其他的类型推断解决方案来避免类型推断的问题。但是需要注意的是,auto推断的类型是根据初始化表达式来确定的。在使用decltype关键字时,需要注意的是,decltype的结果是编译时确定的,并且不会执行表达式的计算。与auto不同的是,decltype并不会自动进行类型推断,而是根据表达式的类型来声明变量。

2024-04-16 17:40:31 754

原创 使用C++解决数据结构问题的实例

在这个示例中,我们首先创建一个Node结构体,它包含一个int变量和一个指向下一个节点的指针。在主函数中,我们创建了一个BinaryTree,并将数字15、10、20、8、12、17和25插入该树。我们介绍了栈、队列、链表和二叉树,并提供了一些示例,以说明如何在C++中实现它们。在计算机编程中,数据结构是非常重要的,因为它是数据存储和管理的方式。在上述示例中,我们创建了一个空的栈,使用push函数将数字1、2和3推入栈中。在这个示例中,我们创建了一个空的队列,使用push函数将数字1、2和3推入队列中。

2024-04-16 17:30:10 898

翻译 【外挂分析】网游变态功能实现原理详谈

还有就是构造畸形协议也是一种变态功能的实现方法,例如封包中某个参数,我们用极限值替换,例如0-1零,一,无限大,无限小FF等等,可能会造成服务器处理崩溃,而产生意想不到的后果,比如对战玩家被踢下线等等。这种方法,简单方便,不需要去分析封包协议,但是最终也是因为改变了封包而导致的效果,例如某个副本文件被替换成简单副本文件,整体的逻辑发生变化,但是往往这种。静态替换游戏文件,包括多年前TP驱动保护文件也是可以替换的,原因在于,游戏没有去严格验证,我只打开这个文件,没有验证他是否是真正的文件。

2024-04-16 17:26:31 7

原创 剖析 SPI 在 Spring 中的应用

SPI(Service Provider Interface),是Java内置的一种服务提供发现机制,可以用来提高框架的扩展性,主要用于框架的开发中,比如Dubbo,不同框架中实现略有差异,但核心机制相同,而Java的SPI机制可以为接口寻找*服*务实现。SPI机制将服务的具体实现转移到了程序外,为框架的扩展和解耦提供了极大的便利。得益于SPI的能力,为模块功能的动态扩展提供了很好的支撑。

2024-04-15 09:48:21 1027 9

原创 比较有用的C++编译错误解决方法

3.使用/MD选项编译时,既然所有的运行库都被保留在动态链接库之内,源文件中对“func”的引用,在目标文件里即对“__imp__func” 的引用。学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。1.如果编译时使用的是/NOD(/NODEFAULTLIB)选项,程序所需要的运行库和MFC库在连接时由编译器写入目标文件模块, 但除非在文件中明确包含这些库名,否则这些库不会被链接进工程文件。

2024-04-15 09:25:21 783

原创 简单了解C++常见编程问题解决方案

第二次:在我用 opencv 生成了一个三通道的全零像素图片,然后再这个图片上找了一个 ROI 区域,然后把另外一张二维图片的内容 copyTo 这个生成图片的时候,因为维度的不同而造成这个提示错误。我发现虽然 Error List 里面看不到错误提示,但是在控制台上我发现了错误提示,进而才明白错误的原因,如下图所示。第一次:第一次遇到这个错误提示是因为编译的时候遇到中文,这里我是在读取文件的时候读取的是中文名称的文件所以出错,所以我认为目前最好的解决方案就是把中文名称改成英文。

2024-04-15 09:23:06 349

翻译 《堡垒之夜》召唤载具?官方技术大牛为你解析

n 协议ServerAttemptInteract被游戏多处复用,如开门,开箱子,喝药,捡buf,如果存在远程重发风险,那相应游戏逻辑都应存在问题,事实上,目前外挂并无相应功能。n 可能性一:在回放文件跳播时,存在引擎渲染滞后的情况,故人物移动到载具旁边时,载具尚未渲染完成,故认定为远程上车。协议字段中无坐标相关信息,仅告知服务器操作请求,判定逻辑完全由服务器进行,校验满足后,告知玩家上车成功。n 载具刷新逻辑完全由服务器控制,本地无法控制载具物品刷新逻辑,故不存在吸车功能(召唤载具)

2024-04-15 09:19:56 10 1

原创 【详细教程】MySQL 高可用架构代码实现

对于 MySQL 数据库作为各个业务系统的存储介质,在系统中承担着非常重要的职责,如果数据库崩了,那么对于读和写数据库的操作都会受到影响。如果不能迅速恢复,对业务的影响是非常大的。之前 B 站不是出过一次事故么,2 小时才恢复过来,详细可以看之前写的文章。B 站崩了,总结下「高可用」和「异地多活」上次折腾完 ELK 日志检索平台后,开发环境可以正常查询日志了。近在做系统高可用相关的工作,这次我来分享下 MySQL 双主 + Keepalived 的高可用落地和踩坑之路。

2024-04-14 09:19:44 1040 3

原创 干货 | 百亿节点,毫秒级延迟,基于nebula的大规模图应用实践

这个例子是用一种边进行回溯,实际查询中可能会涉及到 2~3 跳,且存在异构边(打电话是一种边,点外卖又是一种边,下单酒店机票是一种边,都是不同类型的边),而这种异构图的数据都具有回溯特征,因此实际的关系人图回溯查询也会变得复杂。带来的成本是:每写一条边,同时需要更新2个点属性来记录点的关联边情况,而且需要保证幂等(保证重复提交不会叠加属性+1),当插入一条边的时,先去图里面查询边是否存在,不存在才会进行写边以及点属性 +1 的操作。简言之,系统通过多种维度的数据关联不同的用户,这便是关系人图。

2024-04-14 09:11:16 820

翻译 【游戏分析】RTS类游戏通用修改方法

RTS类单位无敌修改的通用方法:查找单位HP->改变单位HP,CE在第一次的基础上寻找改变的数值->找到存放单位的地址->寻找基址,锁定数值或者修改代码,如Nop掉伤害代码。RTS类游戏修改金钱的通用方法:查找金钱数目->金钱变动,在第一步基础上查找变动的数值->找到存放金钱的地址->继续寻找基址,锁定金钱数目或者修改代码,如sub改为add。RTS类里,建造任何东西都需要读条,如果你把游戏速度调慢,你会发现,他总是要走固定的条数,只不过读条的速度有差异而已。如此反复,最终得到存放走的条数的地址。

2024-04-14 08:58:33 13

原创 一种跳板机的实现思路

从图中可见,作为核心服务的jmp-ssh承载了ssh流量的代理转发,将来自用户ssh客户端、jmp-socket服务的ssh流量转发到目标服务器上,并将来自目标服务器的返回结果送达回ssh客户端、jmp-socket服务。jmp-api也同时提供的权限设置能力,通过与流程系统对接,可方便的为人员/部门申请机器/服务/项目的登录权限或root权限,此外,jmp-api也对登录权限和root权限的可申请人做出限制,针对不同项目/服务,对权限有效时间做出限制,严格控制权限粒度。pam_env允许设置环境变量;

2024-04-13 09:16:45 691 3

原创 为什么ClickHouse查询速度快

2、列存。

2024-04-13 09:07:57 1002

原创 解决 Redis 数据倾斜、热点等问题的方法

Redis 集群 总共有4台机器,假设数据分布均衡,每台机器承担 四分之一的流量,如果某一台机器突然挂了,顺时针方向下一台机器将要承担这多出来的 四分之一 流量,终要承担 二分之一 的流量,还是有点恐怖。由于业务数据特殊性,按照指定的分片规则,可能导致不同的实例上数据分布不均匀,大量的数据集中到了一台或者几台机器节点上计算,从而导致这些节点负载多大,而其他节点处于空闲等待中,导致终整体效率低下。对于每次读请求,将首先检查该数据是否存在于本地缓存中,如果存在则直接返回,如果不存在再去访问分布式缓存的服务器。

2024-04-13 09:06:05 827

翻译 【游戏分析】自由重发协议

DWORD 变量1=strtol((const char*)str5.GetBuffer(0),NULL,16);DWORD 变量2=strtol((const char*)str6.GetBuffer(0),NULL,16);DWORD 变量3=strtol((const char*)str7.GetBuffer(0),NULL,16);用*(WORD*)((DWORD)// *(DWORD*)((DWORD) 这样的方式向字节数组中写入 数据。A.包结束指针2=(DWORD)包地址+包长;

2024-04-13 09:02:33 10

原创 必须掌握的这4种缓存模式

在系统架构中,缓存可谓提供系统性能的简单方法之一,稍微有点开发经验的同学必然会与缓存打过交道,起码也实践过。如果使用得当,缓存可以减少响应时间、减少数据库负载以及节省成本。但如果缓存使用不当,则可能出现一些莫名其妙的问题。在不同的场景下,所使用的缓存策略也是有变化的。如果在你的印象和经验中,缓存还只是简单的查询、更新操作,那么这篇文章真的值得你学习一下。在这里,为大家系统地讲解4种缓存模式以及它们的使用场景、流程以及优缺点。

2024-04-12 08:44:39 964 3

原创 【分享】各大框架都在使用的Unsafe类

几乎每个使用 Java开发的工具、软件基础设施、高性能开发库都在底层使用了sun.misc.Unsafe,比如Netty、Cassandra、Hadoop、Kafka等。Unsafe类在提升Java运行效率,增强Java语言底层操作能力方面起了很大的作用。但Unsafe类在sun.misc包下,不属于Java标准。很早之前,在阅读并发编程相关类的源码时,看到Unsafe类,产生了一个疑惑:既然是并发编程中用到的类,为什么命名为Unsafe呢?

2024-04-12 08:42:43 1070 1

原创 保证线程安全的10个小技巧分享

对于从事后端开发的同学来说,线程安全问题是我们每天都需要考虑的问题。线程安全问题通俗的讲:主要是在多线程的环境下,不同线程同时读和写公共资源(临界资源),导致的数据异常问题。比如:变量a=0,线程1给该变量+1,线程2也给该变量+1。此时,线程3获取a的值有可能不是2,而是1。线程3这不就获取了错误的数据?线程安全问题会直接导致数据异常,从而影响业务功能的正常使用,所以这个问题还是非常严重的。那么,如何解决线程安全问题呢?今天跟大家一起聊聊,保证线程安全的10个小技巧,希望对你有所帮助。

2024-04-12 08:41:05 305

翻译 B站基于Iceberg的湖仓一体架构实践

在B站,基于我们之前的技术栈和实际的业务场景,我们选择了第二个方向,从数据湖架构向湖仓一体演进。在我们实际的数据处理场景中,除了AI和数据探索等场景,探索未知数据的未知问题,比较依赖数据湖架构的灵活性,其实大部分的场景是基于已知数据的,即我们的数据开发同学,实际上是基于Hive表的强Schema数据,进行从ODS,DWD,DWB到ADS等各个业务数仓的分层建设,本质上我们是主要是基于数据湖的架构进行业务数仓的建设,如何提升这部分场景的查询效率,使用成本和用户体验是我们在这方面工作的核心内容。

2024-04-12 08:39:40 12

原创 日志导致线程Block的这些坑,你不得不防

日志对程序的重要性不言而喻。它很“大”,我们在项目中经常通过日志来记录信息和排查问题,相关代码随处可见。它也很“小”,作为辅助工具,日志使用简单、上手快,我们通常不会花费过多精力耗在日志上。但看似不起眼的日志也隐藏着各种各样的“坑”,如果使用不当,它不仅不能帮助我们,反而还可能降低服务性能,甚至拖垮我们的服务。日志导致线程Block的问题,相信你或许已经遇到过,对此应该深有体会;或许你还没遇到过,但不代表没有问题,只是可能还没有触发而已。

2024-04-11 10:04:54 754 6

原创 Linux 网络性能的 15 个优化建议

建议1:尽量减少不必要的网络 IO我要给出的个建议就是不必要用网络 IO 的尽量不用。是的,网络在现代的互联网世界里承载了很重要的角色。用户通过网络请求线上服务、服务器通过网络读取数据库中数据,通过网络构建能力无比强大分布式系统。网络很好,能降低模块的开发难度,也能用它搭建出更强大的系统。但是这不是你滥用它的理由!原因是即使是本机网络 IO 开销仍然是很大的。先说发送一个网络包,首先得从用户态切换到内核态,花费一次系统调用的开销。

2024-04-11 09:54:26 886

原创 SQL 优化技巧分享

1、创建索引一定要记得创建索引,创建索引,创建索引重要的事说三遍!执行没有索引的 SQL 语句,肯定要走全表扫描,慢是肯定的。这种查询毫无疑问是一个慢 SQL 查询。那么问题来了,是不是要收集所有的 where 查询条件,然后针对所有的组合都创建索引呢?答案肯定是否定的。MySQL 为了提升数据查询速率,采用 B+ 树结构,通过空间换时间设计思想。另外每次对表数据做更新操作时,都要调整对应的索引树,执行效率肯定会受影响。本着二八原则,互联网请求读多写少的特点,我们一定要找到一个平衡点。

2024-04-11 09:46:21 764

原创 Spring、SpringMVC、SpringBoot、SpringCloud 之间的关系

然而,Spring 的 DispatcherServlet 不仅仅如此。1、Spring 框架就像一个家族,有众多衍生产品,如:Spring Boot 、Spring security、jpa等,但他们的基础都是Spring的IOC、AOP等,IOC提供了依赖注入的容器,AOP解决了面向切面编程,在此两者基础上实现其他延伸产品的功能。Spring Cloud 将多个 Spring Boot 单体微服务整合、管理,是一系列框架的有序集合,利用Spring Boot的开发便利性简化了分布式系统基础设施的开发。

2024-04-11 09:31:20 896 1

原创 hive 的函数 lateral view 用法详解

hive函数 lateral view 主要功能是将原本汇总在一条(行)的数据拆分成多条(行)成虚拟表,再与原表进行笛卡尔积,从而得到明细表。配合UDTF函数使用,一般情况下经常与explode函数搭配,explode的操作对象(列值)是 ARRAY 或者 MAP ,可以通过 split 函数将 String 类型的列值转成 ARRAY 来处理。lateral view explode(split(col,'分隔符')) tmp_table as tmp_col。

2024-04-11 09:14:21 771

原创 Python 玩转 Elasticsearch的一些技巧与经验

在Python项目中,我们可以选择以下几个库与Elasticsearch交互:elasticsearch-py:官方提供的低级客户端(Official low-level client for Elasticsearch),直接且灵活。elasticsearch-dsl:基于的高级封装,简化了很多操作,更适合日常使用。django-elasticsearch-dsl:为 Django 用户设计,基于elasticsearch-dsl,实现了与Django的深度集成。

2024-04-11 09:11:19 1055

翻译 kafka 三高架构设计剖析

消费者负载均衡:与生产者类似,Kafka 中的消费者同样需要进行负载均衡来实现多个消费者合理地从对应的 Broker 服务器上接收消息,每个消费者分组包含若干消费者,每条消息都只会发送给分组中的一个消费者,不同的消费者分组消费自己特定的 Topic 下面的消息,互不干扰。Offset:offset 是消息在分区中的唯一标识,Kafka 通过它来保证消息在分区内的顺序性,不过 offset 并不跨越分区,也就是说,Kafka 保证的是分区有序性而不是主题有序性。Kafka 的消息是否是有序的?

2024-04-11 09:08:40 8

原创 逆向技术入门之主线程调用防止软件崩溃

每条线程是独立的,但是虽然是独立的线程,也要有一定的原则,线程和线程之间不可以产生数据访问或则逻辑等冲突,否则会导致游戏软件崩溃以及不可预知的错误。变成了现在的 向主线程发送消息 让窗口回调函数帮你调用 ,需要提前做的就是 重置窗口回调函数以及在窗口回调函数中写入你要调用的代码即可。if (lpArg->hwnd==Call_获取窗口句柄()&&lpArg->message==g_My消息ID)//我们自己的消息。Call_明文发包(封包->nd包长,封包->p);

2024-04-10 16:03:31 381 2

原创 移动开发避坑指南——内存泄漏

匿名内部类持有外部类的引用,匿名内部类对象泄露,从而导致外部类对象内存泄漏,常见Handler、Runnable匿名内部类,持有外部Activity的引用,如果Activity已经被销毁,但是Handler未处理完消息,导致Handler内存泄露,从而导致Activity内存泄露。这个例子中,self和block之间的循环引用被打破,self可以正常释放了,但是需要注意的是还存在一条循环引用链:tableView强引用cell,cell强引用block,block强引用tableView。

2024-04-10 16:00:37 1152 1

激光焊接气动工装夹具_零件图_机械工程图_机械三维3D建模图打包下载.zip

激光焊接气动工装夹具_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

机械使用的排针连接器_零件图_机械工程图_机械三维3D建模图打包下载.zip

机械使用的排针连接器_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

基于马赫原理的自动振动喂料机_零件图_机械工程图_机械三维3D建模图打包下载.zip

基于马赫原理的自动振动喂料机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

机械手电池组装生产线_零件图_机械工程图_机械三维3D建模图打包下载.zip

机械手电池组装生产线_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

机器人装配工作站_零件图_机械工程图_机械三维3D建模图打包下载.zip

机器人装配工作站_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

机械狮虎兽.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

机械狮虎兽.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

机器人自动化生产注塑模具.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

机器人自动化生产注塑模具.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

火花塞纸塑包装机_零件图_机械工程图_机械三维3D建模图打包下载.zip

火花塞纸塑包装机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

机器人.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

机器人.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

焊接移动车_零件图_机械工程图_机械三维3D建模图打包下载.zip

焊接移动车_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

海上测井拖撬_零件图_机械工程图_机械三维3D建模图打包下载.zip

海上测井拖撬_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

焊接机械手夹具_零件图_机械工程图_机械三维3D建模图打包下载.zip

焊接机械手夹具_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

管芯焊接机_零件图_机械工程图_机械三维3D建模图打包下载.zip

管芯焊接机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

骨骼复位外固定器.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

骨骼复位外固定器.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

立式转盘_零件图_机械工程图_机械三维3D建模图打包下载.zip

立式转盘_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

两端输出轴的齿轮箱_零件图_机械工程图_机械三维3D建模图打包下载.zip

两端输出轴的齿轮箱_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

工位拧紧机.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

工位拧紧机.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

快速烧结机_零件图_机械工程图_机械三维3D建模图打包下载.zip

快速烧结机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

可倾斜造粒机_零件图_机械工程图_机械三维3D建模图打包下载.zip

可倾斜造粒机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

开箱机_零件图_机械工程图_机械三维3D建模图打包下载.zip

开箱机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

磨粉机_零件图_机械工程图_机械三维3D建模图打包下载.zip

磨粉机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-04-01

木板切割机_零件图_机械工程图_机械三维3D建模图打包下载.zip

木板切割机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-04-01

耐火水泥泵喷浆机_零件图_机械工程图_机械三维3D建模图打包下载.zip

耐火水泥泵喷浆机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-04-01

木片切削机.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

木片切削机.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-04-01

牛头刨床移动架M8孔夹具_零件图_机械工程图_机械三维3D建模图打包下载.zip

牛头刨床移动架M8孔夹具_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-04-01

门业零配件_零件图_机械工程图_机械三维3D建模图打包下载.zip

门业零配件_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-04-01

铆接机_零件图_机械工程图_机械三维3D建模图打包下载.zip

铆接机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-04-01

苗床育苗移栽机_零件图_机械工程图_机械三维3D建模图打包下载.zip

苗床育苗移栽机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-30

面食挤出机_零件图_机械工程图_机械三维3D建模图打包下载.zip

面食挤出机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-30

滤清器部分模具_零件图_机械工程图_机械三维3D建模图打包下载.zip

滤清器部分模具_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-30

螺旋卷绕机_零件图_机械工程图_机械三维3D建模图打包下载.zip

螺旋卷绕机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-29

螺杆压缩机_零件图_机械工程图_机械三维3D建模图打包下载.zip

螺杆压缩机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-29

六轴钻孔机_零件图_机械工程图_机械三维3D建模图打包下载.zip

六轴钻孔机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-29

零件模型_零件图_机械工程图_机械三维3D建模图打包下载.zip

零件模型_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-29

料斗+皮带机.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

料斗+皮带机.rar_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-29

六轴钻床(六轴钻孔机)_零件图_机械工程图_机械三维3D建模图打包下载.zip

六轴钻床(六轴钻孔机)_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-29

机床夹具_零件图_机械工程图_机械三维3D建模图打包下载.zip

机床夹具_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

红外线干燥贴标机_零件图_机械工程图_机械三维3D建模图打包下载.zip

红外线干燥贴标机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

活塞销装配机_零件图_机械工程图_机械三维3D建模图打包下载.zip

活塞销装配机_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

厚度尺寸测量设备_零件图_机械工程图_机械三维3D建模图打包下载.zip

厚度尺寸测量设备_零件图_机械工程图_机械三维3D建模图打包下载.zip

2024-03-28

空空如也

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

TA关注的人

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