Posts Tagged ‘a7’

程序设计是无止境的 —— 从一个黑名单查询业务说起

s1081441公司需要一个黑名单查询,对于我们公司的业务来讲所有的手机号中大约有过千万的手机号是进入了黑名单的,还有相应的白名单,红名单,VIP业务名单,每一个都有几百万的数据。

第一感觉,必然需要数据库的查询支持,那么一群程序员开如讨论如何优化这个查询,因为公司的业务都是毫秒级的,每秒都有上百个手机号码需要查询,难度是相当大的,并且,随着业务的推移,日积月累,黑名单也会越来越大,那么针对的查询速度也会越来越慢。

越讨论越觉得这个需求是非常有挑战的项目。

这时候走过来一个C程序员,听完需求后,略加思考讲出一个设计思路简直是我们几个人想都没有想过的:将所有的手机号码都影射到内存中,每个手机号码占四个字节,程序通过运算后内存指针可以直接找到请求手机号对应的值。再取半个字节来表示一个用户对应的vip值,二进制的1是,0是否,4位中从低到高分别表示。是否是vip,是否是白名单,是否是红名单,是否是黑名单,得到vip的数字值,放到协议包中需要转成字符。把这个程序独立架设两台普通服务器,互做镜像,1G的内存载入所有的手机号码,通过Socket连接进行Update,Select即可。(大致的意思,因是在Blog上写写,没有打算写那么清晰,懂的看客应该知道大概意思了。)

听完后,我们大吃一惊,我们一天到晚的面向对象,OO,DDD……,真的忘记了计算机的运算能力了,忘记了学校学习的知识了,事实上我们应该想到的。如此去做,一个有一年工作经验的毕业生,稍有点水平,没有忘了C语言的都能写出来。

程序设计真的是无止境的,有时候要跳出来想,且要跳得再远一点,干脆跳到月球上看地球,这样的话思维才能打得开。

我这个人爱打嗝,稍吃饭快了就会。今天才知道,因为老祖宗是鱼的缘故。

打嗝:负责控制呼吸的膈神经是鱼类祖先在进化过程中遗留给人类的。这束神经受到阻断或损伤,就会引起打嗝。膈神经传导的脑信号会引起喉咙和胸腔的肌肉痉挛,从而导致会厌关闭气管。打嗝是在快速吸气的同时关闭喉咙,这一动作遗传自蝌蚪:蝌蚪在水中用鳃呼吸,吞水时要关闭声门防止水进入肺部,因为上岸之后它还得用肺呼吸。打嗝是鱼类和两栖类祖先的遗产:人类长长的呼吸神经来自于鱼类;而打嗝的原理其实就是两栖类动物在水里用腮呼吸时的工作机制。

搞笑版设计模式,但很助于理解和启发。(转贴)

在网上看见了这篇文章,作者以轻松的语言比喻了23种设计模式,有很好的启发作用。

创建型模式

1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory

工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。

搜狗五笔输入法,极点中文,两款免费五笔输入法使用心得

这次重装系统,心血来潮,没有装用了好几年的极点中文,想尝试一下搜狗五笔输入法。理由有三个:

  1. 搜狗做拼音,勤勤恳恳,现在装机量和使用者已经非常巨大了,想来应该积累了不少关于输入法的用户体验了吧。
  2. 搜狗必竟是一家大公司,在这方面既然敢投入,那么想来程序员总会多一些,分析需求的人总会多一些,另外可以明白搜狗做输入法的目的是什么:对于搜狗来讲其实就是为了获取中文的“词语大全”,而利用这种方法收集的确是一个非常好的方法。
  3. 极点中文实在是更新的太慢了,因为必竟是个人软件,没有太多的精力去做需求分析。而大多数还是以一个程序员的思想在做一个软件。

 

但是毫无疑问的是,极点中文绝对是一款出色的五笔输入法软件,要让我个人讲,应该是近几年最优秀的软件。在这里,无论极点中文的作者能否知道,我都要向其作者致以最高的敬意。

刚才将搜狗五笔装上,试用了近三个小时,毫无疑问,从各个角度来讲这都是一款不比极点中文差的输入法软件了。另外一个最重要的,也是只有搜狗这种大企业才能做到一个功能:配置上传。酷!真没有想到,这个功能太重要了,想想我有多少台计算机,这样下载一个配置,共享一个配置该多么方便,即便是到了网吧里也可以用和家里的计算机一样的配置。当然还有很多,比如“自定义短语设置”,虽极点中文也有类似的功能,但我觉得搜狗的用起来更方便一些。当然搜狗的皮肤功能要比极点的强太多了,但是我个人是不会用的,我喜欢超简洁的界面,不过我见很多同事还是很喜欢用的,用户需要就是正确的(我一贯是这么认为的)。

当然搜狗也还有很多路要走,我想1.0版仅是一个开始,其实我一直是不喜欢用1.0版的软件的,当2.0或3.0版的时候一定会是一款非常顺手的软件!

  1.