摘要: 领域驱动设计围绕着对象进行设计,类似于传统的OO,但是还是不同的。 传统的OO更像是贫血的领域对象,它具有数据,很多get set方法,但是缺少业务逻辑。客户端使用时,需要进行一大串的set操作。举个栗子: 这种方式中customer是一个贫血的领域对象,客户端必须进行很多的set,最后调用dao进行保存。 --------------- 那么,怎样才是不贫血的领域对象呢?主要看两点:boun... 阅读全文
posted @ 2016-03-22 23:06 永远是学生 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 概率是指事件发生的可能性。 首先描述一个场景,A,B,C,D四个玩家,每人3张牌,前面2张都公开,后面一张不公开。 刚开始时,让你估算下其他3个玩家拿到3张A的可能性。它等于4/C(54,3)。 这个概率对每个人,任何时刻都是一样的,他就是一个客观的数据,从实用的角度来说,它没有意义。这对大家都是一样的。 什么用都没有。这个概率对谁都是一样的,没有人会因为这个数字跟牌或者弃牌。 但是随着牌局的进展... 阅读全文
posted @ 2016-03-20 22:08 永远是学生 阅读(4591) 评论(0) 推荐(1) 编辑
摘要: Technorati 标签: 组合,概率 从N个不同的球中取出M个,一共有多少种取法? 这个问题是组合数据的基本问题,考虑拿出球是否放回,拿出去的球是否有序,它有4种变体: 不放回,有序; 不放回,无序; 放回,无序; 放回,有序; 对于第一种,取出M个球,第一个有N种可能,第二个N-1种可能,依次类推,M个球共有: N*(N-1)*(N-2)*..*(N-M+1), 举个例子:3个同学(A,B... 阅读全文
posted @ 2016-03-20 16:14 永远是学生 阅读(6879) 评论(0) 推荐(0) 编辑
摘要: 这一章讲的是利用聚集算法对blog进行分类。 首先是构造数据,找到一组blog,每个blog包含一组单词。这样就形成了(blog-name, word*)*的数据结构。 在构造该数据结构的过程中,还需要删除那些出现得太广泛的单词,删除的办法是计算每个词出现的总次数以及blog的总数,两者的比例超出某个特定的数值则表明该单词太泛滥了。 然后是计算blog之间的距离,和前一章一样,存在两种计算的方... 阅读全文
posted @ 2014-09-20 11:58 永远是学生 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 有一个网站,允许用户对她看过的电影打分。一个可能的结果是: 用户1:{电影1=5;电影2=3;电影3=4} 用户2: 用户3: 省略其他用户。 现在网站向一个用户Jack推荐电影,最直接的方式是,找出与Jack品味最接近的人,也就需要把所有用户按照他们与jack的相似度排序。 怎么计算相似度呢? 第一种方式是向量距离,也就是常用的(x1-x2)^2+(y1-y2)^2开根号。 第二种方式是... 阅读全文
posted @ 2014-09-13 11:48 永远是学生 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 给定n个A和2n个B,用这些字符拼成一个字符串,要求这个串的所有前缀和后缀B的个数始终不少于A。 (一个字符串的前缀是只从开头到某个位置为止的子串,后缀是只从某个位置到结尾的子串)。 输入格式 多组数据,每组数据只有一行,包含一个正整数n。(n<=10^17)。 输出格式 每组数据输出一行,最终结果对99991取余数的结果。 def count(n,m,ac,bc,sb): if(... 阅读全文
posted @ 2014-06-06 20:50 永远是学生 阅读(349) 评论(0) 推荐(0) 编辑
摘要: oauth可以支持跨网站的数据传输。假设一个用户把照片上传到faji网站,然后想登录到beppa网站(照片打印),把faji的上照片打印出来。 她当然可以自己把照片取下来再上传上去,不过比较麻烦。 使用oauth,她可以授权给beppa,让它自己去faji上获取照片。 下图显示协议处理的流程: 阅读全文
posted @ 2014-05-23 18:48 永远是学生 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 日志平台client面临着输出日志的问题。为了避免干扰业务系统,我们采用异步输出的方式。这实际上相当于一个多生产者-单消费者的多线程模型。传统的方式是使用同步加锁的方式,但是这种方式不够高效。之前 钟柱 分享过一个topic。当时没完全听懂。这次对这个问题再次研究了下。 传统lock低效的原因总结如下: 1 总的来说同步的目的有两个,保证写入的顺序;保证写入的东西被正确的读到; 2 lock的实现... 阅读全文
posted @ 2014-03-30 13:53 永远是学生 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 今天大年初一,哪里也没去,在家里重新看了下IOA的NP问题。感觉看明白了。 首先定义下: 所谓P问题是指所有能在多项式复杂度解决的问题,比如排序算法,n*n复杂度解决问题。 有些问题目前没有多项式复杂度的解决方案,但是如果你给我一个解决方案,我可以在多项式时间内验证该算法是否正确。比如说bool表达式的可满足性问题,给我一个表达式,虽然我不能在多项式时间内判断它是否可满足,但是如果你给我一个... 阅读全文
posted @ 2014-01-31 23:32 永远是学生 阅读(3411) 评论(0) 推荐(0) 编辑
摘要: 数组很简单,数组上的算法不简单。编程之美里大概描述了7个算法题目。虽然本人经常作为面试官面试级别还算高的技术职位,其中有些题目还是需要思考一下的。为了能更好的理解,这里把这些算法简单的汇总下。涉及到的算法如下: 算法 奇妙解法概述 数组的循环移位 交换 最长递增子序列 ... 阅读全文
posted @ 2014-01-29 12:24 永远是学生 阅读(919) 评论(0) 推荐(0) 编辑