Sutra's profile江山易得,知己难求PhotosBlogListsMore Tools Help

Blog


    hotmail 用户注意了

    最近有一个欺骗邮件,其发件人伪装成Microsoft passport (support@passport.msn.com),内容如下:
    support@passport.msn.com Microsoft Customer Support Reset your Microsoft Passport Network password Microsoft Customer S... ---------------------
    Hello mm@hotmail.com:
    
    You recently asked to reset your Microsoft Passport Network password by e-mail.
    Follow the instructions below to reset your password, or to cancel your password
    reset request.
    
    TO RESET YOUR PASSWORD:
    
    1. Select and copy the following Internet address.
    
    https://pody.hajznet.comaccountservices.msn.com/EmailPage.srf?emailid=e7ab0116f93135f9&ed=Bw/Lq3svAJKsYAkt2n6PwcNAiB65iKBFc0Rn/WSX2OrAIMIEVUsphUgl3sVR&lc=1033&urlnum=0
    
    2. Open a browser, paste the link in the address bar, then press Enter or Return
    on your keyboard.
    
    IF YOU DID NOT REQUEST TO RESET YOUR PASSWORD:
    
    1. Select and copy the following Internet address.
    
    http://pody.hajznet.com/accountservices.msn.com/EmailPage.srf?emailid=e7ab0116f93135f9&ed=Bw/Lq3svAJKsYAkt2n6PwcNAiB65iKBFc0Rn/WSlnum=0
    
    2. Open a browser, paste the link in the address bar, then press Enter or Return
    on your keyboard.
    
    Thank you,
    
    Microsoft Passport Network Customer Support
    
    NOTE:
    Please do not reply to this message, which was sent from an unmonitored e-mail
    address. Mail sent to this address cannot be answered.
    
    这是一封欺骗性质的邮件,倘若你按照,倘然你按照它说的做了,后果我想你已经知道了。

    在Ubuntu下用FreeMind画思维导图

    我们在思考一件事情的时候,我们常常会拿一张纸,一支笔,把想到的画下来或者写下来,其实这些就是思维导图,或者称为成为脑图。

    安装:使用新立得软件包管理器,搜索freemind,然后安装。
    安装后可以在“应用程序->办公->FreeMind”启动。


    在 ubuntu 下玩泡泡龙

    要安装泡泡龙很简单,在新立得包管理器下搜索“Frozen Bubble“,然后安装就可以了。
    安装后,会在应用程序->游戏下找到“Frozen-Bubble”启动后就可以玩了。

    Ubuntu 6.06 LTS 图形化安装后的root的默认密码是空

    安装过程是没有提示用户设置root密码的,只有提示用户创建一个普通用户并且指定了密码。所以我们使用这个普通用户登录后执行一下命令:
    shutra@shutra-desktop:~$ sudo passwd root
    Password:
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully


    MSN Messenger 反监听

    最近网络上流行MSN聊天监听。

    MSN Messenger 7.5 及其以后都已经支持了。操作方式如下:
    只有对于在线的好友才可以的,在它的名字上点击邮件,选择开始一个活动,然后选择悄悄话(加密)。
    就会出现附件中的窗口了,这样就不会被人监听了。
    这样而且可以选择“防偷窥背景”哟,^_^。大家在需要的时候可以选择。
    不过有时候会连接超时。

    I'm writing my blog when I installing my Operating System on the SAME computer.

    Now, I'm installing my new Operating System: Ubuntu Version 6.06 LTS.
    I have ONE computer only. YES, only one.
    That is to say, I'm writing my blog when I installing my Operating System on the SAME computer.
    This is not the same as installing or updating an OS in Windows but I boot my computer with THIS OS's CD.
    OK, show you some screenshots:

    千万不要使用6位密码!密码破解速度全面披露

    来源:驱动之家】 【作者:且听枫吟

      LockDown.com近日公布了一份采用“暴力字母破解”方式获取密码的“时间列表”。列表中按照密码长度、密码组合数量以及破解攻击模式来进行破解。

      从列表中我们可以看出,如果你用一台双核心PC破解密码

      最简单的数字密码--六位(例如银行密码)瞬间搞定,八位348分钟,十位163天

      普通大小写字母--六位33分钟,八位62天

      数字+大小写字母--六位一个半小时,八位253天

      数字+大小写字母+标点--六位22小时,八位23年

      由此可知,对于我们普通人来说,考虑到容易记忆以及长度,八位数字+大小写字母密码是最安全方便的选择。



    另外,千万别用6位密码。

    正则表达式之全部符号解释


    字符 描述
    \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。
    ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。
    $ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。
    * 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
    + 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
    ? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。
    {n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
    {n,} n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。
    {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。
    ? 当 该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。
    . 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。
    (pattern) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 '\(' 或 '\)'。
    (?:pattern) 匹 配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。
    (?=pattern) 正 向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。
    (?!pattern) 负 向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始
    x|y 匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。
    [xyz] 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。
    [^xyz] 负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。
    [a-z] 字符范围。匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。
    [^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范围内的任意字符。
    \b 匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。
    \B 匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。
    \cx 匹配由 x 指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。
    \d 匹配一个数字字符。等价于 [0-9]。
    \D 匹配一个非数字字符。等价于 [^0-9]。
    \f 匹配一个换页符。等价于 \x0c 和 \cL。
    \n 匹配一个换行符。等价于 \x0a 和 \cJ。
    \r 匹配一个回车符。等价于 \x0d 和 \cM。
    \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
    \S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
    \t 匹配一个制表符。等价于 \x09 和 \cI。
    \v 匹配一个垂直制表符。等价于 \x0b 和 \cK。
    \w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
    \W 匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。
    \xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,'\x41' 匹配 "A"。'\x041' 则等价于 '\x04' & "1"。正则表达式中可以使用 ASCII 编码。.
    \num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匹配两个连续的相同字符。
    \n 标识一个八进制转义值或一个向后引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为向后引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。
    \nm 标 识一个八进制转义值或一个向后引用。如果 \nm 之前至少有 nm 个获得子表达式,则 nm 为向后引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的向后引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。
    \nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。
    \un 匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如, \u00A9 匹配版权符号 (?)。

    为什么我们的系统如此脆弱和漏洞百出

    全面、周到这个词也是相对的,所以即使你有缜密的思维,你思考问题非常严谨,你考虑问题相当周到,但是现实总会给你找出漏洞。
    导致目前我们忙于处理系统后事(擦屁股的事情)连去修补它的BUG的时间都没有了的情况,就是我们的开发过程缺少一个环节:测试。
    一个系统经过大的修改之后没有经过严刑拷打就上线更新,这能不漏洞百出吗?
    为了节约成本,我们节约了测试人员……

    你到底结不结对

     

    话题:结对编程技术

    定义:

    结对编程就是两个人共用一台电脑编程。

    这么简单?简单就用不着俺在下面哆嗦这么一大段了

    角色:

    结对编程角色有Two:你是Driver,俺是Navigator,缠缠绵绵…(俺狂吐@_@)

    活动:

    他们之间要共同:探讨设计方案,设计算法,编写程序代码,完成各项测试。

    当然还可以共同吃饭,打球。(晕,少扯了)

    效果:

    先声明这些效果都是实践证明了的!你不承认?不承认就接着往下看,等着瞧!

           System.out.println(“

    1.           质量++,

    2.           时间/2,

    3.           忠诚度++,

    4.           信任与团队精神++,

    5.           知识交流=100%,

    6.           促进学习=true

    );

    重定义:

    结对编程技术是一种不需要增加多少投资就能大幅提高软件产品质量的手段。

    有这么便宜的事么?当然有!说不定哪个PLMM哪天就主动要求跟俺“结对”了呢!(怎么了,做梦是人的本能)

    七、八种激励效应:

    刚才是谁不承认来着,是你吧,小样,过来。什么,你承认,,承认也得听俺gong():

    1.          互相督促
    使之更勤奋。如果俺表现得不出色的话,肯定要被对方给BS。
    使之更专心。知道你小子就想着去看什么NBA新闻或去收什么Email来着,嘿嘿,俺盯着你呢。

    2.       互相协商
    必须承认人的智慧服从“分布式认识”规律,不然哪来的“三人行,必有俺徒”?
    协商中得以发现一些极其复杂、看似无从着手的问题的解决方案。
    任务越复杂,就越需要两个人的智慧。(别问俺为什么不是三个,俺会答不上来的。)

    3.          互相鼓励
    “其实老板对结对编程有些误解。唉,俺只跟你说啊,刚才开会不敢讲。”
    “就是嘛,下次大会讲,俺支持你。”
    “我们也支持你。”大约有一个班的声音。
    “FT,又带着耳机去说话了…”

    很多人都有想法,但又怕当众出丑或冒犯,结果许多赋有创意和忠实的想法都被扼杀了。现在不同了,因为我们每天都用“结对编程”。

    4.       互相复查
    很少有人主动做代码检查工作,最多由“好不知情”的检查员进行。
    现在不同了,因为我们每天都用“结对编程”。(少打广告了…)
    if(you.check(code)==false){
        俺.check(you);
        System.out.println(“哈哈…”);
    }

    5.       互相纠错
    下面几个突然不想写了,其实都很容易理解。不服?不服你写啊!!

    6.          互相学习

    7.          互相信任

    8.          互相娱乐
    这个是后来加上的第八条,据说这条还是得票率最高的。

    目标:

    System.out.println(“

    1.           以高质量代码完成任务,

    2.           不会因关键人才流失而造成重大损失,(几个人对系统各部分都了如指掌)

    3.           让员工都开心,

    4.           缩短对新人的培训时间,

    5.           团队更团结,成员间沟通更有效率。

    ”);

    这家伙真懒,什么注解都没留下。(不是写了一个么…)

    实践与技巧:

    1.           Driver留点时间去发现和纠正他自己的错误。
    “来,把球传给小陈,小王站出来,你去挡差,
    FT,真哆嗦,比直播NBA的那个老头还烦!”

    2.           搭档闲着犯困,就把键盘交给他。
    都累了怎么办?那就去下几部好片,哈哈

    3.           讲清自己的习惯。
    “我不打中锋。”
    “俺远投比较准。”……遭到一群怀疑的眼光。
    “其实俺投篮还可以啦,只是大一篮球考试的时候才连续13罚不中而已嘛。”

    4.           多说,多交谈。
    “你小子传球啥!”“防守积极一点!”
    当你们之间缺乏这种交流时,你们在场下郁闷的时间就多了。

    5.           TDD
    不知道TDD???你完了,你真的完了

    6.           用指挥棒(就是铅笔什么的)来代替手指。
    作为职业杀手,怎能在显示器上流下自己的指纹。

    7.           注意个人卫生,勤洗澡,多吃口香糖。
    好耶,还可以吃口香糖,俺也要结对。

    结合方式:

    下面选了那本书中的一小部分,先抄上来再说。

    外向型-外向型
    P
    骑士(憋着噪子装女高音):要是在这儿用上Decorator模式,这段代码就太棒了。
    J
    骑士(装男低音)我可不这么想,这模式不能用在这儿。
    观众们大笑。
    P
    骑士:哦,骑士,你的理由不能接受,我就要用这个模式。

    观众们切切私语。

    J骑士:啊,my friend!我必须承认,你是一个心术不正胡说八道的恶棍。

    两“骑士”拔出“剑”来开始决斗。

    结合方式有好几种,上面只是其中一种。

    俺再打个比方,毕竟不能全部都抄袭撒。比如活跃一点的元素就喜欢“结对”,如OCl等,它们之间的结合而且总是能冒出不少火花(放出能量高)。而HeHr等比较“死板”一点的元素就喜欢“独干”。活跃一点的程序员总是很容易结对,优秀的程序员之间的交流总是非常活跃的,不是么?(大约一次/per30-60s。没话说?嗯啊也可以,别笑,就是这样!)

    七个好习惯:

    System.out.println(“

    注意休息,适当放松,谦虚谨慎,戒骄戒躁,既要自信,又要虚心,交流,倾听,积极思考,积极参与,不卑不亢,以理服人。

    ”);

    这些东东俺也不哆嗦了,就都列出来算了。

     

    就写这么多,说多了没意思,待会P俺的人更多

     

    参考书目:<<结对编程技术>>(大部分都是抄的,不信你可去翻原书。)

     

    看完了支持的话就回答俺:你到底结不结对?