自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

发展是曲折的但也是前进的

人生路漫漫 只能上下求索

  • 博客(57)
  • 资源 (3)
  • 收藏
  • 关注

转载 纠删码:定义及常见类型

你能给纠删码一个好的定义吗? Ethan Miller:纠删码是在丢失部分数据的情况下根据剩余数据将丢失的数据重建的一组算法。举个例子,如果我想保护六份数据,我会使用一种纠删码算法来产生两份额外的数据,这样总共就会有八份数据。这八份数据中的任意六份数据都能恢复另外两份数据。 纠删码的要点是你可以选择对数据做任意数量的分片。我知道一些纠删码可以将数据至多分成200片或者奇数片,你也可以选择校验数

2016-11-28 22:21:38 3160

转载 视频直播技术详解之一:开篇

随着互联网用户消费内容和交互方式的升级,支撑这些内容和交互方式的基础设施也正在悄悄发生变革。手机设备拍摄视频能力和网络的升级催生了大家对视频直播领域的关注,吸引了很多互联网创业者或者成熟企业进入该领域。七牛云作为一家以基础服务能力见长的云计算公司,于 6 月底发布了一个针对视频直播的实时流网络 LiveNet 和完整的直播云解决方案,很多开发者对这个网络和解决方案的细节和使用场景非常感兴趣

2016-11-27 22:40:09 630

转载 正则表达式入门教程

如何使用本教程最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :)别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有想像中的那么困难。当然,如果你看完了这篇教程之后,发现自己明白了很多,却又几乎什么都记不得,那也是很正常的——我认为,没接触过正则表达式的人在看完这篇教程后,能把提到过的语法记住80%以上的

2016-11-27 22:29:29 344

转载 Python进阶09 动态类型

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!谢谢TeaEra, 猫咪cat 动态类型(dynamic typing)是Python另一个重要的核心概念。我们之前说过,Python的变量(variable)不需要声明,而在赋值时,变量可以重新赋值为任意值。这些都与动态类型的概念相关。 动态

2016-11-27 21:24:05 315

转载 Python进阶08 异常处理

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!本文特别感谢kylinfish的纠正,相关讨论见留言区。 异常处理在项目开发中,异常处理是不可或缺的。异常处理帮助人们debug,通过更加丰富的信息,让人们更容易找到bug的所在。异常处理还可以提高程序的容错性。我们之前在讲循环对象的时候,曾提到一个StopI

2016-11-27 21:09:06 414

转载 Python进阶07 函数对象

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 秉承着一切皆对象的理念,我们再次回头来看函数(function)。函数也是一个对象,具有属性(可以使用dir()查询)。作为对象,它还可以赋值给其它对象名,或者作为参数传递。 lambda函数在展开之前,我们先提一下lambda函数。可以利用

2016-11-27 20:55:19 345

转载 Python进阶06 循环对象

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 这一讲的主要目的是为了大家在读Python程序的时候对循环对象有一个基本概念。循环对象的并不是随着Python的诞生就存在的,但它的发展迅速,特别是Python 3x的时代,循环对象正在成为循环的标准形式。 什么是循环对象循环对象是这

2016-11-27 20:30:32 330

转载 Python进阶04 函数的参数对应

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我们已经接触过函数(function)的参数(arguments)传递。当时我们根据位置,传递对应的参数。我们将接触更多的参数传递方式。 回忆一下位置传递:def f(a,b,c): return a+b+cprint(f(1,2

2016-11-27 19:46:40 356

转载 Python进阶03 模块

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我们之前看到了函数和对象。从本质上来说,它们都是为了更好的组织已经有的程序,以方便重复利用。模块(module)也是为了同样的目的。在Python中,一个.py文件就构成一个模块。通过模块,你可以调用其它文件中的程序。 引入模块我们先

2016-11-27 12:18:04 380

转载 差网络模拟工具---clumsy

我们开发基于网络的应用时,经常需要考虑当网路较差时的异常处理,clumsy就是这个可以用来进行网络延迟的工具,可以实时的修改网络延迟、丢包、篡改等网络异常情况。clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现。简介利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的

2016-11-23 09:00:23 3840

转载 为什么udp为什么不能发送大于1472字节数据

在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好?       当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,这里仅对像ICQ一类的发送聊天消息的情况作分析,对于其他情况,或许也能得到一点帮助: 首先,我们知道,TCP/IP通常被认为是一个四层协议系统,包括链路层,网络层,传输层,应用层.UDP属于运输层,下面我们由下至上一步一

2016-11-22 10:15:53 1231

转载 c# 特性/属性(Attribute) 以及使用反射查看自定义特性

可能很多人还不了解特性,所以我们先了解一下什么是特性。想想看如果有一个消息系统,它存在这样一个方法,用来将一则短消息发送给某人:// title: 标题;author:作者;content:内容;receiverId:接受者Idpublic bool SendMsg(string title, string author, string content, int receiverId){

2016-11-22 00:30:06 2314 1

转载 使用Signature Tool自动生成P/Invoke调用Windows API的C#函数声明

在网上看到很多网友在.NET程序中调用Win32 API,或者调用自己的VC DLL里面提供的函数的时候,总是被生成正确的C函数在C#中的正确声明而困扰,而生成C++中结构体在C#中的声明 - 天,没有什么比这个更让人恶心的事情了。因为:1.         如果你的结构体里面包含 TCHAR字符串成员的话,需要考虑ANSI和Unicode DLL的情形。2.         如果你的结构

2016-11-21 22:08:23 392

转载 MarshalAs的使用

参考:http://blog.sina.com.cn/s/blog_4e4ee8ed0100elou.html作用:MarshalAs属性指示如何在托管代码和非托管代码之间封送数据。使用方法:[MarshalAs(UnmanagedType unmanagedType, 命名参数)]实际上相当于构造一个MarshalAsAttribute类的对象

2016-11-21 21:46:44 13905

转载 Lambda表达式详解

前言        1、天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西。        2、夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅。据说它是微软自c#1.0后新增的最重要的功能之一。lambda简介     lambda运算符:所有的lambda表达式都是用新的lambda运算符 " => ",可以叫他,“转到”或者

2016-11-21 17:35:07 492

转载 协议森林17 我和你的悄悄话 (SSL/TLS协议)

作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系。  TLS名为传输层安全协议(Transport Layer Protocol),这个协议是一套加密的通信协议。它的前身是SSL协议(安全套接层协议,Secure Sockets Layer)。这两个协议的工作方式类似,但TLS协议针对SSL协议进行了一些改善。SSL/TLS协议利用

2016-11-20 00:05:07 411

转载 协议森林16 小美的桌号(DHCP协议)

作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系。 DHCP协议用于动态的配置电脑的网络相关参数,如主机的IP地址,路由器出口地址、DNS域名服务器地址等。一台电脑只要接上网,就可以通过DHCP协议获得相关配置,从而顺利的畅游网络。 网络配置电脑刚刚接上网络时,像一个走入一家新餐厅的食客,不免会有很多疑惑:

2016-11-19 23:22:53 374

转载 协议森林15 先生,要点单吗? (HTTP协议概览)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我在TCP流通信中说明了,TCP协议实现了数据流的传输。然而,人们更加习惯以文件为单位传输资源,比如文本文件,图像文件,超文本文档(hypertext document)。*** 超文本文档中包含有超链接,指向其他的资源。超文本文档是万维网(World

2016-11-19 22:34:37 382

转载 协议森林13 9527 (DNS协议)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!  在周星驰的电影《唐伯虎点秋香》中,周星驰饰演的主角一进入华府,就被强制增加了一个代号9527。从此,华府的人开始称呼主角为9527,而不是他的姓名。域名(domain name)是IP地址的代号。域名通常是由字符构成的。对于人类来说,字符构成的域名

2016-11-19 13:27:09 474

转载 协议森林12 天下为公 (TCP堵塞控制)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在TCP协议中,我们使用连接记录TCP两端的状态,使用编号和分段实现了TCP传输的有序,使用advertised window来实现了发送方和接收方处理能力的匹配,并使用重复发送来实现TCP传输的可靠性。我们只需要将TCP片段包装成IP包,扔到网络中就可以了。T

2016-11-19 12:54:00 387

转载 协议森林11 涅槃 (TCP重新发送)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! TCP协议是一个可靠的协议。它通过重新发送(retransmission)来实现TCP片段传输的可靠性。简单的说,TCP会不断重复发送TCP片段,直到片段被正确接收。 TCP片段丢失 TCP头部的checksum接收方(rec

2016-11-19 12:25:51 534

转载 协议森林10 魔鬼细节 (TCP滑窗管理)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在TCP协议与"流"通信中,我们建立了滑窗(sliding window)的基本概念。通过滑窗与ACK的配合,我们一方面实现了TCP传输的可靠性,另一方面也一定程度上提高了效率。其工作方式如下面的视频所示:如果视频加载有问题,可点下面链接: ht

2016-11-19 12:06:29 393

转载 wireshark 抓取本机的包

在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信。但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以。具体方法如下:      1、以管理员身份运行cmd     2、route add 本机ip mask 255.255.255.255 网关ip      for example rou

2016-11-17 15:06:28 1501

转载 UDP 远程主机强迫关闭了一个现有的连接

在UDP通信过程中,如果客户端中途断开,服务器会收到一个SocketException,错误ID为10054,描述是“远程主机强迫关闭了一个现有的连接”,紧接着的事就可怕了,UDP服务终止监听,所有客户端都受到了影响。也就是说一个客户端引起的异常导致了整个系统的崩溃。 找了好几天了。终于找到了解决办法。 在初始化对象后设置属性如下:         

2016-11-17 14:48:21 1722

转载 C#中指针*的使用(unsafe关键字与fixed 语句)

unsafe 关键字表示不安全上下文,该上下文是任何涉及指针的操作所必需的。有关更多信息,请参见不安全代码和指针(C# 编程指南)。可以在类型或成员的声明中使用 unsafe 修饰符。因此,类型或成员的整个正文范围均被视为不安全上下文。例如,以下是用 unsafe 修饰符声明的方法: [csharp] view plain copy unsafe static void

2016-11-16 17:31:37 4459

转载 协议森林09 爱的传声筒 (TCP连接)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在TCP协议与"流"通信中,我们概念性的讲解了TCP通信的方式。可以看到,TCP通信最重要的特征是:有序(ordering)和可靠(reliable)。有序是通过将文本流分段并编号实现的。可靠是通过ACK回复和重复发送(retransmission)实现的。这一篇文

2016-11-13 18:35:56 307

转载 协议森林08 不放弃 (TCP协议与流通信)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!  TCP(Transportation Control Protocol)协议与IP协议是一同产生的。事实上,两者最初是一个协议,后来才被分拆成网络层的IP和传输层的TCP。我们已经在UDP协议中介绍过,UDP协议是IP协议在传输层的“傀儡”,用来实现数据包形式的通

2016-11-13 17:44:54 318

转载 协议森林07 傀儡 (UDP协议)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!我们已经讲解了物理层、连接层和网络层。最开始的连接层协议种类繁多(Ethernet、Wifi、ARP等等)。到了网络层,我们只剩下一个IP协议(IPv4和IPv6是替代关系)。进入到传输层(transport layer),协议的种类又开始繁多起来(比如TCP、UDP、S

2016-11-13 15:50:12 353

转载 协议森林06 瑞士军刀 (ICMP协议)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 到现在为止,我们讲解了网络层中最重要的IP协议(参考协议森林)。IP协议的一个重要补充是是ICMP协议。 ICMP协议ICMP(Internet Control Message Protocol)是介于网络层和传输层的协议。它的主要功能是

2016-11-13 15:33:32 321

转载 协议森林05 我尽力 (IP协议详解)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在粗略了解了IP接力和IP地址后,我们再反过来,看一看IP协议的具体细节和设计哲学。 IPv4与IPv6头部的对比我们已经在IP接力中介绍过,一个IP包分为头部(header)和数据(payload/data)两部分。头部是为了实现IP通信必

2016-11-13 15:00:28 395

转载 协议森林04 地址耗尽危机 (IPv4与IPv6地址)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!谢谢xwpcom纠错 IP地址是IP协议的重要组成部分,它可以识别接入互联网中的任意一台设备。在IP接力中,我们已经看到,IP包的头部写有出发地和目的地的IP地址。IP包上携带的IP地址和路由器相配合,最终允许IP包从互联网的一台电脑传送到另一台。

2016-11-13 14:29:14 365

转载 协议森林03 IP接力赛 (IP, ARP, RIP和BGP协议)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 网络层(network layer)是实现互联网的最重要的一层。正是在网络层面上,各个局域网根据IP协议相互连接,最终构成覆盖全球的Internet。更高层的协议,无论是TCP还是UDP,必须通过网络层的IP数据包(datagram)来传递信息。操作系统也会提供

2016-11-13 13:28:48 443

转载 协议森林02 小喇叭开始广播 (以太网与WiFi协议)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! “小喇叭开始广播啦”,如果你知道这个,你一定是老一辈的人。“小喇叭”是五十年代到八十年代的儿童广播节目。在节目一开始,都会有一段这样的播音:“小朋友,小喇叭开始广播了!” 听到这里,收音机前的小朋友就兴奋起来,准备好听节目了:这一期的内容是以太网(Ethernet)

2016-11-13 11:08:39 407

转载 协议森林01 邮差与邮局 (网络协议概观)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 信号的传输总要符合一定的协议(protocol)。比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号。这样一个“狼烟=敌人入侵”就是一个简单的协议。协议可以更复杂,比如摩尔斯码(Morse Code),使用短信号和长信号的

2016-11-13 09:58:46 331

转载 协议森林

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 互联网是为了通信,通信又依赖于协议。我们交谈时,要符合语法和用语规范。机器之间的通话也要符合协议。否则,鸡同鸭讲,无法相互理解。“协议森林”是我的一系列关于网络协议的文章,总结了多个网络协议。网络协议属于技术,但深受政策与历史的影响。Ethernet, IP, UDP,

2016-11-13 09:57:49 557

转载 C#中Dispose,finalize,GC,析构函数区别

释放类所使用的未托管资源的两种方式:        1.利用运行库强制执行的析构函数,但析构函数的执行是不确定的,而且,由于垃圾收集器的工作方式,它会给运行库增加不可接受的系统开销。        2.IDisposable接口提供了一种机制,允许类的用户控制释放资源的时间,但需要确保执行Dispose()。       一般情况下,最好的方法是执行这两种机制,获得这两种机

2016-11-12 22:40:41 418

转载 内存映射文件详解-----C++实现

先不说内存映射文件(即一块内存和一个文件相映射对应)是什么。贴个代码先,。[cpp] view plaincopy#include   #include   #include   #include   using namespace std;    int main()  {      //开始      

2016-11-10 22:07:45 1073

转载 calling convention

作者:星轨(oRbIt)     E_Mail:inte2000@163.com     转载请注明原作者,否则请勿转载       使用C/C++语言开发软件的程序员经常碰到这样的问题:有时候是程序编译没有问题,但是链接的时候总是报告函数不存在(经典的LNK 2001错误),有时候是程序编译和链接都没有错误,但是只要调用库中的函数就会出现堆栈异常。这些现象通常是出现在C和C++的

2016-11-10 14:31:25 4090

转载 c#调用C++写的DLL,传递二维指针参数

c++中函数声明如下:bool Test(float** arr,int rows,int cols);C#无法直接调用这种参数的函数,C#中你描述的那种二维数组,本质上跟一维数组一致。倒是single[][]跟float**是类似的,但是也不能直接传递。然后具体说说float* arr arr为指向float型的指针single[] arr arr为sin

2016-11-10 14:14:17 5897

转载 在 C# 中通过 P/Invoke 调用Win32 DLL

https://msdn.microsoft.com/zh-cn/library/aa686045.aspx我在自己最近的编程中注意到一个趋势,正是这个趋势才引出本月的专栏主题。最近,我在基于 Microsoft® .NET Framework 的应用程序中完成了大量的 Win32® Interop。我并不是要说我的应用程序充满了自定义的 interop 代码,但有时我会在 .

2016-11-08 21:28:25 1283

敏捷软件开发 中文版

agile software development

2013-09-27

精通Direct3D图形与动画程序设计

Direct3D 图形与动画 精通,属于入门级别的吧 ,别人推荐的,是一本不错的书

2012-06-23

TINDEM线性内插不确定性模型

TINDEM线性内插不确定性的随机过程模型

2010-06-21

空空如也

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

TA关注的人

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