??xml version="1.0" encoding="utf-8" standalone="yes"?>性色av极品无码专区亚洲,亚洲中文字幕无码一区 ,国产成人亚洲综合a∨http://www.tkk7.com/ghawk/zh-cnFri, 09 May 2025 20:11:13 GMTFri, 09 May 2025 20:11:13 GMT60Ҏ要是胜诉的话Qؓ开源事业做点A?/title><link>http://www.tkk7.com/ghawk/archive/2007/08/23/138838.html</link><dc:creator>GHawk</dc:creator><author>GHawk</author><pubDate>Thu, 23 Aug 2007 07:01:00 GMT</pubDate><guid>http://www.tkk7.com/ghawk/archive/2007/08/23/138838.html</guid><wfw:comment>http://www.tkk7.com/ghawk/comments/138838.html</wfw:comment><comments>http://www.tkk7.com/ghawk/archive/2007/08/23/138838.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/ghawk/comments/commentRss/138838.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ghawk/services/trackbacks/138838.html</trackback:ping><description><![CDATA[中国人民可以说是被盗版和Windows惯坏了。在Linux默认环境下的中文昄至今惨不忍睹?br>看看现在一些主要的发行版本Q默认设|下的日语的昄已经相当不错了?br>作ؓ汉字发祥C拥有众多人口的中国,实在是有些悲哀?br>文泉驿计划正在ؓ实现q个目标努力。作Z个非盈利性组l,他们的A献的值得赞赏?br>最q方正正在ؓ字体的事情打官司Qƈ提出了高额赔偿的要求。徏议方正要是能够胜诉的话,贡献一些字体给开源组l,为弘扬汉语言文化多做点A献?br><br> <img src ="http://www.tkk7.com/ghawk/aggbug/138838.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ghawk/" target="_blank">GHawk</a> 2007-08-23 15:01 <a href="http://www.tkk7.com/ghawk/archive/2007/08/23/138838.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Maven2 用于度量和品质保证的插ghttp://www.tkk7.com/ghawk/archive/2007/05/28/120447.htmlGHawkGHawkMon, 28 May 2007 06:32:00 GMThttp://www.tkk7.com/ghawk/archive/2007/05/28/120447.htmlhttp://www.tkk7.com/ghawk/comments/120447.htmlhttp://www.tkk7.com/ghawk/archive/2007/05/28/120447.html#Feedback1http://www.tkk7.com/ghawk/comments/commentRss/120447.htmlhttp://www.tkk7.com/ghawk/services/trackbacks/120447.html
  • checkstyle 查编码风?/li>
    • 常用的goal
      • checkstyle:checkstyle
    • 备注
      • 可以用eclipse-cs~辑查规?a >http://eclipse-cs.sourceforge.net/index.shtml

    以上是一些常用的用于品质理的插件。默认情况下都不用配|,相当方便。如果需要手动配|的话,Ҏ|上的文档也相当Ҏ配置?br>apache的maven plugin面: http://maven.apache.org/plugins/
    codehaus mojo 面: http://mojo.codehaus.org


    GHawk 2007-05-28 14:32 发表评论
    ]]>Scripting in Mustang 的一点启?/title><link>http://www.tkk7.com/ghawk/archive/2006/09/26/71905.html</link><dc:creator>GHawk</dc:creator><author>GHawk</author><pubDate>Tue, 26 Sep 2006 02:04:00 GMT</pubDate><guid>http://www.tkk7.com/ghawk/archive/2006/09/26/71905.html</guid><wfw:comment>http://www.tkk7.com/ghawk/comments/71905.html</wfw:comment><comments>http://www.tkk7.com/ghawk/archive/2006/09/26/71905.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.tkk7.com/ghawk/comments/commentRss/71905.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ghawk/services/trackbacks/71905.html</trackback:ping><description><![CDATA[2006 Sun Techdays Shanghai 的第2天下午有一个名为?b>Java Scripting: One VM, Many Languages</b>》的Session?br /><br />Rags为大家展CZMustang的一个新Ҏ,Scripting in Java——脚本语a支持?br /><br />通过加入脚本引擎的支持,p够在Java中解释JavascriptQpythonQruby{诸多脚本语a?br /><br />对于q个Ҏ,惛_的一个可能的应用是在annotation中写脚本语言Q然后在代码中用相应的脚本语a引擎解释执行?br />保留到运行时的annotation可以用实现aop的功能,使用非inline的脚本就可以更灵zd控制aspect的行为?br /><br />比如Q?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">//inline scripting<br />@ScriptBefore(script</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><img src="http://www.tkk7.com/images/dot.gif" /><img src="http://www.tkk7.com/images/dot.gif" /></span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,language</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">javascript</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"> )<br /></span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> foo() {<br />   <br />}<br /><br />//non-inline scripting<br />@ScriptBefore(file</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"scripts/logging.js</span><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,language</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">javascript</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">)<br /></span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> bar() {<br /><br />}</span></div><br /><img src ="http://www.tkk7.com/ghawk/aggbug/71905.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ghawk/" target="_blank">GHawk</a> 2006-09-26 10:04 <a href="http://www.tkk7.com/ghawk/archive/2006/09/26/71905.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个XPer提供的一些经?/title><link>http://www.tkk7.com/ghawk/archive/2006/08/24/65536.html</link><dc:creator>GHawk</dc:creator><author>GHawk</author><pubDate>Thu, 24 Aug 2006 07:45:00 GMT</pubDate><guid>http://www.tkk7.com/ghawk/archive/2006/08/24/65536.html</guid><wfw:comment>http://www.tkk7.com/ghawk/comments/65536.html</wfw:comment><comments>http://www.tkk7.com/ghawk/archive/2006/08/24/65536.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ghawk/comments/commentRss/65536.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ghawk/services/trackbacks/65536.html</trackback:ping><description><![CDATA[ <p>前些天,和一位XPerq行了一ơ愉快的谈话。他向我讲述了一些感觉很有效的实c?/p> <div align="left">关于q程和P?br />他曾l参与过的项目的q代是以月ؓq代单位的,但事实上每周都会重复一个简单的q程?br />在P代过E中Q他非常推崇<b><font color="#a52a2a">Burn-Down Charts</font></b>。这是一个Scrum的工兗通过Burn-Down ChartsQ能够把q程中间的变化记录下来,使过E高度可视化。等CơP代完成,回顾一下所有的Burn-Down Chartsp作ؓ改进的判断依据?br /><b><font color="#a52a2a">KPT Meeting</font></b>。所谓KPT Meeting是 Keep-Prevent-Try metting。小l定期D行KPT会议Q基本上是每周一ơ)。在KTP会议上,通过头脑风暴的方式每个hQ?font color="#ff0000"><b>不是某几个h</b></font>Q把各自认ؓ前一阶段里做得好的方面写在Keep一栏里Q做得不好的斚w写在Prevent一栏里Q希望尝试的写在Try一栏里。然后大家对q些目q行评估和筛选。下一阶段中,Keep的项目l保持,Prevent的项目应该杜l,Try的项目进行尝试?br /><br />工具<br />在开展这些实늚时候,交流比较频繁。首推的工具?font color="#a52a2a"><b>Mini white board</b></font>?font color="#a52a2a"><b>DC</b></font>?br />选择Mini white board的原因ƈ不是因ؓ带有"mini"听上M?Mini Cooper 或?iPod mini 那么cool。因Z块A3左右大小的白杉K帔R合个h或者结对用,而且环保Q省M草稿U)。虽然整个团队也有用于大规模交流的更大的白板Q但那属于“竞争资源”,各自使用自己的白板更为方ѝ?br />交流l果产生后,Z不花不必要的旉d_的文档,一台轻便的DC往往是最合适的选择。当Ӟ如果_Q手Z的照相功能也可以完成同样的Q务。相比偷拍街上的MMQ这些电子品能够实现更大的价倹{?br /><br />关于l对<br />每天q行6时的结对编E,?ơ,每次2时。每ơ和不同的成员组队。在l队的时候充分利用了上面提到的工兯行交。如果出C个h不能解决的问题的时候,会立卛_整个团队提出Q这样可能导致一ơstand-up meeting。即佉K题不能马上解冻I臛_也能保每个人都知道q个问题?br /><br /></div> <img src ="http://www.tkk7.com/ghawk/aggbug/65536.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ghawk/" target="_blank">GHawk</a> 2006-08-24 15:45 <a href="http://www.tkk7.com/ghawk/archive/2006/08/24/65536.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于locale的设?Q{Q?/title><link>http://www.tkk7.com/ghawk/archive/2006/08/16/63836.html</link><dc:creator>GHawk</dc:creator><author>GHawk</author><pubDate>Wed, 16 Aug 2006 02:45:00 GMT</pubDate><guid>http://www.tkk7.com/ghawk/archive/2006/08/16/63836.html</guid><wfw:comment>http://www.tkk7.com/ghawk/comments/63836.html</wfw:comment><comments>http://www.tkk7.com/ghawk/archive/2006/08/16/63836.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ghawk/comments/commentRss/63836.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ghawk/services/trackbacks/63836.html</trackback:ping><description><![CDATA[ <div id="ippsoky" class="entry-content"> <div id="ffuyglq" class="entry-body"> <div>转自Q?a >http://www.syxin.com/2006/03/localelocale.html</a><br /><br />关于locale的设?/div> <div> </div> <div>locale是国际化与本土化q程中的一个非帔R要的概念Q个为,对于中文用户来说Q通常会涉及到的国际化或者本土化Q大致包含三个方面:看中文,写中文,与window中文pȝ的兼容和通信。从实际l验上看来,locale的设定与看中文关pM大,但是与写中文Q及window分区的挂载方式有很密切的关系。本为就像一个纯英文的Windows能够览中文Q日文或者意大利文网一P你不需要设定locale可以看中文。那么,Z么要讑֮locale呢?什么时候会用到locale呢?<br /></div> </div> <div id="lriqgfh" class="entry-more" id="more"> <p>一、ؓ什么要讑֮locale<br />正如前面我所讲的Q设定locale与你能否览中文的网|有直接的关系Q即便你把locale讄成en_US.ISO-8859-1q样一个标准的英文locale你照样可以浏览中文的|页Q只要你的系l里面有相应的字W集Q这个都不一定需要)和合适的字体Q如simsunQ,览器就可以把网늿译成中文l你看。具体的q程是网l把|页传送到你的机器上之后,览器会判断相应的编码的字符集,Ҏ|页采用的字W集Q去字体库里面找合适的字体Q然后由文字渲染工具把相应的文字在屏q上昄出来?/p> <div> </div> <div>在下文本Z偶尔把字W集比喻成密码本Q个得对于一些东西比较容易理解,假如你不习惯的话Q把全文copyCQ何文本编辑器Q用字符集替换密码本卛_?/div> <div> </div> <div>那有时候网|CZؕ码或者都是方框是怎么回事呢?个h认ؓQ显CZؕ码是因ؓ讑֮的字W集不对(或者没有相应的字符?Q例如网|用UTF-8~码的,你非要用GB2312ȝQ而系l根据GB2312L字体Q然后在屏幕上显C,当然是一堆的qQ也是说你用一个错误的密码本去译发给你的甉|Q当然内定w叫一个ؕQ至于有些时候浏览的|页能显CZ部分汉字Q但有很多的地方是方框,能够昄汉字说明览器已l正的判断Z|页的编码,q在字体库里面找C相应的文字,但是q不是每个字体库都包含某个字W集全部的字体的~故Q有些时候会昄不完全,找一个比较全的支持较多字W集的字体就可以了?/div> <div> </div> <div> <br />既然我能够浏览中文网,那ؓ什么我q要讑֮locale呢?</div> <div> </div> <div>其实你有没有惌q么一个问题,Z么gentoo官方论坛上中文论坛的|页是用UTF-8~码的(虽然大家一直强烈徏议用GB2312~码Q,但是新浪|就是用GB2312~码的呢Q而Xorg的官方网늫然是ISO-8859-15~码的,我没有设定这个locale怎么一L能浏览呢Q这个问题就像是你有所有的密码本,不论某个|站是用什么字W集~码的,你都可以用你手里的密码本把他们翻译过来,但问题是虽然你能览中文|页Q但是在整个操作pȝ里面动的还是英文字W。所以,像你能听懂pQ也能听懂中文?br />最Ҏ的问题是Q你不可以写中文?/div> <div> </div> <div>当你军_要写什么东西的时候,首先要决定的一件事情是用那U语aQ对于计机来说是你要是用哪一U字W集Q你必d诉你的linuxpȝQ你想用那一本密码本d你想要写的东ѝ知道ؓ什么需要用GB2312字符集去览新浪了吧Q因为新的|页是用GB2312写的?/div> <div> </div> <div>Z让你的Linux能够输入中文Q就需要把pȝ的locale讑֮成中文的(严格说来是locale中的语言cdLC_CTYPE )Q例如zh_CN.GB2312、zh_CN.GB18030或者zh_CN.UTF-8。很多h都不明白q些古里古怪的表达方式。这个外星表辑ּ规定了什么东西呢Q这个问题稍后详qͼ现在只需要知道,q是locale的表达方式就可以了?/div> <div> </div> <div>二、到底什么是localeQ?br />localeq个单词中文译成地区或者地域,其实q个单词包含的意义要宽泛很多。Locale是根据计机用户所使用的语aQ所在国家或者地区,以及当地的文化传l所定义的一个Y件运行时的语a环境?/div> <div> </div> <div>q个用户环境可以按照所涉及到的文化传统的各个方面分成几个大c,通常包括用户所使用的语aW号及其分类(LC_CTYPE)Q数?LC_NUMERIC)Q比较和排序习惯(LC_COLLATE)Q时间显C格?LC_TIME)Q货币单?LC_MONETARY)Q信息主要是提示信息,错误信息, 状态信? 标题, 标签, 按钮和菜单等(LC_MESSAGES)Q姓名书写方?LC_NAME)Q地址书写方式(LC_ADDRESS)Q电话号码书写方?LC_TELEPHONE)Q度量衡表达方式(LC_MEASUREMENT)Q默认纸张尺寸大?LC_PAPER)和locale对自w包含信息的概述(LC_IDENTIFICATION)?/div> <div> </div> <div>所以说Qlocale是某一个地域内的h们的语言习惯和文化传l和生活习惯。一个地区的locale是Ҏq几大类的习惯定义的Q这些locale定义文g攑֜/usr/share/i18n/locales目录下面Q例如en_US, zh_CN and <a href="mailto:de_DE@euro">de_DE@euro</a>都是locale的定义文Ӟq些文g都是用文本格式书写的Q你可以用写字板打开Q看看里边的内容Q当然出了有限的注释以外Q大部分东西可能你都看不懂,因ؓ是用的Unicode的字W烦引方式?/div> <div> </div> <div>对于<a href="mailto:de_DE@euro">de_DE@euro</a>的一点说明,@后边是修正项Q也是说你可以看到两个德国的localeQ?br /><a>/usr/share/i18n/locales/de_DE@euro</a><br />/usr/share/i18n/locales/de_DE<br />打开q两个locale定义Q你׃知道它们的差别在?a href="mailto:de_DE@euro">de_DE@euro</a>使用的是Ƨ洲的排序、比较和~进习惯Q而de_DE用的是d国的标准习惯?/div> <div> </div> <div>上面我们说到了zh_CN.GB18030的前半部分,后半部分是什么呢Q大部分Linux用户都知道是pȝ采用的字W集?/div> <div> </div> <div>三、什么是字符集?<br />字符集就是字W,其是非p字符在系l内的编码方式,也就是通常所说的内码Q所有的字符集都攑֜/usr/share/i18n/charmapsQ所有的字符集也都是用Unicode~号索引的。Unicode用统一的编h索引目前已知的全部的W号。而字W集则是q些W号的编码方式,或者说是在|络传输Q计机内部通信的时候,对于不同字符的表达方式,Unicode是一个静态的概念Q字W集是一个动态的概念Q是每一个字W传递或传输的具体Ş式。就像Unicode~号U59D0是代表姐姐的“姐”字Q但是具体的q个字是用两个字节表C,三个字节Q还是四个字节表C,是字W集的问题。例如:UTF-8字符集就是目前流行的对字W的~码方式QUTF-8用一个字节表C常用的拉丁字母Q用两个字节表示常用的符P包括常用的中文字W,用三个表CZ常用的字W,用四个字节表C其他的古灵_怪的字符。而GB2312字符集就是用两个字节表示所有的字符。需要提C点的是Unicode除了用编L引全部字W以外,本n是用四个字节存储全部字符Q这一点在谈到挂蝲windows分区的时候是非常重要的一个概c所以说你也可以把Unicode看作是一U字W集Q我不知道它和UTF-32的关p,反正UTF-32是用四个字节表C所有的字符的)Q但是这栯q符h非常费资源的,因ؓ在计机世界l大部分时候用到的是一个字节就可以搞定?6个字母而已。所以才会有UTF-8QUTF-16{等Q要不然大同世界多好Q省了这许多ȝ?/div> <div> </div> <div> <br />四、zh_CN.GB2312到底是在说什么?<br />Locale 是Y件在q行时的语言环境, 它包括语a(Language), 地域 (Territory) 和字W集(Codeset)。一个locale的书写格式ؓ: 语言[_地域[.字符集]]. 所以说呢,localeL和一定的字符集相联系的。下面D几个例子Q?/div> <div> </div> <div>1、我说中文,w处中华人民共和国,使用国标2312字符集来表达字符?br />zh_CN.GB2312Q中文_中华人民共和国+国标2312字符集?/div> <div> </div> <div>2、我说中文,w处中华人民共和国,使用国标18030字符集来表达字符?br />zh_CN.GB18030Q中文_中华人民共和国+国标18030字符集?/div> <div> </div> <div>3、我说中文,w处中华人民共和国台湄Q用国标Big5字符集来表达字符?br />zh_TW.BIG5=中文_台湾.大五码字W集</div> <div> </div> <div>4、我说英文,w处大不列颠Q用ISO-8859-1字符集来表达字符?br />en_GB.ISO-8859-1=英文_大不列颠.ISO-8859-1字符?/div> <div> </div> <div>5、我说d语,w处德国Q用UTF-8字符集,习惯了欧z风根{?br /><a href="mailto:de_DE.UTF-8@euro">de_DE.UTF-8@euro</a>Qd语_德国.UTF-8字符集@按照Ƨ洲习惯加以修正</div> <div> </div> <div>注意不是<a href="mailto:de_DE@euro.UTF-8">de_DE@euro.UTF-8</a>Q所以完全的locale表达方式?br />[语言[_地域][.字符集] [@修正值]</div> <div> </div> <div>生成的locale攑֜/usr/lib/locale/目录中,q且每个locale都对应一个文件夹Q也是说创Z<a href="mailto:de_DE@euro.UTF-8">de_DE@euro.UTF-8</a> locale之后Q就生成<a>/usr/lib/locale/de_DE@euro.UTF-8/</a>目录Q里面是具体的每个locale的内宏V?/div> <div> </div> <div>五、怎样去自定义locale<br />在gentoo生成localeq是很容易的Q首先要在USE里面加入userlocales支持Q然后编辑locales.build文gQ这个文件用来指Cglibc生成locale文g?br />很多Z明白每一个条目是什么意思?其实Ҏ上面的说明现在应该很明确了?/div> <div> </div> <div>File: /etc/locales.build<br />en_US/ISO-8859-1<br />en_US.UTF-8/UTF-8</div> <div> </div> <div>zh_CN/GB18030<br />zh_CN.GBK/GBK<br />zh_CN.GB2312/GB2312<br />zh_CN.UTF-8/UTF-8</div> <div> </div> <div>上面是我的locales.build文gQ依ơ的说明是这LQ?/div> <div> </div> <div>en_US/ISO-8859-1Q生成名为en_US的localeQ采用ISO-8859-1字符集,q且把这个locale作ؓ英文_国localecȝ默认|其实它和en_US.ISO-8859-1/ISO-8859-1没有M区别?/div> <div> </div> <div>en_US.UTF-8/UTF-8Q生成名为en_US.UTF-8的localeQ采用UTF-8字符集?/div> <div> </div> <div>zh_CN/GB18030Q生成名为zh_CN的localeQ采用GB18030字符集,q且把这个locale作ؓ中文_中国localecȝ默认|其实它和zh_CN.GB18030/GB18030没有M区别?/div> <div> </div> <div>zh_CN.GBK/GBKQ生成名为zh_CN.GBK的localeQ采用GBK字符集?br />zh_CN.GB2312/GB2312Q生成名为zh_CN.GB2312的localeQ采用GB2312字符集?br />zh_CN.UTF-8/UTF-8Q生成名为zh_CN.UTF-8的localeQ采用UTF-8字符集?/div> <div> </div> <div>关于默认localeQ默认locale可以写成en_US或者zh_CN的Ş式,只是Z表达单而已没有特别的意义?/div> <div> </div> <div>Gentoo在locale定义的时候掩盖了一些东西,也就是locale的生成工Plocaledef?br />在编译完glibc之后你可以用q个localedef 再补充一些localeQ就会更加理解locale了。具体的可以?localedef 的manpage?/div> <div> </div> <div>$localedef -f 字符?-i locale定义文g 生成的locale的名U?br />例如<br />$localedef -f UTF-8 -i zh_CN zh_CN.UTF-8</div> <div> </div> <div>上面的定义方法和在locales.build中设定zh_CN.UTF-8/UTF-8的结果是一样一L?/div> <div> </div> <div> <br />六、locale的五脏六?/div> <div> </div> <div>刚刚生成了几个localeQ但是ؓ了让它们生效Q必d诉Linuxpȝ使用??个locale。这需要对locale的内部机制有一点点的了解。在前面我已l提到过Qlocale把按照所涉及到的文化传统的各个方面分?2个大c,q?2个大cd别是Q?br />1、语aW号及其分类(LC_CTYPE)<br />2、数?LC_NUMERIC)<br />3、比较和排序习惯(LC_COLLATE)<br />4、时间显C格?LC_TIME)<br />5、货币单?LC_MONETARY)<br />6、信息主要是提示信息,错误信息, 状态信? 标题, 标签, 按钮和菜单等(LC_MESSAGES)<br />7、姓名书写方?LC_NAME)<br />8、地址书写方式(LC_ADDRESS)<br />9、电话号码书写方?LC_TELEPHONE)<br />10、度量衡表达方式(LC_MEASUREMENT)<br />11、默认纸张尺寸大?LC_PAPER)<br />12、对locale自n包含信息的概q?LC_IDENTIFICATION)?/div> <div> </div> <div>其中Q与中文输入关系最密切的就?LC_CTYPEQ?LC_CTYPE 规定了系l内有效的字W以及这些字W的分类Q诸如什么是大写字母Q小写字母,大小写{换,标点W号、可打印字符和其他的字符属性等斚w。而locale定义zh_CN中最最重要的一就是定义了汉字(Class “hanzi?q一个大c,当然也是用Unicode描述的,q就让中文字W在Linuxpȝ中成为合法的有效字符Q而且不论它们是用什么字W集~码的?/div> <div> </div> <div>LC_CTYPE<br />% This is a copy of the "i18n" LC_CTYPE with the following modifications: - Additional classes: hanzi</div> <div> </div> <div>copy "i18n"</div> <div> </div> <div>class "hanzi"; /<br />% <U3400>..<U4DBF>;/<br /><U4E00>..<U9FA5>;/<br /><UF92C>;<UF979>;<UF995>;<UF9E7>;<UF9F1>;<UFA0C>;<UFA0D>;<UFA0E>;/<br /><UFA0F>;<UFA11>;<UFA13>;<UFA14>;<UFA18>;<UFA1F>;<UFA20>;<UFA21>;/<br /><UFA23>;<UFA24>;<UFA27>;<UFA28>;<UFA29><br />END LC_CTYPE</div> <div> </div> <div>在en_US的locale定义中,q没有定义汉字,所以汉字不是有效字W。所以如果要输入中文必须使用支持中文的localeQ也是zh_XXQ如zh_CNQzh_TWQzh_HK{等?/div> <div> </div> <div>另外非常重要的一点就是这些分cL彼此独立的,也就是说LC_CTYPEQLC_COLLATE?LC_MESSAGES{等分类彼此之间是独立的Q可以根据用L需要设定成不同的倹{这一点对很多用户是有利的Q甚x必须的。例如,我就需要一个能够输入中文的英文环境Q所以我可以把LC_CTYPE讑֮成zh_CN.GB18030Q而其他所有的w是en_US.UTF-8?/div> <div> </div> <div> <br />七、怎样讑֮locale呢?</div> <div> </div> <div>讑֮locale是讑֮12大类的locale分类属性,?12个LC_*。除了这12个变量可以设定以外,Z便v见,q有两个变量QLC_ALL和LANG。它们之间有一个优先的关p:<br />LC_ALL>LC_*>LANG<br />可以q么_LC_ALL是最上讑֮或者强制设定,而LANG是默认设定倹{?br />1、如果你讑֮了LC_ALLQzh_CN.UTF-8Q那么不LC_*和LANG讑֮成什么|它们都会被强制服从LC_ALL的设定,成ؓ zh_CN.UTF-8?br />2、假如你讑֮了LANGQzh_CN.UTF-8Q而其他的LC_*=en_US.UTF-8Qƈ且没有设定LC_ALL的话Q那么系l的locale讑֮以LC_*=en_US.UTF-8?br />3、假如你讑֮了LANGQzh_CN.UTF-8Q而其他的LC_*Q和LC_ALL均未讑֮的话Q系l会LC_*讑֮成默认|也就是LANG的?zh_CN.UTF-8 ?br />4、假如你讑֮了LANGQzh_CN.UTF-8Q而其他的LC_CTYPE=en_US.UTF-8Q其他的LC_*Q和LC_ALL均未讑֮的话Q那么系l的locale讑֮是QLC_CTYPE=en_US.UTF-8Q其余的 LC_COLLATEQLC_MESSAGES{等均会采用默认|也就是LANG的|也就是LC_COLLATEQLC_MESSAGESQ……= LC_PAPERQLANGQzh_CN.UTF-8?/div> <div> </div> <div>所以,locale是这栯定的Q?br />1、如果你需要一个纯中文的系l的话,讑֮LC_ALL= zh_CN.XXXXQ或者LANG= zh_CN.XXXX都可以,当然你可以两个都讑֮Q但正如上面所ԌLC_ALL的值将覆盖所有其他的locale讑֮Q不要作无用功?br />2、如果你只想要一个可以输入中文的环境Q而保持菜单、标题,pȝ信息{等文界面,那么只需要设定LC_CTYPEQzh_CN.XXXXQLANG=en_US.XXXX可以了。这样LC_CTYPEQzh_CN.XXXXQ而LC_COLLATEQLC_MESSAGESQ……= LC_PAPERQLANGQen_US.XXXX?br />3、假如你高兴的话Q可以把12个LC_*一一讑֮成你需要的|打造一个古늲怪的pȝQ?br />LC_CTYPEQzh_CN.GBK/GBK(使用中文~码内码GBK字符?Q?br />LC_NUMERIC=en_GB.ISO-8859-1(使用大不列颠的数字系l?<br /><a href="mailto:LC_MEASUREMEN=de_DE@euro.ISO-8859-15">LC_MEASUREMEN=de_DE@euro.ISO-8859-15</a>(德国的度量衡使用ISO-8859-15字符?<br />|马的地址书写方式Q美国的U张讑֮……。估计没么干吧?br />4、假如你什么也不做的话Q也是LC_ALLQLANG和LC_*均不指定特定值的话,pȝ采用POSIX作ؓlcoaleQ也是C locale?/div> </div> </div> <img src ="http://www.tkk7.com/ghawk/aggbug/63836.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ghawk/" target="_blank">GHawk</a> 2006-08-16 10:45 <a href="http://www.tkk7.com/ghawk/archive/2006/08/16/63836.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PostgreSQL的主证配|?/title><link>http://www.tkk7.com/ghawk/archive/2006/06/07/51048.html</link><dc:creator>GHawk</dc:creator><author>GHawk</author><pubDate>Wed, 07 Jun 2006 02:42:00 GMT</pubDate><guid>http://www.tkk7.com/ghawk/archive/2006/06/07/51048.html</guid><wfw:comment>http://www.tkk7.com/ghawk/comments/51048.html</wfw:comment><comments>http://www.tkk7.com/ghawk/archive/2006/06/07/51048.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ghawk/comments/commentRss/51048.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ghawk/services/trackbacks/51048.html</trackback:ping><description><![CDATA[ <div class="nefwrdu" id="post_message_175501" style="OVERFLOW-X: hidden"> <strong>转自</strong> <a >http://www.linuxsir.org/bbs/showthread.php?t=32116</a> <br /> <br />pg_hba.conf 文g<br />客户端认证是?$PGDATA 目录里的文gpg_hba.conf 控制的,也就是说Q?/usr/local/pgsql/data/pg_hba.confQ?QHBA 的意思是 host-based authenticationQ基于主机的认证Q) 在initdb初始化数据区的时候,它会 安装一个缺省的文gQ?<br /><br />文g pg_hba.conf 的常用格式是一套记录, 每行一条。空白行或者井P?”)开头的行被忽略。一条记?是由若干用空格和/?tab 分隔的字D늻成?<br /><br />每条记录可以下面三种格式之一 <br /><br />local database authentication-method [ authentication-option ]<br />host database IP-address IP-mask authentication-method [ authentication-option ]<br />hostssl database IP-address IP-mask authentication-method [ authentication-option ]<br /><br />各个字段的含义如下: <br /><br />local<br />q条记录适用于通过 Unix 域套接字的联接. <br /><br />host<br />q条记录适用于通过 TCP/IP |络的联接.h意,除非服务器是 带着 -i 选项或者等效的配置参数集启动的Q否?TCP/IP 联接完全被止掉. <br /><br />hostssl<br />q条记录适用于试囑־立在 TCP/IP 上的 SSL 之上的联接. 要用这个选项Q服务器必须带着 SSL 支持~译Q而且在服务器启动的时候, 必须?-l 选项 或等效的配置讄打开 SSLQ?<br /><br />database<br />声明记录所适用的数据库。?all 表明该记录应用于所有数据库Q??sameuser 表示于正在联接的用户同名的数据库?否则它就是某个具体的 Postgres 数据库名字. <br /><br />IP address, IP mask<br />q两个字D以各主机的 IP 地址为基Q?控制一?host 记录应用于哪个主机. Q当ӞIP 地址可能会被ƺ骗QspoofedQ,但是q个考虑 过?Postgres 的考虑范围Q) 准确的逻辑是,对于匚w的记?<br /><br />(actual-IP-address xor IP-address-field) and IP-mask-field<br />必需为零Q?<br /><br />authentication methodQ认证方法)<br />声明一个用户在与该数据库联接的时候必M用的认证ҎQ?可能的选择如下Q详l情况在 Section 4.2Q?<br /><br /><br />trust<br />无条件地允许联接Q这个方法允怓Q何有d客户机权限的用户以Q?Postgres 数据库用戯n份进行联接. <br /><br />reject<br />联接无条件拒l.常用于从l中“过滤”某些主机. <br /><br />password<br />要求客户端在试联接的时候提供一个口令, q个口o与ؓ该用戯|的口o必须匚wQ?<br /><br />?password 关键字后面可以声明一个可选的文g名. q个文g包含一个用户列表,列表记录的是那些适用口o认证记录的用P 以及可选的候选口令. <br /><br />口o是以明文的方式在U\上传输的Q如果要更好的保护,请?crypt ҎQ?<br /><br />crypt<br />cM password ҎQ但是口令是用一U简单的 口o对应协议加密后在U\上传送的Q这么做在密码学理论上是不安全的Q?但可以防止偶然的U\侦听Q在 crypt 关键字后?可以有一个文Ӟ文g里包含适用口o认证记录的用户列表. <br /><br />krb4<br />?Kerberos V4 认证用户Q只有在q行 TCP/IP 联接的时候才能用Q?Q译注:KerberosQ?克尔波洛?Q故希腊话冥王哈得斯的多头看门狗. Kerberos ?MIT 开发出来的Z对称加密法的认证协议和/或密?交换ҎQ其特点是需要两个不同用途的服务器,一个用于认证n份, 一个用于通道两端用户的密钥交换.同时 Kerberos 对网l时间同?要求比较高,以防止回放攻击,因此通常伴随 NTP 服务Q) <br /><br />krb5<br />?Kerberos V5 认证用户Q只有在q行 TCP/IP 联接的时候才能用Q?Q译注:Kerberos V5 是上?V4 的改良,主要是不再依?DES 法Q?同时增加了一些新Ҏ.Q?<br /><br />ident<br />服务器将询问客户Z?ident 服务器以核实正在联接的用戯n份. 然后 Postgres 核实该操作系l用h否被允许以其h的数据库用户w䆾与数据库联接Q?只有在?TCP/IP 联接的时候才能用q个选项Q?跟在 ident 关键字后面的 authentication option 声明一?ident mapQn份映)Q?该文件声明那些操作系l用L效于数据库用P见下文获取详l信息. <br /><br /><br />authentication optionQ认证选项Q?br />q个字段Ҏ不同的认证方法(authentication methodQ有不同?解释Q?<br /><br />认证时用与联接h的客L IP 地址和所要求?数据库名字匹配的W一条记录. h意这里没?“fall-throughQ越q)?或?“backupQ备份)”:如果选定了一条记录但认证p|Q?那么不会l考虑下面的记录.如果没有匚w的记录,则拒l访问. <br /><br />在每ơ联接的hӞ文g pg_hba.conf 都会被重新读取.因此很容易就能在服务器运行的时候修改访问权限. <br /><br />?Example 4-1 里是 pg_hba.conf 的一个例子. 阅读下文理解不同认证Ҏ的细节. <br /><br />Example 4-1. 一?pg_hba.conf 文g的例?br /><br /># TYPE DATABASE IP_ADDRESS MASK AUTHTYPE MAP<br /><br /># 允许在本Z的Q何用户以Mw䆾联接M数据?br /># 但必L通过 IP q行联接<br /><br />host all 127.0.0.1 255.255.255.255 trust <br /><br /># 同样Q但用的?Unix-套接字联?br /><br />local all trust<br /><br /># 允许 IP 地址?192.168.93.x 的Q何主Z数据?br /># "template1" 相连Q用与他们在自己的主Z相同 ident 的用户名标识他自?br /># Q通常是他?Unix 用户名)<br /><br />host template1 192.168.93.0 255.255.255.0 ident sameuser<br /><br /># 允许来自L 192.168.12.10 的用户与 "template1" 数据库联接,<br /># 只要该用h供了?pg_shadow 里正的口oQ?br /><br />host template1 192.168.12.10 255.255.255.255 crypt<br /><br /># 如果前面没有其它 "host" 行,那么下面两行拒l所有来?br /># 192.168.54.1 的联接请?(因ؓ前面的记录先匚w<br /># 但是允许来自互联|上其它M地方有效?Kerberos V5 认证的联?br /># 零掩码表CZ考虑L IP 的Q何位Q因此它匚wMLQ?br /><br />host all 192.168.54.1 255.255.255.255 reject<br />host all 0.0.0.0 0.0.0.0 krb5<br /><br /># 允许来自 192.168.x.x 的Q何用户与L数据库联接,只要他们通过 ident ?br /># 但如?ident 说该用户?"bryanh" 而他要求?PostgreSQL 用户 "guest1" 联接Q?br /># 那么只有?`pg_ident.conf' 里有 "omicron" 的映,?"bryanh" 允许?br /># "guest1" q行联接时才真正可以q行联接Q?br /><br />host all 192.168.0.0 255.255.0.0 ident omicron</div> <!-- / message --> <!-- sig --> <img src ="http://www.tkk7.com/ghawk/aggbug/51048.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ghawk/" target="_blank">GHawk</a> 2006-06-07 10:42 <a href="http://www.tkk7.com/ghawk/archive/2006/06/07/51048.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UP & XP之争Q意义何在?(l?http://www.tkk7.com/ghawk/archive/2006/04/25/43027.htmlGHawkGHawkTue, 25 Apr 2006 07:03:00 GMThttp://www.tkk7.com/ghawk/archive/2006/04/25/43027.htmlhttp://www.tkk7.com/ghawk/comments/43027.htmlhttp://www.tkk7.com/ghawk/archive/2006/04/25/43027.html#Feedback4http://www.tkk7.com/ghawk/comments/commentRss/43027.htmlhttp://www.tkk7.com/ghawk/services/trackbacks/43027.html虽然我没能去参加BEA的活动,但是相关的资料已l下载ƈ且浏览过了,实收获不少。所以,对于庄兄的这些想法我很理解?/p>

    怿不只你我Q大部分的h都比较认同敏捷化的过E,希望使过E变得敏捗的,q是个好东西Q之前我也说q“敏捯E是三赢的”这L话?/p>

    我所兛_的问题是“如何能够用好XPQ”?/p>

    庄兄认ؓ“汤的味道,不需要什么过E控制”,我也会认同。ؓ什么?因ؓ你我都是中国人。大部分中国Z会认为汤的味道需要什么过E控制。但是想想看Q如果你在不同地方买到的肯d基炸鸡味道各异;同一Ҏ生的同型号的汽车Ş状各异;银行里取出来的一叠百元大钞大不一Q你不会觉得奇怪么或是有那么一点点愤怒么Q?/p>

    西方人(甚至学习西方的日本hQ对品质的重视程度却完全不同。他们不允许肯d基炸鸡的味道有很大偏差(即便你觉得无所谓)Q?毫米工程”不允许整R的总装长度发生2毫米以上的偏差(即便你觉得无所谓)Q百元大钞……(我想谁都不会无所谓)?/p>

    所以,一切质量都有标准,一切标准都应该被度量!q就是工E学的目标之一Qؓ了实现更严格的质量标准,需要过E控制和度量?/strong>

    庄兄所_用测试用例保证代码的质量其实q是采用了“测试用例”作为度量的标准。唯一的问题是Q“如何确保测试用例的质量”。显Ӟ我们不能把一把不直的子度量出来的结果作为可靠的参考依据。怎么解决呢?“结对编E”么Q嗯Q这是一个不错的方式Q那么最l该信赖谁呢Q是Pair中的Aq是B呢?或者,是Leader么?那么又是谁提出的要求呢?是老板么?q是客户Q政府?法规Q市场?……问题没有终l了?/p>

    不要学习哲学家的ҎQ提Z层又一层无法解决的问题。我们是工程师,应该试图解决问题才对Q解决问题的关键在于Q?font color="#ff0000">XP同样需要标准!Z制定标准Q必要的文档是不可以的。而且Q标准本w的质量是严苛的。因为,作ؓ标准Q他不可以含p其辞、模׃可。在标准的基之上Q我们才可以谈什么TDD、Pair Programming之类的实c?/p>

    回到争论的开端。我引用了林先生的话“UP是正PXP是草书。要先学好UP才能学好XPQ先学XP会ؕ套。”我对这句话的理解如下:q句话ƈ没有批判UP或是XPQ只是指Z一个学习的序。我认ؓq句话是有实践依据的Q因为UP的是一U经典的工程Ҏ。Y件工E本来就源于其他行业的工E实늻验。UP利用大量的文档对开发活动进行约束和记录。正是这U重量的过E规范了规范了从PM到Coder的所有活动,有问题可以参照文档,看看自己应该怎么做。文档也可以作ؓ日后评估q个q程的依据。随着整个团队和每个个人的l验不断U篏Q开发活动中的日常行为渐渐Ş成了一U职业习惯。然后可以通过对UP的配|,逐渐减少文档的用量Q一些没有必要的文档可以省去,更具团队的实际能力调整过E?font color="#ff0000">UP是可配置的,不必要的文档没有存在的理由,q一点UP和XP没有什么两栗?/strong>当然Q随着大家的职业习惯越来越好,l验来丰富,个h和团队就可以采用更敏hM的过E,逐渐q渡到XP上去?/p>

    反过来,如果一开始就没有详尽的文档,很多zdQ比如设计、版本控Ӟ往往会脱LӞq入一U无序的、؜q状态。没有文档可参考,意味着很多问题只能问hQ而不同h的回{可能各异,同一个h对同一个问题的两次回答也可能不同!当然Q如果整个团队的工程素养和个体的职业习惯都比较好的情况下可能不会发生cM的情c?font color="#ff0000">但是q种工程素养和职业习惯从哪里来,可能单靠的XP是不以培养出来的?/strong>

    “UP是正PXP是草书。要先学好UP才能学好XPQ先学XP会ؕ套。”这句话表明了UP和XP在一定程度上是存在冲H的Qƈ且提Z一条\U去降低和避免这个冲H?/p>

    再次需要强调的是庄兄所提到的“XP是一U思想”,q点我认同。但是我认ؓq个除了思想之外Q还是一U“文化”。这U思想和文化也是出于Y件工E多q来的实践,其中也不免有UP{其他过E。不能简单地认ؓ“我们只要吸取历史的教训Q提出新的思想和文化就不会再犯同样的错误了。”很多时候历史L一ơ又一ơ地重演着?font color="#ff0000">新的思想和文化如果不能被准确地理解和q用Q它所带来的可能仍然是它原本想解决的问题。只有我们具备了引入q种文化的基Q才能把它变成自q文化Q否则这仍然是挂在嘴边行于表面的一U不求精髓只求模仿的伪文化、伪思想。这一点对于UP和XP的实践者来说没有什么两栗?/strong>



    GHawk 2006-04-25 15:03 发表评论
    ]]>
    UP & XP之争Q意义何在?http://www.tkk7.com/ghawk/archive/2006/04/23/42691.htmlGHawkGHawkSun, 23 Apr 2006 10:28:00 GMThttp://www.tkk7.com/ghawk/archive/2006/04/23/42691.htmlhttp://www.tkk7.com/ghawk/comments/42691.htmlhttp://www.tkk7.com/ghawk/archive/2006/04/23/42691.html#Feedback4http://www.tkk7.com/ghawk/comments/commentRss/42691.htmlhttp://www.tkk7.com/ghawk/services/trackbacks/42691.html不光是做软gQ凡是做产品Q最后关注的L产品?font color="#ff0000">质量?/p>

    举个例子Q比如你做一锅汤Q?br />今天你状态很好,做完后尝了尝Q感觉很味Q你的家人尝了以后也有同感,喝完后感觉心情舒畅、意Ҏ?br />隔了一个礼拜,你做同样的汤l家里h喝。做完后你尝了尝Q感觉依然美呻I盼望着得到家h的赏识,然而他们却说味道咸了点。你很奇怪,Z么同栯己尝q了Q家里h却感觉不一样呢Q是不是最q加班多了,休息不好Q味觉不准了Q?br />一个月q后Q你要去国外出差Q给安请了个时保姆。一天,他也做了q么个汤Q做完后Q他也尝了尝Q感觉口呛_不错Q可是端上桌Q家里h说这汤太辣了。原来这保姆才从湖南老家出来不久…?/p>

    因此Q只把焦Ҏ在最后的产品上往往是不够的。需要对“做汤的q程”加以控制。所以工E界会比较关注过E的理Q在软g领域也称作“Y件生命周期管理”?/p>

    再来看看UP和XP。它们都属于软gq程Q只不过各有特色?/p>

    再拿刚才那个做汤的例子:
    大家都听说过德国人的厨房像化学实验室Q天q뀁计时器、量杯……装备齐全,再配上精的菜谱Q严谨的德国够确保不用尝那最后一口都做出口味基本一致的汤?br />换了中国人,大部分h都不会模仿d国h做菜的方式。解x案很单,让你的太太和孩子都尝那最后一口,再根据反馈调整几ơ,同样能做出全家h满意的汤?/p>

    q个例子也许不太贴切Q但是可以联想一?德国人做汤們֐于UP;中国人做汤們֐于XP?/p>

    UP和XP最l目的都是ؓ了保证品的质量Q不同的是,两个q程所的方法不同。我惻I没有Z说“UP的目的在于变态地q求文档的完”、“UP是ؓ了要E序员学会写各种各样文档”……之cȝ话。同Ӟ也没Z说“XP是不要文档只要代码”、“XP是要变态地q求完美的代码”……这L话?/p>

    q些不正的看法Q只是h们对于这两种q程的误解。或许是来自于开发h员和目l理的那些“不堪回首的l历”?/p>

    “UPx了整个Y件行业,让开发h员没完没了地写文档而忽略了代码QXP才是王道”这L话,我不敢苟同,仍然有很多企业用着UPq样的重型Y件工E,好比d国h依然喜欢把厨房弄得像个实验室?/p>

    XP固然是个好东ѝ但是,不知道大多数人对于XP的热hZ对XP文化的理解,q是国h惯有的“一H蜂”似的行为?font color="#ff0000">不晓得一个“能够熟l阅M码的Leader”是不是能够真正q用好XPQ确保他的团队能够尽可能地出现"Over engineering"q种q背Agile_的东西,或是能够让他的团队保证“每周只工作40时”这L基本实践Q?/strong>

    对于不同的技术和q程Q应该给予冷静的分析和慎重的选择。每个过E和技术都不能以“正”或“不正确”来定性,只能以“合适”和“不合适”来定性。因为正或不正是要严D明的Q而合适不合适是来源于工E实늚l果。所以,COBOL依然在金融领域v着举轻重的作用,U学家们仍不忘FortranQ汇~和C仍然健在…?/p>

    另外不得不提的是文化上的差异。ؓ什么很多时候,我们学习国外的先q技术,购买了整套生产线Q引q了全套囄Q请国外专家做了详细的全E化培训Q国人生产出的品品质依然不如国外原产的Q这是每个中国h都应该思考的问题…?/p>

     



    GHawk 2006-04-23 18:28 发表评论
    ]]>
    ?UP是正PXP是草?的反?/title><link>http://www.tkk7.com/ghawk/archive/2006/03/01/33025.html</link><dc:creator>GHawk</dc:creator><author>GHawk</author><pubDate>Wed, 01 Mar 2006 08:25:00 GMT</pubDate><guid>http://www.tkk7.com/ghawk/archive/2006/03/01/33025.html</guid><wfw:comment>http://www.tkk7.com/ghawk/comments/33025.html</wfw:comment><comments>http://www.tkk7.com/ghawk/archive/2006/03/01/33025.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.tkk7.com/ghawk/comments/commentRss/33025.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ghawk/services/trackbacks/33025.html</trackback:ping><description><![CDATA[ <p>“UP是正PXP是草书。先学好了UPQ才能学好XPQ先学XP再学UP׃乱套。 ?</p> <p> </p> <p>老师曾这么说。最q,对这句话有了深刻的体会?</p> <p>软gq程是一个以Zؓ中心的活动。h是项目中最隄定和控制的因素。休息的质量、情l的起伏都会影响整个zd。ؓ了尽可能地约束这U个体的不确定行为和减少开发过E中不必要的误会?UP"采用了大量的文档来对整个开发过E进行控制。这些文档主要分Z下几c: </p> <ul> <li>计划文档——项目的开发计划、P代计划、测试计划等? </li> <li>技术文档——项目的设计文档、某个操作的说明文档{? </li> <li>记录文档——日常的会议U要、每日进度反馈、评估报告等?</li> </ul> <p>文档成了UPzd的主要部分。在UP中,往往大量的资源用于文档的制作。这些文档的目的是ؓ了尽可能减少不必要的沟通成本和误会Q也Z在发生问题的时候能够尽快确定原因找到解x法?</p> <p> </p> <p>而正是因为如此繁重的资源消耗,D真正的设计和代码只占Cd销的很部分。这对很多h来说不可理解Q甚臌得本末倒置。于是很多敏h法诞生了Q最具代表性也是对UP思想最具颠覆性的属XP了?</p> <p> </p> <p>对外QXP以快速的反应速度来响应客L需求;对内QXP以高质量的代码和设计来确保尽可能不生不必要的文档和资源开销?</p> <p> </p> <p>从表面上看,在当今,XP实是一U非常理想的开发过E?</p> <p> </p> <p>但是Q从没有q程到XP往往会非常失败。这是ؓ什么?问题的关键还在于人?</p> <p> </p> <ul> <li>无过E?->UP -->XP </li> </ul> <p>UP利用文档来约束和规范Z的开发活动。当一个没有经验的团队l历UP后,q于把性格各异、习惯差别不同的?font color="#a52a2a">l一</font>成了“相对较一致的开发h员”?</p> <p>他们有一致的~码习惯Q有共同的用语,有严格的规则。随着l验的积累,q个团队间的默契来高。此Ӟ如果q程由UP向XP切换Q付出的代h׃相对较低?</p> <p> </p> <ul> <li>无过E?->XP-->UP </li> </ul> <p>XPd快速反应。如果一个没有经验的团队在一开始就试XPQ那么后果可能是惨痛的。因Z个没有经验的团队其成员间的相互了解颇,对于一件事Q往往十个人有十种x。当~少文档U束Ӟ在以代码和设计ؓ中心的活动中Q成员之间往往因ؓ水^的参差不齐导致无休止的讨论甚至争论,代码被不必要地频J改动。这是因为,<font color="#ff0000"><strong>在团队徏设早期,成员之间往往q最基本的尊重和信Q都不存在?/strong></font> q种无意义的zd往往会严重媄响项目的正常q行?</p> <p> </p> <p>所以,学习和应用过E不仅仅是个体的事,而是整个团队的事。只有当团队采用严格文档化的q程q且l过合后,才能渐渐向轻量的过E迁U,逐渐不必要的文档删减掉Q采用更灉|的过E。但是,此时q不是“没有文档”而是“心中有文档”?/p> <img src ="http://www.tkk7.com/ghawk/aggbug/33025.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ghawk/" target="_blank">GHawk</a> 2006-03-01 16:25 <a href="http://www.tkk7.com/ghawk/archive/2006/03/01/33025.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>加蝲Classpath中的文gQ{Q?/title><link>http://www.tkk7.com/ghawk/archive/2006/01/19/28704.html</link><dc:creator>GHawk</dc:creator><author>GHawk</author><pubDate>Thu, 19 Jan 2006 14:07:00 GMT</pubDate><guid>http://www.tkk7.com/ghawk/archive/2006/01/19/28704.html</guid><wfw:comment>http://www.tkk7.com/ghawk/comments/28704.html</wfw:comment><comments>http://www.tkk7.com/ghawk/archive/2006/01/19/28704.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ghawk/comments/commentRss/28704.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ghawk/services/trackbacks/28704.html</trackback:ping><description><![CDATA[<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000">   URL url </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.getClass().getResource(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">EJBConfig.xml</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR>        </SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN style="COLOR: #000000"> {<BR>            File xmlFile </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> File(URLDecoder.decode(url.getFile(),</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">UTF-8</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">));<BR>            </SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">(xmlFile.exists())<BR>                System.out.println(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">OK</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR>        } </SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000"> (UnsupportedEncodingException e) {<BR>            e.printStackTrace();  </SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">To change body of catch statement use File | Settings | File Templates.</SPAN><SPAN style="COLOR: #008000"><BR></SPAN><SPAN style="COLOR: #000000">        }</SPAN></DIV><img src ="http://www.tkk7.com/ghawk/aggbug/28704.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ghawk/" target="_blank">GHawk</a> 2006-01-19 22:07 <a href="http://www.tkk7.com/ghawk/archive/2006/01/19/28704.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://lfhuanxin.com" target="_blank">޾Ʒ޿</a>| <a href="http://gangxiangli.com" target="_blank">պ߹ۿ</a>| <a href="http://yinyinai155.com" target="_blank">ֻˬڵƵ</a>| <a href="http://zhuguangbaoyu.com" target="_blank">޳a߿</a>| <a href="http://hbtelong.com" target="_blank">AVҹ丣㽶149</a>| <a href="http://wxyz2.com" target="_blank">XOɫXO</a>| <a href="http://qinglou31.com" target="_blank">ϺɫϺҳa</a>| <a href="http://www-36664.com" target="_blank">ŷձ߹ۿ</a>| <a href="http://155562.com" target="_blank">ѹ߾Ʒһ</a>| <a href="http://jpsp8.com" target="_blank">߿Ƭ˳Ƶ</a>| <a href="http://xmllhb.com" target="_blank">˸Ƶ</a>| <a href="http://9haolc.com" target="_blank">ĻƷ</a>| <a href="http://51a88.com" target="_blank">AVĻɫ</a>| <a href="http://sdcwpfw.com" target="_blank">www߹ۿ</a>| <a href="http://fsszx888.com" target="_blank">ձ߿ѹۿ</a>| <a href="http://gysysz.com" target="_blank">ˬˬƵ߹ۿ</a>| <a href="http://ss8kk.com" target="_blank">Դ̼ƬƵ </a>| <a href="http://bjtjchem.com" target="_blank">žžþþƷѿС˵</a>| <a href="http://bobostrong31.com" target="_blank">պѸ岥</a>| <a href="http://01shanzhai.com" target="_blank">߳Ƶ</a>| <a href="http://www779rr.com" target="_blank">Ƭһһ߹ۿ </a>| <a href="http://sswg2.com" target="_blank">йһëƬѿƵ</a>| <a href="http://manghuo365.com" target="_blank">þAëƬѹۿ</a>| <a href="http://arkinbokis.com" target="_blank">avվѹۿ</a>| <a href="http://16lds.com" target="_blank">ŷ޾ƷAV</a>| <a href="http://dzhankong.com" target="_blank">ɫʹۺ߹ۿ</a>| <a href="http://fsrongxing.com" target="_blank">Ʒרҹ</a>| <a href="http://9196528.com" target="_blank">ɫַѹۿ</a>| <a href="http://w7768.com" target="_blank">þӰӹ</a>| <a href="http://xabcjzx.com" target="_blank">Ʒ˿һҳ</a>| <a href="http://hylaowu.com" target="_blank">ѲƵ</a>| <a href="http://jiujiujingpin.com" target="_blank">þþƷվѹۿ</a>| <a href="http://tjtangpu.com" target="_blank">ձ߹ۿ</a>| <a href="http://zygwkqf.com" target="_blank">99͵ͼ</a>| <a href="http://56p6.com" target="_blank">Ůcaoվѿ߿</a>| <a href="http://sdbfgcjx.com" target="_blank">ݹѾþþ</a>| <a href="http://gzjing365.com" target="_blank">avҹƬƷվ</a>| <a href="http://0939666.com" target="_blank">ɫav</a>| <a href="http://020iws.com" target="_blank">ŷ߾Ʒѹۿһ</a>| <a href="http://445645.com" target="_blank">һػƬ</a>| <a href="http://ebanyou.com" target="_blank">޹պۺϾþþƷ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>