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

技术文章

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

技术文章精选

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

最新文章

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

IT 算法/ 2012-07-19 14:02:08 / 累计浏览 1,366

人的“模式识别”与设计的认知效率

我们做设计时常是在做信息的组织,差异的控制。而什么样的信息组织可以被用户更好的接收,被更有效率的认知,可以从人是怎么认知事物而来探讨下,毕竟用户的认知是具有普遍规律性的,但是模式的发现与利用并不是一件容易的事,“误解”常常也是人类特质的表现之一。 在计算机学科里有一个专业方向叫“模式识别”,Pattern Recognition。是指通过借助计算机,对人类外部世界某一特定环境中的客体、过程和现象进行自动识别的技术。这个技术在我们身边最典型的应用应该是现在各种相机里的人脸识别技术

IT 系统架构/ 2012-07-19 13:57:55 / 累计浏览 1,707

Gecko架构浅析之编码检测和转换

Gecko是一套网络排版引擎,由来已久,为当年大名鼎鼎的netscape网络浏览器流传而来,后面也成为了firefox浏览器,thunderbird等等软件的基础。详细的发展历程在这里就不展开做具体介绍了,读者可以自行查阅百度百科,维基百科等资料。在这一章我们重点介绍一下gecko中是如何对全球各种不同的网页文档的编码方式来做出识别和转换的。我们知道,netscape或者firefox是面向全球用户的,并且,在互联网的世界,并没有什么界限妨碍一个美国的用户访问中文或者日文的网页。所以,在这种场景下,浏览器是否能正确识别每个地区的网页的编码格式,并正确地显示出来,就尤为重要了。

IT 信息和交互/ 2012-07-19 13:30:46 / 累计浏览 2,010

如何制作实用美观的设计文档

最近准备做一个设计文档的分享,但是一直没有时间整理好keynote,这里先分享一个设计文档模版,以及模版中每个元素的使用理由与方法。之后的设计文档分享中,会加入更多的设计文档案例来分析讨论。

IT 编程语言/ 2012-07-19 13:29:30 / 累计浏览 2,765

浅谈编码

 其实所谓编码问题,不外乎若干概念,弄明白了这些概念,编码问题就可以迎刃而解了,所以这里按照概念来展开讲解。 字符和字符集 字符,就是我们日常使用的各种文字,比如中文的你、我、他,英文的A、B、C,日文的に、ほ、ん、ご,都是字符。手写可以用到的字符几乎是无限的,但在计算机中,必须事先约定好字符的范围,也就是穷举出所有“可以使用”的字符。这个范围,就是通常说的“字符集”(Character Set)。 ISO8859-1是开发中常见的字符集(MySQL默认就采用这种字符集),它支持的语言有英语、德语、法语等,也即包含了英语、德语、法语中的字符。

IT 算法/ 2012-07-19 13:27:13 / 累计浏览 3,171

sku组合查询算法探索

在前端领域,很少会遇到算法问题,这不能说不是一种遗憾。不过,随着前端处理的任务越来越复杂和重要,偶尔,也能遇到一些算法上的问题。本文,所要讨论的,就是这样一样问题。 什么是SKU 问题来自垂直导购线周会的一次讨论,sku组合查询,这个题目比较俗,是我自己取得。首先,看下什么是sku,来自维基百科的解释: 最小存货单位(Stock Keeping Unit)在连锁零售门店中有时称单品为一个SKU,定义为保存库存控制的最小可用单位,例如纺织品中一个SKU通常表示规格、颜色、款式。

IT 算法/ 2012-07-19 12:36:40 / 累计浏览 2,581

为什么会有 setuid?为什么不是别的机制?

来我们组面试过的同学,如果在简历中写了“熟悉 Unix/Linux”之类的话,那么很可能被问到类似这样的问题:“为什么会有 setuid?为什么不是别的机制?”。前不久和徐老师讨论设计原则问题时又聊到了这个 setuid。应徐老师建议,写下这篇命题作文,说说我的理解。

IT 其他/ 2012-07-19 12:27:52 / 累计浏览 3,228

CEO做什么其实是在传达一个信号

今天晚上在大学街的意大利煎饼果子铺,我们几个人在聊Facebook的高管在做什么。几个细节引起了我的注意。CEO Zuck每年还是要Checkin一行代码的(显然这是一个象征性的动作),COO Sandberg每天都自己盯着解决几个用户的问题。这个小动作其实大有值得借鉴的地方。 每个人做任何事情其实都有至少两部分的力量:一部分,我做完了这件事情;第二部分,我向其他人发送了一个信号,说明了些什么。在自己一个人干活的时候,前者或许更重要,而当一个领导者,后者的比重越来越大,甚至变成最重要的部分。 如果CEO在写代码,哪怕只是一行,这明确的传达了一个信号。显然一家公司不会因为一个人写的一行代码有实质性的变化,但这个信号是如此明确,就是技术对于这个公司是重要的。这种态度是组织需要的。 COO把头埋下来,每天哪怕只解决一个问题,这也是一个信号。

IT 视觉设计/ 2012-07-19 12:25:36 / 累计浏览 2,326

倾听色彩的声音

色彩是一个网站的情绪表达方式或者说是性格特征的体现,每种颜色都有着属于自己的声音。作为一种视觉元素,色彩是很难被量化被衡量的,也很难用理性的角度去分析和阐述它,我现在试着用另外一个角度去试图衡量网页的色彩,一种尝试。从最基础的色彩本质、色彩搭配形式、及色彩对用户的潜在影响和心理暗示等着手,去分析色彩,读懂色彩,让色彩帮设计师说话。

IT 视觉设计/ 2012-07-19 12:24:24 / 累计浏览 2,389

发现闪屏之美

每逢节日到来,当你打开QQ浏览器,发现有什么不同吗?QQ浏览器已经悄悄的送出了节日的关怀,呈现在你眼前的是朴实而又温情的画面——节日闪屏。她是浏览器和用户情感交流的窗口,也是传递节日祝福的桥梁。在不同的节日传达不同的人文关怀,变换不同的表现形式,无论是为你带来一秒静静的感动,或是纯净的莞尔一笑,我们都希望闪屏的氛围能给用户带来一个美好的心情,一段温暖的时光。

IT 安全/ 2012-07-19 12:24:01 / 累计浏览 2,945

SAE云服务安全沙盒绕过

ps:此漏洞,新浪已修复。新浪有云服务(SAE),提供PHP、JAVA等环境,供用户搭建网站,用户都在同一个云上,为了防止恶意用户在云上面DDOS,旁注黑掉其他云用户什么的,所以必须做安全限制,至少不允许用户调用某些关键函数。java对这种需求,有完美解决方案的,提供安全沙盒,有了安全沙盒,就限制了很多函数。但是java也有出漏洞的时候,今年新出了漏洞CVE20120507,绕过安全JAVA沙箱,新闻上讲,这个漏洞被用来黑苹果电脑。这个漏洞相关的技术,老外有分析文,国内也有分析文,虽然作者还是抱有疑问,但是并没有深究,所以原理方面的东西,就不献丑了。本文的目的,是把这个漏洞换个场景利用起来。

IT 其他/ 2012-07-19 12:22:40 / 累计浏览 2,771

实战遗留代码

什么是遗留代码?没有自动化测试的代码就是遗留代码,不管它是十年前写的,还是昨天写的。关于遗留代码,《修改代码的艺术》迄今为止依然是在具体手法上讲得最好的一本书。不过,这本书上来就直奔代码,还有一些东西是技法之外的。搭建基础设施做软件,没有自动化,基本上都算刀耕火织。关于基础设施,我曾写过一篇很长的文章,以我实际的一个项目为例,介绍了一些设施的基本样子。那篇文章很长,具体到面对遗留代码,有哪些特别之处呢?我们的目标是给没有测试的遗留系统增加代码,那么,那么增加代码覆盖率检查是一个不错的选择,各种语言都有自己的测试覆盖率方案。与单纯使用测试覆盖率不同的是,我们需要保证测试覆盖率只能提升,不能降低。所以,这里可能会略有一些开发的工作量。此外,遗留代码的质量往往不高,除了测试覆盖率工具,我们还可以引入各种代码检查工具,同时,采用同上面类似的做法,保证各种错误只能减少,不能增加。

IT 系统架构/ 2012-07-19 12:21:56 / 累计浏览 3,777

我对总线的理解和总结

首先需要明确什么是总线,其用途是什么?根据wiki的解释,总线是用于连接计算机各部件的子系统,用于各部件间的数据传输。为什么叫做bus呢?大家可以想英文中bus的意思是公共汽车。在这里也有近似的意思,是一个公共传输线路,大家的信号都可以在上面传输

IT 视觉设计/ 2012-07-19 12:21:24 / 累计浏览 1,790

自然而流畅——聊聊界面的切换动画

在使用一些移动端的 App 或 PC 端的软件的时候,我们常常会有一些界面之间切换的操作,尤其是在移动端的设备上,因为屏幕尺寸和交互方式的特性,就更多的会出现这些切换的操作,而很突然地从一个界面切换到另一个界面会给用户带来困扰,所以在触发这些操作的同时,往往需要过渡形式的动画来引导用户是如何从一个界面切换到另一个界面的,我们来看看一些常见的界面切换的过渡方式吧。

IT 系统架构/ 2012-07-12 23:26:36 / 累计浏览 2,528

Nginx+KV db进行AB灰度测试

周6参加华东运维大会,听了人家淘宝用nginx的一些场景,其中AB的灰度测试可能适用场景会比较普遍,当然大会上,并没有详细讨论实现。 大概需求是: 网站类业务在更新new feature时,并不想让全量用户看到,可以针对地区性用户开放此feature 大概构思了一个方式,使用 nginx+redis/memcache+IP库实现,简单的流程图如下.......

IT 信息和交互/ 2012-07-12 23:24:30 / 累计浏览 2,349

Web导航设计二三事

导航在Web中扮演一个回答用户“我是谁?”“我从哪里来?”“我到哪里去”的角色。好的导航是一个网站的主要基石。而在开始设计一个网站或者改版一个网页时,它往往是设计师第一个面临...

IT 视觉设计/ 2012-07-12 23:07:02 / 累计浏览 1,786

界面设计中的结构设计

构建界面视觉层级的元素有颜色的显著程度,图片、文字的尺寸大小,还有最基础的,内容的组织结构。 结构设计是指对界面内容进行分组,对界面中的信息、数据进行设计使之结构化呈现的...

IT 用户研究/ 2012-07-12 23:05:46 / 累计浏览 4,526

卖家问卷调研有效响应的影响因素研究

Q2季度淘宝网用户研究部门、阿里巴巴集团研究部与北京大学社会学系联合发起了“谁在开网店”的研究,近期北大项目组已经产出了研究报告,本研究采用了科学严谨的抽样方法进行研究。作为项目的延展,笔者对整个调研的样本回收情况做了较为深入的研究,探讨卖家网络问卷调研有效响应率的影响因素。 项目抽样与投放规则说明 本项目的抽样分为两阶段:第一阶段,以“地级市”为初级抽样单位。参考所有个体店家的地域分布,按照所属地级市划分为不同群体,对于个体店家数量较小的城市采用链接到周边邻近城市的方法。第二阶段,在地市级样本中,再抽取个体店家。在每个抽中的地级市内,以主营类目为分层变量,以卖家规模为排序变量,采用等距抽样的方法抽取个体店家6万家,进行投放。

IT 算法/ 2012-07-12 23:03:42 / 累计浏览 5,850

数学之美:Reddit评论排名算法

与文章新闻类排名不同的事,评论类的算法可能发表时间没有什么关系。 目前很多网站采用的评论排名主要有两种,即绝对好评数(好评减去差评)和好评率(好评/总评)。这两种评价方式 都存在很明显的缺陷,以下为事例: A:好评550; 差评450 B:好评60;差评40 C:好评1;差评0 D:好评9,差评1 首先是A与B比较,A的绝对好评数是550-450=100,B的绝对好评数是60-40=20,从绝对好评数比较,A的排名应该在B的前面;A的好评率为550/(450+550)=55%,B的好评率为60/(40+60)=60%,从好评率来说B的排名要比A的排名好。 再来比较下C与D,从好评率出发,C的好评率为100%,而D的好评率为9/(1+9)=90%,单纯从数据上看D的排名要比C的排名落后。

IT 算法/ 2012-07-12 23:02:51 / 累计浏览 5,384

数学之美:Hacker News的热门排名算法

Hacker News 是一家关于计算机黑客和创业公司的社会化新闻网站,由 Paul Graham 的创业孵化器 Y Combinator 创建。与其它社会化新闻网站不同的是 Hacker News 没有踩或反对一条提交新闻的选项(不过评论还是可以被有足够 Karma 的用户投反对票,或是投支持票);只可以赞或是完全不投票。简而言之,Hacker News 允许提交任何可以被理解为“任何满足人们求知欲”的新闻。 每个新闻标题前面有一个向上的三角形,如果你觉得这个内容很好,就点击一下,投上一票。根据得票数,系统自动统计出热门文章排行榜。但是,并非得票最多的文章排在第一位,还要考虑时间因素,新文章应该比旧文章更容易得到好的排名。