自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 问:如何用“异构数据源的整合”的方式解决"流式计算"的问题?

为了让淘宝的朋春大牛来指点一下,我一口气写了三篇文章放这了,也不知道他会不会看到,并指点一下      在做”流式计算“上有一定的经验,一直在计划把我的流式计算控制模块用DSL描述出来,这样我就不用来回的把大量服务组装成千篇一律的async-query之类的server了,而是直接用编译器生成我的server,我甚至做了个半成品的server生成器了,那次听了淘宝的张轩丞(朋春)讲的 ”

2012-04-01 19:38:14 2772 2

原创 流式计算总结

为了更好的写下一篇文章【流式计算和异构数据源的整合】,特意把自己在流式计算上的经验给总结一下,欢迎大家质疑;网络IO工作模型,别人都用什么同步,异步XXX的,我就换个角度好了;好吧,为了写这网络IO工作模型,我另外来一篇文章【网络IO工作模型以及在分布式中的应用】流式计算的两种形式图很挫,而且不严谨,凑合看一下吧,而且文章结束的时候,我会告诉大家这两种“所谓的模式“,其实没有

2012-04-01 15:36:00 10835

原创 网络IO工作模型以及在分布式中的应用

为了写【流式计算和异构数据源的整合】这篇文章,我手贱,打算先写两篇基础文章这是个说简单不简单,说难不难的问题,简单是因为现在会的人多了,难是新手总会犯浑;只能说这是些个成熟的模型;以下是个人看法,有不对的地方请指出;主线程收发包,这是基调(one loop)工作线程是一个线程池(multithread)工作线程需对外发包阻塞的把包发出去下游so

2012-04-01 14:13:30 1588

原创 再YY一下P2P的爬虫吧

上一篇文章我没详细YY一下p2p方式的爬虫,实在是因为限制太大,不是技术问题,商业运作不好操作;这东西其实不应该说是爬虫,而应该是一个利用P2P来进行信息交换的一个东西简单介绍一下:1:每个需要做爬虫的公司,部署一个p2p的node,此node负责:接受外部推送过来的URL,并且将此URL 1)发给别的node,2)对此URL自行响应;2:内容提供商每有一篇新文

2011-12-28 11:24:09 3038

原创 我YY的爬虫

在技术角度来看,最好的爬虫应该是一个P2P方式的通知文章更新,大家都能及时的获知文章更新,然后转告别人;这样的话:每个做爬虫就变成了:成为p2p中的一个node,然后:将获得的更新进行选择性的响应;内容提供商,随便向一些node发出文件更新通知即可;实时搜索就向前跨出了一大步了;google的pubsubhubhub,为啥就没推动起来?是因为注册的人太多,广播更新代价太高?没在

2011-12-22 14:36:09 1685

原创 切换数据挖掘系统后台有感---我也谈一次“架构”

系统控制最重要的两点:充分的了解系统需求,需求都不了解,一边呆着去。控制系统各单元的原子性---保证只做一件单一的事情!

2011-04-22 01:46:00 985

转载 分享:Scalable System Design Patterns

<br /><br />本文来自:http://www.kafka0102.com/2010/10/350.html<br />Posted in architecture on 十月 17th, 2010 by kafka0102<br /><br /><br /> <br />Scalable System Design Patterns 一文概括了几种常见的系统设计模式。配图很漂亮,我就索性摘过来,推荐感兴趣的继续围观其博客。1、Load Balancer<br />该模式中,一个分发器基于某种策略确

2010-10-19 20:13:00 606

原创 高质量代码的4个关键点

代码片足够简洁、独立、具备原子性(这是我一直强调的,个人认为这是程序员的默认追求)对原子性代码片段进行测试(当你的代码真正具备原子性的时候,你会发现,嘿嘿,好多代码一看就知道没有BUG,因为它就一行或者仅有几行)非常清楚自己的内存,CPU都花在什么地方了不管自己对内存和CPU的使用情况多么自信,都要进行profile,然后再改进你的代码,将瓶颈转移到另一个地方,再profile,如

2010-03-04 11:35:00 560

原创 封装四:面向接口

此观点是曾经和许式伟共事的时候被他输入给我的;当年刚毕业;被他拉过去设计接口,他很耐心细致的分析了我的接口; 仔细分析一下,你会发现我们每天都在设计接口(许式伟称之为规格)接口让我们这些programer分为两类人,一种人做设计(设计接口),一种人写代码(实现接口);我们每天都在围着接口转; 前面的文章中提到围棋,围棋中小方块和小方块衔接处用的则是我们所说的“接口”; 

2010-01-23 15:03:00 761 1

原创 封装三:面向原子(0BUG的保障)

我们再想象一下:围棋的棋盘上面有很多个小方块,我们把程序的所有功能点都看成小方块,而BUG则是小方块上的脏点;如果你能保证每个小方块上都没有小黑点,并且保证每个小方块的衔接是正确的,那么你就可以保证你的程序没有BUG; 面向原子,就是说我们将程序的每个功能点设计为没有小黑点的简单原子小方块 前两两篇都有提到“尽可能简单独立”;任何一个“简单独立的功能”我称之原子;将所有的功

2010-01-23 14:28:00 1174 4

原创 封装二:面向业务逻辑

此标题是盛大一位资深架构师跟我说的,感触颇深 在我们设计代码的时候最容易封装的莫过于一个vector,一个map,可能就帮你搞定了(如果这都搞不定,建议你不用继续看本文了),但是在某些时候,我们会发现自己的封装不是那么漂亮,有的是大量的private,protected方法,逻辑有点复杂,但是又想不到如何对他进行更好的封装。如果你仔细回顾一下,你可能会发现一个问题,那就是往往在你碰上这种情

2010-01-14 03:34:00 715

原创 封装一:面向语义

面向语义:就是尽可能简单的用伪码来描述你的算法逻辑; 实现一个函数“做饭” 实现方法一:-->拿盆-->往盆里装米-->淘米-->洗锅-->把米放入锅里-->放水-->盖上锅-->将锅放到灶上-->打开煤气  实现方法二:func_淘米func_入锅func_点火func_淘米-->拿盆-->往盆里装米--

2010-01-14 02:36:00 608

原创 why c++

坚定不移的使用C++ 若干年了,对于比较熟悉STL的我来说,一直很想写这篇文章 网络上、生活中,有大量的关于语言和语言之争,本文并不想卷入其中;linux之父曾说:C++是一门很可怕的语言,最可怕的是大量不懂c++的人在使用c++;对此我深有同感;根据进化论,我坚信:各门语言都有自己存在的理由;我相信各门语言都有实现自己最高效的方法,只是用语言的人以及付出的代价不一样而已;

2010-01-14 01:48:00 856 2

风辰的CUDA培训教材

风辰的CUDA培训教材

2013-10-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除