<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wangsiman的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wangsiman</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wangsiman]]></copyright><item><title><![CDATA[Makefile初学之谜之隐式规则]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/134761436</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/134761436</guid><author>wangsiman</author><pubDate>Sun, 03 Dec 2023 10:38:59 +0800</pubDate><description><![CDATA[顺序这次OK了，但是Makefile竟然创建了all.c 和 all.o，最后又删除了，因为隐式规则里面加了target all依赖于all.o。但是为什么两次创建all.c和all.o的时机又不一样呢？疑惑对于traget: all的话，依赖顺序不是foo.o -> bar.o -> all.o吗？为什么执行顺序和预期不一样呢？难道是依赖没有顺序的？所以是隐式规则在捣蛋啊！]]></description><category></category></item><item><title><![CDATA[自我介绍和项目经验【英文】]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/82733049</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/82733049</guid><author>wangsiman</author><pubDate>Mon, 17 Sep 2018 10:47:32 +0800</pubDate><description><![CDATA[My name is ***. I'm ** years old. I have grauduated from ** University since 2000. I majored in pattern learning and Artificial Intelligence and I got my master's degree in 2000. I joined ** company s...]]></description><category></category></item><item><title><![CDATA[C语言中容易混淆的几对概念]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/81275256</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/81275256</guid><author>wangsiman</author><pubDate>Sun, 29 Jul 2018 21:14:53 +0800</pubDate><description><![CDATA[1、数组指针和指针数组

数组指针：顾名思义是指针，其指向某个数组

指针数组：顾名思义是数组，其是存储指针的数组

可是数组指针和指针数组长啥样呢？

int (*p)[4];

int *p[4];

码农们分得清楚吗？

有个简单的原则是看变量和哪个运算符先结合？

首先三个运算符的优先级如下：（） = []    &amp;gt; *

第一个由于从左往右运算，所以*p优先级高，所以这是数组指针；...]]></description><category></category></item><item><title><![CDATA[敏捷开发]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/81195306</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/81195306</guid><author>wangsiman</author><pubDate>Sun, 29 Jul 2018 20:20:08 +0800</pubDate><description><![CDATA[敏捷宣言：

个体和交互        胜过 过程和工具
	可以工作的软件 胜过 面面俱到的文档
	客户合作            胜过 合同谈判
	响应变化            胜过 遵循计划
敏捷开发遵循软件自底向上生长的过程，不断地进行迭代增量开发，最终交付符合客户价值的产品。



1、“个体和交互”强调的是团队的作用，这个团队一定是包含设计、开发、测试、质量、PO，一起参与到开发过程中...]]></description><category></category></item><item><title><![CDATA[IPD流程]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/81160189</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/81160189</guid><author>wangsiman</author><pubDate>Sun, 22 Jul 2018 23:00:14 +0800</pubDate><description><![CDATA[使用了这么多年，今天才知道它的全称，IPD全称Integrated Product Development，即集成产品开发。IPD开发流程共分为6步：



 

CHATER：业务计划书，包括项目范围、目标、验收标准等

CDCP：概念决策评审点

PDCP：计划决策评审点

ADCP：可获得性决策评审点

在软件开发过程中一共有6个TR点，对应IPD的流程如上图：

TR1：需求分析阶段

T...]]></description><category></category></item><item><title><![CDATA[6年定位问题的总结]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80276178</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80276178</guid><author>wangsiman</author><pubDate>Fri, 11 May 2018 08:04:48 +0800</pubDate><description><![CDATA[一、首先抓取信息：重点是及时性，有效性，包含场景描述、日志、抓包、coredump、临终遗言二、重现问题：根据场景缩小范围。如果必现，恭喜你离解决它就不远了。如果概率，则考虑是不是变量没有初始化，时序，多线程访问等情况三、如果用例以前ok，现在不行，那么分析这期间的上库代码，人工走读无法得出，则二分法屏蔽代码，来确认代码四、如果前面的办法都不行，则利用有效的工具分析，性能问题gprof，内存问题v...]]></description><category></category></item><item><title><![CDATA[SDP详解]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80274912</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80274912</guid><author>wangsiman</author><pubDate>Thu, 10 May 2018 22:39:18 +0800</pubDate><description><![CDATA[参考文章：https://www.cnblogs.com/yoyotl/p/5649648.html在SDP消息体最重要的是描述媒体信息：1 媒体类型（video, audio, bfcp，h225摄像机控制协议，etc）2 传输协议（RTP/UDP/IP, H.320, etc）3 媒体格式（G711，G721，AAC-LD，H.264 video, MPEG video, etc）4 多播或单...]]></description><category></category></item><item><title><![CDATA[DH交换秘钥算法]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80220665</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80220665</guid><author>wangsiman</author><pubDate>Mon, 07 May 2018 08:11:27 +0800</pubDate><description><![CDATA[参考博客：https://blog.youkuaiyun.com/zzminer/article/details/8571289在SSL/TLS协商秘钥过程中，一般会采取两种算法：RSA和DH。RSA算法主要是通过公钥证书和私钥证书来进行加解密。当服务端向客户端发送Certificate之后，客户端生成公共秘钥，再用服务端的公钥进行加密，通过Client Key Exchange消息发送给服务端，服务端收到消...]]></description><category></category></item><item><title><![CDATA[CPU使用率]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80211434</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80211434</guid><author>wangsiman</author><pubDate>Sun, 06 May 2018 22:52:09 +0800</pubDate><description><![CDATA[    闲来无事，在一台2 CPU * 4物理核的服务器上，写了一个while（1）的死循环，然后top查询，发现CPU占用率是100%，为啥不是800%呢？为啥有些进程可以达到200%的CPU，死循环不是要占满所有CPU啊？    原来是我忘记了线程的定义：线程是CPU调度的基本单元，它与属于同一个进程的其他线程共享代码段、数据段和其他操作系统资源。    然后写了一个小程序，实现了两个线程跑w...]]></description><category></category></item><item><title><![CDATA[SSL/TLS概述]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80174444</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80174444</guid><author>wangsiman</author><pubDate>Fri, 04 May 2018 21:57:36 +0800</pubDate><description><![CDATA[参考文章： http://drops.xmd5.com/static/drops/tips-6002.html                  http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html                  https://www.jianshu.com/p/46e48bc517d0...]]></description><category></category></item><item><title><![CDATA[Reed Solomon编码]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80101654</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80101654</guid><author>wangsiman</author><pubDate>Thu, 03 May 2018 23:07:31 +0800</pubDate><description><![CDATA[参考文章：https://blog.youkuaiyun.com/shelldon/article/details/54144730参考文章：https://blog.youkuaiyun.com/shelldon/article/details/54729687Reed Solomon利用范特蒙矩阵或者柯西矩阵的特性来实现纠错码的功能。下面着重介绍Reed Solomon编解码原理：一、Reed Solomon编码把输...]]></description><category></category></item><item><title><![CDATA[TIME_WAIT状态]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80172947</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80172947</guid><author>wangsiman</author><pubDate>Wed, 02 May 2018 23:18:38 +0800</pubDate><description><![CDATA[当主动关闭连接，收到对端的Fin后，socket会进入到TIME_WAIT状态，用于重传FIN的ACK消息，这个状态会维持2MSL时长。那么此时绑定本地IP：端口，系统会报Address already in use。有两种方法可以允许重新使用处于TIME_WAIT状态的端口：（1）设置选项SO_REUSEADDR，但是TCP不允许一个新的连接建立在相同的插口对上。client[bsdi：1098...]]></description><category></category></item><item><title><![CDATA[TCP协议相关的定时器]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80073278</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80073278</guid><author>wangsiman</author><pubDate>Wed, 25 Apr 2018 08:25:33 +0800</pubDate><description><![CDATA[参考博客：http://blog.qiusuo.im/blog/2014/03/19/tcp-timeout/                 http://perthcharles.github.io/2015/09/07/wiki-tcp-retries/在《TCP/IP详解 卷1：协议》第21章节 TCP的超时和重传中介绍了对于每一个连接，TCP管理4个不同的定时器：（1）重传定时器：当收不...]]></description><category></category></item><item><title><![CDATA[RFC4028 Session Timers in the Session Initiation Protocol (SIP)阅读整理]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80056564</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80056564</guid><author>wangsiman</author><pubDate>Mon, 23 Apr 2018 21:53:34 +0800</pubDate><description><![CDATA[    Session Timers主要目的是防止UA因为程序异常或者网络异常，无法发送bye给对端（包括proxy、UA），导致对端单方面的保持一个“僵尸”会话。所以RFC4028介绍了一种会话保活机制来避免这种场景。会话保活另一个应用于NAT保活，防止NAT老化。    Supported头域中携带timer标签表示支持会话保活    Session-Expires头域中包含保活时间和刷新方。...]]></description><category></category></item><item><title><![CDATA[H264UC简单分析]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80053568</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80053568</guid><author>wangsiman</author><pubDate>Mon, 23 Apr 2018 18:55:01 +0800</pubDate><description><![CDATA[我理解的X-H264UC是标准的H264 SVC的一些扩展和修改。Also understand that any references to H.264 Scalable Video Coding (SVC) in this article infers Microsoft’s specific implementation of the codec, advertised as X-H264U...]]></description><category></category></item><item><title><![CDATA[免费ARP]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/50977630</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/50977630</guid><author>wangsiman</author><pubDate>Mon, 23 Apr 2018 11:07:54 +0800</pubDate><description><![CDATA[原文地址：http://www.vants.org/?post=118免费ARP的格式       免费ARP报文与普通ARP请求报文的区别在于普通的ARP请求报文，其ARP封装内的“目的IP地址”是其他机器的IP地址，而免费ARP的请求报文，其ARP封装内的“目的IP地址”是其自己的IP地址。免费ARP的封装格式如下图所示： 免费ARP报文的封装格式图示免费ARP的作用（1）一个主机可以通过免费...]]></description><category></category></item><item><title><![CDATA[求最大子数组的三种方法]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80045361</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80045361</guid><author>wangsiman</author><pubDate>Mon, 23 Apr 2018 07:59:46 +0800</pubDate><description><![CDATA[(1)暴力求解，运行时间是n²        int ans = -1000000;          for(int i=0; i&amp;lt;n; i++)          {              int sum = 0;              for(int j=i; j&amp;lt;n; j++)              {                  sum += nums[j]...]]></description><category></category></item><item><title><![CDATA[Linux链接动态库的方式]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80031397</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80031397</guid><author>wangsiman</author><pubDate>Sat, 21 Apr 2018 17:09:41 +0800</pubDate><description><![CDATA[Linux下应用程序链接动态库有以下三种方式：改变LD_LIBRARY_PATHexport LD_LIBRARY_PATH=/home/bow/all/program/test/lib_version_test:$LD_LIBRARY_PATH这里/home/bow/all/program/test/lib_version_test是共享库的路径。虽然改变LD_LIBRARY_PATH能达到目的...]]></description><category></category></item><item><title><![CDATA[关于SDP中协商SRTP加密信息]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80030753</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80030753</guid><author>wangsiman</author><pubDate>Sat, 21 Apr 2018 16:36:58 +0800</pubDate><description><![CDATA[RFC4568中关于媒体流加密说明时，在SDP中新增了&quot;crypto&quot;字段用于描述加密信息，格式如下：                         a=crypto:&amp;lt;tag&amp;gt; &amp;lt;crypto-suite&amp;gt; &amp;lt;key-params&amp;gt; [&amp;lt;session-params&amp;gt;]其中：                    l  tag为十进制数字，用于标...]]></description><category></category></item><item><title><![CDATA[RFC4317 Session Description Protocol (SDP) Offer/Answer Examples 第二章节阅读笔记]]></title><link>https://blog.youkuaiyun.com/wangsiman/article/details/80028265</link><guid>https://blog.youkuaiyun.com/wangsiman/article/details/80028265</guid><author>wangsiman</author><pubDate>Sat, 21 Apr 2018 13:06:56 +0800</pubDate><description><![CDATA[在RFC4317中枚举了很多例子，对于常见的不再解释，这里只选择部分记录（1）2.4.  Two Audio StreamsIn this example, Alice wishes to establish separate audio streams, one for normal audio and the other for telephone-events.  Alice offers ...]]></description><category></category></item></channel></rss>