- 博客(22)
- 收藏
- 关注
原创 OAuth2 协议解析(安全视角)
OAuth2 是在WEB基础上发展出来的一个授权框架(Authorization Framework),也可以认为它是一套协议,一套能解决第三方授权问题的解决方案,优势在于它允许第三方应用在不获取用户密码的情况下,获得访问用户资源(用户的ID信息等)的有限权限。以上都是以一个用户视角看的流程,其实后端之间还做了很多事情,才能保障整个流程的安全,不过下面的流程图需要以一个开发者的角度看待,下面继续解构。流程图是AI生成的,有些角色关系描述得不是那么准确,但是大致理解state、code的安全流程是没问题的。
2025-12-22 17:09:36
404
原创 java并发性能陷阱--伪共享
在之前的文章中,我们聊过JMM java的内存模型(一定要有所了解,不太清楚的同学可以看下前文链接https://www.cnblogs.com/jilodream/p/9452391.html),可以知道线程并不是直接读写内存,而是调用线程自己的工作空间。这是不会的,缓存块是根据内存的地址和偏移量划分好的,不会根据不同核来划分不同的边界的。这样当线程1每次修改变量a,线程2每次修改变量b时,当前缓存都不断的需要重新加载,本质上已经失去了缓存的意义,还增加了缓存状态控制,缓存重新加载的开销。
2025-12-22 17:09:00
640
原创 PWN手的成长之路-19-int_overflow
查看 dest 的栈,它需要溢出 0x14+4,之后让其跳转到 backdoor 函数,也就是 what_is_this 函数的内存地址,但是,想要让复制操作执行,首先需要通过前面的 if ( v3 <= 3u || v3 > 8u ) 语句,即:让 v3 = strlen(s) 的长度保持在 0x04~0x08,也就是 buf 的长度要保持在 0x104~0x108。攻击思路:首先在choice时,选择 1,再输入用户名(随便输入),之后再溢出密码区域,dest 和 s。
2025-12-21 14:15:15
403
原创 【URP】Unity中Mipmap是如何实现的?
层级关系计算:GPU根据屏幕像素覆盖率自动选择Mip层级,公式为:$lod=log2(max(\frac{\partial u}{\partial x},\frac{\partial v}{\partial y}))$其中偏导数通过纹理坐标微分计算。层级生成逻辑:每级Mipmap通过对上一级4个像素取平均值(颜色纹理)或最大值(深度纹理)生成,例如256×256纹理生成128×128层级时,每个新像素由原纹理2×2区域计算得出。当物体距离摄像机越远,UV坐标变化率越大,导数值越高。
2025-12-21 14:14:38
860
原创 [数据分析/BI] Microsoft Power BI 使用指南
免费 仅可用作个人沙盒,创建内容并与 Pro、Premium 用户交互,不能共享内容 可访问分配到 Premium 容量中的内容(仪表板、数据集、应用),与免费、Pro、Premium Per User 用户交互。Power BI Premium Per User (PPU) 将内容发布到其他工作区,共享仪表板,订阅仪表板和报表,与拥有 PPU 许可证的用户共享 向拥有免费和 Pro 许可证的用户分发内容。使用 Power BI 创建外观炫酷的交互式报表,以充当组项目、部门或整个组织背后的分析和决策引擎。
2025-12-18 21:02:51
423
原创 将 GPU 级性能带到企业级 Java:CUDA 集成实用指南
例如,你的 Java 类可能定义类似 public native long cudaMalloc(int size) 的本地方法,它在 C++ 内部调用真实的 cudaMalloc() 并把设备指针以 long 返回给 Java。真正的并行需要硬件支持,如多核 CPU 或多个执行单元。集成 CUDA 的 Java 开发者必须关注块与线程的配置、尽量减少内存拷贝瓶颈,并使用诸如 cudaGetLastError() 或 cudaPeekAtLastError() 的 CUDA API 做好错误处理。
2025-12-18 21:01:48
488
原创 关于图灵停机问题不可判定性证明
答案是,将参数实例化为已有的特征,换句话说,将图灵机本身作为参数,因为它既是「机器」又是「语言」,此处即为 自我递归 或者 自我指涉。在构造的过程中发现,该生成函数也是一个不知何时停机的图灵机,那么可以基于假设构造矛盾,基本思想仍然是自我指涉,但是和上一证明存在本质的不同。该证明为本人在思考如何去除参数,而保证参数长度一致性时想出,既然通过传参的方式行不通,那么就直接在内部生成,也可以看出,这种方法保证了。,接下来构造矛盾(问题是矛盾应当体现在何处,它的根源是什么),从而得出假设为错。
2025-12-17 18:46:55
407
原创 设计模式深度解析:策略模式、责任链模式与模板模式
System.out.println("❌ 厂长拒绝 " + request.getEmployeeName() + " 的请假申请," +System.out.println("组长正在审批 " + request.getEmployeeName() + " 的请假申请...");System.out.println("厂长正在审批 " + request.getEmployeeName() + " 的请假申请...");责任链模式将请求的发送者和接收者解耦,让多个对象都有机会处理这个请求。
2025-12-17 18:46:19
559
原创 日一面】HTTP 和 HTTPS 的区别
4. HTTPS 需要 SSL 证书。数字摘要,实际就是一个哈希算法,通过对数据计算生成固定长度的摘要值,用于验证数据是否被篡改,应用场景十分广泛,如果你在开源项目看的多,会发现很多开源的项目在提供文件下载的同时,会提供一个哈希值,如 sha256 等等,提供给用户用于校验文件是否在分发过程中被篡改。非对称加密:在 HTTPS 握手阶段,使用公钥加密,私钥解密,处理好密钥协商的问题,客户端从 SSL 证书中获取服务器公钥,将随机生成的对话密钥加密后发送给服务器,服务器使用私钥解密后便可以得到会话密钥。
2025-12-15 11:34:09
289
原创 JSAPIThree 事件系统学习笔记:处理交互的基础
mapvthree 复用了 Three.js 的 addEventListener / removeEventListener,所以任何继承自 Object3D 的对象都能直接绑定事件。human.addEventListener('click', () => alert('点击到了整个人'));head.addEventListener('click', () => alert('点击到了头像'));场景根对象的事件:仅能获取位置坐标,适合做“全局点击”或“拖拽地图切换模式”之类的功能。
2025-12-15 11:33:34
237
原创 关于计算机语言的学习
一台计算机的机器语言通常是由其 CPU 的设计者创建的,因此每种类型的计算机都有属于的机器语言。换而言之,编程语言就是一套计算机指令的编写规则,其中的每个组成单元都被定义了明确的含义(即语义)以及编写格式(即语法),正因为如此,我们所编写的程序通常被称为计算机代码(Computer Code),而编写代码的过程则被称为编码(Coding)。在这个系列的笔记中,我将记录下自己在学习计算机语言的过程中所积累的一些心得体会,笔记的内容将会包括我对编程语言、标记语言的了解,以及我学习各种语言的具体过程。
2025-12-14 10:15:54
503
原创 解放双手!使用Roslyn生成代码让你的 HTTP 客户端开发变得如此简单
HttpClientApiRegisterSourceGenerator 是另一个重要的组件,它自动为标记了 [HttpClientApi] 特性的接口生成依赖注入注册代码,简化 HttpClient 服务的配置。_logger.LogDebug("开始HTTP GET请求: {Url}", "/api/v1/user/{id}");_logger.LogDebug("开始HTTP GET请求: {Url}", "/api/v1/user/{id}");
2025-12-14 10:14:59
402
原创 你怎么理解 Proxy 的
答:Proxy 是用于创建 “对象代理” 的构造函数,它能封装目标对象(target),并通过 “拦截器对象(handler)” 自定义目标对象的基础操作(如属性读取、赋值),实现对对象行为的 “劫持”,手写使用方式。set 拦截器会触发,但最终赋值会失败,Object.freeze (target) 会让目标对象的属性变为 “不可写、不可配置”,但不会阻止 Proxy 拦截器的触发(拦截器是对操作的劫持,而非直接修改属性)。也就是说,直接操作目标对象,就不会走代理。两者的核心差异是什么?
2025-12-13 17:23:57
874
原创 LangChain RAG 学习笔记:从文档加载到问答服务
刚开始我以为是向量模型的问题,于是在CherryStudio里,构建同样的知识库,使用同样的向量嵌入模型,召回测试的结果很符合预期。虽然借助大模型以及Trae,给我们提供了另外一种生成代码和学习代码的方式,但其目前还是需要人工来参与的,尤其是版本的变化导致引入的包和接口的调用方式都发生了很多变化,所以这就需要一个根据生成的代码不断的去调试和修正。这几个模块完成了后端模块的建立。实际项目中会考虑更多的模块,比如大模型的选择和部署,向量数据库的选择,知识库的准备,前端页面的搭建等,这些将不作为本文描述的重点。
2025-12-13 17:22:43
233
原创 PHP 开发者应该理解的 Linux 入门权限指南
当 PHP 在服务器上运行时,你的代码通常以 web 服务器用户的身份执行(例如 Debian/Ubuntu 上的 www-data,CentOS/Red Hat 上的 apache,或者某些设置中的 nginx)——或者作为你配置的 PHP-FPM 池用户运行。在多用户部署中,建议保持代码库归人类用户所有(例如 deploy),同时使用共享组(例如 www-data)和组写权限。sticky 位(其他用户的 t):在像 /tmp 这样的目录上:用户只能删除自己的文件,即使目录对组/其他用户可写。
2025-12-12 10:29:00
372
原创 痞子衡嵌入式:如果i.MXRT1xxx在Hab关闭时出现偶发性启动失败,请先检查JTAG电路
由于 RT1064 芯片里的安全系统是个黑盒子,从文档里找不到注意事项。作为对比,我们看一下当启动模式是 2'b10 - internal 时(痞子衡用得是官方 EVK,并未烧写 HAB),但 Flash 为空导致启动失败情况的 log,这里我们能看到 PRIM_IMAGE_SELECT、PRIM_BOOTDEVICE_FLEXSPI_NOR 等信息,表明 ROM 有尝试获取 Flash 内容的动作,这才是正常的行为。在硬件设计灵活性这一块,那还得看官方 EVK 设计,上下拉选项都预留了。
2025-12-12 10:28:19
272
原创 .NET操作Word/WPS打造专业文档 - 页面设置与打印控制完全指南
document.FindAndReplace("[目录内容]", "1. 引言 .................... 1\n2. 主要内容 ................ 2\n3. 结论 .................... 3");虽然MudTools.OfficeInterop.Word目前只提供了基本的打印参数,但在实际应用中,我们可以通过其他方式实现更精细的打印控制。infoRange.Text = "文档编号: [编号]\n创建日期: [日期]\n版本: [版本号]\n\n";
2025-12-11 09:34:06
843
原创 Vona ORM分表全攻略
下面以 Model User/Order 为例,通过查询用户的订单列表,来演示分表的使用方法。到目前为止,使用默认表名查询userId=129的用户信息,使用默认表名查询该用户的订单列表。到目前为止,使用默认表名查询userId=129的用户信息,使用分表查询该用户的订单列表。到目前为止,使用默认表名查询userId=129的订单列表。到目前为止,使用分表查询userId=129的订单列表。现在,又可以使用常规的方式查询用户的订单列表。于是,也可以使用常规的方式查询用户的订单列表。
2025-12-11 09:33:17
356
原创 doc-llm-autotest 基于大模型的文档自动化测试平台::用户提交文件进行文档测试
读redis队列,根据任务id找到这条task,但当文件任务doc字段还是"__PENDING_FILE__"时,做阻塞等待,直到doc字段更新为"minio://{bucket}/{object_name}",从minio下载文件再处理,适配doc_llm_test_worker。当前数据流的流转:从时间先后顺序,最先会写入task到mysql,此时doc字段是pending字样,然后写入task_id到redis,再就是把文件传给minio,最后更新mysql.doc为minio的文件路径。
2025-12-10 09:40:13
233
原创 JuiceFS + MinIO:Ariste AI 量化投资高性能存储实践
系统内置版本控制机制,当数据版本更新时,可依托依赖图自动识别受影响的节点,精确定位需重算部分,从而实现高效的增量更新与结果追溯。数据规模与增速:量化研究所需处理的数据总量较大,涵盖历史行情数据、新闻数据以及自行计算的因子数据等。在项目初期,我们采用了 Quantrabyte 研究框架,该框架内置了 ETF 模块,可直接将数据存储在本地磁盘上,数据读取速度较快。研究数据湖统一治理:计划构建统一的研究数据湖平台,集成 Schema 注册、自动数据清洗与统一目录治理等核心服务,全面提升数据资产的发现与管理效率。
2025-12-10 09:39:12
339
原创 一分钟教你限制腾讯游戏ACE扫盘:告别硬盘损耗与游戏卡顿的完整指
实测显示,ACE 关联进程(如 SGuard64.exe)每秒读操作可达 3-4 兆,半小时读取量超 2.5G,不仅引发游戏卡顿、闪退,长期高频读写更会加速硬盘老化,甚至导致固态硬盘直接报废。腾讯 ACE 作为成熟的反作弊系统,其扫盘机制的初衷是保障游戏公平,但优化缺失让普通玩家承受了设备损耗与体验下降的代价。腾讯游戏安全 ACE(Anti-Cheat Expert)是深耕 20 年的综合性安全方案,目前服务于腾讯全系游戏及海内外数百款头部产品,核心功能包括反外挂监测、游戏加固、黑产识别等。
2025-12-09 17:19:39
1463
原创 Nano-vLLM-Ascend
nano-vllm是开源的一个gpu推理项目,基于开源版本弄的一个ascend npu版本推理小demo,旨在帮助初学者了解推理的整体流程,区别于vllm,nano-vllm体量更小,麻雀虽小五脏俱全,更有助于初学者学习。2.PTA版本:torch-npu 2.5.1.post2+gitd7a85f8,torch 2.5.1。Nano-vLLM-Ascend 实在太慢了只跑了10条seq。echo "配置openEuler软件源..."echo "初始化SSH服务..."echo "配置SSH服务..."
2025-12-09 17:19:06
692
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅