加载中
源码阅读——十个C开源项目

开源世界有许多优秀的开源项目,我选取其中十个最优秀的、最轻量级的C语言的项目,希望可以为C语言开发人员提供参考。

2014/10/21 15:05
37.6K
Golang测试技术

本篇文章内容来源于Golang核心开发组成员Andrew Gerrand在Google I/O 2014的一次主题分享“Testing Techniques”,即介绍使用Golang开发 时会使用到的测试技术(主要针对单元测试),包括基本...

2016/07/25 15:09
50
大话设计模式(golang) 七、模版方法模式

模式特点:通过吧不变的行为搬到父类,去除子类中的重复代码。 程序实例:考试时使用同一种考卷(父类),不同学生上交自己填写的试卷(子类方法的实现) package main import (   "fmt" ) ...

2016/07/20 09:51
83
大话设计模式(golang) 六、原型模式

模式特点:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 程序实例:从简历原型,生成新的简历,简历类Resume提供Clone()方法。 package main import (   "fmt" ) typ...

2016/07/16 21:18
70
大话设计模式(golang) 五、工厂方法模式

模式特点:定义一个用于创建对象的接口,让子类决定实例化哪一个类。这使得一个类的实例化延迟到其子类。 程序实例:计算器。 package main import (   "fmt" ) type Operation struct {   ...

2016/07/14 22:55
103
golang中的单元测试

一般为了保证整个系统的稳定性,通常都需要编写大量的单元测试,诸如像java的junit,php的phpunit等都提供了类似的功能。golang中的testing包提供了这个测试的功能,结合go test工具搞起来就...

2016/07/13 15:07
55
golang用panic和recover做业务流程中断的尝试

随着使用golang越来越频繁,发现golang有一个地方非常不方便,就是在错误处理方面。先来看看golang中通常的错误处理方法: 通常的error处理 package main import ( "errors" "fmt"...

2016/07/13 14:58
25
golang面向对象思想和实现

golang中并没有明确的面向对象的说法,实在要扯上的话,可以将struct比作其它语言中的class。 类声明 type Poem struct {   Title string   Author string   intro string } 这样就声明了一个...

2016/07/13 14:19
35
大话设计模式(golang) 四、代理模式

模式特点:为其他对象提供一种代理以控制对这个对象的访问。 模式好处:对外部提供统一的接口方法,而代理类在接口中实现对真实类的附加操作行为,从而达到了“对修改关闭,对扩展开放”(O...

2016/07/13 14:06
57
大话设计模式(golang) 三、装饰模式

模式特点:动态地为对象增加额外的职责 程序实例:展示一个人一件一件穿衣服的过程。 package main import (   "fmt" ) type Finery interface {   Show() } type Person struct {   Name ...

2016/07/12 13:41
71
​​​​​​​为什么Lisp语言如此先进?

上周,《黑客与画家》总算翻译完成,已经交给出版社了。 翻译完这本书,累得像生了一场大病。把书稿交出去的时候,心里空荡荡的,也不知道自己得到了什么,失去了什么。 希望这个中译本和我的...

2016/07/12 13:39
703
函数式编程初探

诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。 不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言层出不穷,比如Erlang、clojure、Scala、F#等等。...

2016/07/12 11:38
28
Unix目录结构的来历

Unix(包含Linux)的初学者,常常会很困惑,不明白目录结构的含义何在。 举例来说,根目录下面有一个子目录/bin,用于存放二进制程序。但是,/usr子目录下面还有/usr/bin,以及/usr/local/bi...

2016/07/12 11:29
17
理解inode

inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。 我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,...

2016/07/12 11:28
4
EOF是什么?

我学习C语言的时候,遇到的一个问题就是EOF。 它是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。 比如,下面这段代码...

2016/07/12 11:27
14
理解Linux系统负荷

一、查看系统负荷 如果你的电脑很慢,你或许想查看一下,它的工作量是否太大了。 在Linux系统中,我们一般使用uptime命令查看(w命令和top命令也行)。(另外,它们在苹果公司的Mac电脑上也适...

2016/07/12 11:25
8
每行字符数(CPL)的起源

前几天,我收到网友小龙的Email。 他想与我讨论一个问题: "各种计算机语言的编码风格,有的建议源码每行的字符数(characters per line)不超过72个,还有的建议不超过80个,这是为什么?区...

2016/07/12 11:22
12
回车和换行

今天,我总算搞清楚"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别了。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打1...

2016/07/12 11:15
21
面向对象设计的六大原则

要把软件做得非常灵活又要便于维护是一个很困难的事情。灵活的软件他的结构就复杂,维护起来就困难。有得必有失,关键就在于如何处理这两者,使得大于失。软件的设计开发应遵循以下六大原则:...

2016/07/11 23:16
75
大话设计模式(Golang) 二、策略模式

模式特点:定义算法家族并且分别封装,它们之间可以相互替换而不影响客户端,客户只知道一个类就可以了。 程序实例:商场促销。 package main import (   "fmt" ) type CashSuper interfac...

2016/07/11 21:25
78

没有更多内容

加载失败,请刷新页面

返回顶部
顶部