- 浏览: 1036724 次
- 性别:
- 来自: 成都
最新评论
-
繁星水:
Useful!!
Object-C之(Null)与(Bool) -
pacer123:
请问注解@ApiModelProperty 在哪个jar包下面 ...
Micro Service工具集之Swagger:可测试的样式化API文档 -
sucheng2016:
这东东真的好用么/
对象转换利器之Dozer -
zzq0324:
http://git.oschina.net/zzq0324/ ...
基于Spring-WS的Restful API的集成测试 -
lrz0534:
你好,我在maven上面下载了swagger-springmv ...
Micro Service工具集之Swagger:可测试的样式化API文档
文章列表
何谓猴子补丁(Monkey Patch)?在动态语言中,不修改源代码而对功能进行追加和变更。
使用猴子补丁的目的:
1、追加功能
2、功能变更
3、修正程序错误
4、增加钩子,在执行某个方法的同时执行一些其他的处理,如打印日志,实现AOP等,
5、缓存,在计算量很大,结算之后的结果可以反复使用的情况下,在一次计算完成之后,对方法进行替换可以提高处理速度。
Ruby的类都是开放类,即在类定义之后还可以任意添加内容, 这就使得在Ruby中使用猴子补丁变得特别容易了。另外,Ruby还提供了对方法、类和模块的进行操作的功能,让我们使用猴子补丁更加得心应手。Ruby提供的基本功能如下:
a ...
最近在做一个公司内部项目的时候,想搭建一个CI服务器,第一个想到的就是Jenkins,但是因为内部项目,在资源方面不想有更多的消耗,同时也想试玩一下当下正火的“云”概念,于是大家决定把CI服务器放到Amazon的EC2上。
...
《松本行弘的程序世界》之面向对象
- 博客分类:
- 读书笔记
最近读《SICP》把脑细胞搞死大半,还没看完2章,而且看得也是一知半解,实在是受不了了,改读一本浅显点的,不然,自己就要丧失阅读的乐趣了,于是挑了这本《松本行弘的程序世界》刚看完第三章,其第二章“面向对象”写得极为精彩,不得不记录一下收获。
在第一节里,松本就抛出了程序员的”阿尔法综合症“,作为应该主宰计算机,发掘计算机能力的程序员,正在一步步的沦为计算机的奴隶,我们总是在想如何去迎合计算机的各种限制条件。而我们的目标就是夺回主动权,把尽量多的工作交给计算机,充分发挥计算机的高速计算能力和信息处理能力,完成工作。程序员夺回主动权的武器就是编程语言,如何选择一门最合适的语 ...
《正则表达式必知必会》
- 博客分类:
- 读书笔记
正则表达式是什么? 一个解决特定问题的工具(也可以说是一种DSL);
解决了什么问题? 文本搜索,替换;
正则表达式的功能介绍:
1、使用普通字符和元字符('.','\')去匹配单个字符。
2、使用‘【】’构成字符集合,表示必须匹配该集合之一。字符集合可以通过列举,也可使用'-'来表示范围,另外还可以通过'^'给集合取非。
3、正则表达式中的元字符:
\f: 换页符 ; \n: 换行符; \r: 回车符; \t: Tab键; \v: 垂直制表符
\d:数字; \D:非数字; \w:数字+字母+下划线; \W:非\w ;\s:所有空格(包含tab,回车等); \S:非空白 ;\0: ...
《SICP》之抽象屏障
- 博客分类:
- 读书笔记
我们在对数据进行抽象的时候,基本思想就是为每一类数据对象标识出一组操作,使得对这类数据对象的所有操作都可以基于它们表述,而且在操作这些数据对象时也只使用它们。
在我们面对一个复杂数据对象的时候,它对外提供的各种操作又是基于另一个数据对象的一些操作,这个时候我们就需要在数据抽象的时候构建一个“抽象屏障”,它可以隔离系统中不同的层次,把使用数据抽象的程序与实现数据抽象的程序分开,也就是所谓的面向抽象编程,
举个例子,
我们需要表示一个有理数,很自然想到, 需要一个分子,一个分母,一个构造函数把分子,分母填进去。
public class RationalNumber { ...
《解析极限编程》--软件开发的基本活动
- 博客分类:
- 读书笔记
软件开发的基本活动:
1、编码,我们所做的一切都在代码上。编码时,大家需要明白的一件事就是代码是程序员沟通的媒介,你有义务学习任何能够提升你代码沟通能力的技术和思维,并把它运用到编码实践中。
2、测试,告诉我们编码什么时候完成。测试存在的目的一是使你的代码生命期更长,便于维护;一是可以提升我们编码的自信心。
3、倾听,沟通,了解业务.别说你只想做技术,如果业务人员不需要你,那么你就会直接被扫地出门。倾听就是一个业务沟通的过程,我们在沟通的时候得注意,只沟通应该沟通的事情,并且以适当的详细程度沟通。
4、设计,为了你能不断的把上面的编码,测试,倾听重复的进行下去,糟糕的设计会阻止你继续倾听 ...
《解析极限编程》--软件开发经济学
- 博客分类:
- 读书笔记
如何让一个软件项目挣更多的钱?影响一个软件项目的收益主要看3个指标:
1、现金流
2、利润率
3、产品成功率。
那么,要让一个软件项目更有价值就有如下的方法:
1、花更少的钱做这个项目,节约成本,这个是很难做到的,因为大家都使用一样的技术和工具。
2、卖更高的价钱,这个就是销售的本事了,其中各种奥妙局外之人难以言道。
3、更加积极的现金流,推迟花钱,尽早赚钱,这一来一去其中的利率收益就是一笔可观数据,而且这也是可持续发展之道。
4、提供软件成功几率。
在软件开发过程中,经常会面临如下的困惑,
1、我是否应该适度放弃项目中的一些东西以获取最大利益
2、我是否应该改变项目前进的方向以适应业务环境 ...
这本书开篇就罗列了目前软件开发过程中经常遇到的困境:
1、项目延期
2、在项目交付前,公司取消项目。
3、系统架构腐化,修改成本高昂。
4、系统缺陷率高,不可用
5、业系统实现偏离业务需求
6、在实现系统时,业务需求变更
7、系统实现了很多无业务价值的特性
8、团队人员流失
极限编程是如何解决这些问题的呢?
1、持续,迭代交付。优先实现高业务价值特性,项目延期的损失可以降低到最小。
2、迭代交互意味着,项目的取消最多影响一个迭代的东西,之前的工作都是有价值,最大程度的消除了浪费。
3、通过高质量的测试,重构,保证每次的改动都在质量标准线以上,避免架构腐化。
4、程序员会为每个功能编写测试用例, ...
TCP/UDP写数据的一些知识
- 博客分类:
- 小刘说网络编程
应用程序通过TCP写数据的基本过程:
从上图中我们可以看到,应用程序在调用write的时候,内核会把应用程序的缓冲区的内容拷贝到TCP的发送缓冲区(SO_SNDBUFF,我们在建立TCP连接的时候,可以通过设置Socket选项改变其大小。)如果TCP缓冲区放不下应用程序缓冲区的内容,如果是阻塞式IO,其会阻塞,直到把应用程序缓冲区的内容全部写到TCP缓冲区,因此,一个应用程序Write成功并不表示接收方已收到消息,只是表示你把所有的东西都写到TCP缓冲区而已。另外,在TCP缓冲区的数据只有在收到确认收到的消息之后才会清除。
TCP把自己缓冲区的内容以MSS或者更小的块交 ...
TCP的特点:
1)、发送方和接收方需要建立连接,整个过程是先建立连接,发送数据,关闭连接的过程。
2)、可靠性,TCP含有RTT算法,可估算等待确认的时间,从而决定什么时候重传。
3)、分包编号发送。
4)、流量控制,TCP ...
1、Composite Steps
顾名思义就是能够把多个Steps组合为一个Step。例子Meta:
@author liuxianning
@theme composite
Narrative: This story is used to show composite steps.
Scenario: Add a student into the class
Given There is a student with default details
When system add the student into class
Then we can get stu ...
1、配置JBehave环境。
1)、添加JBehave依赖包,基本的只需要添加jbehave-core和Junit包就足够了。
2)、配置IntelliJ的JBehave插件,详情参见https://github.com/kumaraman21/IntelliJBehave/wiki
2、实现一个JBehave的Story基本过程
JBahave的测试用例主要由3部分组成,描述测试功能的story文件,story文件对应的Steps类和基于Junit的运行配置文件。Steps类是通过Anotation和正则匹配技术把story文件中的文本Step对应到Steps类中的方法,运行配置文件的 ...
1、什么是JBehave
JBehave是一个用java编写的BDD(Behavior-Driven-Design)框架, java界的Cucumber。(注: 1、BDD主要的目的是能够从业务领域专家的视角来编写测试用例,以解决技术人员和业务领域专家的沟通问题。2、Cucumber是基于Ruby的BDD框架 ...
学前班的主要面向的是毫无IOS开发经验的同学,让大家能够快速的写出自己的第一个IOS程序。
准备工作:
1、Mac平台电脑一台
2、Xcode 4.1开发平台,一般Mac电脑都带。
第一个IOS程序
需求:实现一个3*3的棋盘,能够把玩家放置到棋盘上,还能获得某个位置上的玩家。
首先在Xcode下新建一个项目, IOS -> Application -->View-based Application
剩下的按照具体情况填写就行,如果需要使用unit test,记得勾选Unit Test。项目创建好之后整个project的目录如下:
接着,编写测试 ...
SSH下know_hosts的作用(转)
- 博客分类:
- Linux学习
原文地址:http://blog.csdn.net/yasaken/article/details/7348441
在平时工作中,有时候需要SSH登陆到别的Linux主机上去,但有时候SSH登陆会被禁止,并弹出如下类似提示:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFI ...