摘要: Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example,Given n = 3, there are a total of 5 unique BST' 阅读全文
posted @ 2014-11-18 13:37 ScottGu 阅读(302) 评论(0) 推荐(0) 编辑
摘要: Pivot 随机选取意义不大第一种方法使用随机pivot,使得尽可能平均二分序列,而实际上一般来说需要排序的集合往往是乱序的,无需重新生成随机数作为pivot,大可使用固定位置的数作为pivot,这样便可以适应绝大多数情况,并且简化了逻辑,便有了第二种simple quick Sort。从运算结果来... 阅读全文
posted @ 2014-11-17 16:54 ScottGu 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 先看一道leetcode题: Best Time to Buy and Sell Stock II Say you have an array for which the ith element is the price of a given stock on day i. Design an al 阅读全文
posted @ 2014-11-15 00:00 ScottGu 阅读(1189) 评论(0) 推荐(0) 编辑
摘要: why scoped_lock is recommanded?其实,这和RAII idiom变流行是一样的原因:因为你可以确保任何情况下离开执行范围都会解锁mutex。注意,这不仅仅是说你可能忘记调用unlock():并且,在你的mutex被锁定之后,程序还有可能抛出异常,你写的unlock调用语句... 阅读全文
posted @ 2014-10-21 00:08 ScottGu 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 分布式处理下面一个示例程序中,我们将使用ZMQ进行超级计算,也就是并行处理模型:任务分发器ventilator会分发大量可以并行计算的任务;有一组worker会处理这些任务;结果收集器sinker会在末端接收所有worker的处理结果,进行汇总。现实中,worker可能散落在不同的计算机中,利用GP... 阅读全文
posted @ 2014-09-18 09:25 ScottGu 阅读(1014) 评论(0) 推荐(0) 编辑
摘要: 1种经典的消息模式是单向数据分发sub-pub:服务端将更新事件发送给一组客户端。让我们看一个天气信息发布的例子,包括邮编、温度、相对湿度。我们随机生成这些信息,气象站好像也是这么干的。下面是服务端的代码,使用5556端口://// Weather update server in Java// ... 阅读全文
posted @ 2014-09-15 16:27 ScottGu 阅读(703) 评论(0) 推荐(1) 编辑
摘要: Request-Reply Envelopes在请求-应答模式中,信封里保存了应答目标的位置。这就是为什么ØMQ网络虽然是无状态的,但仍能完成请求-应答的过程。在一般使用过程中,你并不需要知道请求-应答信封的工作原理。使用REQ、REP时,ØMQ会自动处理消息信封。下一章讲到的装置(device),... 阅读全文
posted @ 2014-09-15 15:33 ScottGu 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 高可靠对称节点(双星模式)概览双星模式是一对具有主从机制的高可靠节点。任一时间,某个节点会充当主机,接收所有客户端的请求;另一个则作为一种备机存在。两个节点会互相监控对方,当主机从网络中消失时,备机会替代主机的位置。双星模式由Pieter Hintjens和Martin Sustrik设计,应用在i... 阅读全文
posted @ 2014-09-14 22:58 ScottGu 阅读(464) 评论(0) 推荐(0) 编辑
摘要: JEROMQ示例之 [REQ-BROKER-REP][req-broker-rep]模式的好处是对于多个客户端的C/S网络结构,broker会将多个任务挨个分给workers,这样多个客户端request可以并发的发送到broker。 worker并发的执行运算。中间的broker随时把worker... 阅读全文
posted @ 2014-09-14 18:48 ScottGu 阅读(2098) 评论(0) 推荐(1) 编辑
摘要: 一个简单的Todolisthtmltodo.html<!DOCTYPE html><html> <head> <title>candyDatabase sample</title> <script type="text/javascript" src="todo.js"></script> </head> <body> <ul id="todolist"></ul> <input type=&quo 阅读全文
posted @ 2013-05-19 22:44 ScottGu 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 编写全面的单元测试乔纳森·艾伦 发表于2012 5 24 版块:开发主题:.net, 单元测试,编程,测试驱动开发,测试 在那些声称熟悉单元测试“最佳实践”的人们中有一种常见的观点:在一个测试中你应该只写1个断言,最多2个。那些宣称这个理论的人几乎很少展示他们的单元测试并且那些单元测试确实只有一个断言。显然,如果你采纳了他们的建议,一个不重要的小方法也会需要一打儿的断言来保证质量。本文意在通过实例证明每个测试多个断言不仅是必须的而且是有益的。让我们来考虑下一个非常典型的在数据绑定场景中很常见的Person对象:测试FirstName属性我们想要测试的第一件事是设置对象的First.. 阅读全文
posted @ 2012-06-06 00:05 ScottGu 阅读(1315) 评论(5) 推荐(1) 编辑
摘要: Volatile Resource Managers in .NET Bring Transactions to the Common TypeJuval LowyThis article discusses:Overview of transactional processingTransactions in the .NET FrameworkVolatile Resource ManagersTransactional classes and collectionsThis article uses the following technologies:.NET Framework 2. 阅读全文
posted @ 2012-05-30 11:54 ScottGu 阅读(311) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2012-04-11 21:05 ScottGu 阅读(17) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2012-04-11 21:04 ScottGu 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 弥合对象/关系之间的鸿沟(六)持久性API O/RM API提供的接口代表运行时环境。API的主要接口封装了到数据库的连接、查询生成器和已经被应用程序引用的领域实例的缓存。在这篇文章中,这个界面被称为会话(Session)。(在不同的API中,这个接口被称为实体管理程序或持久性管理程序,但不管什么名字,都有异曲同工之妙) 在一个多用户环境中,使用多个会话实例让用户相互隔离。每个会话都有其自己的数据库连接和它自己的领域实例缓存。会话高速缓存实现了唯一性保持(uniquing)。如果一个API支持多个线程运行于同一会话中,所有这些线程在会话管理下共享领域对象的改变。 应用程序从一个会话工厂... 阅读全文
posted @ 2012-04-11 21:03 ScottGu 阅读(491) 评论(0) 推荐(1) 编辑
摘要: 在一个规范化后的关系模式中,如果有一个表的许多行关联另一个表的许多行的关系,通常由连接表表示... 阅读全文
posted @ 2012-04-11 21:02 ScottGu 阅读(320) 评论(0) 推荐(1) 编辑
摘要: 弥合对象/关系之间的鸿沟(四)映射(一)继承。在领域对象模型中,继承是两个类之间的关系,其中一个类是另一个类的泛化。图1显示了人类的关系对象模型,这其中全职员工(FullTimeEmployee)和兼职员工(PartTimeEmployee)是员工(Employee)的泛化,员工(Employee)... 阅读全文
posted @ 2012-04-09 18:36 ScottGu 阅读(1091) 评论(2) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2012-04-08 21:23 ScottGu 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 弥合对象/关系之间的鸿沟(三) 阻抗不匹配? 所谓的对象和数据库模式(schema)之间的阻抗不匹配产生了很多讨论,这当然有很好的理由。根据斯科特·安布勒3所说的,这两种技术之间具有“欺骗性的相似之处”。对这两种技术之间的差异缺乏了解可能会导致选择糟糕的设计并导致项目失败。 在对象语言中(如Java 阅读全文
posted @ 2012-04-08 20:51 ScottGu 阅读(1674) 评论(0) 推荐(0) 编辑
摘要: 弥合对象/关系之间的鸿沟(二) O/RM的架构 从应用程序的视角看,O/RM有两个主要部分:持久性API和领域类。在Java中,API通常是Java社区流程的标准之一 Java持久性API,企业JavaBeans或Java数据对象——或尚未成为标准的流行API,例如TopLink或Hibernate 阅读全文
posted @ 2012-04-08 18:35 ScottGu 阅读(484) 评论(0) 推荐(1) 编辑