IT技术博客大学习 共学习 共进步

技术文章

精选技术长文、实践记录与系统化阅读

技术文章精选

低噪声、高可扫读;标题、摘要、来源、标签一目了然。

最新文章

采集自各技术站点的近期文章。

IT 互联网/ 2012-01-27 18:46:49 / 累计浏览 1,707

乱评Path2.0

Path2.0界面焕然一新,增加不少功能,从Path2.0的产品策略和界面方面简要点评下这次产品升级。 不专业地分析产品功能: 以时间轴组织多种信息, 可能意图在于通过这两点的调整增加总体信息量和用户使用频率。就像使用微博,当好友人数从50人增加到150人时,用户可看到的信息增加,刷新微博的频率也会增加。 Path本身的形象是私密化的社交产品,提升人数上限之后会影响内容的私密化程度。对于某些用户而言,这种做法稀释了重要信息。用户期望只快速捕捉重要信息,而产品则期望在不干扰用户的情况下增加用户的使用时间,连睡觉了都要生成一条消息。 现实生活中,150人是单个人维持关系的上限,Path可能在试图从私密化社区转变更符合现实关系的社区,打造全方位的生活信息分享,而不只是小众化的图片分享。增加了媒体文件音乐的分享,睡眠设置和自动签到让产品显得更为私密化和情感化。 好友上限对用户数的增加有较大的影

IT CSS/HTML/ 2012-01-27 18:46:12 / 累计浏览 2,978

抛弃 CSS Hacks 后的浏览器兼容方案

一般情况下的浏览器兼容需要考虑 IE6/7/8 三种 IE 版本,当然在 IE9 开始逐步推向市场后,又会有更多的衍生版本。所以我目前只考虑 IE7~9 版本的兼容情况。

IT 算法/ 2012-01-27 18:45:03 / 累计浏览 2,610

搜索引擎中的粒度问题

一.前言传统的搜索引擎的定义,是指一种对于指定的查询(Query),能够返回与之相关的文档集合(Documents)的系统。而百度将这个定义更加丰富化,即搜索引擎能够帮助人们更方便的找到所求。这里的“所求”,比“文档”更加宽泛和丰富,比如一个关于天气的查询,直接返回一个天气预报的窗口,而非一篇关于天气的文档;再如一个关于小游戏的查询,直接返回这个小游戏的Flash页面而非简单的介绍性的文字。百度对Query深刻的理解,源于自然语言处理技术在其中发挥的巨大作用。对搜索引擎而言,文本切分是最基础也是最重要的自然语言问题之一。今天,我们就来谈谈文本切分粒度与搜索引擎的关系。本文后续章节组织如下:第二节介绍什么是文本的粒度,第三节讲述搜索引擎的基本原理与文本切分粒度的关系,第四节深入探讨粒度的属性与检索相关性计算,第五节小结。 二.文本粒度什么是文本的粒度?我们用什么来衡量文本粒度?在回

IT 互联网/ 2012-01-27 18:44:08 / 累计浏览 2,550

同步技术的应用趋势

年中Apple发布了icoud,基于原有的MobileMe功能全新改写而成,提供了原有的邮件、日历和联络人同步功能。可见其中重要的功能就是同步,越来越多的手机和应用程序中都在应用同步,那同步的技术原理和未来应用趋势是什么呢? 同步可以理解为保持多个设备中数据一致,需求可能来源于以下几种常见场景: 1.用户频繁地使用USB导入和导出数据,比如图片、电影和音乐等文件数据。 2.用户需要保证多设备之间的数据一致,随时调用最新的数据。多人也可以协同编辑同一文件。 3.设备遗失或者更新之后,数据可能也随之丢失。数据同步到网络服务器,可以保证数据的安全。 随着数据本身和用户多设备的增加,同步的需求越来越为强烈。而数据同步并不是一件简单的数据传输过程,涉及到复杂的算法。数据同步算法的重点是提高效 率和节约网站宽带。对于单一文件的同步容易实现,只有文件的上传和下载,当文件增多和文件本身可编辑时,数据不可以

IT 源码分析/ 2012-01-27 18:43:09 / 累计浏览 5,598

Storm源码浅析之topology的提交

最近一直在读twitter开源的这个分布式流计算框架——storm的源码,还是有必要记录下一些比较有意思的地方。我按照storm的主要概念进行组织,并且只分析我关注的东西,因此称之为浅析。 一、介绍 Storm的开发语言主要是Java和Clojure,其中Java定义骨架,而Clojure编写核心逻辑。

IT 算法/ 2012-01-27 18:42:12 / 累计浏览 1,905

趣题:舞台里的狮子

    有一个半径为 10 米的圆形舞台,初始时舞台上的某个地方有一头狮子。这头狮子在舞台上以折线段的方式跑了 30 千米。求证:在整个过程中,这头狮子至少转了 2998 个弧度。     有时候,换一个角度思考,问题就会迎刃而解。                     现在,让我们站在狮子的角度,用狮子的眼光来看周围的世界。这样的话,狮子本身就是静止不动的,运动的其实是整个舞台;再假设狮子的头也是始终朝北的,狮子原地旋转实际上就是整个舞台绕着它做圆周运动。这样一来,舞台中心的运动就只有两种形式:竖直向下的直线运动,以及以狮子为中心的圆弧运动。如下图,左图就是在我们看来,狮子的移动轨迹,其

IT 发现/ 2012-01-27 18:41:19 / 累计浏览 8,298

使用python来抓取新浪的IP数据

数据分析,特别是网站分析中需要对访问者的IP进行分析,分析IP中主要是区分来访者的省份+城市+行政区数据,考虑到目前纯真IP数据库并没有把这些数据做很好的区分,于是寻找了另外一个可行的方案(当然不是花钱买哈)。

IT 算法/ 2012-01-27 18:23:14 / 累计浏览 2,713

gen_tcp接受链接时enfile的问题分析及解决

最近我们为了安全方面的原因,在RDS服务器上做了个代理程序把普通的MYSQL TCP连接变成了SSL链接,在测试的时候,皓庭同学发现Tsung发起了几千个TCP链接后Erlang做的SSL PROXY老是报告gen_tcp:accept返回{error, enfile}错误。针对这个问题,我展开了如下的调查: 首先man accept手册,确定enfile的原因,因为gen_tcp肯定是调用accept系统调用的: EMFILE The per-process limit of open file descriptors has been reached. ENFILE The system limit on the total number of open file

IT CSS/HTML/ 2012-01-27 18:22:34 / 累计浏览 3,044

IE兼容性bug汇总

项目最新版本的开发进入后期阶段,今天鼓起勇气打开IE Test,如我所料啊!页面在IE6下面目全非了,呜呜~~ 现在开始修复IE的Bug(大部分是IE6,IE7 8也有一些),顺便记录下来。 1、png图片在IE6下出现透明或背景变灰的bug; 分析: 随处可见,遇到时就想好策略。 解决方法:1、使用滤镜,语法如下 .image-style { background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=”filename.png”, sizingMethod=”scale”); } 注意:使用滤镜需要性能损耗。 2、给IE6单独制作一张.gif图片,打上hack .image-style{ background:transpare

IT 其他/ 2012-01-27 18:20:38 / 累计浏览 1,827

[Perl]dancer 介绍

名称 描述 安装 Dancer Dancer 的设置 Dancer 的用法 HTTP 的方法 路由的处理 路径名字匹配 路径通配符 正则表达式来匹配 条件匹配 PREFIX(前缀) 跳过动作 ERROR 页 执行出错 过滤器 前过滤器 后过滤 前...

IT 算法/ 2012-01-27 18:17:21 / 累计浏览 3,012

基站轨迹定位算法

前言我在哪?是LBS领域首先要解决的问题。因为技术限制,传统的GPS卫星定位只有室外的空旷地区才能够准确定位,对于室内环境来说,GPS定位往往会因“搜星”失败而无法定位。正因为GPS定位的天然缺陷,基于手机基站的定位技术正在蓬勃发展。然而因为基站的覆盖范围大,很难以取得高精度的效果,本文利用基站轨迹,提出了一个提高基站定位精度的方法。关键字:基站定位,轨迹定位,Viterbi算法 绪论对于单基站定位,如果仅根据用户当前的基站ID进行定位,精度必定有限。用户可能出现在基站覆盖范围内的任意一个地方,基站的覆盖范围越大,推测出来的用户位置就越不准。如果我们还知道用户之前一段时间内经过的基站ID序列(称为基站轨迹),此时即可大致判定用户行动轨迹,可借此提高精度。例举一个简单例子: 如上图所示,假设用户在一瞬间,基站ID从A切换到了B,此时用户属于B基站,单单从B这一个基站考虑的话,很

IT 系统运维/ 2012-01-27 18:16:57 / 累计浏览 3,554

storm集群的监控

    所谓兵马未动,粮草先行,准备将storm用在某个项目中做实时数据分析。无论任何系统,一定要有监控系统并存,当故障发生的时候你能第一个知道,而不是让别人告诉你,那处理故障就很被动了。     因此我写了这么个项目,取名叫storm-monitor,放在了github上      https://github.com/killme2008/storm-monitor     主要功能如下:1.监控supervisor数目是否正确,当supervisor挂掉的时候会发送警告。2.监控nimbus是否正常运行,monitor会尝试连接nimbus,如果连接失败就认为nimbus挂掉。3.监控topology是否正常运行,包括它是否正常部署,是否有运行中的任务。

IT 设计思想/ 2012-01-27 18:16:21 / 累计浏览 2,909

过度设计的判定

概念过度设计,从产品方案与设计上来讲,指盲目满足用户需求,极度追求用户体验,最后导致需求未果,产品可用性下降。主要表现在机械粗鲁地添加功能,造成产品设计路径坏死,功能堆积、复杂、重复和冗余。 说易行难。甲说这是「过度设计」,乙却认为大大方便了用户。一套判定原则显得有必要。判定原则设计路径坏死从天而降(上级要求、用户要求、突发奇想等),不遵循可用性原则,也无推断逻辑,无理由。设计的逻辑路径无法复用,它的「成功」不可复制。最常见的代言词是「方便」。比如,在这加一个按钮方便用户,那么在那加个按钮也「方便」。功能堆积与复杂罗列,有一个摆一个;无意义分组,比如时间、大小,而不是按照内在关联。功能重复与冗余无规律地重复;多余,导致该功能或(和)正统功能对用户失去价值。

IT 视觉设计/ 2012-01-27 18:15:08 / 累计浏览 41,669

情绪版(Mood board)操作流程的新思考

情绪版这种方法在国外的应用已经有一定的历史了,它诞生于上世纪的非信息时代,通常参与者被要求从日常的报刊杂志中挑选出符合“某种心情意境或关键词”的图片,把图片减下来,然后粘贴在一起。但时代在变,如今我们正经历着信息爆炸的网络时代――google、百度各种图片搜索引擎的进入了我们的生活;Shutter Stock、全景图等国内外专业图片素材网站的异军崛起――这不得不让我思考,“情绪版”这种方法是不是也能感受一下党中央的号召,“与时俱进”一下呢?         在今年10月份的安卓客户端设计研究的项目中,我们组织用户参与尝试了这个研究方法,并且对该方法的操作实施细节与分析过程进行了一些小小的改良。希望通过这边文章,与大家分享一下整个方法的流程。   1 传统意义上,情绪版的定义和意义

IT Linux/ 2012-01-27 18:11:50 / 累计浏览 3,589

tcpdump匹配http头

tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 0x4745 为"GET"前两个字母"GE"0x4854 为"HTTP"前两个字母"HT"

IT 其他/ 2012-01-27 18:10:01 / 累计浏览 2,451

[Perl6]类, 属性, 方法和其它

我非常兴奋地撕下今天的礼物上闪亮的包装纸,里面是无可争议的 Perl 6 的对象模型,它内置了其类声明,角色组成,自豪的元模型(meta-model).除了有先进的功能外,让我们看看在 Perl 6 中...

IT MySQL/ 2012-01-27 18:08:39 / 累计浏览 1,786

在Server层实现Kill Idle Transaction

在上一篇文章里我们写了如何针对InnoDB清理空闲事务《如何杀掉空闲事务》,在@sleebin9 的提示下,这个功能不仅可以针对InnoDB,也可以用于所有MySQL的事务引擎。 如何在Server层实现呢,sql/sql_parse.cc的do_command()函数是个好函数,连接线程会循环调用do_command()来读取并执行命令,在do_command()函数中,会调用my_net_set_read_timeout(net, thd->variables.net_wait_timeout)来设置线程socket连接超时时间,于是在这里可以下手。

IT 编程语言/ 2012-01-27 18:05:22 / 累计浏览 2,787

最奇特的编程语言特征

本刊评论目前为止,据我个人观察,从语法角度上讲,最被人诟病的一种语言应该是LISP语言了。打开这种语言的代码,一眼望去,满目全是括弧,一层套一层。这种语言特征最大的问题是,它不符合人们通常的思维习惯。LISP语言的这个特点是个整体的语言现象,而任何一种语言其实也都有一些个别的很奇特的东西,其中有些会奇怪的让你摸不着头脑。有一个好事者在一个帖子上征集各种语言里不合常理的地方,结果收集到了320多条,问题最大最多的语言算是Javascript了,另外还有C,Java,Python,PHP等等。下面列出的是其中最有趣的几条。

IT CSS/HTML/ 2012-01-27 18:04:32 / 累计浏览 1,890

设置样式方法setStyle

上周在微博上看到这样一条微博: 这个setStyle方法确实避免了mydiv.style.xxx这种写法大量重复的代码,确实代码简洁了不少,也很直观,但是这里还有一个问题,如果设置的样式一多,重复操作DOM无法避免,销毁原样式并重建都会增加浏览器的开销。我们可以先生成一个样式字符串,再一次性设置样式,这样可以尽量避免页面reflow。