Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

设计并实现超媒体API

设计并实现超媒体API

设计并实现超媒体API2013-11-30 infoq 译:孙镜涛本文(这一系列的第二篇文章)的主题是超媒体服务器的实现。本文用到的消息设计和问题领域描述已经 在之前的文章中介绍过。在本文中,我们首先会简要介绍超媒体服务器的角色(路由、评估和执行),然后会 讨论它的基础实现,包括组件层、展现层和连接层。最后,我们将简要介绍一个超媒体API的客户端浏览器; 特别是常见的Web浏览器和命令行工具的限制以及“媒体类型浏览器”的优点。本文详...
用精益思想塑造创新型组织

用精益思想塑造创新型组织

用精益思想塑造创新型组织2013-11-30 infoq 熊节自从彼得·德鲁克提出“创新型组织”的概念,它就成了企业管理者们口中的热词。尤其是IT企业,家家 都希望打造出一支极具创新活力的团队。但一直以来,关于创新型组织的理论讨论多,关于“如何打造创新型 组织”的实践讨论少。创新型组织仍然像天上的月亮:看上去很美,但是不知道该怎么抓在手里。笔 者作为一家跨国IT企业成都公司的负责人,在经营这间分...
应用安全测试:双面的黑盒

应用安全测试:双面的黑盒

应用安全测试:双面的黑盒2013-11-30 infoq 夏雪译软件安全的最大风险是检验工具及过程不透明的本质,以及不同的检验技术(例如自动化动态测试)不能 覆盖假阴性错误的潜在可能性。尽管安全软件开发生命周期(SDLC)有很多相关的最佳实践,但大多数 组织依然有一种倾向,那就是主要依赖测试去构建安全的软件。当前的测试方法有一个最严重的副作用,即组 织不太清楚哪些已经被其解决方案测试过,而(甚至更重要的是)还有哪些未被测试过。我们的研究表明,任 何单一的自...
为不规则应用设计新一代超大型多线程架构

为不规则应用设计新一代超大型多线程架构

为不规则应用设计新一代超大型多线程架构2013-11-30 infoq 译:陈菲目前的高性能计算系统(High-performance computing systems, HPC系统)是为能高效地执行浮点密集型 工作而设计1。HPC系统主要用于科学模拟,这些模拟有着高计算密度、高本地化和常规化分区数据结构等特性 。这些应用需求推动着处理器设计往更快的SIMD(单指令,多数据)架构单元和不断降低访问延迟的深层缓存 层次结构方向发展。在系统级别,内存和互连带...
Java设计模式透析:策略(Strategy)

Java设计模式透析:策略(Strategy)

Java设计模式透析:策略(Strategy)2014-01-29 csdn guolin今天你的leader兴致冲冲地找到你,希望你可以帮他一个小忙,他现在急着要去开会。要帮什么 忙呢?你很好奇。他对你说,当前你们项目的数据库中有一张用户信息表,里面存放了很用 户的数据,现在需要完成一个选择性查询用户信息的功能。他说会传递给你一个包含许多用户名的数 组,你需要根据这些用户名把他们相应的数据都给查出来。这个功能很简单的嘛,你爽快地 答应了。由于你们项目使用...
Java设计模式透析:单例(Singleton)

Java设计模式透析:单例(Singleton)

Java设计模式透析:单例(Singleton)2014-01-29 csdn guolin写软件的时候经常需要用到打印日志功能,可以帮助你调试和定位问题,项目上线后还可以帮助 你分析数据。但是Java原生带有的System.out.println()方法却很少在真正的项目开发中使用,甚至 像findbugs等代码检查工具还会认为使用System.out.println()是一个bug。为什么作为Java 新手神器的System.out.println()...
Java设计模式透析:模板方法(Template Method)

Java设计模式透析:模板方法(Template Method)

Java设计模式透析:模板方法(Template Method)2014-01-29 csdn guolin今天你还是像往常一样来上班,一如既往地开始了你的编程工作。项目经理告诉你,今天 想在服务器端增加一个新功能,希望写一个方法,能对Book对象进行处理,将Book对象的所有字段以 XML格式进行包装,这样以后可以方便与客户端进行交互。并且在包装开始前和结束后要打印日志, 这样方便调试和问题定位。没问题!你觉得这个功能简直是小菜一碟,非常自信地开始写起 ...
Java设计模式透析:适配器(Adapter)

Java设计模式透析:适配器(Adapter)

Java设计模式透析:适配器(Adapter)2014-01-29 csdn guolin今天一大早,你的leader就匆匆忙忙跑过来找到你:“快,快,紧急任务!最近ChinaJoy马上就 要开始了,老板要求提供一种直观的方式,可以查看到我们新上线的游戏中每个服的在线人数。”你看了看日期,不是吧!这哪里是马上要开始了,分明是已经开始了!这怎么可能来得及呢 ?“没关系的。”你的leader安慰你道:&ldquo...
Java设计模式透析:组合(Composite)

Java设计模式透析:组合(Composite)

Java设计模式透析:组合(Composite)2014-01-29 csdn guolin听说你们公司最近新推出了一款电子书阅读应用,市场反应很不错,应用里还有图书商城,用户 可以在其中随意选购自己喜欢的书籍。你们公司也是对此项目高度重视,加大了投入力度,决定给此 应用再增加点功能。好吧,你也知道你是逃不过此劫了,没过多久你的leader就找到了你。 他告诉你目前的应用对每本书的浏览量和销售量做了统计,但现在想增加对每个书籍分类的浏览量和 销售量以及所有...
以客户关注为焦点看软件测试

以客户关注为焦点看软件测试

以客户关注为焦点看软件测试2014-01-29 ibm 李 欢众所周知,在软件测试行业,往往都是以软件 Bug 数量来衡量软件的质量。一个软件被测试团队 发现有大量 Bug 时,该软件的质量被认为处在不高的水平。当较少的 bug 被发现时,软件则被认为 是具有较高质量的。测试的目的是为了发现更多的 Bug,然而测试人员经常会为追求发现更多的 Bug 数量而忽略了软件测试更本质的东西。软件测试的终极目标是给客户提供满意的产品和服务。因此, 只有真正去理解、熟...
Scrum中QA角色经验分享

Scrum中QA角色经验分享

Scrum中QA角色经验分享2014-01-29 infoq 傅健译Scrum是软件开发的敏捷方法。它以2到4周为一个迭代开发出有价值的商业功能。Scrum团队有两 个明显特征:他们是多面手(例如:他们具备完成工作所必须的所有技能);他们是自管理的(例如 :团队不断探索如何把工作做的最好的方法)。通过过去两年在Scrum团队中近2年的QA角色的不断实 践,我认识到Scrum中的QA不仅仅是编写测试用例和汇报缺陷那么简单。对比传统瀑布模型的 项目中的同步活动...
应用设计模式开发命令行交互程序

应用设计模式开发命令行交互程序

应用设计模式开发命令行交互程序2014-01-29 IBM 高云鹤, 郑晓梅,张杨背景介绍人机交互的方式最初起始于命令行交互,虽然图形界面的交互方式应用越来越广 泛,可是命令行交互仍然有着它不可替代的地位。命令行交互程序是以命令行方式进行的人机交互, 即用户按着程序的提示,一步步进行输入,而程序负责解释并最终执行指令。本文以一个简 单的部署 war 包的实例,说明在命令行交互程序设计中遇到的问题,以及如何使用设计模式来解决 这些问题。实例简介在实例中,命令...
理解本真的REST架构风格

理解本真的REST架构风格

理解本真的REST架构风格2014-01-29 infoq 李锟本文是“深入探索REST”专栏系列深度内容中的第二篇,它将带您领略REST架构的起源、与Web的 关系、REST架构的本质及特性,以及REST架构与其他架构风格之间的比较。引子在 移动互联网、云计算迅猛发展的今天,作为一名Web开发者,如果您还没听说过“REST”这个 buzzword,显然已经落伍了。夸张点说,甚至“出了门都不好意思...
敏捷测试中理想的测试组织

敏捷测试中理想的测试组织

敏捷测试中理想的测试组织2014-01-29 ibm 李 欢近些年,在软件项目中非常流行一个词——敏捷。大大小小的项目,通常都包含着“敏捷”这个 关键字。其实敏捷本身是一种优化的思想,是软件工程发展到一定阶段后的产物。面对风云变幻的市 场,都希望迅速响应市场或客户的变化。但如何真正在项目中做到敏捷,除了方法论之外,还有各种 外部条件的制约。而现实是很多研发团队只注重了方法论的学习,而没注意组织结构应该如何变化...
从使用Python开发一个Socket示例说到开发者的思维和习惯问题

从使用Python开发一个Socket示例说到开发者的思维和习惯问题

从使用Python开发一个Socket示例说到开发者的思维和习惯问题2014-01-29今天主要说的是一个开发者的思维和习惯问题。思维包括编程的思维和解决一个具体问题的分析思维,分析思路,分析方法,甚至是分析工具。无论是好习惯还是不好的习惯,都是在者一天一天的思维中形成的。那些不好的习惯,久了确实不好改。所以说,如果今天你认识到了,那么就从今天开始改,早改早受益,晚改痛苦一生。先说一下今天的引子,那就是使用Python开发一个简单的Socket应用,就是一...
Rails测试《一》fixtures简介

Rails测试《一》fixtures简介

Rails测试《一》fixtures简介2014-03-15简介每个rails应用都包括三个环境:生产环境开发环境测试环境我们的测试就是跑在测试环境,如果测试涉及数据库,会在测试数据库进行操作。这样不会对生产环境和开发环境的数据造成影响。我们先使用rails new projects命令来创建一个rails应用,默认会给我们创建一个projects目录,里面会包含一些默认的目录和文件。其中有一个文件夹test,里面将会放我们全部的测试相关文件。$ ls -...
Rails测试《二》单元测试unit test

Rails测试《二》单元测试unit test

Rails测试《二》单元测试unit test2014-03-15单元测试单元测试针对model,主要是测试model中的业务规则,测试model中的验证validates规则。单元测试的文件存放在test/unit文件夹,针对user的model的单元测试文件是user_test.rb。常用命令从db/schema.rb中同步测试数据库的结构。在数据库结构变化之后,就需要执行这个命令,保持测试数据库的结构和最新的数据库结构一致。rake db:test:...
Rails测试《三》功能测试functional test

Rails测试《三》功能测试functional test

Rails测试《三》功能测试functional test2014-03-15功能测试functional test在rails中,针对单个controller中的各个action进行的测试,叫做功能测试。controller处理web的请求,将请求的响应render到view中。功能测试包括的内容web请求是否成功?用户是否被引导进入正确的页面?用户是否成功的验证?响应的模板中是否包含了正确的内容?在给用户的view中是否显示了适当的内容?功能测试分解在...
Rails测试《四》实战单元测试unit test

Rails测试《四》实战单元测试unit test

Rails测试《四》实战单元测试unit test2014-03-15之前的博客介绍了一些rails测试相关的知识。测试文件的位置,测试的类型,测试常用命令,以及可用的一些资源,以及如何利用fixtures生成模拟数据。今天我们来实际的写一下单元测试,用到的知识主要是fixtures和unit test。fixtures用来模拟数据,unit test就是我们今天的主角-单元测试。今天的代码将以blog项目为背景,为这个项目写一些单元测试。这个项目的代码可...
Rails测试《五》实战单元测试

Rails测试《五》实战单元测试

Rails测试《五》实战单元测试2014-03-15用factory-girl替换fixtures来创建模拟数据fixtures在前面我们介绍了,rails的测试系统默认使用fixtures来创建模拟数据,这些数据以yaml的格式书写,放在db/fixtures文件夹中,每个model都有一个对应的文件,test/fixtures/users.yml。在测试启动的时候这些fixtures中的数据会加载到测试数据库,并且加载到变量中,供单元测试和功能测试使用...
<< 161 162 163 164 165 166 167 168 169 170 >>