谁与我煮老酒- Yejun.Cn

云烟计算-你是云儿我是烟
RSS 图标 Email 图标 首页图标
  • 从IE中导出证书私钥,导入FIREFOX中

    发表于 2010年02月9日 yejun 没有评论

    1:下载证书工具:

    个人数字证书导出来的软件http://www.isecpartners.com/jailbreak.html下载后运行如下图标导出私钥

    导出的时候,在右侧证书上右键,所有任务,导出。

    选 择导出私钥。私钥用于签名和加密我发出的信息。

    输入密码。这个密码在证书导入FIREFOX或OPERA等其它地方需要用到。

    2:在FIREFOX中查看证书:

    3:导入”您的证书”

    4:直接可以访问需要证书的站点了。不需要重启FIREFOX.

  • 程峰同学整理的RSYNC算法资料

    发表于 2010年02月4日 yejun 没有评论

    【rsync算法】

        rsync是一个开源工具,提供快速地文件增量传输,其核心是”rsync算法”。该算法解释如下:

        现有两台机器a与b。a上有文件A,b上有文件B,且文件A与B非常相似(可能来自同一份源文件,只各自做了少量修改)。则rsync算法由如下若干步骤组成:

    1. b以s个字节为单位,将文件B分割成不重叠的若干块(例如B是1024字节,s是512字节,则B被分割成不重叠的2块)。最后一块可能不到s个字节。
    2. b对每个s字节块都计算两种校验和:32位的弱”滚动”校验和、128位的强MD4校验和。
    3. B将这些校验和发给a。
    4. a逐一搜索A中每个s字节块(因为A中出现不同内容的长度可能是非s整数倍的字节,所以A中每个s字节块的步进偏移量是1),找到与B中某s字节块有同样弱校验和与强校验和的字节块。(a如何找到文件A中与文件B中相同的字节块,这里就不详述了。该步骤是个计算密集的过程。为了提高性能,弱校验和的算法应该仔细设计,以到达单向、快速、计算量小。)
    5. a向b发送一串指令。b根据这些指令同步B文件。这些指令要么是到B某个字节块的引用,要么是数据内容。这些数据内容均是A中与B不同的字节块。

        b通过以上步骤,最终同步B文件。

     

    【弱滚动校验和】

        “rsync算法”的第4步中,a要对以1为步进值的所有s字节块频繁地计算弱”滚动”校验和。这就要求该校验和的算法应该尽可能的计算量小。下面是具体的算法:


    s(k,l)是字节块Xk…Xl的滚动校验和,该算法的优势如下:


    可见当已知字节块X1…Xn的滚动校验和以及X1、Xn+1的值时,使用该算法可以很方便地计算出X2…Xn+1的滚动校验和。

    以上只是一个简要的介绍,具体内容因篇幅有限,就不写出来了。这个算弱”滚动”校验和的算法挺巧妙的,所以就多写了些。其实这个算法是脱胎于Adler-32校验和算法的,有兴趣的童鞋可以再去看看。

     

    【校验和查找】

    “rsync算法” 的第4步中,关于机器a如何查找相同校验和的字节块的过程如下。

    当机器a接收到机器b计算出的文件B的校验和列表后,会搜索文件A中任一偏移量的s字节块,以找出相同内容的字节块。该搜索过程的基本策略是a顺序计算每个s字节块(偏移量的步进值为1)的32位滚动校验和,然后用该校验和在b发送的校验和列表中寻找匹配值。Rsync的算法通过一个简单的3层查询机制来实现该过程。

    第一层查询中,机器a首先为b传过来的校验和列表中每个32位弱滚动校验和,计算一个对应的16位哈希值,并据此对b传过来的校验和列表进行排序。同时机器a创建一个容量为2的16次方的哈希表。在该哈希表中,每条记录均指向排序后的校验和列表中第一个与该16位哈希值相等的元素。如果排序后的校验和列表中没有与该16位哈希值相等的元素,则该条记录指向null。

    机器a对文件A中每个偏移量的s字节块,都计算出32位滚动校验和与16位哈希值。如果容量为2的16次方的哈希表中,对应该16位哈希值的记录指向不是null,则进入第二层查询。

    在第二层查询中,机器a会从哈希表中对应记录指向的位置,开始扫描排序后的校验和列表。该过程一直扫描到某个32位滚动校验和的16位哈希值,与哈希表中对应哈希值不同时结束。如果发现有相同滚动校验和,则进入第三层查询。

    在第三层查询中,要比较该s字节块的MD4强校验和与对应校验和列表元素的MD4强校验和是否相等。如果相等,则我们假设找到了相同的字节块。其实存在这种可能性:弱滚动校验和与强MD4校验和均相同的两个字节块,其内容有可能不同。不过这种可能性非常小,所以rsync算法忽略不计这种情况。

    当发现相同字节块后,机器a会发送当前偏移量到上次相同字节块偏移量+s之间的这段数据给机器b,然后是相同字节块在文件B中的索引。这些数据会在匹配成功后立即发送,这样机器a的校验和查询过程与机器b的文件同步过程可以并行进行。

    在第二层查询中,如果最终没有发现相同滚动校验和,则机器a会步进到下一个s字节块进行滚动校验和计算(这一次的步进值是1),并重新执行上面的第一层查询。如果机器a最终找到相同校验和的字节块,则从该字节块后面重新开始新的搜索过程(这一次的步进值是s)。这个小技巧在A与B两个文件十分相似时,可以减少大量不必要的计算(查找字符串的子串时,这个技巧也经常使用)。

    下面是3张图示,大家将就着看吧 -_-|||…


     


     


    说明一下,我没有看rsynce算法的源码。所以这三张图只是个示意,可能存在出入。

     

    【总结一下】

    Rsync算法是Andrew Tridgell与Paul Mackerras在1998年的论文中介绍的。该算法主要针对当时网络情况的不稳定、窄带宽、高延时做出的。rsync算法很适合对一些小尺寸、相似度高的文件进行同步,但不适合大尺寸、路径结构深、文件数量庞大的文件群进行同步。原因从rsync算法可以看出,它需要对所有文件的全部弱”滚动”校验和与强MD4校验和进行计算、传递、比较,不管文件是否修改过。

    那如果我们能够标示出已经改变的文件,并只对这些文件做rsync同步,效率应该会大大提高。关于如何标示出修改过的文件,网上其实已经有许多解决办法,我就不当祥林嫂了。引用比较多的是:把某个需要同步的文件夹做成一个hash tree,使用修改时间作为hash值。因为linux下文件的修改,只会反映到该文件所在目录的修改时间,而不会反映到更上层的目录中,所以需要使用inotify接口自己写一个更新以上目录修改时间的同步程序(这个inotify我从没有用过,只是人云亦云罢了)。

  • 一次业务功能关联影响带来的线上故障

    发表于 2010年02月1日 yejun 没有评论

    上周发布了一个产品信息草稿箱的功能。像WORDPRESS和GMAIL一样,编辑状态下,定时可以保存内容,以免内容由于会话过期或窗口误关而丢失。发布后马上来了几个故障,分析后原因有以下几个:

    1. 保存的草稿产品的ID与正式产品ID主键冲突;正常逻辑下是不会有这样的问题,DRAFT产品记录和正式产品不在一个表。但是由于产品发布者的身份存在特殊类型,这类用户的产品发布产品就是进入等待审核的INFORMAL产品表。这个INFORMAL产品表与DRAFT产品表共用一个表,共用主键,从而导致了主键冲突;这个问题的根本原因 在于上线前,产品表受哪些类型用户影响的分析不够充份; 随着系统的发展,很多业务逻辑不再是单纯的,业务逻辑关联性越来越复杂。一个动作,受到的约束条件越来越多,如果设计时考虑不仔细,就可能带来各种问题。这也要求我们在系统设计上向松散耦合的方展努力。松散耦合的系统可以减少系统后期扩展和维护的大量工作成本;这个问题说明,系统设计要充分考虑当前产品的各类约束和影响;
    2. DRAFT产品编辑的时候影响到了以前某种已经停用的图片编辑功能;由于这个功能已经在两年前停用,但两年前用过这个功能的用户还是可以正常使用;这个问题说明,系统影响不只是考虑当前产品的功能,还需要考虑历史产品的特性FEATURE;
  • AliExpress工程师招聘需要您的鼎力支持!

    发表于 2010年01月28日 yejun 没有评论

    www.Aliexpress.com 上线不足半年,发展势头迅猛,已经成为阿里巴巴举足轻重的产品。
    半年里,我们一直在寻找优秀的JAVA开发同学,目前已经吸引了来自GOOGLE, EBAY,Amazon,百度等优秀公司的大量人才。
    现在,我们希望在4月1日以前从其他公司招到15名工程师,共同打造全球最大的在线国际交易系统。
    海量的交易信息,丰富的在线支持方式,全新的用户需求,独一无二的商业模式,让我们一起接受挑战!

    如果你认为哪家公司有符合我们标准的工程师,请将工程师的联系方式告诉我们。
    如果有老朋友,老同学,老同事,请直接推荐过来,好上加好。
    欢迎大家踊跃推荐外部人才的简历。
    新人上岗后,除接受公司HR制度大奖外,您将有机会和资深技术总监TOM大牛在杭州任意洒店美餐一顿,机不可失,时不再来,快点行动吧!

    工作地点:杭州(滨江B2B园区)
    职位名称:资深java开发工程师
    招聘数量:15名
    任职资格:
    1、本科或以上学历,计算机软件或相关专业,三年到五年以上J2EE项目开发经验。
    2、有互联网技术专研的兴趣和习惯,精通J2EE及其设计模式、熟悉Linux、HTML、CSS、Javascript、UML。
    3、精通数据库oracle和mysql及其性能优化。
    4、观注互联网技术发展,熟悉Web应用的开发,有至少3年的web应用开发经验。
    5、熟悉软件工程实践、高效开发习惯及良好的团队精神,愿意沟通,原意担当。
    6、有大数据量、高并发系统的开发经验(cache,性能优化等)。对spring,webwork框架的源代码有深入研究。
    7、有分布式数据库设计开发经验和大型网站构建经验优先考虑。
    8、有国内外大型互联网公司工作经验优先考虑。

    投简历,请联系我。

  • 纪伯伦这样说过

    发表于 2010年01月28日 yejun 没有评论

    生命是灰暗的,除非有了激情;
    激情是盲目的,除非有了知识;
    知识是徒然的,除非有了梦想!

  • 心力,脑力,体力

    发表于 2010年01月27日 yejun 2 条评论

    最近几次听到公司大人物对这几个力的阐述。我平时也没时间去接受新词汇,好不容易在加班之余,抱小孩的空闲,睡前的几分钟对这三种力进行了一番理解与思考,发现这三个力还真有点意思。

    心力是使命和希望的力量。这是一种需要经历,阅历,练就的一种内心的坚定。强大心力的人可以在万夫所指之下作自已的事,在风起云涌、事态变迁之时谈笑风声,掌声雷动、好评如潮的一刻依然心如平镜。心力强的人一定是万众曙目之下架着那七彩云霞独立特行之人。拥有心力很难,成功者一定要具备强大的心力。当自已没有强大心力的时候,我们需要追随那些足够强大的人,学习之,体练之,超越之。

    阿里是一个大染缸,在拥有近2万名员工的公司,我们还是不能失去自已对心力的追求。2万个人的想法,习惯,言行每一天都会影响自已对心力的修练。从1999年作第一个网站开始,我有过几次换行的念头一转而过。但最终是没有改变,我是一个靠作网站才在这十年活下来的人。我拥有的那些心力是宝贵的。至如今,我还是在搞网站,时下流行的说法应该叫互联网行业。三年多在阿里的工作经验,我自信,我的心力已经可以感觉到。

    脑力是技巧和知识。好的教育,好的导师,好的团队,好的项目可以帮助脑力的成长。阿里几年唯一感觉不到太大成长的就是脑力。脑力的成长需要一些无私的、有胸怀的人来帮助。相对我带过的团队,我总是一个服务者的角色出现,我乐于看到团队的成长,看到他们超越我。我当然也希望遇到这样的人。利尔达的陈董是个不错的人,聊过两次,我能感觉到一个长者对后生的关心。

    当想法无法被认可,能力被认为是无用功,观点无法说服别人的时候,人就是一个被动的资源与机器。阿里软件的问题曾经是同学们私下最喜欢的谈资和抱怨的对象,更有人写了匿名信给马总。作为比较了解阿里软件问题的人之一,我为公司提供过一些建议,未果。我的经验是:一定要去亲近和了解那些反对自已的人,他们的反对议建一定是有价值的。

    我不是最了解集团的人。这次重组来得匆忙,很多人没机会参于议建讨论,看着阿里软件的一些好的东西变成了费纸。重组的那天,大家的脑力终于获得了自由。员工在重组后进入了新的脑力培养环境,有进淘宝的,有进B2B的,还有进入阿里云的。我很高兴看到变化,这个变化也给我自由选择的机会。我无法选择一个一帆风顺、万事如意的环境,但可以选择一个提升脑力的环境。

    体力是体力。Uncle He在给Michael的暑期实习报告上写评语“该生体力好”。我当时不甚解,后细想,有理。没有好的体力,无法可持续发展。一个人也许现在没有另一个人成功,但好的体力可以保证终有一天,这个人活着,另一个人已经死了。这是极端的思考,客观得说,一个40岁的红人,终有一天红不过一个小10岁的普通人。那些向天再借500年的人,想借的是体力。

    职场上的加班很正常,KPI激励着同学们一天10小时以上工作。我在家里、在公司和在路上基本都可算工作时间。比起大部份体制下的国企,阿里的体制好上十倍。同学们为了value为了每一年的目标进行了一圈又一圈的400米跑。保持好体力吧,据研究表明:保持体力可以让记忆力增强。

    心力需要10年练就,但受益100年;脑力需要30年培养,受益30年;体力需要100年锻炼,受益每一天。

    今天发年终奖了。幸苦了一年,算是得到一些回报,让家人得到一些宽慰。响应马总的话:去消费!

    让银行存款再次从0开始。下一年,为心力,继续在脑力,体力上存款!

  • 阿里味上的分享,阿里是个大学,每天都有新思想新分享新火花

    发表于 2010年01月21日 yejun 5 条评论

    作为一个男人,尤其作为一个真正的爷们,应该做好下列小事:
    1,朋友请你吃饭,不要觉得理所当然,请礼尚往来,否则你的名声会越来越臭。


    2,给自己定目标,一年,两年,五年,也许你出生不如别人好,通过努力,往往可以改变70(百分号)的命运。破罐子破摔只能和懦弱做朋友。


    3,这是个现实的社会,感情不能当饭吃,贫穷夫妻百事哀。不要相信电影,那只是个供许多陌生人喧嚣情感的场所。


    4,好朋友里面,一定要培养出一个知己,不要以为你有多么八面玲珑,到处是朋友,最后真心对你的,只有一个,相信我。

    5,不要相信星座命理,那是哄小朋友的,命运在自己手中。难道你想等出栋房子或是车子?

    6,不喜欢的人少接触,但别在背后说坏话,说是非之人,必定是是非之人,谨记,祸从口出。

    7,少玩游戏,这不是韩国,你打不出房子车子还有女人。

    8,学好英语,那些说学英语没用的暂时可以不去管,他们要么年纪大了,要么就是自己早过了CET6准备托福了,在这里哗众取宠。你可以不拿证,但一定要学好。

    9,知道自己要干什么,夜深人静,问问自己,将来的打算,并朝着那个方向去实现。

    10,偶尔翻翻时尚类的杂志,提高一下自己的品位。

    11,尽量少看OOXX,正常的男人即使是单身,也不会成天迷恋OOXX。而每次你SY后都会有大量锌元素流失,此元素与你大脑活动有密切联系。

    12,每天早上一杯水,预防胆结石。睡前一小时不要喝水,否则会过早出现眼袋。

    13,空闲时间不要全拿去泡BAR,读点文学作品,学习一些经营流程,管理规范,国际时事,法律常识。这能保证你在任何****都有谈资。

    14,大家都年轻,没什么钱,不用太在意谁谁又穿AD ,NIKE ,或者其他。而GF对于PRADA,兰蔻,CD,LV,的热恋,你也不必放在心上,女人天生和美挂上了勾,她们只是宁愿相信你能够为她们买一样昂贵的礼物,以满足她们的虚荣心,然后在同伴面前炫耀一番。实则她们也是热爱生活的,而当你有能力完成时,也会觉得把她包装得漂漂亮亮的很是欣慰。

    15,要做一件事,成功之前,没必要告诉其他人。

    16,头发,指甲,胡子,打理好。社会是个排斥性的接受体,这个星球所需要的艺术家极其有限,请不要冒这个险,就算你留长头发比较好看,也要尽量给人干净的感觉。

    17,不要以为你是个男人,就不需要保养。至少饮食方面不能太随便,多吃番茄,海产品,韭菜,香蕉,都是对男性健康有益处的食物。你要是看不到价值,我可以告诉你。至少你能把看病节约下来的钱给你的女人多买几个DIOR.

    18,力求上进的人,不要总想着靠谁谁,人都是自私的,自己才是最靠得住的人。

    19,面对失败,不要太计较,天将降大任于斯人也,必先苦其心志,劳其筋骨,饿起体肤……但要学会自责,找到原因,且改掉坏习惯。 二十岁没钱,那很正常;三十岁没钱,那是宿命;四十岁没钱,那是你已经成为女人了。

    20,真正的爷们看到好帖都会很自觉很仗义的顶一下!

  • Alibaba : The last man standing in the B2B-park.

    发表于 2010年01月18日 yejun 没有评论

    周一上班发现园区里多了这个大家伙。

    于是大家纷纷在猜他代表了什么意思。

    有人说是简单开放(别写匿名信,别放黑枪),有人说是光脚不怕穿鞋(别怕失败,允许出错),有人说是原始社会好(没有阶级,没有M1-M10),有人说是又猛又持久(搞IT要体力好,要能够持续的搞),有人说是last man standing(冬天过去了,不穿衣也不怕冷)…

    so what.

    ali_ren

  • 阿凡达的秘密

    发表于 2010年01月12日 yejun 没有评论
    1. 人型机器人已经存在的:从第9区到阿凡达,这种人型机器人似乎已经成熟了。离实际使用估计不远了;
    2. 外星生命是有的:从未怀疑他的存在;
    3. 剧情永远是简单幼稚的:国外大片总是这么简单,反映出某些国家的人民思维简单,没有历史沉淀,没有感觉;
    4. 男主角是不会死的;
    5. 女主角身材是和星球无关的:看变型金刚里那位,再看这次的;
  • 昨晚看了《十月围城》,准备写点什么

    发表于 2009年12月31日 yejun 没有评论

    感觉还没过去。

    片子不错,比上周在鲁迅电影院看的《POKE KING》要好太多。片子强化了我对几个词的概念。

    第一是“使命和信仰”;

    第二是“潮流和历史大趋势”;

    第三是“创业与革命”;

    详细分析,待下回分解。

    这片子对使命和信仰的描述特点在于突出了不同的人物有不同的使命。小人物有小人物的使命,大人物有大人物的信仰。只要有自已的使命和信仰,人人都可以对生死置之度外。

    历史趋势不是个人可以改变的,趋势是一种统计层面上的表现,是一种熵。只要和趋势合拍,有大机会。

    创业与革命有共同之处,革命可能会失去生命,和平年代的创业可能要失去和生命同样重要的东西。