Tony

P2P 技术及其应用

我们知道,常规的视频直播通常是通过 rtsp 或者 hls 协议直播的,这种直播的特点是所有的流量都需要从中心服务器发出,经过 CDN(Content Delivery Network),下发到各个终端。 这种直播适合大量人群观看,但是服务器的带宽成本也很高。 为了节约成本,基于 P2P 技术的音视频直播应运而生,且已广泛应用于在线聊天(webRTC),网络摄像机等领域。 那么什么是 ...

子集生成

概述 许多看似复杂的问题都能通过“穷举所有可能”来解决——即暴力枚举。虽然乍看笨拙,却常常是最直接、最可靠的手段。实际开发里,BFS 搜索最短路径、回溯找解、组合枚举等都离不开这种思想。 本文聚焦暴力枚举中的典型问题:给定集合生成全部子集(Power Set)。其他如排列、路径搜索将在后续再谈。 问题定义 给定一个不含重复元素的数组 nums,输出它的所有子集,即 LeetCode 78...

二分搜索及其应用

概述 二分搜索(Binary Search)又称折半搜索、对数搜索,适用于「答案在有序区间或单调空间内」的查找问题。核心思想是:每次选取区间中点与目标进行比较,将搜索空间缩小一半,最终在 O(log n) 时间内定位结果,额外空间复杂度 O(1)。 要使用二分,必须确保目标空间具有单调性(严格递增、非递减或可通过判定函数转化为单调布尔值)。LeetCode 提供了二分专题练习与学习卡片,适...

iOS 中的 Crash 探究

概述 Crash 是我们在日常使用 App 时偶尔会遇到的“闪退”,直接影响用户体验与留存。Crash 率是衡量 App 质量的重要指标之一,通常主流 App 会将 Crash 率控制在万分之五以下。本文围绕 iOS 生态,结合系统原理与实战经验,梳理 Crash 的成因、传递方式、排查手段及案例分析,帮助构建一套稳定的质量保障流程。 Crash 是什么? Crash 本质是操作系统对异...

macOS 开发环境配置

概述 第一次配置或重装后的 macOS 环境时,最容易踩坑的地方集中在工具链版本、安装路径与权限控制。本文按「系统准备 → 包管理 → 终端与 Shell → 语言运行时 → 版本控制 → 容器与常用工具」的顺序整理一套通用流程,确保后续开发工作可快速投入。 环境准备 系统更新:建议先升级至最新稳定版 macOS(设置 → 通用 → 软件更新),同步更新安全补丁。 磁盘与权限:在...