- 博客(49)
- 收藏
- 关注
原创 Claude Code /buddy 宠物刷新:用脚本拿到 Legendary 级宠物
本文介绍如何通过枚举userID获取Claude Code的/buddy彩蛋中特定稀有宠物。彩蛋包含18种宠物和5个稀有等级,其中Legendary概率仅1%。由于宠物分配由userID确定性决定,作者编写了JS脚本(配合Bash脚本)来暴力枚举目标ID:先用mulberry32伪随机算法模拟分配过程,找到指定物种+Legendary组合后自动写入配置文件。使用Bun运行时,普通设备约几秒即可完成搜索。文章详细说明了原理、脚本使用方法和还原配置的方式,最后强调这本质上是一个确定性映射过程。
2026-04-01 20:20:42
1222
原创 Chromium 内核深度剖析:HTML 属性解析限制导致的视频静音失效问题
摘要: 移动端浏览器内核开发中发现视频静音属性(muted)异常问题:通过JavaScript动态设置或修改muted属性时,虽然DOM显示正确,但实际未静音。经分析发现Chromium源码中HTMLMediaElement::ParseAttribute方法存在限制,仅当属性由HTML解析器设置时才生效,这与HTML规范要求不符。修复方案移除了该限制,确保muted属性在任何设置方式下都能正确工作。此案例揭示了浏览器引擎设计中性能优化与规范遵循的权衡问题,强调应优先保证行为一致性和规范符合性,而非过度优化
2026-03-27 16:28:55
435
原创 Android CI/CD 编译 AIDL 报错分析与解决
Android CI/CD编译AIDL报错解决方案 在Android CI/CD环境中编译时遇到AIDL报错"undefined symbol: _ZnwmSt11align_val_t",分析表明这是C++17对齐内存分配符号。问题根源在于: Android SDK Build Tools 30.0.3需要C++17支持 CI/CD宿主机GCC 4.8.5版本过旧,不包含C++17符号 Docker容器内正常是因为包含新版libstdc++ 解决方案: 临时方案:降级Build Too
2026-03-23 17:04:43
488
原创 跨平台符号表生成规则详解:Windows/Linux/macOS/OHOS
本文介绍了C/C++项目在各平台的符号表生成策略,包括Windows(MSVC PDB)、Linux/macOS(GCC/Clang DWARF)和鸿蒙(OHOS NDK DWARF)的符号格式对比。详细说明了不同编译器的配置方法,如MSVC的/Zi和/DEBUG选项,GCC/Clang的-g选项。重点阐述了符号表备份和strip操作的原子性保证流程,通过临时文件+原子替换机制确保安全性。还分析了不同构建配置(Debug/Release/RelWithDebInfo)的差异化处理策略,并提供了具体的CMak
2026-03-13 10:05:26
414
原创 Qt 信号槽底层原理深度解析
本文深入解析Qt信号槽机制的底层实现,从编译时MOC代码生成到运行时元对象系统运作。主要内容包括:1)信号槽机制概述及其松耦合、跨线程等特性;2)MOC编译器如何生成元对象代码,包括字符串数据区、元数据表和静态调用函数;3)运行时元对象系统的核心结构与信号槽调用流程;4)通过示例代码分析实际应用;5)讨论信号槽的局限性及跨进程通信方案。文章通过图解和真实代码展示Qt核心通信机制,适合中高级开发者深入理解Qt框架原理。
2026-03-05 19:30:40
487
原创 iOS MobileBackup2 通信协议深度解析
本文深入解析iOS设备的MobileBackup2备份协议,详细介绍了其通信流程、消息格式和文件传输机制。MobileBackup2是基于DeviceLink Service实现的备份协议,支持完整备份、增量备份和选择性恢复等功能。文章从协议栈结构入手,分层次讲解了应用层、协议层、传输层和连接层的实现原理。重点剖析了连接建立流程、版本协商机制以及备份请求处理过程,并提供了示例代码说明如何通过libimobiledevice库实现备份操作。此外,文中还详细说明了Status.plist等关键文件的处理方式,为
2025-12-12 16:14:36
1036
原创 基于 Qt 和 libimobiledevice 的跨平台 iOS 设备管理工具开发实践
phone-link-cross是一款基于Qt 6和libimobiledevice库开发的跨平台iOS设备管理工具,支持Windows、macOS和Linux系统。该项目实现了设备发现、连接管理、信息获取等核心功能,具有实时设备热插拔检测、动态库加载、模拟测试模式等技术亮点。系统采用分层架构设计,核心组件DeviceManager负责设备生命周期管理,通过事件驱动机制实现线程安全的设备状态更新。特别优化了Windows平台的DLL动态加载机制,无需静态链接即可运行,并提供了完整的API文档和使用指南,为开
2025-12-05 14:27:22
792
原创 WinDbg 崩溃定位完全指南:从零到精通的实战教程
本文介绍了使用WinDbg进行崩溃分析的完整流程。首先详细讲解了WinDbg的环境搭建与配置,包括安装步骤、符号路径设置和基本分析流程。重点阐述了PDB符号文件的作用、生成方法及管理最佳实践,强调其作为调试信息核心的重要性。随后通过实战案例,展示了如何通过符号加载检查、地址计算和解析等步骤精确定位崩溃代码位置。文章提供了大量实用命令和技巧,如!analyze -v自动分析、lm查看模块信息、ln解析地址等,帮助开发者快速诊断和修复程序崩溃问题。
2025-10-24 20:17:17
1248
原创 ClaudeCode Skill:增强AI编程能力的关键工具
摘要: ClaudeCode是Anthropic为Claude AI开发的技能系统,专为编程领域优化,包含文档处理、代码开发、设计辅助等模块。核心功能包括: 文档技能:支持Word、PDF、PPT、Excel的解析与生成,适用于技术文档处理; 编程技能:提供代码分析、测试、API集成(如Playwright、p5.js)等工具; 多平台支持:可在Claude Code编辑器、网页版及API中调用,通过命令或系统提示触发。 这些技能显著提升了AI在开发全流程中的辅助能力,但需注意部分技能为示例性质,非持续维护
2025-10-21 11:35:53
1374
原创 OpenAI公布前30名“万亿级“Token用户:AI应用的行业图谱与商业价值解析
OpenAI公布2025年前30名API大客户,累计消耗超1万亿tokens(约3000万美元/年)。数据显示:1)应用集中于开发者工具(17%)、生产力SaaS(17%)和医疗健康(10%);2)成熟企业与初创公司各占47%;3)主要场景包括代码辅助、会议摘要和行业解决方案。中国企业可借鉴:深耕垂直领域、开发本地化工具、把握基础设施机会。该名单揭示了AI在提升效率与创新业务模式方面的巨大潜力。
2025-10-14 11:45:19
1743
原创 用一个 Bash CLI 管理多款 AI 开发工具:jt-code-cli 实战与原理解析
JTBlink/jt-code-cli 是一个基于 Bash 的轻量级命令行工具集,通过 npm 统一管理多款 AI 开发工具(iflow、claude-code、qwen 等)的安装/升级/卸载。主要特性包括:1) 提供 jt-code 统一入口命令;2) 支持批量管理所有工具;3) 包含独立的 MCP 诊断与清理脚本。项目采用模块化设计,包含核心日志、工具状态检查及各工具专属安装模块,支持 macOS/Linux 环境,适合需要快速搭建 AI 编程环境的开发者。使用方式灵活,既可通过软链接系统调用,也可
2025-10-05 19:36:39
1005
原创 ReadSettingsPanel ViewStub 修复问题总结
文章摘要 Android阅读器应用中的阅读设置面板出现ViewStub加载失败问题,主要原因是自定义视图ReadSettingsPanel缺少标准的三参数构造函数,导致无法正确实例化。修复方案包括:1) 为自定义视图添加完整的构造函数;2) 修正布局文件根元素为自定义视图类名;3) 使用post延迟初始化确保视图完全加载;4) 优化回调接口命名避免冲突。这些修改解决了ViewStub加载失败、类型转换异常和初始化时序问题,确保了阅读设置功能正常运行。
2025-09-15 15:43:59
930
原创 ThemeReadSeekBar 问题总结与进度条不正确原因分析
摘要:ThemeReadSeekBar是一个自定义Android阅读进度条组件,实现了24dp圆角进度条和滑块。开发过程中遇到三个主要问题:1)进度条颜色显示异常,通过ClipDrawable实现动态裁剪解决;2)颜色对比度不足,采用HSV色彩空间精确计算代替RGB;3)tint属性冲突,通过自定义LayerDrawable规避。最终方案结合了ClipDrawable的进度控制和HSV色彩算法,实现了符合设计要求的智能配色效果。
2025-09-11 16:22:45
717
原创 AppCompatDelegate onStart 自动重建问题解决方案
摘要 Android 应用中,继承 BaseActivity 的 Activity 在 onStart() 阶段会被 AppCompatDelegateImpl 自动调用 recreate() 导致重建。问题根源在于 AppCompatDelegateImpl 会在 onStart() 时强制检查配置差异(如夜间模式、语言设置等),若发现配置变化且 Activity 未声明处理这些变化,就会触发重建。该机制通过 updateAppConfiguration 方法实现,会对比当前配置与应用配置,当检测到 UI
2025-09-01 15:45:52
666
原创 StackOverflowError 问题分析总结
应用在配置变更时出现StackOverflowError崩溃,堆栈显示达到8188KB限制。分析发现是Window系统状态变更与AppCompat库的配置处理形成无限递归。问题根源在于Android R+的WindowInsets新API使用不当,以及MIUI系统对Configuration的定制化扩展。解决方案包括:1)添加递归保护机制;2)修正Window系统设置;3)考虑厂商ROM差异。最佳实践建议避免在配置变更中触发布局变更,采用防抖机制,并正确使用全屏API。该问题凸显了Android配置变更处理
2025-08-25 20:25:52
884
原创 宿主获取插件View流程原理 - fetchViewByLayoutName
RePlugin框架通过fetchViewByLayoutName接口实现宿主与插件间的UI共享。该接口首先获取插件Context,再通过资源ID加载对应布局,最后使用插件的ClassLoader实例化View。关键流程包括:插件上下文获取(检查缓存或动态加载)、资源ID查询、布局解析(通过拦截LayoutInflater处理自定义View)。框架采用分层加载策略(从组件信息到完整应用)和三级缓存机制(插件名、Resources、ClassLoader),优化性能。此设计实现了跨进程UI组件的无缝集成,同时
2025-08-19 20:26:26
1039
原创 Android Studio Git提交环境变量问题总结
Android Studio的Git集成无法加载.bashrc环境变量,原因是其使用非交互式shell。解决方案:1)将变量写入.profile文件;2)在Git钩子中直接设置变量;3)使用绝对路径调用命令。推荐使用.profile配置,确保所有shell环境都能正确加载所需变量。
2025-08-19 11:09:05
305
原创 Claude Code:智能代码审查工具实战案例分享
本文介绍了基于Claude AI的智能代码审查工具在实际项目中的应用。该工具支持多语言分析,能自动识别代码问题、性能瓶颈和安全漏洞,并提供改进建议。通过Android和Flutter项目的实战案例,展示了工具如何高效发现内存泄漏、主线程阻塞等问题,将审查时间从30分钟缩短至5分钟,问题发现率提升40%,代码质量显著改善。工具还支持自定义规则配置,可针对不同技术栈进行专项审查。案例表明,AI智能审查能有效提升开发效率和代码质量。
2025-08-08 21:20:28
2057
原创 RePlugin 坑位使用原理与指南
RePlugin框架通过"坑位"机制实现插件动态加载,在宿主应用中预先注册组件坑位,按启动模式、透明度和TaskAffinity分类管理。Activity坑位分为透明/不透明两类,每种包含四种启动模式,默认配置数量从2到6个不等。坑位分配遵循复用优先原则,通过状态管理实现动态回收。框架还支持多进程运行和TaskAffinity分组,建议合理配置坑位数量,避免同时打开过多同类型Activity,优先使用standard模式以减少坑位占用。该机制无需修改宿主Manifest即可运行插件组件,
2025-07-24 19:18:22
584
原创 Android构建流程与Transform任务
Android构建流程分为预构建、代码生成、资源处理、编译、Transform和打包六个阶段,其中Transform阶段通过优先级机制执行字节码转换任务,支持AOP编程和热修复等功能。系统内置Transform(如Proguard混淆)与第三方Transform(如AspectJ)共同构成DEX转换前的处理链。
2025-07-17 13:06:12
628
原创 从理论到实战的Android性能优化全栈解决方案
本次分享系统性地探讨Android性能优化,涵盖内存管理、启动优化、渲染性能等核心领域。内容分为四个层次:基础优化(如内存泄漏防治)、进阶优化(线程池调优)、深度优化(JVM调优)和创新优化(AI辅助优化)。重点解析了内存优化的七种典型场景,通过源码级分析GC机制和内存泄漏问题,并提供高级解决方案如安全Handler设计模式。分享既包含底层原理剖析,又提供可直接应用的工程实践方案,帮助企业构建完整的性能监控和优化体系。
2025-06-30 21:10:19
1185
原创 Android 跨进程通信(IPC)深度技术总结
Android跨进程通信机制解析 摘要:本文深入探讨Android跨进程通信(IPC)机制,重点分析Binder和AIDL两大核心技术。Android采用多进程隔离架构,基于Linux内核构建了完整的IPC体系。Binder作为核心机制,采用Client-Server架构,通过ServiceManager实现服务注册与发现,借助mmap内存映射实现高效数据传输。AIDL则提供接口定义语言,自动生成跨进程通信代码,支持复杂数据类型传输。文章从架构原理、通信流程、内存管理等维度进行剖析,并对比不同IPC机制的适
2025-06-27 10:13:52
817
2
原创 Android 动态代理详解
动态代理是一种在运行时动态生成代理对象并拦截方法调用的技术。它广泛应用于 Android 开发中,例如 AOP(面向切面编程)、插件化开发、网络请求框架(如 Retrofit)等场景。通过理解动态代理的原理和实现细节,可以在 Android 开发中灵活应用这一技术,提升代码的可维护性和扩展性。定义一个接口,作为目标对象的行为规范。接口,定义方法调用的拦截逻辑。创建一个类实现该接口。
2025-03-19 11:37:37
1366
原创 网页图片长按HitTest流程分析
1. 生成触摸事件 (WM_TOUCH/WEBKIT_EVENT_TOUCH_START)2. 通过IPC::BrokeForwardTouchEvent。11. 通过Mojo接口传递HitTestData。
2025-03-17 14:02:15
798
原创 QUIC网络通信协议
QUIC减少握手延迟(0-RTT)解决 TCP 队头阻塞,提高 HTTP/3 传输效率更安全(默认 TLS 1.3),不易被中间人攻击连接迁移能力强,适合移动设备QUIC 未来可能逐步取代TCP + TLS,成为互联网新一代主流传输协议。下面是 QUIC 连接建立和数据传输的时序图,使用Mermaid语法表示:fill:#333;ClientServer连接建立 (1-RTT)连接建立 (0-RTT)连接迁移完成QUIC 连接关闭ClientServer。
2025-03-13 18:21:02
1387
原创 AES加密原理
密钥扩展(Key Expansion)将原始密钥扩展为多个轮密钥(round keys),每一轮使用一个不同的密钥。扩展算法基于轮常量(Rcon)和字节替换操作。初始轮(Initial Round)将明文分块(128 位一组),直接与初始轮密钥进行按位异或(AddRoundKey)操作,生成初始状态矩阵。主轮(Rounds)SubBytes:使用 S-box 对状态矩阵中的每个字节进行非线性替换。ShiftRows:按行进行循环左移,不同行的位移量不同,打乱字节顺序。MixColumns。
2025-03-07 18:15:00
1151
原创 主流加解密算法全景解析:对称、非对称与哈希算法详解
对称加密:安全性依赖于密钥保密,适用于大数据量加解密;代表算法如AES、3DES等。非对称加密:密钥对管理简单,支持数字签名和密钥交换,但加解密速度较慢;代表算法如RSA、ECC、DSA等。哈希算法:单向加密,用于数据完整性和密码存储;代表算法如MD5、SHA-256、HMAC等。各类加密算法在现代安全体系中各有定位,通常需要结合使用以构建既高效又安全的通信系统和数据保护方案。选择具体算法时需根据应用场景、数据量、安全需求以及硬件资源等因素综合考虑。
2025-03-07 12:15:17
1239
原创 Android双亲委派
下面是一份 Android 类加载器双亲委派机制的时序图示例,描述了当应用调用 loadClass() 时,各个加载器之间的委派过程。ClientApp ClassLoader(DexClassLoader/PathClassLoader)Parent ClassLoader(PathClassLoader)BootClassLoader应用代码调用加载请求loadClass("TargetClass")1. 检查是否已加载2. 未加载则委派父加载器loadClass("TargetClass")1. 继续
2025-03-07 10:25:10
711
原创 RePlugin字节码修改流程分析
判断是否需要修改(如目标类名匹配)判断是否需要修改(如目标类名匹配)回写修改后的 .class 文件。回写修改后的 .class 文件。继续后续构建流程(打包、签名等)注册自定义 Transform。完成 Transform 任务。遍历所有 .class 文件。遍历所有 .class 文件。加载 CtClass 对象。加载 CtClass 对象。
2025-02-27 19:28:12
1041
原创 C++语言基础
以上是 C++ 语言的基础内容,涵盖了基本语法、数据类型、控制结构、函数、面向对象编程、指针与引用以及 STL 的使用。C++ 是一种通用的、面向对象的编程语言,广泛应用于系统软件开发、游戏开发、嵌入式系统等领域。它继承了 C 语言的高效性和灵活性,并在此基础上增加了面向对象的特性。C++ 的核心特性之一是支持面向对象编程(OOP),主要包括类和对象。C++ 提供了丰富的数据类型,包括基本数据类型和复合数据类型。C++ 提供了强大的 STL,包含容器、算法和迭代器等工具。
2025-02-26 14:15:00
715
原创 C++开发技能
掌握常见的数据结构如链表、树、图、哈希表、队列、栈等的实现和应用,熟悉基本算法,如排序、查找、动态规划等,并能在实际问题中灵活运用。:掌握C++11、C++14、C++17等新特性,如智能指针、lambda表达式、并发支持等,以编写现代化的C++代码。:深入理解面向对象编程概念,包括类与对象、封装、继承、多态等OOP特性,以及模板、命名空间、异常处理等C++特性。:熟悉C++的基本语法、数据类型、指针、内存管理等核心知识,能够编写高效、可靠的C++代码。
2025-02-26 09:52:40
589
原创 Android Chromium 开发必备技能
深入了解Chromium的架构,特别是其渲染引擎Blink的工作原理。:了解如何在Android应用中集成和定制Chromium内核,特别是WebView的使用和优化。:熟悉使用调试工具(如GDB、LLDB)和性能分析工具(如Chrome DevTools)来调试和优化Chromium代码。:了解操作系统的基本概念,如进程管理、内存管理、文件系统等,以便更好地理解Chromium与系统的交互。:熟练使用Git等版本控制系统,以及相关的协作工具,以便参与Chromium的开发和维护。
2025-02-26 09:49:16
486
原创 Https通信中证书验证流程
客户端验证服务器证书的有效性是一个多步骤的过程,涉及证书链验证、域名匹配、吊销检查等多个环节。但在某些场景下(如自定义客户端或嵌入式设备),可能需要手动处理证书验证逻辑。在 HTTPS 通信中,客户端验证服务器证书的有效性是确保通信安全的重要步骤。检查证书的 Not Before 和 Not After 字段。以下是将您提供的 HTTPS 证书验证流程转换为。返回证书链(服务器证书 + 中间证书)使用中间证书公钥验证服务器证书签名。检查证书的 SAN 或 CN 字段。使用根证书公钥验证中间证书签名。
2025-02-21 21:24:39
3164
原创 HTTPS 证书交换流程
HTTPS 的密钥交换过程是基于 TLS(Transport Layer Security)协议实现的,其核心目标是通过加密和认证机制确保通信双方的安全性。HTTPS 密钥交换的核心是通过非对称加密(如 ECDHE)协商共享密钥,并使用对称加密(如 AES)保护实际数据传输。在此阶段,客户端和服务器通过密钥交换算法(如 ECDHE)协商出共享密钥(Pre-Master Secret)。握手完成后,客户端和服务器使用协商出的会话密钥进行对称加密通信。由于椭圆曲线的数学特性,双方计算出的。
2025-02-21 12:03:21
1269
原创 HTTPS 通信流程
加密套件(如 TLS_AES_256_GCM_SHA384)支持的椭圆曲线(如 X25519, P-256)验证签名算法(RSA-2048/ECDSA)验证签名(SHA-256 with RSA)发送服务器证书(X.509 v3)Finished(AEAD加密)Finished(AEAD加密)计算共享密钥(ECDHE)计算共享密钥(ECDHE)客户端随机数(32字节)服务器随机数(32字节)验证域名(CN/SAN)OCSP检查(HTTP)应用数据(AEAD加密)应用数据(AEAD加密)
2025-02-20 16:05:56
1105
原创 DNS\DOH\DOT 查询流程图
fill:#333;color:#333;color:#333;fill:none;DoHDoT传统DNS协议: HTTPS端口: 443TLS加密+HTTP混合在HTTPS流量中协议: TLS端口: 853TLS加密专用端口可能被封锁协议: UDP/TCP端口: 53无加密易被劫持/篡改。
2025-02-19 10:29:50
1173
原创 Chromium 内核 DNS 解析
下面是 Chromium 内核 DNS 解析的完整调用链路和时序图:fill:#333;paraltaltalt:应用程序通过调用方法来创建一个实例。在内部创建一个实例,负责管理解析请求。DnsClient创建一个DnsClient实例,用于处理 DNS 查询。DnsClientDnsClient完成初始化,准备处理 DNS 请求。:应用程序调用的方法,传入主机名。调用的方法,创建一个新的解析请求。调用缓存组件,检查是否存在该主机名的缓存记录。:如果缓存中存在有效记录,直接返回缓存结果。
2025-02-18 16:47:28
979
课堂安全教育 小学生防溺水 注意事项.pptx
2024-05-08
课堂安全教育:溺水防护措施总结.pptx
2024-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅