共勉
"诸君离学校而去了。在社会上立身的困难,恐怕比在学校里求学还要加甚。若非立志奋斗,则以前所受的教育,反足以增加人生的苦恼,或转为堕落的工具。这是诸君所当特别注意的。事业的成功,须经过长时间的辛苦艰难——成功的代价,走过了许多荆棘的路,方才能寻获康庄大道。立志是砍荆棘斧斤,奋斗是劳力。万不可希望以最少的劳力,获最大的成功。" -- 蒋梦麟
Knight's Blog
滴滴海浪技术主管, 前百度资深研发工程师,现居上海。 擅长于大规模的系统平台服务架构。在

- 亿级别搜索平台(sov5.cn)
- 大规模分布式爬虫
- 中间件架设(disconf,CanalX)
- 广告平台(百度联盟广告)
- 租车平台(滴滴租车)
- 语言招聘平台(51tra.com)
- 内容平台(100weidu.com)
- 社区平台(python88.com)
- 资源下载平台(misou.com)
- 计算机图形图像技术(一篇一作)
- 机器学习(一篇一作)

等领域具有颇有经验。
联系方式: knightliao AT gmail.com
联系
近一个月内十大热门文章
最热结点
解读商业生态事业部营销战略
工作 • 708 浏览 • 2015-04-17 11:52
## 互联网营销问题 ###问题: - 保洁飘柔卖掉一瓶线下营销需要9元,线上点击一次就要6元: - 营和销是什么 - 互联网的营销 和 传统的营销 有什么不同 ###解答: ####保洁飘柔卖掉一瓶线下营销需要9元,线上点击一次就要6元 每次点击都是提升了一次品牌的认知,这份价值是无形的。 #### 营和销是什么 营和销:marking & sales 例如买房和卖房 marking 带到楼盘小姐前 sales 我要让你签单 ####……
继续阅读
RabbitMq Broker Semantics
工作 • 1166 浏览 • 2015-04-16 15:19
https://www.rabbitmq.com/semantics.html ##Broker Semantics Here we describe the broker semantics. This should be read together with the AMQP specification. ##Semantics of tx Overall the behaviour of the AMQP tx class, and more so its implemen……
继续阅读
数据库中间件介绍
工作 • 2428 浏览 • 2015-04-09 20:17
## 百度内部 **百度钱包研发部**: [http://wiki.baidu.com/pages/viewpage.action?pageId=25396705](http://wiki.baidu.com/pages/viewpage.action?pageId=25396705) **支付上海测试 Home** [http://wiki.baidu.com/pages/viewpage.action?pageId=37764296](http://wiki.baidu.c……
继续阅读
This might be an indication of an iframe taking too long to load
工作 • 1241 浏览 • 2015-04-07 20:36
wkhtmltopdf 如果出现此问题,可能是 google的js或百度统计的js在变成 iframe时进行阻碍。 http://stackoverflow.com/questions/9249680/how-to-check-if-iframe-is-loaded-or-it-has-a-content
继续阅读
广告模式之 PPB
工作 • 1355 浏览 • 2015-04-07 15:31
PPB = Programmatic Premium Buying = 程序化优选(Preferred order)+ 程序化包断(Programmatic guaranteed) PMP = PPB + 私有市场竞价(Private auction) 目前 私有市场竞价 模式比较多,但是市场对于 PPB的呼声 会非常强烈。PPB 其实就是传统的广告模式程序化。 ![http://ww2.sinaimg.cn/bmiddle/60c9620fj……
继续阅读
分布式配置管理平台Disconf
工作 • 31357 浏览 • 2015-03-27 13:46
## 摘要 为了更好的解决分布式环境下多台服务实例的配置统一管理问题,本文提出了一套完整的分布式配置管理解决方案(简称为disconf[4],下同)。首先,实现了同构系统的配置发布统一化,提供了配置服务server,该服务可以对配置进行持久化管理并对外提供restful接口,在此基础上,基于zookeeper实现对配置更改的实时推送,并且,提供了稳定有效的容灾方案,以及用户体验良好的编程模型和WEB用户管理界面。其次,实现了异构系统的配置包管理,提出基于zookeeper的全局分布式一致性锁来实……
继续阅读
mysql联合索引
工作 • 853 浏览 • 2015-03-18 17:51
对于 select * from A where A.c = 4 order by A.b desc; 这样一条语句,如何做优化呢? 当A表数据量很大时,如果A.c没有建立索引,则此查询会非常之慢。必须对 A.c建立索引。 如果没有对A.b建立索引,则在建立 A.c索引后,执行语句会比较耗CPU,因为此时要进行大量的比较计算。 因此,对于此语句,最佳的方案是,建立 (A.c, A.b) 联合索引。
继续阅读
mysql主从架构binlog设置
工作 • 922 浏览 • 2015-03-09 16:24
如果单台msyql, 可以选择不开启binlog. 如果需要主从同步,则主机需要开启binlog。从库则读取主库的binlog到本地,名字叫做relaylog,然后另外一个线程去执行这些relaylog。 因此,主从架构下的mysql. 主机的binlog一般会中statement格式,从机也需要设置一下binlog,比如也设置成statement. 如果从机不开启binlog格式,则当主备切换时 会出现主机没有binlog的形式,则破坏了主从架构(此时没有从库了)。 注:即使从库打开了……
继续阅读
spring-amqp-samples中的stocks案例分析
工作 • 1396 浏览 • 2015-03-05 13:39
spring-amqp-samples中的stocks分析 ## 完整设计图 ![http://ww1.sinaimg.cn/mw1024/60c9620fgw1epury3n5epj20l40kugoq.jpg](http://ww1.sinaimg.cn/mw1024/60c9620fgw1epury3n5epj20l40kugoq.jpg) ## server server先启动后,会起一个定时线程不断的发消息。由于对应的exchange没有与任何queue绑定,因此,所有消息……
继续阅读
rabbitmq消息一致性问题
工作 • 10544 浏览 • 2015-02-26 15:58
在使用rabbitmq中,消息的一致性是非常重要的一个话题。下面我们来研究一下,在数据一致性方面,有哪些需要关注的。 ## 发送问题:重复消息的问题 发送者发送消息出来,在数据一致性的要求下,我们通常认为必须达到以下条件 1. broker持久化消息 2. publisher知道消息已经成功持久化 首先,我们可以采用事务来解决此问题。每个消息都必须经历以上两个步骤,就算一次事务成功。 事务是同步的。因此,如果采用事务,发送性能必然很差。官方给出来的性能是: It……
继续阅读
mac下安装 PIL (support _imagingft)
工作 • 967 浏览 • 2015-02-13 22:36
mac下安装 PIL (support _imagingft) ## 安装freetype - brew install freetype - ln -s /usr/local/include/freetype2 /usr/local/include/freetype 没有第二步,就会出现 以下错误 _imagingft.c:73:10: fatal error: 'freetype/fterrors.h' file not found #include……
继续阅读
通用全局唯一ID生成器
工作 • 6538 浏览 • 2015-02-12 13:10
通用全局唯一ID生成器 ## 前言 全局唯一生成器在很多场景下需要,例如,sharding时。 下面介绍几种方法来解决这个问题。 ## 双db方案 flickr开发团队在2010年撰文介绍了flickr使用的一种主键生成测策略,同时表示该方案在flickr上的实际运行效果也非常令人满意。 [http://techv5.com/topic/1199/](http://techv5.com/topic/1199/) 其主要的想法 是 - 双DB - DB分别生成……
继续阅读
经典的RPC事务均无法达到完全事务一致性
工作 • 4546 浏览 • 2015-02-10 16:40
经典的RPC事务均无法达到完全事务一致性。 Flume是apache官方提供的一套分布式日志收集工具。在 https://flume.apache.org/FlumeDeveloperGuide.html 这里讲述了如何 实现从一个agnet往另一个agent发消息数据,达到事务一致性。 例如 agent1 调用 agent2,在agent1和agent2那边均开启了事务来保证双方共同事务的一致性。 在这种过程中,会出生几种问题: - 1.Agent1调用agent2后,age……
继续阅读
activemq安装文档
工作 • 916 浏览 • 2015-02-09 11:23
## 安装方法 建议下载 bin 版本进行安装 ## start & stop nohup bin/activemq > /tmp/smlog 2>&1 & bin/activemq stop ## 配置文件是 conf/activemq.xml ## Monitor ActiveMQ http://localhost:8161/admin admin/admin conf/jetty-real.properties ## 参考……
继续阅读
OS X下安装RabbitMQ
工作 • 1375 浏览 • 2015-01-29 13:19
OS X下安装RabbitMQ RabbitMQ是用Erlang写的OpenSource的消息队列(Message Queue)软件,并且有付费的商业版支持。 所谓消息,在类似JMS等现代系统里,尝尝作为一种异步操作的机制,来实现快速的轻量的信息交换。其最简单的模式就是发布-订阅( Publish/Subscribe)。 RabbitMQ的主页在 [http://www.rabbitmq.com/ ](http://www.rabbitmq.com/)。 ##1. 安装 Ra……
继续阅读
互联网广告系统业务串讲
工作 • 1121 浏览 • 2015-01-28 13:07
###互联网广告产业链: 从luma的一张图开始:这张图是luma做的美国的互联网广告的产业链,其中有主要的链条是advertiser-agency-DSP(demand side platform)-ad exchange-ad network-SSP(supply side platform)-publisher ![http://ww3.sinaimg.cn/bmiddle/60c9620fjw1ep958v7bf4j20go0ciadu.jpg](http://ww3.sinaimg.c……
继续阅读
DSP市场新宠 PPB
工作 • 889 浏览 • 2015-01-28 12:50
### DSP市场新宠 PPB PPB 是指 是程序化优选购买,广告主定义他们期望的受众,系统帮助其找出优选的媒体来购买受众,为广告主提出最优媒介计划,并通过程序化购买方式执行,并按照期望的周期反馈监测结果。 传统的DSP和RTB模式中,广告主很难去定位自己媒体资源,投放的效果很难控制,是很open的。在中国的大环境下,代理商和广告公司较为强势,在指定优质媒体上投放RTB广告,需求日益强烈。因此,这也就是诞生了PPB模式。 PPB还很新,2014年刚兴起,目前主流DSP市场还较少有支持……
继续阅读
生成PDF的工具选择
工作 • 986 浏览 • 2015-01-26 21:13
生成PDF工具 ### 选择 一开始有两种选择 - pdfkit(wkhtmltopdf) - xhtml2pdf 第二种选择与平台无关,它是纯python生成 ,具体做法就是将生成HTML代码+CSS代码,利用reportlab来画图生成pdf。优点是与平台无关,缺点是画出来的图与浏览器生成的图根本无法一致(这是因为reportlab的画图算法与wkhtmltopdf根本无法相提并论。) 第一种选择是用python去调用 wkhtmltopdf 系统命令生成pdf. wkh……
继续阅读
我的产品观
工作 • 830 浏览 • 2015-01-21 11:51
可能是受老周的影响,近来我越来越喜欢讨论产品设计的问题,对于技术没有以前那么狂热。对于创作一个非技术类型的用户产品,近来我的一个观点是: 技术虽然也重要,但是在产品初期,一定要做成:一方面技术简单极速实现,另一方面须注重产品设计与用户体验,突破运营,以极快的速度提高用户流量。 现在做产品,或者说创业吧,用户体验与速度都是非常关键的。历史上以少胜多,以弱胜强,无非就是通过惊人异样的产品特性作为突破点,然后以雷电般的速度 摧毁敌方势力。 这里举个反例吧。我们在做DSP第一版时,对于创意……
继续阅读
Python开发工具合集(UPDATE)
工作 • 883 浏览 • 2015-01-20 11:04
- Python2.7 - Mock: nose - Framework: - Tornado: - Django: - DB: peewee - Template: JinJa2
继续阅读