
算法和架构
文章平均质量分 77
tywali
长期从事嵌入式系统,呼叫中心,MIS的开发
展开
-
QQ空间技术架构之深刻揭密
QQ空间作为腾讯海量互联网服务产品,经过近七年的发展,实现了从十万级到亿级同时在线的飞跃。在这个过程中,QQ空间团队遇到了哪些技术挑战?其站点前后台架构随着业务规模的变化又进行了怎样的演进与变迁?成长背后有过怎样的心酸和快乐……相关厂商内容支付宝与乌云分享架构安全设计指南西门子如何系统培养架构师以及内部系统架构解密相关赞助商ArchSummit全球架构师峰会报名转载 2012-06-01 15:16:49 · 1353 阅读 · 0 评论 -
网页内容爬取:如何提取正文内容
创建一个新网站,一开始没有内容,通常需要抓取其他人的网页内容,一般的操作步骤如下:根据url下载网页内容,针对每个网页的html结构特征,利用正则表达式,或者其他的方式,做文本解析,提取出想要的正文。为每个网页写特征分析这个还是太耗费开发的时间,我的思路是这样的。Python的BeautifulSoup包大家都知道吧,import BeautifulSoupsoup = Be转载 2013-04-29 14:13:58 · 1703 阅读 · 0 评论 -
对jQuery的事件绑定的一些思考
jQuery的事件绑定问题首先我们看下面的一个很常见的事件绑定代码://example$('#dom').click(function(e){ //do something});$('#dom2').click(function(e){ //do something});这段代码在事件绑定处理上有一些缺陷:过多的事件绑定会损耗内存后期生成HTM转载 2013-04-29 14:13:29 · 601 阅读 · 0 评论 -
中文分词算法
1.1.1最大匹配法分词的缺陷尽管最大匹配法分词是常用的解决的方案,但是无疑它存在很多明显的缺陷,这些缺陷也限制了最大匹配法在大型搜索系统中的使用频率。最大匹配法的问题有以下几点:一、长度限制由于最大匹配法必须首先设定一个匹配词长的初始值,这个长度限制是最大匹配法在效率与词长之间的一种妥协。我们来看一下以下两种情况:(1)词长过短,长词就会被切错。例如当词长被设成5时,也就意味转载 2013-04-29 14:11:14 · 798 阅读 · 0 评论 -
JavaScript 上万关键字瞬间匹配
提到关键字搜索,首先联想到的无非就是使用一些indexOf,replace之类的字符函数,最多加上一些正则表达式而已.实现起来虽然很简单,但是这背后的效率问题可曾仔细考虑过?例如论坛中的关键字过滤,一般情况下需过滤的关键字数量及检测的文本长度都不大,所以这一瞬间的过程没有太多值得关注的地方。但若关键字数量不在是屈指可数,而是有成千上万, 并且待检测的文本也是一长篇大论,结果可不再是那么乐观了。大家转载 2013-04-17 17:20:52 · 570 阅读 · 0 评论 -
从优快云密码泄露谈网站存储密码的几种方式
最近国内著名IT站点优快云被黑客攻击,并将其存储的600万个用户的明文密码公布到了网上。此事件中暴露了优快云网站设计之初在存储密码的方式为明文,并最终为黑客所利用。动态网站出现的历史并不长,总计只有不到20年的历史,这期间经历了从CGI开始的快速发展。而对数据库的应用也最终涉及到了密码的存储。早期的网站正是如优快云这样将密码以明文方式存储在一个数据库字段中。该方法虽然很简便,但却存在转载 2012-09-28 19:15:51 · 1831 阅读 · 0 评论 -
用GWT实现基于Ajax的Web开发
简介: Google Web Toolkit (GWT) 是一个可以使用 Java 代码开发具有 Ajax 功能的应用框架。使用 GWT,开发人员可以更加高效地开发和部署主流 Web 应用程序。GWT Designer 是 Google 新推出的可视化开发插件,大大简化了界面开发工作。本文将结合 GWT Designer,以一个小型 Web 应用系统为例,对基于 GWT 的 Web 应用开发进行完转载 2012-09-28 19:14:13 · 4264 阅读 · 0 评论 -
安全密码存储,该怎么做,不该怎么做?
作为软件开发者,其中最重要的一个责任就是保护用户的个人信息,如果用户没有相关的技术知识,他们在使用我们的服务的时候别无选择只能信任我们。可惜的是,当我们调查关于密码的处理的时候,我们发现有各种不同的处理方式,而这些方式有很多都不安全。虽然构建一个完全安全的系统是不可能的,但是我们可以通过一些简单的步骤让我们的密码存储足够安全。不应该:首先让我们看看当我们构建一个需要用户认证的系统的时候不应转载 2012-08-09 13:47:20 · 665 阅读 · 0 评论 -
JavaScript宝座:七大框架论剑
一周前,Throne of JS大会在多伦多召开,这应该是我参加过的最有料也最不一样的一次大会。大会官网如是说:加载整个页面,然后再“渐进增强”以添加动态行为,这种构建Web应用的方式已经不够好了。要想让应用加载快,反应灵敏,而且又引领潮流,必须彻底检讨你的开发手段。这次大会邀请了七大JavaScript框架/库的创建人,他们济济一堂,面对面交流各自的技术理念。所谓七大框架/库分别是:An转载 2012-08-06 21:23:11 · 656 阅读 · 0 评论 -
为什么Linux不需要磁盘碎片整理
如果你是个Linux用户,你可能听说过不需要去对你的linux文件系统进行磁盘碎片整理。也许你注意到了,在Liunx安装发布包里没有磁盘碎片整理的工具。为什么会这样?为了理解为什么Linux文件系统不需要磁盘碎片整——而Windows却需要——你需要理解磁盘碎片产生的原理,以及Linux和Windows文件系统它们之间工作原理的不同之处。什么是磁盘碎片很多Windows用户,甚至是没有转载 2012-07-20 09:11:38 · 517 阅读 · 0 评论 -
优秀的JavaScript框架
JavaScript是一个颇受欢迎的基于原型的脚本语言,可用于开发运行在浏览器上的应用程序,创建增强的用户界面和动态网站。例如,JavaScript可与数据库核查表格中输入的信息。JavaScript应该不会与Java混淆起来,两个语言之间没有关系,Java是一个平台而不仅仅是一种程序语言。帮助加快网站开发的开源JavaScript框架有许多,其中的优秀框架如JQuery、Ext JS、Goo转载 2012-07-20 09:10:58 · 336 阅读 · 0 评论 -
百行 HTML5 代码实现四种双人对弈游戏
简介: 本文是一个非常具有挑战性的编程,因为 100 行代码,约莫 10000 个字符左右,将实现围棋、五子棋、四子棋和翻转棋四种双人对弈游戏。请注意,这四个对弈游戏不是初级编程者的习作,而是有着棋盘、立体棋子、事件、走棋规则判断、输赢判断的完整对弈游戏,并且可以离线存储到 iPad、Android 平板中,试想一下,把这种游戏下载到平板中,就可以在火车,旅游景区,等没有信号的地方进行对弈,是不是转载 2012-07-02 21:34:55 · 2537 阅读 · 1 评论 -
ArchSummit讲师专访:腾讯微博张松国谈腾讯微博的架构成长过程
编者按:由InfoQ主办的全球架构师峰会将于2012年8月10日-12日在深圳举行,为了更好地诠释架构的意义、方法和实践,InfoQ中文站近期会集中发布一批与架构相关的文章,本篇即为其中之一。InfoQ也欢迎读者亲身参与到本次全球架构师峰会中,与来自国内外的顶尖架构师进行面对面的交流。报名参会请点击这里。张松国,现任腾讯微博事业部技术总监,负责腾讯微博技术工作。曾任腾讯系统架构部架构师和腾讯网转载 2012-07-11 15:51:51 · 9876 阅读 · 0 评论 -
顾森:稳定婚姻问题和Gale-Shapley算法
什么是算法?每当有人问作者这样的问题时,他总会引用这个例子:假如你是一个媒人,有若干个单身男子登门求助,还有同样多的单身女子也前来征婚。如果你已经知道这些女孩儿在每个男孩儿心目中的排名,以及男孩儿们在每个女孩儿心中的排名,你应该怎样为他们牵线配对呢?最好的配对方案当然是,每个人的另一半正好都是自己的“第一选择”。这虽然很完美,但绝大多数情况下都不可能实现。比方说,男1号最喜欢的是女1号,而女1转载 2012-06-19 12:58:19 · 2396 阅读 · 0 评论 -
rsync 的核心算法
rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输。rsync中一项与其他大部分类似程序或协定中所未见的重要特性是镜像是只对有变更的部分进行传送。rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。rsync利用由Andrew Tridgell发明的算法。这里不介绍其使用方法,只介绍其转载 2012-05-24 15:52:00 · 253 阅读 · 0 评论 -
霍夫曼编码压缩算法
前两天发布那个rsync算法后,想看看数据压缩的算法,知道一个经典的压缩算法Huffman算法。相信大家应该听说过 David Huffman 和他的压缩算法—— Huffman Code,一种通过字符出现频率,Priority Queue,和二叉树来进行的一种压缩算法,这种二叉树又叫Huffman二叉树 —— 一种带权重的树。从学校毕业很长时间的我忘了这个算法,但是网上查了一下,中文社区内好转载 2012-05-24 15:53:55 · 510 阅读 · 0 评论 -
浅谈网页搜索排序中的投票模型
前些天读了一本《选举的困境》,其中有一章,从美国的选举制度说起,介绍美国选举制度的不足,然后针对其不足,提出种种改善,然而每种改善都有其各自的问题,其中的变化很有趣。先说美国选举制度,美国的总统选举是一种“赢者通吃”的方式,每个州根据其人口多少,有几十或几百的“州票”,州里的人对总统候选人进行选举,在某个州获得票最多的那个候选人,获得这个州所有的“州票”,然后统计所有候选人的“州票”多少,获得转载 2012-06-01 15:20:09 · 2828 阅读 · 0 评论 -
Google 按图搜索的原理
针对这个问题,请教了算法组的同事,他分享了基本的思路:对于这种图像搜索的算法,一般是三个步骤:1. 将目标图片进行特征提取,描述图像的算法很多,用的比较多的是:SIFT描述子,指纹算法函数,bundling features算法,hash function(散列函数)等。也可以根据不同的图像,设计不同的算法,比如图像局部N阶矩的方法提取图像特征。2. 将图像特征信息进行编码,并将海量图转载 2012-06-01 15:15:47 · 322 阅读 · 0 评论 -
SQLite vs MySQL vs PostgreSQL:关系型数据库比较
自1970年埃德加·科德提出关系模型之后,关系型数据库便开始出现,经过了40多年的演化,如今的关系型数据库种类繁多,功能强大,使用广泛。面对如此之多的关系型数据库,我们应该如何权衡找出适合自己应用场景的数据库系统呢?O.S. Tezer最近在DigitalOcean上发表了一篇博文,对比了SQLite、MySQL和PostgreSQL这三个常用的、流行的关系型数据库管理系统(RDBMS),希望能对转载 2014-04-02 09:21:33 · 1068 阅读 · 0 评论