- 博客(24)
- 收藏
- 关注
原创 TCP -- 传输控制协议
推荐 《图解TCP/IP》,简直是程序员的福音TCP 协议是 面向连接的, 可靠的,流传输,协议。 流:是指 不间断 的数据结构,可以想象成排水管道中的水流。当应用程序采用 TCP 发送消息的时候,虽然可以保证发送的顺序,但是还是犹如没有任何间隔的数据流,发送给接收端。 可以这么理解:在发送端,应用程序发送了10次 100 字节的消息,但是在接收端,应用程序可能会受到一个1000
2015-03-30 22:46:53 986
原创 UDP -- 用户数据报协议
UDP: User Datagram Protocol。 是 OSI 七层模型中的传输层的协议。 也是面向数据报的传输层协议。UDP 的特点UDP 不提供复杂的控制机制,利用 IP 提供面向无连接的通信服务。 并且它是将应用程序传递的数据在接收到的那一刻,立即按照原样发送到网络上的一种机制。应用程序传递数据 ——> UDP 按照原样立即发送。
2015-03-30 21:38:00 1743
翻译 Golang -- 10件你不知道的事情
本文翻译 从 文章进行翻译,在此表示感谢10 things you (probably) don’t know about golang
2015-03-26 23:15:51 2271
原创 Golang -- 使用 Bufferd channel 实现 线程安全的 pool
从 文章 进行转载,再次感谢 概述我们知道,Go 语言已经提供了 sync.Pool,但是做的不怎么好,所以有必要来实现一个 Pool代码type Pool struct { pool chan *Client}// Create a new Poolfunc NewPool(max int) *Pool{ return &Pool{ pool: make(cha
2015-03-26 23:06:10 2615
原创 Golang -- 字节切片
Go 语言标准库 bytes ,实现了对字节数组的各种操作。 It is analogous to the facilities of strings package. (它和string 标准包提供的功能类似) 提供的功能如下;字节切片 处理函数 基本处理函数字节切片比较函数 前后缀检查函数字节切片位置索引函数分割函数大小写处理函数子字节切片处理函数Buffer 对象R
2015-03-23 19:05:51 6302
原创 Go语言中的 Array, Slice和 Map
介绍曾经学习python的时候,记得书上说 dict 是 python的 horsepower(动力)。然后,Slice 和 Map 又何尝不是 golang 的 workhorse 呢?
2015-03-23 14:51:18 2070
原创 Go 语言中的 new() 和 make()的区别
本文是看了文章之后的心得。 在此感谢。概述Go 语言中的 new 和 make 一直是新手比较容易混淆的东西,咋一看很相似。不过解释两者之间的不同也非常容易。
2015-03-23 09:36:13 7831 1
原创 C++ 实现 设计模式 系列
有关设计模式,褒贬不一,这里为了女朋友看,而且为了面试,特地记载下来, 当然已经有很多的好的实现了。我这里也会转载网址。文章推荐首先推荐文章 设计模式系列也是一个非常好的C++博客,写了很多的内容,都可以进行一看! 博客主页
2015-03-22 11:22:54 545
原创 Go 语言的 parse 解析器
解析器起始很简单,但是用处很大。当我们解析 XML文件,json文件,对源代码进行静态分析都是需要解析器。 Go 语言的 parser 是一个十分基础的解析器,采用递归下降语法进行解析。接下来,我就进行逐一的分析!(待完成)
2015-03-20 16:24:32 1892
转载 等概率随机数面试提总结
等概率随机数是面试中经常考的内容,十分重要,再次特地整理一些题目,资料全部来自网上。文章http://blog.csdn.net/chdhust/article/details/10601167 是一个很好的总结。1. 基础问题 和 解决办法。已知: 有一个随机函数 rand_0_and_1_with_p(), 这个随机数生成器,它能够以概率 p 产生0,以概率 (1
2015-03-20 14:22:33 1941 1
原创 Unix exec and Socket
使用exec 执行一个新的程序,会继承父进程打开的文件描述符吗?继承Socket, 继承pipe, 是为了进程间通信。 execl (char* path, const char * arg, …) 用来执行参数path 字符串所代表的文件路径,接下来的参数代表执行该文件的时候传递的 arg[0], arg[1]..等,最后一个参数必须是NULL,或者空指针结束。execl(“/bin/ls”,
2015-03-18 14:56:39 573
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-03-18 11:04:53 283
原创 Unix Socket
过几天,准备好好写一篇,这方面的文章。现在有一些小的问题。首先: read 何时才会返回0?在从一个 socket 读取的时候,socket 其实就是一个文件;1. 如果其中没有数据,那么read 就会阻塞2. 如果来了数据,唤醒阻塞的进程,读取数据,并且返回数据。3. 如果但是毕竟不是真实的存在于物理硬盘上的文件,socket是双方正在通信,什么时候 read 读
2015-03-18 09:47:02 396
原创 make 中 有关 链接库的一个问题
在make 中,编译链接项目的时候,我总是写换这样子写。比如:CC := gccCFLAGS := -Wall -gLDFLAGS := -ljanssonOBJECTS := das.o parse.o utils.oall: $(OBJECTS) $(CC) $(LDFLAGS) $(CFLAGS) $(OBJECTS) -o maindas.o: das.c
2015-03-18 09:38:31 531
原创 使用Java socket 实现 HTTP 协议
突然发现 CSDN 可以使用MarkDown编辑器了,真是一种进步啊!不过貌似出来的太晚了,呵呵。这篇文章我们讲一下如何使用 简单地Java socket 来实现部分的 HTTP协议。1. 要实现HTTP协议必须要了解 HTTP协议HTTP协议是超文本传输协议(Hypertext Transfer Protocol),在OSI七层模型之中属于应用层协议。在传输层由TCP/I
2015-03-06 15:27:44 1509
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人