<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ahelloyou的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ahelloyou</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ahelloyou]]></copyright><item><title><![CDATA[MOQ简介]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/158504321</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/158504321</guid><author>ahelloyou</author><pubDate>Sat, 28 Feb 2026 15:30:43 +0800</pubDate><description><![CDATA[MOQ Transport（MOQT）是基于QUIC协议的新一代传输协议，专为二进制对象传输设计。其核心特性包括发布/订阅模式、缓存友好架构，支持多种延迟场景（实时通信、直播、点播等）。MOQ协议族包含传输协议、容器格式、流媒体格式和访问控制组件。目前MOQ已在IETF启动标准化进程，华为与中国联通联合提交了应用草案。开源生态有MOQtail和openMOQ等项目。相比CMAF等传统技术，MOQ在连接建立和性能优化方面具有优势，被业界视为下一代流媒体传输标准的有力竞争者，尤其在低延迟和大规模分发场景表现突出]]></description><category></category></item><item><title><![CDATA[YUV Format]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/136293810</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/136293810</guid><author>ahelloyou</author><pubDate>Mon, 26 Feb 2024 10:40:38 +0800</pubDate><description><![CDATA[基本概念如下：surface的原点是(0,0),出在surface的左上角。stride含义代表surface宽度，单位为bytesAlignmentsurface的对齐取决于图像显示驱动。surface必须是DWORD对齐。压缩格式与平面格式。在压缩格式中，yuv都存在一个单一数组中。在平面格式中，YUV会分别单独存放在三个分离的planes下图为surface示意图。]]></description><category></category></item><item><title><![CDATA[Makefile详解&实战]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/133072907</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/133072907</guid><author>ahelloyou</author><pubDate>Wed, 20 Sep 2023 12:13:32 +0800</pubDate><description><![CDATA[makefile详解&实际演示]]></description><category></category></item><item><title><![CDATA[[python] 进度条使用]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/131444952</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/131444952</guid><author>ahelloyou</author><pubDate>Wed, 28 Jun 2023 21:07:17 +0800</pubDate><description><![CDATA[【代码】[python] 进度条使用。]]></description><category></category></item><item><title><![CDATA[Android Studio引用第三方库的方式]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/131077260</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/131077260</guid><author>ahelloyou</author><pubDate>Tue, 06 Jun 2023 22:15:12 +0800</pubDate><description><![CDATA[Android Studio引用第三方库的方式
]]></description><category></category></item><item><title><![CDATA[Vscode Git 显示一堆未跟踪更改解决]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/128932978</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/128932978</guid><author>ahelloyou</author><pubDate>Wed, 08 Feb 2023 11:43:31 +0800</pubDate><description><![CDATA[Vscode Git 显示一堆未跟踪更改解决]]></description><category></category></item><item><title><![CDATA[Android Studio引用AAR的方式]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/128731277</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/128731277</guid><author>ahelloyou</author><pubDate>Wed, 18 Jan 2023 23:00:35 +0800</pubDate><description><![CDATA[Android Studio引用AAR的方式]]></description><category></category></item><item><title><![CDATA[音视频同步原理]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/128154450</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/128154450</guid><author>ahelloyou</author><pubDate>Fri, 02 Dec 2022 20:53:21 +0800</pubDate><description><![CDATA[webrtc音视频同步]]></description><category></category></item><item><title><![CDATA[CMake变量可见性学习]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/126380537</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/126380537</guid><author>ahelloyou</author><pubDate>Wed, 17 Aug 2022 10:28:15 +0800</pubDate><description><![CDATA[cmake变量可见scope学习]]></description><category></category></item><item><title><![CDATA[Leetcode768. 最多能完成排序的块 II]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/126321682</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/126321682</guid><author>ahelloyou</author><pubDate>Sat, 13 Aug 2022 17:01:09 +0800</pubDate><description><![CDATA[单调栈]]></description><category></category></item><item><title><![CDATA[手把手教你简历制作需要注意的点]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/125869936</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/125869936</guid><author>ahelloyou</author><pubDate>Tue, 19 Jul 2022 13:18:42 +0800</pubDate><description><![CDATA[简历制作小技巧，教你如何避坑]]></description><category></category></item><item><title><![CDATA[2022 第297周周赛]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/125463821</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/125463821</guid><author>ahelloyou</author><pubDate>Sat, 25 Jun 2022 20:36:26 +0800</pubDate><description><![CDATA[leetcode第297周周赛]]></description><category></category></item><item><title><![CDATA[CMake使用心得]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/125398889</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/125398889</guid><author>ahelloyou</author><pubDate>Tue, 21 Jun 2022 21:31:01 +0800</pubDate><description><![CDATA[CMake工作流程简介]]></description><category></category></item><item><title><![CDATA[大小端详解]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/125211219</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/125211219</guid><author>ahelloyou</author><pubDate>Thu, 09 Jun 2022 21:16:40 +0800</pubDate><description><![CDATA[编程基础知识之大小端]]></description><category></category></item><item><title><![CDATA[C++函数返回优化]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/124793720</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/124793720</guid><author>ahelloyou</author><pubDate>Mon, 16 May 2022 09:48:20 +0800</pubDate><description><![CDATA[C++函数返回优化
我们知道，函数运行结束后，函数内部的局部变量就会消失，当函数返回的对象的时候，会产生一个临时对象，这样会消耗很多的计算资源，写一段代码进行测试。
#include &lt;iostream&gt;
using namespace std;

class MyBuff {
 public:
  MyBuff() {
    cout &lt;&lt; "MyBuff()" &lt;&lt; endl;
  }
  MyBuff(const MyBuff&amp; b) = delete;
]]></description><category></category></item><item><title><![CDATA[水塘抽样(解决k个数据均匀抽样问题)]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/124411764</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/124411764</guid><author>ahelloyou</author><pubDate>Mon, 25 Apr 2022 18:54:28 +0800</pubDate><description><![CDATA[水塘抽样
文章目录水塘抽样背景思路k=1k&gt;1例题[398. 随机数索引](https://leetcode-cn.com/problems/random-pick-index/)
背景
给定一个数据流，但是数据流的长度N很大，且N直到处理完所有数据之前都不可知，如何在只遍历一遍数据（O(N)）的情况下，能够随机选取出这组数据的k个概率相等的均匀抽样。(包含未知大小数据流中随机选取k个数据，使得每个数据抽取到的概率相等)
（1）仅扫描数据一次。
（2）空间复杂度为O(K)。空间复杂度与整个数据量无关，]]></description><category></category></item><item><title><![CDATA[android studio 调用C++代码]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/124232052</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/124232052</guid><author>ahelloyou</author><pubDate>Sun, 17 Apr 2022 16:45:31 +0800</pubDate><description><![CDATA[Android studio调用C++代码
JNI原理
JNI(Java Native Interface)叫做JAVA本地接口。
JAVA是一种跨平台的语言，这种特性依赖的是Java虚拟机，虚拟机由C/C++编写。适配各个系统，通过JNI为上层的JAVA应用提供各种服务，保证跨平台性。
JNI查找
Android系统在启动启动过程中，先启动Kernel创建init进程，紧接着由init进程fork第一个横穿Java和C/C++的进程，即Zygote进程。Zygote启动过程中会AndroidRuntime]]></description><category></category></item><item><title><![CDATA[机器人学运动模型]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/123507540</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/123507540</guid><author>ahelloyou</author><pubDate>Tue, 15 Mar 2022 17:21:02 +0800</pubDate><description><![CDATA[机器人学运动模型
文章目录机器人学运动模型DOF (degree of freedom)DOM  (degree of mobility)常见运动模型differential-drive modelbicycle model
DOF (degree of freedom)


每一个robot都有确定的自由度，每个自由度都有一个驱动器那么所有的自由度都是可控的


自由度： 物体能够对坐标系进行独立动作的数目一个物体可以相对于坐标系，进行三个平移和三个旋转运动，即一个简单的物体有六个自由度。



DOM ]]></description><category></category></item><item><title><![CDATA[适配器模式C++详解]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/123264127</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/123264127</guid><author>ahelloyou</author><pubDate>Thu, 03 Mar 2022 21:15:21 +0800</pubDate><description><![CDATA[适配器模式
文章目录适配器模式适配器模式C++实现
适配器模式(Adapter)，将一个类的接口转换成客户希望的另外接口。（比如变压器et）Adapter模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。

主要解决的原本的类已经有了，但却不能直接使用，而且短时间内无法改造它，或者压根就无法改造的时候就需要适配它。

也就是说，当系统数据和行为都是正确的时候，但是接口不符合，这时候就使用Adapter

适配器模式C++实现
假设，现在有现有的各种动物，都是现成的，有猫、狗。他们都有各自的方法比如说]]></description><category></category></item><item><title><![CDATA[状态模式C++详解]]></title><link>https://blog.youkuaiyun.com/ahelloyou/article/details/123252085</link><guid>https://blog.youkuaiyun.com/ahelloyou/article/details/123252085</guid><author>ahelloyou</author><pubDate>Thu, 03 Mar 2022 13:46:50 +0800</pubDate><description><![CDATA[状态模式C++详解
文章目录状态模式C++详解状态模式由来状态模式c++实现
状态模式由来
面向对象设计其实就是希望做到代码的责任分解(也就是说，将状态设计成类，将责任分离，这个状态应该干嘛干嘛这样)。
状态模式： 当一个对象的内在状态改变的时候，允许其改变行为。
状态模式主要解决的是当控制一个对象状态转移的表达式过于复杂的时候，将状态的判断逻辑转移到表示不同状态的一系列的类当中，可以把复杂的判断逻辑简单化

状态模式c++实现
Context.h
#ifndef CONTEXT_H_
#define CO]]></description><category></category></item></channel></rss>