(原创文章,转载请注明出处.) 之前有提到过,自己曾基于公司业务系统从无到有码过一套测试框架,但由于开发时的思想同时受限于公司业务及框架的适用性上,导致最终虽然框架可完美支持业务,但在易用性.兼容性及可扩展性方面依然存在一定问题,维护成本较高.后有幸结识RF,甚为喜欢. 为什么呢? 这就要从框架本身说起.关于对测试框架的认识,其实可大可小,各人理解不一.比如说如Junit等xxUnit系列,可以说是单元测试的框架,以白盒的方式调函数,调模块,加setup.加assert,覆盖代码段的功能,可以在…
Xcode所有的插件都安装在目录~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/ Alcatraz (用于管理xcode插件.管理Xcode工程模版以及颜色配置的功能) Quick Start: mkdir -p ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins; curl -L http://git.io/lOQWeA |tar xvz -C…
大概13年5月左右入手的小黑ThinkPad E430 当时辞职换工作换城市所以预算有限,4k左右大洋买下了这款笔记本电脑.3年左右的时间,一直使用单位电脑,偶尔使用小黑真心崩溃.你会发现你会有放弃使用电脑的冲动.一直犹豫是要换一个MAC还是给小黑升级:前天使用过程中马上决定给小黑升级.立即在京东下单,晚上进行改装,安装全部程序:两天的体验那是相当的爽啊!闲话少叙,进入正题: 小黑升级方案(适用于大部分笔记本): 1.只买一个Msata SSD插在笔记本预留的位置即可: 2.将原来的机械硬盘拆下…
调试技术与开发技术构成了软件开发的基石.目前Nodejs作为新型的Web Server开发栈倍受开发者关注.总的来说Nodejs的应用程序主要有两部分:JavaScript编写的js模块和C语言编译的二进制模块.这里主要介绍三种avaScript模块的调试方法:基于Nodejs内建的调试器,基于V8调试插件和基于Chrome浏览器的调试器.以下所有的操作都将基于如下代码(example.js): var http = require('http');var url = require('url'…
Java API 1.7链接:http://pan.baidu.com/s/1cKUaKY 密码:116m Eclispse链接:http://pan.baidu.com/s/1mh6MoL6 密码:s90v Eclipse快捷键方式大全http://jingyan.baidu.com/article/2a1383285ed0d5074a134ff0.html 调试快捷键 Eclipse中有如下一些和运行调试相关的快捷键. 1. [Ctrl+Shift+B]:在当前行设置断点或取消设置的断点.…
前言 当刚开始踏入Android程序员这个行业的时候,想必绝大多数的人都和笔者一样,热血沸腾,激情四射,买了很多讲解Android开发的书籍.当开发某个功能需要学习某方面知识的时候,大家又成了“面向百度/谷歌开发者”.当然,买书和百度为确实为我们解决了不少项目中遇到的技术问题,这点值得肯定.但是我们是否经常遇到这样的问题: 这么多的书籍,该选择哪一本呢? 当前google都已经发布Android P了,可是市面上绝大多数书籍还停留在N.M,甚至更早.书上讲的不少内容,在新的平台上要么失效了,要么…
前言         “Source Insight(以下简称SI)是世界上最好的编辑器”,说这句话不知道会不会出门被打呢?-_- 中国古话说得好,“文无第一,武无第二”,所以不敢说SI是最好的,但是说是“最好的之一”绝对是妥妥的.它以丰富的语言支持.便捷的功能.快速的源码导航.实时的上下文显示.独立的符号数据库等众多优点,在全世界范围内广受程序员们的欢迎.本文将结合笔者的实际操作和学习,基于SI3.5做一些使用记录.另外,笔者对SI的使用,主要是用于阅读源码,本文介绍的功能也是基于阅读方面的.…
3.1.淘宝平台“服务化”历程 大约2007年,淘宝500人团队,维护一个war包,200多个功能模块. 1)项目团队协同成本高,业务响应越来越慢 2)应用复杂度超出人的认知负载. 3)错误难于隔离[同一个环境,一个jvm] 4)数据库连接能力很难扩展:每一个机器只有10个,但是应用机器过于多,也达到了5000多连接 5)应用扩展成本高 2007年10月,开始进行基于SOA理念新一代服务化框架研发以及采用业务模块逐步迁移的方式进行应用架构的改造.在未来的14个月中将单一应用模式改造成基于SOA理…
一:数据映射器 关系型数据库用来存储数据和关系,对象则可以处理业务逻辑,所以,要把数据本身和业务逻辑糅杂到一个对象中,我们要么使用 活动记录,要么把两者分开,通过数据映射器把两者关联起来. 数据映射器是分离内存对象和数据库的中间软件层,下面这个时序图描述了这个中间软件层的概念: 在这个时序图中,我们还看到一个概念,映射器需能够获取领域对象(在这个例子中,a Person 就是一个领域对象).而对于数据的变化(或者说领域对象的变化),映射器还必须要知道这些变化,在这个时候,我们就需要 工作单元 模…
在游戏中,经常会周期执行一些检测.操作或更新一些数据等,我们称之为调度.Cocos2D-x中将调度封装为类CCScheduler,方便在游戏开发中使用.我们一起来学习一下,CCScheduler具有哪些调度功能.    从上图可知,CCScheduler直接从基类CCObject继承而来.CCScheduler的调度模式分为两种:一种是update定时器调度,它是按照优先级来进行调度,在Cocos2D-x中优先级分为三类(大于零.小于零和等于零),值越小优先级越高.另一种是按照自定义定时器调度.…