自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

REDcker的博客

技术改变生活

  • 博客(87)
  • 收藏
  • 关注

原创 Android WebView 升级 - WebViewUpgrade 库使用详解

是一个 Android 库,支持 WebView 内核的动态升级,无需安装 APK。该解决方案解决了不同设备制造商系统 WebView 实现中的关键限制,特别是对现代 Web 标准的支持问题。该库提供了一个灵活的框架,可通过编程方式加载和切换 WebView 内核,使应用程序能够确保一致的 Web 渲染能力,而无需依赖底层设备的 WebView 版本。核心模块) 提供基础升级引擎,包括类、源抽象接口和用于进度监控的回调系统。下载源模块) 使用 Aria 下载库扩展了核心模块的远程 APK 下载功能。

2026-01-08 10:31:02 485

原创 web 端 H265 软解码实现原理与使用说明

本文介绍了在浏览器中实现H.265软解码播放的技术方案。通过FFmpeg WebAssembly和libde265.js库,可在不支持硬件解码的浏览器中播放H.265视频。系统首先分离视频和音频流,将HEVC转换为Annex-B格式后,由libde265.js进行软解码,并通过Canvas渲染视频帧,同时使用Web Audio播放音频。该方案具有跨平台兼容性,但存在CPU占用高、解码速度受限等性能问题,适用于演示教学等特定场景,不推荐用于高性能播放需求。

2026-01-07 10:27:08 286

原创 iperf3 服务器测速服务搭建指南

iperf3 是一个开源的网络性能测试工具,可以用于测量网络带宽、延迟、丢包率、抖动等关键指标。本文档介绍如何在服务器上搭建 iperf3 测速服务,并让客户端连接进行网络测速。不要长期暴露在公网:测试完成后及时关闭服务使用非默认端口:避免使用 5201 默认端口限制客户端 IP:使用-c参数限制允许连接的客户端配合防火墙:使用防火墙规则限制访问来源定期更新:保持 iperf3 版本更新,修复安全漏洞iperf3 是一个功能强大的网络性能测试工具,通过简单的命令即可搭建测速服务。安全第一。

2026-01-07 10:23:22 900

原创 Home Assistant 项目详解

Home Assistant(HA)是一个开源的家庭自动化平台,强调本地控制与隐私保护。项目始于2013年,现由Open Home Foundation管理,采用Apache 2.0许可。核心特性包括本地优先运行、广泛设备兼容性(支持2500+集成)、自动化脚本功能以及可定制的仪表盘界面。其架构基于事件驱动模型,可作为多协议网关,支持Zigbee、Z-Wave等设备接入。提供多种安装方式,推荐使用HAOS(专用系统)或Docker容器部署,适合从新手到高级用户的不同需求。

2026-01-06 08:56:04 889

原创 Android WebView 中加载 Web SDK 的最佳实践

本文针对 Android WebView 加载 Web SDK 时常见的路径解析、CORS 限制和 Worker 加载问题,提出了三种解决方案并进行对比分析。推荐使用 WebViewAssetLoader 虚拟域名方案,这是 Google 官方推荐的实现方式,具有代码简洁、兼容性好、性能优异等优势。文章详细介绍了该方案的实现步骤,包括添加依赖、配置 WebViewAssetLoader 以及目录结构设置。

2026-01-05 08:00:00 746

原创 前端跨域问题详解

本文详细介绍了前端开发中的跨域问题及其解决方案。首先解释了同源策略的定义和限制条件,说明跨域问题的产生原因。然后重点分析了6种主流解决方案:CORS(最推荐的标准方案)、JSONP(仅支持GET的旧方案)、代理服务器(开发环境常用)、Nginx反向代理(生产环境标准方案)、WebSocket和postMessage。文章提供了各种方案的具体实现示例和配置方法,并对各方案的适用场景进行了对比分析,为开发者提供了解决跨域问题的全面指导。

2026-01-04 08:00:00 1351

原创 Go 语言错误处理最佳实践

本文介绍了Go语言错误处理的最佳实践。主要内容包括:错误处理的核心原则(错误是值、显式处理、快速失败);基本模式(返回(value,error)、仅返回error、多值返回);错误类型设计(使用errors.New、fmt.Errorf、自定义错误类型);错误包装与传播(Go 1.13+的错误包装机制和errors.Is检查)。文章强调显式错误处理的重要性,提供了多种错误类型的设计方法,并介绍了错误包装和检查的技术。

2026-01-03 08:00:00 897

原创 C++ 崩溃堆栈捕获库详解

C++崩溃堆栈捕获库详解 摘要:本文系统介绍了C++程序崩溃时的堆栈捕获技术,涵盖主流堆栈捕获库(如Backward-cpp、Boost.Stacktrace等)的特点与选型建议,详细解析了堆栈捕获的工作原理和调试信息格式(DWARF/PDB)。文章还包含堆栈捕获系统架构、信号处理机制、核心转储等补充知识,并给出开发测试各阶段的实践建议。通过堆栈捕获技术,开发者可以快速定位崩溃根源,提高调试效率,特别适合生产环境中的崩溃分析需求。

2026-01-02 08:00:00 836

原创 线程阻塞检测工具开发指南

本文介绍了一种通用的线程阻塞检测方案,针对异步编程模型中主线程阻塞问题提出创新解决方案。通过信号机制和堆栈捕获技术,系统能够主动检测并定位阻塞点,而非简单提高阈值掩盖问题。技术方案包含阻塞检测模块、信号发送模块、信号处理模块和数据持久化模块,采用libunwind或_Unwind_Backtrace进行堆栈回溯,并处理地址随机化等复杂场景。该方案适用于Linux/Android等多平台,提供阈值设置、信号可靠性保障等最佳实践,从根本上解决线程阻塞导致的性能问题。

2026-01-01 08:00:00 790

原创 WHEP 协议完整使用指南

WHEP协议是基于HTTP的WebRTC流拉取协议,简化了WebRTC会话建立过程。客户端通过POST请求发送SDP Offer创建会话,服务器返回201响应和SDP Answer。会话终止通过DELETE请求完成。协议特点包括:1) 基于标准HTTP协议 2) 单向媒体流传输 3) 简化信令流程 4) 服务器控制流传输。核心流程包含会话创建、WebRTC连接建立和会话终止三个步骤。该协议适用于需要从服务器拉取WebRTC流的应用场景。

2025-12-31 08:00:00 1416

原创 WebRTC-HTTP 出口协议 (WHEP) draft-murillo-whep-01 中文翻译

webrtc whep 协议 draft-murillo-whep-01 中文翻译

2025-12-30 08:00:00 1459

原创 滴滴APP技术架构分析报告

滴滴APP技术架构分析摘要 滴滴出行采用混合技术架构,结合多种跨端框架与原生开发。主要技术栈包括: 跨端框架:React Native作为核心框架,Weex实现部分业务页面,自研Hummer框架处理轻量级需求 JavaScript引擎:同时集成Hermes和JavaScriptCore引擎,根据不同场景选择最优方案 动画系统:使用Lottie实现复杂交互动画 原生能力:深度集成自研地图导航系统(支持AR导航)、完整语音处理体系(识别/唤醒/降噪)以及ARCore等AR技术 混合架构优势:兼顾开发效率与性能

2025-12-29 08:00:00 1160

原创 支付宝APP技术架构分析报告

支付宝APP采用混合技术架构,以蚂蚁集团mPaaS移动开发平台为核心框架,整合了多种JavaScript引擎(V8和QuickJS)、小程序生态、Lottie动画等技术方案。其特点包括:1)mPaaS提供统一开发平台和动态更新能力;2)双JS引擎策略实现性能优化;3)完整的小程序运行环境支持业务扩展;4)Lottie动画提升交互体验;5)集成ijkplayer视频处理、自研图片加载、腾讯网络库等第三方SDK。该架构体现了高性能、动态化和模块化的设计理念,支持支付宝复杂业务场景的需求。

2025-12-28 08:00:00 816

原创 微信APP技术架构分析报告

微信采用混合技术架构,主要基于Flutter跨端框架,结合原生开发、小程序生态和多项优化技术。核心组件包括:Flutter引擎实现跨平台UI一致性;自研小程序运行时支持完整生态;V8引擎提供高性能JS执行;PAG框架实现高效动画渲染。技术架构特点为:使用AAB格式优化分发,集成视频/音频/图片处理等原生库,支持20+语言国际化,并采用QUIC协议等网络优化方案。整体架构复杂且高度优化,体现了微信作为超级App的技术深度。

2025-12-27 08:00:00 1819

原创 哔哩哔哩APP技术架构分析报告

哔哩哔哩APP技术架构分析摘要: 哔哩哔哩采用混合技术架构,以原生开发为主,结合多种先进技术方案。核心特点包括: 使用Android App Bundle(AAB)格式,支持多语言、多架构资源分离 同时集成V8和QuickJS双JavaScript引擎 基于ijkplayer+FFmpeg的视频播放体系,支持AV1/H.264等多种编解码 采用Lottie和SVGA实现丰富的动画效果 图片处理使用Fresco框架,支持WebP/AVIF等格式 网络/存储/安全等方面采用自研+第三方SDK组合方案

2025-12-26 08:00:00 1679

原创 京东APP技术架构分析报告

京东APP采用混合技术架构,主要基于React Native(JDReact)和Taro跨端框架,结合原生开发与多种JavaScript引擎(Hermes/V8/QuickJS)。架构特点包括:模块化RN业务组件支持独立更新;多JS引擎按场景选择;集成丰富的RN生态组件(WebView/动画/手势等);通过Lottie实现复杂动画效果;原生层整合FFmpeg等多媒体处理能力。该架构实现了业务快速迭代与性能优化的平衡,同时支持多端复用和动态更新能力。

2025-12-25 08:00:00 779

原创 TCP 多连接带宽“各自为战”与操作系统全局调控详解

TCP 多连接带宽“各自为战”与操作系统全局调控详解

2025-12-24 08:00:00 984

原创 LwIP 是什么?轻量级 TCP/IP 协议栈入门与 Linux 内核协议栈对比

LwIP 是什么?轻量级 TCP/IP 协议栈入门与 Linux 内核协议栈对比

2025-12-23 08:00:00 861

原创 Go 语言开发 - CGO cgosymbolizer 与调试符号详解

本文详细介绍了cgosymbolizer库及其调试符号解析机制。该库由Go核心成员开发,用于将CGO调用栈中的C/C++函数地址转换为可读的函数名、文件名和行号信息。文章对比了符号表和调试信息的区别,指出cgosymbolizer依赖完整的DWARF调试信息(.debug_info等段)才能正常工作。 文中提供了多种编译策略:开发版本应保留完整调试信息;生产环境推荐分离调试符号,既减小体积又保留调试能力;仅保留符号表或完全剥离的方式会破坏cgosymbolizer功能。

2025-12-22 08:00:00 1139

原创 权限设计范式详解

本文系统介绍了权限设计的主要范式,重点解析了RBAC(基于角色的访问控制)模型。内容涵盖RBAC的核心架构、组成要素、NIST规则及模型层级演进(核心RBAC、分级RBAC、约束RBAC等),并对比了ACL、ABAC、ReBAC等其他11种权限范式。文章提供了权限范式的适用场景对比图、决策流程分析和横向对比表,给出工程实践建议(策略解耦、默认拒绝等)和组合落地方案。作为企业应用中最常用的权限模型,RBAC通过角色映射实现高效授权管理,支持最小权限原则和职责分离,适用于各类组织架构和业务场景。

2025-12-21 08:00:00 1281

原创 macOS Framework 使用指南(面向 Linux 开发者)以火山引擎实时音视频 SDK 为例

本文面向Linux开发者介绍macOS平台特有的Framework格式,以火山引擎实时音视频SDK为例进行说明。文章详细对比了Linux(.so)与macOS(.framework/.dylib)在库文件格式、头文件管理、资源文件处理等方面的差异,并解析了Framework的目录结构(包含二进制、头文件、资源等)。同时提供了Linux与macOS版本SDK的具体结构对比,以及在CMake中使用Framework的配置方法,帮助开发者快速适应macOS开发环境。

2025-12-20 08:00:00 2212

原创 TCP/IP 协议栈详解:协议栈是什么意思?为什么叫“协议栈”?

TCP/IP协议栈是一套实现互联网通信的分层协议体系,采用四层模型(应用层、传输层、网络层、网络接口层)。其名称中的"栈"体现分层结构:上层依赖下层服务,数据传输时发送方逐层封装(加头部),接收方逐层解封装(去头部),类似压栈/出栈过程。该协议栈包含TCP、IP等核心协议及配套机制,不同于OSI七层模型,是工程实践中更常用的实用抽象。

2025-12-19 09:25:48 832

原创 Linux 文件描述符(FD)机制深度解析

本文深入解析Linux文件描述符(FD)机制,主要内容包括: 文件描述符概述:介绍FD的基本概念、核心特性和标准文件描述符(0-stdin,1-stdout,2-stderr)。 FD类型:涵盖普通文件、设备文件、管道、套接字以及各种事件通知机制等不同类型的FD。 /proc/PID/fd目录详解:说明如何通过/proc文件系统查看进程的FD信息,包括符号链接含义和特殊行为。 限制与配置:分析Linux对FD的三层限制体系(系统级、用户/进程级、程序内调整)及配置方法。

2025-12-19 08:00:00 1410

原创 macOS「系统数据」暴涨到 几百GB?一篇文章教你安全清理(含排查顺序)

摘要:macOS「系统数据」占用过大通常由缓存、日志、备份等文件堆积导致。本文提供安全清理指南:1)通过存储空间分析定位问题;2)清理用户/系统缓存及日志;3)删除iOS备份;4)处理Time Machine快照;5)清除应用残留;6)删除大文件。进阶方法包括重建索引或磁盘急救,终极方案为不抹盘重装系统。操作前需备份数据,避免误删系统文件。建议按顺序排查,谨慎使用第三方工具。

2025-12-18 08:52:09 947

原创 MAVLink协议详解

MAVLink是一种专为无人机系统设计的轻量级二进制通信协议,具有高效、可靠和可扩展的特点。文章详细介绍了MAVLink v1.0和v2.0的帧结构差异,包括头部字段、校验机制和版本特性对比。MAVLink支持多系统通信、自定义消息定义和多种编程语言实现,广泛应用于开源飞控系统如ArduPilot和PX4。协议采用混合发布-订阅和点对点模式,适合带宽受限场景,提供消息完整性校验和可选认证功能,是无人机通信领域的标准解决方案。

2025-12-17 08:57:56 862

原创 Windows Docker Desktop 磁盘空间清理指南

本文提供了Windows Docker Desktop磁盘空间清理的详细指南。主要解决WSL 2虚拟硬盘文件(docker_data.vhdx)占用过大空间的问题。文章介绍了三种清理方案:1)使用Docker Desktop自带清理功能(最简单安全);2)使用Docker命令进行精细清理(推荐日常维护);3)压缩VHDX文件(关键步骤)。同时解释了WSL发行版的区别,强调不要删除docker-desktop和docker-desktop-data这两个Docker专用的发行版。

2025-12-16 09:00:06 1273

原创 DJI Fly APP技术架构分析报告

DJI Fly APP技术架构分析摘要 DJI Fly APP采用纯原生Android架构,主要基于Kotlin/Java开发,深度集成了大疆自研SDK实现无人机控制功能。核心技术栈包括:DJI SDK提供完整的飞行控制能力;IJKPlayer+FFmpeg处理视频编解码;TensorFlow/MNN支持AI算法;高德/Mapbox实现地图定位;Agora/WebRTC用于实时通信。应用特点为高性能原生架构,包含视频特效、全景拼接等专业功能,通过Protocol Buffer实现多版本协议兼容。

2025-12-15 08:51:44 989

原创 知乎APP技术架构分析报告

知乎APP采用混合技术架构,核心基于React Native跨端框架,结合原生开发与多种动画方案。主要技术栈包括:React Native多Bundle架构(Sylas/Amadeus/One RN)、腾讯PAG动画框架(用于点赞/播放等交互)、Lottie动画(复杂场景)、原生组件(视频/图片/网络)。架构特点为模块化设计,支持独立更新,同时集成Hermes和JSC双引擎优化性能。视频播放采用自研+字节跳动混合方案,网络层基于腾讯TNet并支持QUIC协议,安全防护使用阿里云方案。

2025-12-14 08:00:00 2489

原创 QQ APP技术架构分析报告

QQ APP技术架构分析摘要: QQ采用混合技术架构,以腾讯自研的Hippy跨端框架为核心,结合多种技术方案: 跨端开发:使用Hippy框架实现高性能跨平台页面开发 插件化:通过Shadow框架实现功能模块动态加载与更新 小程序:完整支持QQ小程序生态,包括小游戏开发 高性能渲染:集成UE4游戏引擎处理3D场景,PAG和Lottie实现复杂动画 原生能力:包含视频/音频处理、网络通信等丰富原生库 动态化能力:支持插件热更新、Bundle热更新等 该架构兼顾性能与灵活性,支持业务快速迭代。

2025-12-13 11:07:54 687

原创 WebRTC 学习仓库总结

本文档系统整理了WebRTC相关开源项目,按学习目标和应用场景进行分类推荐。重点包括: 客户端开发:推荐metaRTC(WHEP拉流完整实现)和srtc(轻量级WebRTC)用于学习底层接收技术; 服务端开发:ZLMediaKit(WHEP服务端)和SRS(SFU架构)作为首选学习项目; 学习路径:提供WHEP客户端/服务端、底层实现和SFU架构四个典型学习场景的路径指引; 技术栈选择:C/C++客户端推荐metaRTC/srtc,C++服务端推荐ZLMediaKit/SRS

2025-12-12 09:00:00 1277

原创 C++ WebRTC WHEP协议拉流实现总结

本文总结了使用C++实现WebRTC WHEP协议拉流客户端的核心内容,包括推荐开源项目和学习要点。推荐项目包括metaRTC(跨平台SDK)、ZLMediaKit(高性能服务器)、srtc(轻量级实现)和cpp_media_server(示例型SFU)。学习要点涵盖WHEP拉流流程、编解码处理、网络容错机制和ICE/STUN/TURN配置。资源管理方面,重点介绍了PeerConnection状态机、多路连接管理策略、线程模型和socket资源管理的最佳实践,包括使用RAII模式确保资源释放、线程隔离设计等

2025-12-11 09:00:00 1029

原创 WebRTC流媒体服务器架构详解

WebRTC流媒体服务器架构主要有三种模式:Mesh、SFU和MCU。Mesh架构采用P2P直连,无需服务器但扩展性差,适合3-5人小规模会议。SFU架构通过服务器选择性转发媒体流,支持10-1000+人的中大规模会议,具有高性能和低延迟特点。MCU架构会解码和混流后重新编码,带宽效率高但服务器负载大,适合10-50人的小规模会议。实际选型需根据会议规模、网络条件和成本预算综合考虑,目前SFU因其良好的扩展性和灵活性成为主流方案。

2025-12-10 09:00:00 1131

原创 C++ WebRTC WHEP 客户端资源管理详解

本文详细介绍了C++ WebRTC WHEP客户端的资源管理方法,主要内容包括: 开源项目推荐:介绍了metaRTC、ZLMediaKit等支持WHEP协议的开源实现,提供拉流流程参考。 生命周期管理:讲解了WebRTC连接状态机和PeerConnection的创建/销毁策略,建议使用RAII模式管理资源。 线程管理:说明WebRTC需要网络线程、工作线程和信令线程,建议全局共享而非每个连接独立创建。 资源管理:包括Socket/FD资源管理方法和避免泄漏的建议。

2025-12-09 09:00:00 2141

原创 UEFI启动过程深度解析与开发环境搭建指南

本文深入解析UEFI的7阶段启动流程及开发环境搭建。UEFI启动遵循PI标准,分为SEC(安全验证)、PEI(前期初始化)、DXE(驱动执行)、BDS(启动选择)、TSL(系统加载)、RT(运行时)和AL(灾难恢复)7个阶段。SEC阶段建立临时内存和安全信任链;PEI阶段初始化内存并为DXE准备环境;DXE阶段加载驱动并构建UEFI服务。文章还详细介绍了UEFI开发环境搭建方法,包括TianoCore和EDK II工具链的使用。

2025-12-08 09:00:00 955

原创 UEFI BIOS深度解析:现代固件架构的革命性突破

本文深入解析UEFI(统一可扩展固件接口)架构及其相比传统BIOS的革命性优势。UEFI作为现代计算机固件标准,采用模块化设计,支持跨平台(x86/ARM等)和图形界面操作。核心概念包括启动管理器、UEFI镜像(.efi文件)、UEFI服务(启动/运行时服务)和基于GUID的协议机制。UEFI通过系统表提供标准化接口,实现硬件抽象和快速启动,其分层架构支持操作系统加载前的标准执行环境。相比Legacy BIOS,UEFI具有安全性高(支持安全启动)、兼容性强和扩展性好等显著优势

2025-12-07 15:00:47 1488

原创 Legacy BIOS深度解析:从IBM PC到现代计算机的固件演进

摘要: 本文系统解析了Legacy BIOS的技术演进与实现机制。从1981年IBM PC引入的32KB BIOS开始,Legacy BIOS经历了标准化发展(1990年代Intel等制定的BBS/PnP规范)。其核心功能包括硬件初始化、POST自检和操作系统引导,运行于实模式下的1MB内存空间。启动流程分为BootROM(ROM执行)、Memory Sizing(内存处理)、BootBlock POST(基础外设初始化)和MainBios POST(主模块处理)四个阶段

2025-12-06 20:57:40 989

原创 JS 与 C++ 语言绑定技术详解

本文档全面介绍了JavaScript与C++的多种绑定技术方案,重点分析了WebIDL自动生成绑定和Emscripten绑定方案。主要内容包括: WebIDL绑定技术 通过IDL文件定义接口规范 自动生成C++/JS胶水代码 详细类型映射关系 与embind配合处理复杂场景 工程化建议 Emscripten绑定方案 embind面向对象绑定 支持类、属性、函数等完整绑定 基本用法示例 技术选型维度 运行环境、绑定粒度、类型系统 性能要求、维护成本等考量因素 文档提供了具体代码示例和最佳实践建议,帮助开发者根

2025-12-05 10:27:53 1001

原创 美团APP技术架构分析报告

美团APP采用混合技术架构,核心基于自研React Native框架(MRN),包含300+业务Bundle实现跨端开发。主要技术栈包括:MRN作为主框架,Picasso声明式UI系统实现动态化渲染,Mach模板系统支持模块化开发,MGC补充特定场景,Litho优化列表性能,同时保留WebView支持H5页面。架构分层清晰,底层为动态化框架层,上层为业务Bundle层,支持多业务线灵活开发与动态更新。网络层采用Cronet优化性能,并集成多种JS引擎适配不同场景。整体架构兼顾性能与灵活性。

2025-12-04 10:24:54 1054

原创 ROS 机器人操作系统版本对照表

本文档汇总了ROS1和ROS2各主要版本的发布时间、维护周期及关键特性。ROS1最后一个LTS版本是Noetic Ninjemys(支持至2025年),ROS2最新LTS版本为Jazzy Jalisco(支持至2029年)。ROS2采用DDS通信架构,支持QoS和跨平台,相比ROS1具有更好的实时性和工程化特性。生产环境推荐使用ROS1的Noetic或ROS2的Jazzy/Humble LTS版本,开发测试可选Kilted常规版。

2025-12-03 10:36:31 756

原创 统计代码行数工具总结

本文总结了多种统计代码行数的工具和方法,主要包括: 通用命令行工具:如wc -l(基础统计)和cloc(推荐,支持400+语言,区分代码/注释/空行)。 IDE集成工具:如IntelliJ的Statistic插件、VS Code的CodeMetrics等,适合开发时快速查看。 其他工具:如Tokei(Rust编写,速度快)、GitHub的Insights功能及第三方Action集成。 推荐: 全面统计:cloc(功能强大,支持多语言和详细报告)。 快速统计:tokei(轻量高效)。

2025-12-02 10:32:43 1519

空空如也

空空如也

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

TA关注的人

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