自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HDM1991的专栏

无即是有

  • 博客(14)
  • 收藏
  • 关注

原创 UDP 打洞

前言最初知道 UDP 打洞 这几个字是在公司做一个可靠的 UDP 通信模块时听老大说的。当时也没多了解,结果没事翻自己的日志时发现自己把这几个字记在上面了,于是查了下。主要参考了如下文章:维基百科:UDP打洞UDP穿透NAT的原理与实现额,首先感谢下作者。可以说结合者两篇文章弄清楚 UDP 打洞的原理应该是没问题的。特别是《UDP穿透NAT的原理与实现》这篇文章,几乎写到了 UDP 打洞相关的

2015-06-27 09:53:32 495

原创 《Pro Git》笔记系列前言和目录

前言做为一名开发人员,学会使用一种版本控制系统对自己的开发工作肯定是大有帮助的。以前在公司时,公司使用的 SVN;而对于 git 的学习,最初始于 Github 的使用。最开始学习 git 时,也找了一些不错的资料,但实际效果并不好,一方面这些资料比较零散,另一方面也可以说 git 理解起来并没有那么简单。最后,静下来心来,决定基于《Pro Git》这本书系统的学习下 git 的使用。下面这些笔记就

2015-06-26 17:20:07 643

原创 《Pro Git》笔记五:不常用的工具和对这些工具的看法

前言主要都是一些不太常用的东西,有些感觉这辈子都不会用到。很多东西都是可以通过良好的习惯避免出现使用这些东西的使用情景的,用对的方式做事真的很重要。6.1 Git 工具 - 修订版本(Revision)选择这节我也就觉得通过双点语法指明一定范围的提交有用,下面是一个该语法可能最常用的用法的示例:$ git log origin/master..HEAD // 这条命令显示任何在你当前分支上而不在远程

2015-06-26 17:05:19 462

原创 《Pro Git》笔记四:分布式工作流程

前言分布式工作流程是第 5 章的的内容的一部分,下面的内容其实就是第 5 章的笔记。第5章 分布式 git这章主要就是如下三节:分布式工作流程为项目做贡献项目的管理第一节 分布式工作流层主要是从大体上介绍了采用 git 进行开发时,常见的 3 中工作模式(或工作流程)集中式工作流集成管理员工作流司令官与副官工作流这 3 种工作流,应该说我们最常用,也最可能用到的就是集中式工作流,另外

2015-06-26 16:28:39 542

原创 《Pro Git》笔记三:子模块

前言子模块这个概念在之前的 《Pro Git》笔记二:关于远程仓库的一些思考和记录中已经提到过,应该说这是一个在使用多个开源项目的项目中一定会用到的一个概念。子模块的使用情景在一个项目中需要使用第三方开源项目时。子模块允许你将一个 Git 仓库当作另外一个 Git 仓库的子目录,这允许你克隆另外一个仓库到你的项目中并且保持你项目仓库的提交相对独立。该这么理解这句话呢?请看下面详细分析。为什么需要有子

2015-06-26 12:03:04 488

原创 《Pro Git》笔记二:关于远程仓库的一些思考和记录

前言这篇笔记主要是当初在学习分支,远程仓库,远程分支时记录的一些基本概念和自己的理解。不得不说,这几样东西理解起来有点难,特别是远程仓库,远程分支。分支什么是分支分支上本质上仅仅是个指向提交对象的可变指针。什么是 HEADHEAD是一个指向你正在工作中的本地分支的指针,或者说项目仓库当前分支的指针。分支的主要用途是什么下面这段话是我当初看书时的理解,现在看起来,这应该算是分支的普遍用途吧。 关于

2015-06-24 21:18:03 563

原创 亲历网络节点吞数据

之前做一个小练习时遇到的问题,挺有意思的,还写了个帖子问了下别人。下面是这个帖子的内容,说的还是比较的清楚的。 关于网络节点吞数据的问题 为什么会提出这样一个问题? 原因是在看《Unix 网络编程(卷1)》这本书的第六章时,为了做一个简单的练习,就把第六章基于 select 函数实现的回射服务器和相应的客户端自己实现了下,然后在测试时程序就出现了诡异的问题。 测试时

2015-06-24 12:00:16 642

原创 《Pro Git》笔记一:实用基础操作

前言这篇笔记主要是在看书时记录的自己觉得会用到的一些实用操作和涉及的相关概念。基本上讲每个操作的时候,都会给一个我觉得这个操作最常见使用情景,很多使用情景我已经亲身经历过了。笔记对现有的某个项目进行 git 管理,即从一个现有项目目录初始化项目仓库 在项目根目录下之下如下命令即可。git init删除一个本地仓库 为什么要删除一个本地仓库,比如说我们把一个远端仓库 clone 到了错误的位置,

2015-06-23 15:05:56 633

原创 一个问题 - 当你写一段代码时,你是否会考虑这份代码可能面临的各种执行环境

这是一个很严肃的问题,嗯,是的

2015-06-22 20:30:37 467

原创 字符集和字符集编码杂谈系列之我见

概述记得从看《Windows程序设计》时就遇到过这个问题,字符集,字符集编码,傻傻分不清楚,每次感觉弄清楚了,但不久遇到后又混乱了。所以这次记下一些自己的理解。什么是字符集简而言之,即使一些字符的集合。不同的字符集包含不同的字符。什么是字符集编码如上所说,字符集只是一些字符的集合,并没有定义这些字符如何在计算机内存中如何表示。于是,字符集编码就出现了,字符集编码对字符集中的每一个字符进行编码,这个编

2015-06-22 20:26:10 435

原创 WDK 8.1 Sample - ObCallback Callback Registration Driver 学习总结

概述obcallback 这个 example 比较简单,粗糙,基本就是向我们展示了两种回调函数的用法。下面我们一方面说说这个 example 的总体思路;另一方面说说关于这两种回调函数文档中描述不太清楚,结合具体代码后才弄明白的地方。总体思路这个 example 实现了两个功能,如下:* 保护特定名称的进程不被关闭* 禁止特定名称的进程启动不过这两个功能同时只能使用其中一个,而且就使用的这个功

2015-06-22 18:12:21 1540

原创 关于对 StartIo Routine 的学习和思考

首先说下这篇文章的大致思路,文章的思路就是以一个使用者在使用 StartIo Routine 时的疑问为主线,然后在结合具体的源码和例子,讲自己的一些认识和看法。不过在这片文章中我不会直接引用相关的源码,但会给出这些源码和例子的地址,大家需要的可以自己研究。OK,下面就让我们从我看到这东西的第一个疑问说起。疑问一 StartIo Routine 由谁调用的,运行在什么样的上下文中?通过查看相关源码发

2015-06-22 17:57:52 465

原创 WDK 8.1 Sample - Hardware Event Sample 学习总结

一些想法现在回头在看 Hardware Event Sample 这个例子,它到底有哪些方面值得我们学习?我觉得就是驱动中对一些竞争条件的处理。换个说法讲,如果当我们的驱动面对这样的执行环境时,我们会考虑到这些竞争条件吗?我觉得考虑不到,那为什么考虑不到?说明我们对驱动所处的运行环境的理解还是不够,说白了就是对内核的学习,理解不够。相比较,假如这是一个应用程序,我们是绝对可以考虑的这些竞争条件的。下

2015-06-22 17:05:09 1094

转载 chmod 命令

(转载)每天一个linux命令(27):linux chmod命令向作者表示感谢chmod 命令用于改变 Linux 系统文件或目录的访问权限,用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。Linux 系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。文件或目录的访问权限分为只读,

2015-06-12 17:06:26 479

空空如也

空空如也

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

TA关注的人

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