- 博客(29)
- 资源 (5)
- 收藏
- 关注
原创 Makefile初学之谜之隐式规则
顺序这次OK了,但是Makefile竟然创建了all.c 和 all.o,最后又删除了,因为隐式规则里面加了target all依赖于all.o。但是为什么两次创建all.c和all.o的时机又不一样呢?疑惑对于traget: all的话,依赖顺序不是foo.o -> bar.o -> all.o吗?为什么执行顺序和预期不一样呢?难道是依赖没有顺序的?所以是隐式规则在捣蛋啊!
2023-12-03 10:38:59 102
原创 自我介绍和项目经验【英文】
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...
2018-09-17 10:47:32 15487
原创 C语言中容易混淆的几对概念
1、数组指针和指针数组数组指针:顾名思义是指针,其指向某个数组指针数组:顾名思义是数组,其是存储指针的数组可是数组指针和指针数组长啥样呢?int (*p)[4];int *p[4];码农们分得清楚吗?有个简单的原则是看变量和哪个运算符先结合?首先三个运算符的优先级如下:() = [] > *第一个由于从左往右运算,所以*p优先级高,所以这是数组指针;...
2018-07-29 21:14:53 557
原创 敏捷开发
敏捷宣言:个体和交互 胜过 过程和工具 可以工作的软件 胜过 面面俱到的文档 客户合作 胜过 合同谈判 响应变化 胜过 遵循计划敏捷开发遵循软件自底向上生长的过程,不断地进行迭代增量开发,最终交付符合客户价值的产品。1、“个体和交互”强调的是团队的作用,这个团队一定是包含设计、开发、测试、质量、PO,一起参与到开发过程中...
2018-07-29 20:20:08 3522
原创 IPD流程
使用了这么多年,今天才知道它的全称,IPD全称Integrated Product Development,即集成产品开发。IPD开发流程共分为6步: CHATER:业务计划书,包括项目范围、目标、验收标准等CDCP:概念决策评审点PDCP:计划决策评审点ADCP:可获得性决策评审点在软件开发过程中一共有6个TR点,对应IPD的流程如上图:TR1:需求分析阶段T...
2018-07-22 23:00:14 13417 1
原创 6年定位问题的总结
一、首先抓取信息:重点是及时性,有效性,包含场景描述、日志、抓包、coredump、临终遗言二、重现问题:根据场景缩小范围。如果必现,恭喜你离解决它就不远了。如果概率,则考虑是不是变量没有初始化,时序,多线程访问等情况三、如果用例以前ok,现在不行,那么分析这期间的上库代码,人工走读无法得出,则二分法屏蔽代码,来确认代码四、如果前面的办法都不行,则利用有效的工具分析,性能问题gprof,内存问题v...
2018-05-11 08:04:48 240
原创 SDP详解
参考文章: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 多播或单...
2018-05-10 22:39:18 12106
原创 DH交换秘钥算法
参考博客:https://blog.csdn.net/zzminer/article/details/8571289在SSL/TLS协商秘钥过程中,一般会采取两种算法:RSA和DH。RSA算法主要是通过公钥证书和私钥证书来进行加解密。当服务端向客户端发送Certificate之后,客户端生成公共秘钥,再用服务端的公钥进行加密,通过Client Key Exchange消息发送给服务端,服务端收到消...
2018-05-07 08:11:27 1895
原创 CPU使用率
闲来无事,在一台2 CPU * 4物理核的服务器上,写了一个while(1)的死循环,然后top查询,发现CPU占用率是100%,为啥不是800%呢?为啥有些进程可以达到200%的CPU,死循环不是要占满所有CPU啊? 原来是我忘记了线程的定义:线程是CPU调度的基本单元,它与属于同一个进程的其他线程共享代码段、数据段和其他操作系统资源。 然后写了一个小程序,实现了两个线程跑w...
2018-05-06 22:52:09 197
原创 SSL/TLS概述
参考文章: 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...
2018-05-04 21:57:36 867
原创 Reed Solomon编码
参考文章:https://blog.csdn.net/shelldon/article/details/54144730参考文章:https://blog.csdn.net/shelldon/article/details/54729687Reed Solomon利用范特蒙矩阵或者柯西矩阵的特性来实现纠错码的功能。下面着重介绍Reed Solomon编解码原理:一、Reed Solomon编码把输...
2018-05-03 23:07:31 25930
原创 TIME_WAIT状态
当主动关闭连接,收到对端的Fin后,socket会进入到TIME_WAIT状态,用于重传FIN的ACK消息,这个状态会维持2MSL时长。那么此时绑定本地IP:端口,系统会报Address already in use。有两种方法可以允许重新使用处于TIME_WAIT状态的端口:(1)设置选项SO_REUSEADDR,但是TCP不允许一个新的连接建立在相同的插口对上。client[bsdi:1098...
2018-05-02 23:18:38 538
原创 TCP协议相关的定时器
参考博客: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)重传定时器:当收不...
2018-04-25 08:25:33 367
原创 RFC4028 Session Timers in the Session Initiation Protocol (SIP)阅读整理
Session Timers主要目的是防止UA因为程序异常或者网络异常,无法发送bye给对端(包括proxy、UA),导致对端单方面的保持一个“僵尸”会话。所以RFC4028介绍了一种会话保活机制来避免这种场景。会话保活另一个应用于NAT保活,防止NAT老化。 Supported头域中携带timer标签表示支持会话保活 Session-Expires头域中包含保活时间和刷新方。...
2018-04-23 21:53:34 904
原创 H264UC简单分析
我理解的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...
2018-04-23 18:55:01 409 1
原创 免费ARP
原文地址:http://www.vants.org/?post=118免费ARP的格式 免费ARP报文与普通ARP请求报文的区别在于普通的ARP请求报文,其ARP封装内的“目的IP地址”是其他机器的IP地址,而免费ARP的请求报文,其ARP封装内的“目的IP地址”是其自己的IP地址。免费ARP的封装格式如下图所示: 免费ARP报文的封装格式图示免费ARP的作用(1)一个主机可以通过免费...
2018-04-23 11:07:54 964
原创 求最大子数组的三种方法
(1)暴力求解,运行时间是n² int ans = -1000000; for(int i=0; i<n; i++) { int sum = 0; for(int j=i; j<n; j++) { sum += nums[j]...
2018-04-23 07:59:46 13892 7
原创 Linux链接动态库的方式
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能达到目的...
2018-04-21 17:09:41 3197
原创 关于SDP中协商SRTP加密信息
RFC4568中关于媒体流加密说明时,在SDP中新增了"crypto"字段用于描述加密信息,格式如下: a=crypto:<tag> <crypto-suite> <key-params> [<session-params>]其中: l tag为十进制数字,用于标...
2018-04-21 16:36:58 4315
原创 RFC4317 Session Description Protocol (SDP) Offer/Answer Examples 第二章节阅读笔记
在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 ...
2018-04-21 13:06:56 262
原创 SDP offer-answer协商原则
规则1:初始Offer必须在INVITE消息或者第一个可靠的非失败型响应中。(理解:初始的Offer不能在Prack/Ack/Update中)规则2:如果初始Offer在INVITE消息中,Answer必须出现在一个可靠的非失败型响应中(补充:当可靠的1**响应和2**响应都携带了SDP,那么两者的SDP内容必须一致,且2**中的SDP被忽略)规则3:如果初始Offer出现在第一个可靠的非失败型响...
2018-04-20 12:56:31 2745
转载 【转载】Linux性能评测工具之一:gprof篇
【转载】Linux性能评测工具之一:gprof篇 http://blog.csdn.net/stanjiang2010/article/details/5655143
2016-02-19 11:38:35 348
转载 【转载】gcov 用法 --用于统计代码覆盖率
【转载】gcov 用法-denmouse-ChinaUnix博客 http://blog.chinaunix.net/uid-13182088-id-2904573.html
2016-02-19 11:31:09 300
原创 字节序
每次看字节序都晕晕的,今天稍微整理下,将理解整理如下 内存地址 从左到右 从低地址到高地址整数大小 从左到右 从高位到低位 大端序:高位字节放在低地址,所以其在内存中的顺序就如同书写顺序一样小端序:高位字节放在高地址,低位字节放在低地址,和人脑的思维顺序是一样的,但是呈现出来就是颠倒顺序 举例如下:整数0x1234abcd,放在内存中的顺序
2016-02-16 15:31:54 309
原创 ICE总结
NAT类型:分两大类 锥形NAT:完全圆锥型 --私网IP1:port1访问公网IP2:port2映射的地址IP3:port3,其他任意IP都可以访问IP3:port3 约束型 --私网IP1:port1访问公网IP2:port2映射的地址IP3:port
2016-01-22 13:57:55 373
原创 一道有趣的编程题
题目:实现字符串拼接 replace(replace(replace(replace(relatedzoneidinfo, '501', '0'), '502', '0'), '503', '0'), '504', '0')答案:方案一:先组装四个replace(, + relatedzoneidinfo + 组装四个 ,‘id’,'0') 总结:简
2016-01-22 11:08:46 434
原创 双机热备方案
双机热备方案:(1)基于共享存储(磁盘阵列)方式 优点:可靠性高 缺点:价格昂贵(2)纯软件方式 优点:节约成本 缺点:如果在服务中断时切换到备份服务器,则可能有少量已经在主机完成的事务在备机上尚未实现。而与备份数据的恢复不同,备机启动后,后面的操作已经进行,因此丢失的数据包要找回就相当难。故此种方式适
2015-12-24 13:59:36 997
原创 双机热备
双机热备概念:(1)故障隔离:当主用服务器发生故障了,备用服务器能够快速切换为主用,连续性的提供服务。热备并不能解决故障,仅进行故障检测(2)故障检测:a.系统级 --备用服务器之间通过心跳来检测主用服务器是否正常,或和主用之间的网络是否正常 b.应用级 --两台服务器各自实时检测本地的子系统运行是否正常
2015-12-24 10:14:35 706
转载 Options用法
SIP方法OPTIONS允许一个UA来查询另外一个UA或者proxy服务器的能力。这个提供个客户端一个手段来查询服务端支持的方法,内容类型,扩展,codecs等等。这些都不用”ringing”对方。比如,在客户端试图在INVITE请求头中增加一个请求字段选项的时候,它并不知道对方UAS能否支持这个选项,它就可以用OPTIONS来查询一下UAS,通过检查OPTIONS返回的Supported头域,就
2014-09-02 09:49:52 1844
matlab6.5从入门到精通
2009-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人