趣题:所有人手上的糖数最终会变得一样多
n 个小朋友在圆桌上坐成一圈。初始时,每个小朋友都拥有一定数量的糖。接下来,反复进行下面两个操作: 1. 如果有人手里的糖数是奇数,就向老师再要一颗糖,把手里的糖数补成偶数; 2. 每个人都把自己手中一半的糖传给他右边的人(同时接到从左边传过来的糖)。 证明:总有一个时刻,所有小朋友手中都...
精选技术长文、实践记录与系统化阅读
低噪声、高可扫读;标题、摘要、来源、标签一目了然。
采集自各技术站点的近期文章。
n 个小朋友在圆桌上坐成一圈。初始时,每个小朋友都拥有一定数量的糖。接下来,反复进行下面两个操作: 1. 如果有人手里的糖数是奇数,就向老师再要一颗糖,把手里的糖数补成偶数; 2. 每个人都把自己手中一半的糖传给他右边的人(同时接到从左边传过来的糖)。 证明:总有一个时刻,所有小朋友手中都...
前言:半年前,和师弟在一起吃饭时,他忽然抬头,很好奇地问我:“为什么有了百度的大检索,百度地图还要自己做检索呢?”这个问题也一直伴随着我,后来有幸转入检索方向,不断摸索,也才有了这篇文章。正文:地图检索,顾名思义,是在地图里的检索。它与大检索大同小异,虽然在切词粒度、专名识别、拉链归并和rank等很多细节上与大检索有一定差异,然而真正让他与众不同、独具风采的,是地图领域所特有的空间位置信息。在地图...
有一次,当开发人员完成当前Sprint 任务的代码之后,测试人员与开发人员、产品经理一起来浏览产品、从头到尾走一边,产品经理发现了问题,认为需要对功能进行比较大的修改。这时开发人员估计 需要两天时间才能完成代码,但测试人员反对这样做,我们本来只有5天测试时间,加上这次新做的功能比较多、开发代码质量不高,验收测试已经很紧张。如果再 延迟两天,测试没法完成。产品经理说,你们不是在用敏捷测试方法,应该测得很快,三...
当程序访问的虚拟地址在页表中找不到对应的物理页时,这时候,就会向磁盘读取此虚拟页面,并且将此虚拟页面与一个物理页面关联起来,并且在页面记录这种关系。当物理页面都已经被占满的时候,操作系统就会踢掉一个用的少的物理页面,从而让这个新的虚拟页面装入物理页面。 ―― 这和我们使用缓存的逻辑没有什么不同 ―― 操作系统将虚拟页面放入物理页面的动作,是由异常机制触发的。
tcpcopy是一个基于底层的应用请求复制(所有基于tcp的packets)开源项目,可用于替代ab做在线模拟压力测试,可转发各种在线请求到测试服务器上,进行较为详尽的近乎实际的测试,从而避免了新业务、系统上线带来的潜在问题。 tcpcopy的四大功能: 1)分布式压力测试,将多个前段请求集中到某个后端进行压力测试 2)上线前测试,检验新系统可靠性,提前发现潜在问题 3)对比测试...
javascript有this关键字,this跟javascript的执行上下文密切相关,很多前端开发工程师至今对this关键字还是模棱两可,本文将结合代码讲解下javascript的this关键字。
安全的三要素: Confidentiality:保密 Integrity:一致 Availibility:可用对于Confidentiality和Integrity,可用的手段很明确,就是加密和验证;但是对availibility,有什么好办法哪?能够想到的,rudundency(冗余),cluster(集群),resource limit(资源限制),等等。手段很多,但是有用的是哪个?可用性的目标也不好描述,什么样的系统是达到了它可用的目标?比如对系统的访问已经...
最近几年,在iPhone、iPad的推动下,移动互联网发展迅猛,越来越火,各种App大战也随之越演越烈,越来越多的互联网公司想进入这块领域并分得一杯羹。而要推出占领市场的移动产品,首先得先了解用户通常或可能会在什么情况下用到移动产品。 基于这样的目的,我们做了本次研究。而研究的第一步就是尽可能全面的梳理出了目前平板电脑的各种使用场景;第二步则是将梳理出的各种使用场景跟我们的业务形态和产品架构相结合,经过讨论,挑...
创业就是开创事业。重点是事业,不是开个公司,也不是挣钱,公司和挣钱是你事业的副产品。事业是我们的理想,是我们对自己人生价值的一种诉求。我个人认为,只有上升上事业的层面上来,才能算得上是创业。如果你只是想开个公司,接两个项目做做,挣点钱,我觉得那就是在浪费时间浪费生命,除非你是想以一种曲线的方式达到你的人生理想目标。你的公司至少应该要去改善或是颠覆点什么,如果还有价值观的输出,那就更完美了。总之一句话,别把自己给卖了。
我这几天在微博上写了一句话: 回归简单,即便开始反而会变得更加复杂。 回想起当年刚用Django写素材管理系统还历历在目,最近却已经逐渐脱离Django了。 成长总是分阶段的吧,勇敢的抛弃一...
局限性:1.服务器必须配置有cURL 2.增加一次服务器的请求。
我们知道host或router等设备IPv4的地址配置中,一般提供”IPAddress/PrefixLen”或者”IPAddress network-mask 255.255.255.0”这类的地址配置方式。也就是说可以采用指定子网掩码长度或者明确写出子网前缀这两种方式配置地址。而到了IPv6之中,只能使用”IPv6Address/PrefixLen”这种方式。看官可能会觉得这个无所谓啊,两者是等价的,其实不然。如果提供指定掩码配置的方式我们可以配置出如下的”255.0.255.0”这样的不连续掩...
在工作中有时会有需要统计代码的行数,一般会用 wc 给出一个大致的结果。只不过在源代码文件分布比较分散,且存在多种不同类型语言的源代码时,wc 就不是特别适合了。 在公司内部也见过一些同事实现类似功能的脚本,但我想这应该是一个通用的需求,于是就找到了这个工具 - CLOC。
PHP从诞生以来就受到广大编程爱好者的喜欢,成为中小站长的好帮手,并培养了大量的PHP编程人员,但是随着PHP的应用越发广泛,很多时候已不限于从事中小网站的应用,一些大型PHP项目也屡见不鲜。 当我们选择PHP开发大型项目时,就不得不考虑开发效率、开发规范、后期维护等问题,这时大家往往会选择一款人们所认可的开发框架,目前所流行的Zend Framework、Yii、Symfony、CodeIgniter、CakePHP等都声称有着开发大型应用的能...
今天我打算写一些细节,以阐明OAuth如何从1.0改变成1.0a,继而改变成2.0的。 OAuth1.0 在OAuth诞生前,Web安全方面的标准协议只有OpenID,不过它关注的是验证,即WHO的问题,而不是授权,即WHAT的问题。好在FlickrAuth和GoogleAuthSub等私有协议在授权方面做了不少有益的尝试,从而为OAuth的诞生奠定了基础。 OAuth1.0定义了三种角色:User、Service Provider、C...
我写博客有句口头禅:“最近某件事情令我印象深刻”。这句话的意思是,我的观点既不是一拍脑袋拍出来的,也未必能放之四海而皆准,只不过是特定环境下的经验总结罢了。有人称赞这是干货,我倒是担心,如果读者不理解此事件发生的“特定环境”,或许南橘北枳。以上全是废话。好吧,最近――其实也就是上周,又有件事情令我印象深刻。这要从一年前说起,涉及两位同事,姑且称之为A君与B君。一年前,我与A君、B君共同合作产品项目,当...
首先要说的是,我是一个Scala粉丝,我作为一个Scala语言的倡导者差不多有5年历史了。我写了不少Scala语言方面的书和文章。我曾在数十个公司里做过Scala和Lift框架项目的开发。我对很多的Scala项目进行过代码审查。 我过去以为Scala很简单。它过去确实很简单,而且一直很简单,它是治疗Java里很多问题的良方。从“有些使用Java显的异常的困难或不可能的事,使用Scala却非...
在阅读PHP源码和学习PHP扩展开发的过程中,我接触到大量含有“TSRM”字眼的宏。通过查阅资料,知道这些宏与Zend的线程安全机制有关,而绝大多数资料中都建议按照既定规则使用这些宏就可以,而没有说明这些宏的具体作用。不知道怎么回事总是令人不舒服的,因此我通过阅读源码和查阅有限的资料简要了解一下相关机制,本文是我对研究内容的总结。 本文首先解释了线程安全的概念及PHP中线程安全的背景,然后详细研究了PHP的...
在当前这个信息量飞速增长的时代,一个企业,尤其是电子商务企业的成功已经越来越多地与其海量数据处理能力相关联。高效、迅速地从海量数据中挖掘出潜在价值并转化为决策依据的能力,将成为企业的核心竞争力。数据的重要性毋庸置疑,但随着数据的产生速度越来越快,数据量越来越大,数据处理技术的挑战自然也越来越大。如何从海量数据中挖掘出价值所...
某人发了一篇Don’t use MongoDB的血泪控诉,我把原文翻译如下,你可以看看。不过,我想我们还要去看看10gen CTO的对此事的回复,我们还要去在Reddit上看看大家的说法,10gen CTO的对此事的回复后面也有一堆人在讨论这个事,还有一些程序员开始去读MongoDB的源码了,呵呵。看样子,说MongoDB的这些事并不是真的。 10gen CTO 对此事的并不完全知道,其在回复,对些文中的每一条都做了回复。我把其回复的大体意思也放在原文中。...