??xml version="1.0" encoding="utf-8" standalone="yes"?>久久不见久久见免费视频7,久久久精品2019免费观看,国产精品久久婷婷六月丁香 http://www.shnenglu.com/izualzhy/category/15403.html坚持 怿自己 zh-cn Thu, 12 Jul 2012 03:27:52 GMT Thu, 12 Jul 2012 03:27:52 GMT 60 c语言实现urlencode和decode http://www.shnenglu.com/izualzhy/archive/2012/07/09/182456.htmlizualzhy izualzhy Mon, 09 Jul 2012 13:03:00 GMT http://www.shnenglu.com/izualzhy/archive/2012/07/09/182456.html http://www.shnenglu.com/izualzhy/comments/182456.html http://www.shnenglu.com/izualzhy/archive/2012/07/09/182456.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/182456.html http://www.shnenglu.com/izualzhy/services/trackbacks/182456.html Technorati 标签: urlencode ,urldecode 先看个例子:
汉字 一 的UTF-8~码?xE4 0xb8 0x 80
我们在google里搜索一?#8220;一”Q地址栏显CZؓQ?/p>
可以看到url的字W串里有一?E4%B8%80
q就是encode之后的倹{因此,encode的处理过E也很明显了?/p>
特别是传中文参数Ӟ如果没有encodeQ很Ҏ出错?/p>
至于Z么要q么传,׃知道了,今天Q现来看下C语言如何实现url encode函数.
首先是urlencode的编码规则,可以看这里,搜到一文章没有仔l研IӞ可能有不全的地方Q?/p>
http://hi.baidu.com/leejun_2005/item/9e0f4e4ba62cde0bc11613b5解码Q?/span>
/*
* =====================================================================================
* Filename: url_decode.cpp
* Description: url decode
*
* Created: 07/06/2012 07:35:14 PM
* Author: zhy (), izualzhy@163.com
* =====================================================================================
*/
#include <stdio.h>
#include <string.h>
#define NON_NUM '0'
int hex2num( char c)
{
if ( c>= '0' && c<= '9' ) return c - '0' ;
if ( c>= 'a' && c<= 'z' ) return c - 'a' + 10 ; //q里+10的原因是:比如16q制的agؓ10
if ( c>= 'A' && c<= 'Z' ) return c - 'A' + 10 ;
printf( "unexpected char: %c" , c);
return NON_NUM;
}
/**
* @brief URLDecode 对字W串URL解码,~码的逆过E?
*
* @param str 原字W串
* @param strSize 原字W串大小Q不包括最后的\0Q?
* @param result l果字符串缓存区
* @param resultSize l果地址的缓冲区大小(包括最后的\0)
*
* @return: >0 result 里实际有效的字符串长?
* 0 解码p|
*/
int URLDecode( const char * str, const int strSize, char * result, const int resultSize)
{
char ch, ch1, ch2;
int i;
int j = 0 ; //record result index
if (( str== NULL) || ( result== NULL) || ( strSize<= 0 ) || ( resultSize<= 0 )) {
return 0 ;
}
for ( i= 0 ; ( i< strSize) && ( j< resultSize); ++ i) {
ch = str[ i];
switch ( ch) {
case '+' :
result[ j++] = ' ' ;
break ;
case '%' :
if ( i+ 2 < strSize) {
ch1 = hex2num( str[ i+ 1 ]); //??
ch2 = hex2num( str[ i+ 2 ]); //??
if (( ch1!= NON_NUM) && ( ch2!= NON_NUM))
result[ j++] = ( char )(( ch1<< 4 ) | ch2);
i += 2 ;
break ;
} else {
break ;
}
default :
result[ j++] = ch;
break ;
}
}
result[ j] = 0 ;
return j;
}
int main( int argc, char * argv[])
{
char * src = argv[ 1 ];
char obj[ 100 ] = { 0 };
unsigned int len = strlen( src);
int resultSize = URLDecode( src, len, obj, 100 );
printf( "result: %d, %s\n" , resultSize, obj);
return 0 ;
}
~码Q?/p>
/*
* =====================================================================================
* Filename: url_encode.cpp
* Description: url encode
*
* Created: 07/04/2012 08:32:24 PM
*
* Author: zhy (), izualzhy@163.com
* =====================================================================================
*/
#include <stdio.h>
#include <string.h>
/**
* @brief URLEncode 对字W串URL~码
*
* @param str 原字W串
* @param strSize 原字W串长度(不包括最后的\0)
* @param result l果~冲区的地址
* @param resultSize l果~冲区的大小(包括最后的\0)
*
* @return: >0:resultstring 里实际有效的长度
* 0: 解码p|.
*/
int URLEncode( const char * str, const int strSize, char * result, const int resultSize)
{
int i;
int j = 0 ; //for result index
char ch;
if (( str== NULL) || ( result== NULL) || ( strSize<= 0 ) || ( resultSize<= 0 )) {
return 0 ;
}
for ( i= 0 ; ( i< strSize)&&( j< resultSize); ++ i) {
ch = str[ i];
if ((( ch>= 'A' ) && ( ch< 'Z' )) ||
(( ch>= 'a' ) && ( ch< 'z' )) ||
(( ch>= '0' ) && ( ch< '9' ))) {
result[ j++] = ch;
} else if ( ch == ' ' ) {
result[ j++] = '+' ;
} else if ( ch == '.' || ch == '-' || ch == '_' || ch == '*' ) {
result[ j++] = ch;
} else {
if ( j+ 3 < resultSize) {
sprintf( result+ j, "%%%02X" , ( unsigned char ) ch);
j += 3 ;
} else {
return 0 ;
}
}
}
result[ j] = '\0' ;
return j;
}
int main( int argc, char * argv[])
{
char * src = argv[ 1 ];
unsigned int srclength = strlen( src);
printf( "src length: %d\n" , strlen( src));
char obj[ 100 ] = { 0 };
URLEncode( src, srclength, obj, 100 );
printf( "obj: %s\n" , obj);
printf( "obj: %d\n" , strlen( obj));
return 0 ;
}
输出Q?/p>
y@y-VirtualBox:/mnt/Documents/Training$ ./url_encode 一^abc_?br />src length: 11 obj: %E4%B8%80%5Eabc_%E4%BA%8C obj: 25 y@y-VirtualBox:/mnt/Documents/Training$ ./url_decode %E4%B8%80%5Eabc_%E4%BA%8C result: 11, 一^abc_?/p>
使用google搜烦下:
注:
1.AA –> “%AA”,使用sprintf?/p>
2.”%AA” –> AA, 使用位移?/p>
参?
http://hi.baidu.com/zkheartboy/blog/item/5813a28fa0d224ebf11f363d.html
http://hi.baidu.com/leejun_2005/item/9e0f4e4ba62cde0bc11613b5
]]> 使用Google code+Svnq行目开?/title> http://www.shnenglu.com/izualzhy/archive/2012/07/04/181400.htmlizualzhy izualzhy Wed, 04 Jul 2012 12:00:00 GMT http://www.shnenglu.com/izualzhy/archive/2012/07/04/181400.html http://www.shnenglu.com/izualzhy/comments/181400.html http://www.shnenglu.com/izualzhy/archive/2012/07/04/181400.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/181400.html http://www.shnenglu.com/izualzhy/services/trackbacks/181400.html Technorati 标签: svn ,google code 1.搜烦可以搜出一堆东西来Q上手其实很单。就不复制粘贴了?/p>
主要说下自己到的问题:
1.密码问题Q?/p>
点击后页面打不开
2.提示Operation not permitted x惛_不知道是不是NTFS的原因(我的ubuntu是虚拟机Q,于是不在linux和win的共享文件下执行svn co的命令,搞定
]]> 今年我们二十七八?/title> http://www.shnenglu.com/izualzhy/archive/2012/06/17/179148.htmlizualzhy izualzhy Sun, 17 Jun 2012 02:28:00 GMT http://www.shnenglu.com/izualzhy/archive/2012/06/17/179148.html http://www.shnenglu.com/izualzhy/comments/179148.html http://www.shnenglu.com/izualzhy/archive/2012/06/17/179148.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/179148.html http://www.shnenglu.com/izualzhy/services/trackbacks/179148.html 在这个奇怪的又充满理性的C会Q太多的人漂在外面。d某些时刻Q心头那些一直牵挂不敢忘记的情A难以抑制Q羁l于心,U结在胸Q或于指尖Q或倾诉从口中,不知觉间Q两行泪悄然的滴落?br />我想起十七八岁的q纪Q少q情怀是诗,以ؓ外面的世界多么精彩。拼了命也要考到外面的学校里ȝ看。如今当q的无忧无虑已经变成了满腹牢骚愁肠断Q而我今年也有二十七八岁。十q_换来那么多的回忆。L感慨H然间街上就涌现了一活泼欢乐的年Q仿佛有自己的n影。唏嘘于自己的称呼已换成了叔叔、阿姨,直到偶尔攑ց回家Q听到父母被UCL奶奶。那ȝ然就惛_了小时候长辈们的n影,于是我假装不l意间仔l的ȝQ父母的头上Q早已爬上了白发。而我唏嘘感叹的十q_不过是我长大成熟的十q_父母却是老了十年?br />其实心里一直是个孩子啊Q哪怕赚的比父母要多Q玩W间可以说自己多么出息,可内心,l不住疲惫,l不住拷问,l不住那么多的情l,多想知道下一步\该怎么赎ͼ在越来越不懂霓虹闪烁的十字\口,像孩子那栯茫与彷LQ一步步的试探,抬v头望天,想知道答案?br />其实很怀念小时候,放了学有时候父母会放下农活Q去学校接我。再大一点,脖子上就挂了一个钥匙,U色的毛U系着一个钥匙,那是时候很以ؓ自豪的事情,攑֭后回到家里,写完作业Q如果那块地d不远Q我p到坡上,来到自家的田圎ͼ跟在父母的n后,捡些零碎的活qԌ或者蹲在地头捉着蛐蛐Q或者在松Y的地里尽情的L与玩耍。等天黑了,坐在车子后面跟着父母回家。等上了初中Q生zd渐渐变了Q上了高中,基本上一个月才回家一,本科Q研I生Q工作了......旉也越来越,现在的我回家Q再去自家的田地Q却l常有种无所适从的感觉,而我无论如何再努力的回忆Q但怎么也想不v自己时候在q里玩耍的影子来?img src ="http://www.shnenglu.com/izualzhy/aggbug/179148.html" width = "1" height = "1" /> ]]> [转]E序员,你真的懂得收发电子邮件吗Q?/title> http://www.shnenglu.com/izualzhy/archive/2012/06/07/177954.htmlizualzhy izualzhy Thu, 07 Jun 2012 10:34:00 GMT http://www.shnenglu.com/izualzhy/archive/2012/06/07/177954.html http://www.shnenglu.com/izualzhy/comments/177954.html http://www.shnenglu.com/izualzhy/archive/2012/06/07/177954.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/177954.html http://www.shnenglu.com/izualzhy/services/trackbacks/177954.html http://blog.csdn.net/dinglang_2009/article/details/7640372
前言
在几q以前,怿不少朋友都听说过Q马云同志创办阿里巴巴的时候,q不会发邮g。也不知道在阉K巴巴上市之后Q他学会收发邮g了没有!呵呵。我是曾l从内心里“瞧不v”过Q至认为在q一点上我比他强很多。后来我才发玎ͼ我未必懂得收发邮件。除了我Q还有很多的码农也根本不懂得收发邮gQ更不懂得Email里面的工作原理。借此Q向大家介绍一下和Email相关的技术?
老实_我在七八q前有了自q雅虎邮箱Q一直断断箋l有用过。直到后来参加工作后Q由于经帔R要邮件沟通,我才发现Q原来电子邮件是q样用的。在我的习惯思维里,一直以为邮是必须在提供商的网站上才能dQ然后必d对应的网里收发、查看、删除邮Ӟ比如我注册了雅虎邮箱Q必d雅虎|站ȝ录,然后才能q去操作Q。后来有同事推荐了FoxMailQ在配置q程中,我才知道了什么是SMTP/POP3协议Q后来才发现Q原来office中的OutlookQ也是一ƾ优U的邮件客L。或许有很多朋友和我一P也是q么天真的认为的。聊炚w外话Q其实一般的大公叔R非常注重“邮件”的Q这包含你日常工作中的沟通,工作安排Q工作记录等。每天及时收发邮Ӟ也是一U良好的工作习惯。一般公叔R有自q企业邮箱和邮件客L。当Ӟ公司好像不太提倡这个,面对面沟通就好了Q一般的Ҏ没有q个“工作习惯”。所以,很多人根本没M解过。包括我们很多开发h员,IT人员Q都q不太了解其程及工作原理?
析电子邮g的原?
在配|Outlook或者foxMail来收发邮件时Q肯定会遇到SMTP协议和POP3协议的配|选项。那q两个协议分别是啥意思呢Q网上都有翻译,我不会复制粘贴了?
首先Q我会介l一些常识,然后l合通俗的例子,再结合图文的方式来讲讲电子邮局其中的流E及工作原理。随后,我将会用windows 命o行的方式Q登录邮件服务器Q用命o行的方式手工发?接受一电子邮件。相信这样子Q你会透彻的理解其中的工作原理?
电子邮g的一些基本常识:
1.邮g服务?
2.电子邮箱
3.邮g客户端Y?
4.邮g传输协议
5.电子邮g的传输过E?
首先要明白这些“是懂非懂”的概念Q才能更好的理解?
在Internet上要x供电子邮件的功能Q必要有专门的电子邮g服务器。国内比较有名的是“四大门户”的邮箱Q国外的包括Gmail、Yahoo{。这些都是面向公众的Q而且大部分免Ҏ供的。大多数的企业,也都h自己的企业邮件服务器Q提供内部用,或者日常工作中对外使用?
电子邮g服务器的主要功能Q?
1Q接受用h递过来的邮g
2Q将用户投递过来的邮g转发l目标邮件服务器
3Q接受其他邮件服务器转发q来的点邮gQƈ存入Cؓ其管理者所分配的空间中
4Qؓ前来查收/d邮g的用h供服务(当然q包含删除。移动等{操作)
如图所C:
1.用户Dylan写好一邮Ӟ交给了Sina的邮件服务器。完成第一步操作,q用的是SMTP协议。用h交,服务器接受,使用的都是SMTP协议?
2.Sina的邮件服务器收到Dylan的邮件后Q根据地址信息Q又转发l了QQ的邮件服务器Q这两台邮g服务器的收发Q用的都是SMTP协议?
3.有h用QQ邮箱Q发送了一EmaillDylan。所以,QQ的邮件服务器Q将邮g发送给Sina的邮件服务器。这两台服务器的收发Q用的都是SMTP协议?
4.W四部比较特D。是用户Dylan先主动请求Sina的邮件服务器Q要求取自己的邮件。服务器知道后,再将该用户Dylan所理的存储空间中的邮Ӟq回出去lDylan。请一定记住,是用户先hQ而不是服务器先响应。这个过E中使用的POP3协议?
|上有些释,说SMTP协议是负责发邮ӞPOP3协议是负责攉件。其实这是不太正的。多台邮件服务器之间通信Q收/发其实都是用的SMTP协议?
而用户必M动请求邮件服务器Q才能获取到属于用户自己的邮件信息。这个过E中Q才使用的是POP3?
其实可以把Internet上的“电子邮件服务器”,当作是一U“电子邮局”,或者直接理解ؓ现实生活中的邮局?
1Q用户递交包裹l深圳的邮局Q深圳的邮局接受到包裹,再把包裹转发l了武汉的邮局。这其实易经完成了一ơ邮寄过E,使用的都是SMTP协议?
2Q而邮局通常不会d送货l用LQ也不主动通知你(除了最q几q流行的EMS外)。所以,用户只能d跑到邮局去,询问邮局的工作h员?
如果邮局的h发现有属于该用户的包裹,会将包裹交给该用戗这个过E就使用的是POP3协议?
L讎ͼ邮局不会像快递那样主动送货的,必须是用户主动去邮局询问q取包裹。所谓协议,其实可以理解ZU规范,一U特定的“通话语言”?
前面说了q么通俗的例子,怿你已l了解了大致的流E,更重要的是,明白了SMTP/POP3q两U协议。(当然Q还有其他的协议Q这里不做过多介l)
友情提示Q本文不打算讲解如何配置一台邮件服务器Q因是网l管理员/pȝ理员应该掌握的内容。市面上的邮件服务器软gJ多Q在不同的服务器pȝ上也有多U实现。微软的Exchange Server Q?Apache James q些都是比较行?strong>?/strong>
电子邮g的传输过E,详细信息如图Q?
图上已经标明得很清楚了,怿l过前面的介l。大安能够理解整个交互q程了?
下面Q我讲用windows命o行的方式Q来演示发送和接收/查看电子邮g
首先Q登录我的sina邮箱Q准备发送一邮件到我的QQ邮箱里面厅R?
q行“cmd”,打开Commond控制台。(提醒大家一下,q不是DOS。我l常发现某些人把其称为DOSQ觉得很可笑。还有些培训讲师说这是DOSQ误人子弟)
使用telnet命oQ输?telnet smtp.sina.com 25 回R
注释Qsina提供的SMTP服务器地址?smtp.sina.com Q用的端口hSMTP协议默认端口?25 QGmail好像用的?65?87Q?
提示Q部分用户用的windows 7的操作系l,可能会提Ctelnet命o不可用。请在控刉板,”打开/关闭功能“中安装telnet客户端,具体不解释。如果有些朋友还没有用过telnetQ那我也只能先吐血了。天朝程序员水^参差不齐Q作Z个windowsq_上的开发h员,大部分的q个基本的Dos命o都不会?
有图有真相,我在每行命o和输入里Q都加了详细的注释:
发送完成后Q开始准备接受ƈ查看邮g?
同理Qtelnet 到POP3服务器去
telnet pop.qq.com 110 腾讯的POP3服务器地址是pop.qq.com 使用的端口号也是默认?110 Q报警啊Q)
有图有真相:
好了Q朋友们不妨试着用命令行的方式,M验电子邮件的q程Q这能够帮助你理解其中的原理。时间不早了Q码奴也要准备休息了?
改天会向大家详l讲解,?NETq_中发送邮件的几种情况和实现方式(包括Q群发的命中问题、垃圄的问题、ؕ码问题、html邮g、文本邮件、?NET自带 Or 使用邮g发lg? {等Q?
]]>ubuntu下修改ls的颜?/title> http://www.shnenglu.com/izualzhy/archive/2012/05/24/176057.htmlizualzhy izualzhy Thu, 24 May 2012 13:20:00 GMT http://www.shnenglu.com/izualzhy/archive/2012/05/24/176057.html http://www.shnenglu.com/izualzhy/comments/176057.html http://www.shnenglu.com/izualzhy/archive/2012/05/24/176057.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/176057.html http://www.shnenglu.com/izualzhy/services/trackbacks/176057.html 在win下安装了ubuntu的虚拟机Q共享了几个文g夹,可ls一看颜色太隑֏了,l色的底框,蓝色的字?/p> 于是查找了下怎么修改默认的颜Ԍ我们知道颜色代表者类型,比如蓝色是文件夹Q绿色是二进制可执行文gQ青色是链接?/p>
l色的底框表Cothers同样h写的权限Q(好像是,不是很明)
Ҏ很简单:
1.cd
2.dircolors –p > .dircolors
3.vim .dircolors
q入该文件修改:
# Below are the color init strings for the basic file types. A color init # string consists of one or more of the following numeric codes: # Attribute codes: # 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed # Text color codes: # 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white # Background color codes: # 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
Ҏ该提C?/p>
修改?OTHER_WRITABLE 后面的数字即?/p>
4.source .dircolors
OK啦!
从网上查到的资料Q有的linuxpȝ需要编?etc/DIR_COLORS文g?/p>
]]> 周末的吐?/title> http://www.shnenglu.com/izualzhy/archive/2012/05/20/175434.htmlizualzhy izualzhy Sun, 20 May 2012 02:32:00 GMT http://www.shnenglu.com/izualzhy/archive/2012/05/20/175434.html http://www.shnenglu.com/izualzhy/comments/175434.html http://www.shnenglu.com/izualzhy/archive/2012/05/20/175434.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/175434.html http://www.shnenglu.com/izualzhy/services/trackbacks/175434.html 习惯在每个周末晚睡,凌晨听到外面N骤雨Q雷声滚滚,打开H子Q清新的I气涌入Q感觉自己沌的世界时敞亮了些?/p> 于是~缓的睡去,早上半睡半醒间似乎还能感受到比^时要惬意L了许多。因为开着H子的缘故,外面铉K有力抑扬挫的吆喝声和喧闹的鸣笛壎ͼ自行车哐啷哐L颠簸壎ͼ一阵一늚传入耳中Q于是不得不关了H户Q隔l了外面的喧嚣,再次回归到自q世界里?/p>
竟然梦到了自׃直调试的问题Q梦里依旧找不到那种梦想中的行云水般解决问题的乐趣。从毕业时就被灌输奋斗与吃苦的观念,于是默然对自q在的生活选择了忍耐。然而内心知道,自己q那种要创一番事业的人。最想的q是找所高校Q当一个研I员Q醉心于问题本n而非解决问题Q痴q于创造理非Ҏ。不q生zLL不能ȝ你自己去选择的,不是么?虽然有时候看似选择很多Q可如同《悟IZ》里说的Q是不是无论选择哪一个方向,都将游向同一个地方?无论内心如何挣扎与警戒,不断的提醒与鞭策QL不可思议的变化,变成自己曄最讨厌的那cMhQ世俗厚脸皮Q计较逃避责QQQ性而妄为?/p>
早上起床Q收拾了下屋子,狭小的屋子,东西被我从东挪到了西Q从西又挪回东,不断的寻找自q来符合审的布局Q有U强q症的滋呟뀂不知道如果不在帝都Q是否所x做就可以变成了打理自q屋子。在帝都生活了这几年Q我已不知道{案Q不q看别的城市的朋友,g是是的?/p>
一直不太明白ؓ什么要q么生活下去Q跟朋友交谈g大家也都有同L困惑Q同h有答案,即是离开Q也充满了逃避的意呻Iq不是有着如同上灯塔的指引。自q价D慢慢的遭CR蚀Q却又没有更好的办法Q没有信C偏激执拗的信仰同样可怕,不满于现状却又找不到解决的办法,做着同样的事情却又希望自p够与众不同,明明是个屌丝却x朝一日逆袭q掉高富帅,真是一个奇怪的人啊?/p>
有时候真的觉得在学校呆的太久Q以至于现在面对现实竟有q么多ؕ七八p的困惑。只是想知道在这个Qw的C会里,如果我甘愿做个小人物Q简单生z,无甚大理惻I却又计较,略通h情世故,不喜拍马溜须Q喜Ƣ工作,却也热爱生活Q无聊时U三两好友共把盏Q相谈欢Q日作Q日落而息Q在外长喧嚣Q自心乐静谧Q可否在q个时代Q春暖花开Q?/p>
]]> [转]写的不错的一文?/title> http://www.shnenglu.com/izualzhy/archive/2012/04/09/170652.htmlizualzhy izualzhy Mon, 09 Apr 2012 12:16:00 GMT http://www.shnenglu.com/izualzhy/archive/2012/04/09/170652.html http://www.shnenglu.com/izualzhy/comments/170652.html http://www.shnenglu.com/izualzhy/archive/2012/04/09/170652.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/170652.html http://www.shnenglu.com/izualzhy/services/trackbacks/170652.html 你说Q后? ——湖心娉?
你说帘外hQ锦屏x鸯;后来庭院春深Q咫画堂?br>你说W声如诉Q费思量Q后来茶烟尚l,人媄茫茫?br>你说可h如玉Q与子偕臧;后来长亭q望Q夜色微凉?br>你说霞染天光Q陌上花开与谁享;后来烟笼xQ湖心水动媄无双?br>你说彼岸灯火Q心之所向;后来渔舟晚唱Q烟雨彷徨?br>你说水静莲香Q惠风和畅;后来云遮薄月Q清露如霜?br>你说q窗ŞQ再吐衷肠;后来风卷孤松Q雾漫山冈?br>你说U袖佯嗔Q秋波流转思张敞;后来黛眉长敛Q春色飘零别阮郎?br>你说暗香动Q刹那光芒;后来玉殒琼碎Q疏影横H?br>你说良辰景Q乘兴独往Q后来红陌,雪落太行?br>你说赋尽高唐Q三生石上;后来君居淄右Q妾家河队?br>你说玉楼朱颜Q飞月流觞迎客棹Q后来幽谷居士,枕琴听雨卧禅ѝ?br>你说高山水Q客{春江,后来章台游冶Q系马垂杨?br>你说锦瑟韶光Q华灯幢q;后来荼靡开臻I青苔满墙?br>你说天地玄黄Q风月琳琅;后来月斜江上Q云淡天ѝ?br>你说兰舟dQ西楼月下忆姣娘Q后来江湖两忘,只媄天t秋D?br>你说q谷听溪Q寻x岗,后来落花丁零Q水涸潇湘?br>你说霜冷长河Q蒹葭苍苍,后来伊h何在Q孤坐未央?br>你说月洒寒江Q玉q梁,后来冷镜D钩Q三更榻凉?br>你说梦呓故园Q桃花水里游鸳鸯Q后来千山暮雪,老翅几回自奔?/p>
]]> 叶芝《当你老了?/title> http://www.shnenglu.com/izualzhy/archive/2012/03/20/168396.htmlizualzhy izualzhy Tue, 20 Mar 2012 06:45:00 GMT http://www.shnenglu.com/izualzhy/archive/2012/03/20/168396.html http://www.shnenglu.com/izualzhy/comments/168396.html http://www.shnenglu.com/izualzhy/archive/2012/03/20/168396.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/168396.html http://www.shnenglu.com/izualzhy/services/trackbacks/168396.html 爱尔?叶芝 When You Are Old
When you are old and gray and full of sleep And nodding by the fire,take down this book, And slowly read,and dream of the soft look Your eyes had once,and of their shadows deep; How many loved your moments of glad grace, And loved your beauty with love false or true; But one man loved the pilgrim soul in you, And loved the sorrows of your changing face; And bending down beside the glowing bars, Murmur,a little sadly,how love fled And paced upon the mountains overhead, And hid his face amid a crowd of stars.
当年华已?nbsp; LOVER?nbsp; 当年华已逝,你两鬓斑白,沉沉Ʋ睡Q?nbsp; 坐在炉边慢慢打盹Q请取下我的q本诗集Q?nbsp; L~读P如梦一般,你会重温 你那脉脉眼LQ她们是曄那么的深情和柔美?nbsp; 多少人曾p你容光焕发的楚楚力Q?nbsp; ׃的們֟定wQ或是真心,或是做戏Q?nbsp; 但只有一个hQ他q是你圣洁虔诚的心Q?nbsp; 当你z尽铅华Q伤逝红颜的老去Q他也依然深q你! 炉里的火焰温暖明亮,你轻M下头去, 带着淡E的凄ӞZ枯萎熄灭的爱情,喃喃低语Q?nbsp; 此时他正在千׃壑之间独自游荡, 在那满天凝视你的J星后面隐v了脸庞?nbsp;
当你老了 袁可嘉译 当你老了Q头白了Q睡意昏沉, 炉火旁打盹,请取下这部诗歌, 慢慢读,回想你过ȝ的柔和Q?nbsp; 回想它们昔日重的阴影; 多少人爱你青春欢畅的时辰Q?nbsp; 爱慕你的丽Q假意或真心Q?nbsp; 只有一个h׃那朝圣者的灵魂Q?nbsp; ׃衰老了的脸上痛苦的qQ?nbsp; 垂下头来Q在U光闪耀的炉子旁Q?nbsp; 凄然地轻轻诉说那爱情的消逝, 在头的׃它缓~踱着步子Q?nbsp; 在一星星中间隐藏着脸庞?nbsp; ──1893
当你老了 裘小龙译 当你老了Q头发灰白,满是睡意Q?nbsp; 在炉火旁打盹Q取下这一册书本, ~缓地读Q梦C的眼睛曾l?nbsp; 有的那种柔情Q和它们的深深媄子; 多少人爱你欢乐美好的时光Q?nbsp; ׃的美貌,用或真或假的爱情Q?nbsp; 但有一个h׃那朝圣者的灵魂Q?nbsp; 也爱你那衰老了的脸上的哀伤; 在燃烧的火炉旁边俯下w, 凄然地喃喃说Q爱怎样d了, 在头上的山c中间独步t踽Q?nbsp; 把他的脸埋藏在一星星中?nbsp;
当你老了 杨牧?nbsp; 当你老了Q灰黯,沉沉Ʋ眠Q?nbsp; 在火炉边瞌睡Q取下这本书Q?nbsp; 慢慢读,梦回你眼睛曾l?nbsp; 有过的柔光,以及那深深L影; 多少人恋׃喜悦雍容的时刻, 恋爱你的以真以假的爱情Q?nbsp; 有一个h׃朝山的灵内心, ׃变化的面Ҏ那些怔忡错愕?nbsp; q且俯n闪烁发光的铁栏杆边, 嚅嗫Q带些许忧伤Q爱如何竟已 逸去了ƈ且在头顶的高py 复将他的脸藏在一星星中间?br />
当你q老时 傅浩?nbsp; 当你q老,鬓斑Q睡意昏沉, 在炉旁打ҎQ取下这本书Q?nbsp; 慢慢诵读Q梦忆从前你双眸 色柔和Q眼波中倒媄深深Q?nbsp; 多少人爱你风韵妩媚的时光Q?nbsp; ׃的美丽出自假意或真情Q?nbsp; 但唯有一人爱你灵的臌Q?nbsp; ׃渐衰的脸上愁苦的风霜Q?nbsp; 弯下w子Q在炽红的壁炉边Q?nbsp; 忧伤C诉,q如何逃走Q?nbsp; 在头上的群山巅漫步闲游Q?nbsp; 把他的面孔隐没在J星中间?nbsp;
当你老了 飞白?nbsp; 当你老了Q白发苍苍,睡意朦胧Q?nbsp; 在炉前打盹,请取下这本诗, 慢慢吟诵Q梦见你当年的双?nbsp; 那柔的光芒与青q的晕媄Q?nbsp; 多少人真情假意,p你的丽Q?nbsp; p你欢乐而迷人的青春Q?nbsp; 唯独一人爱你朝圣者的心, ׃日益凋谢的脸上的衰戚Q?nbsp; 当你佝偻着Q在灼热的炉栅边Q?nbsp; 你将轻轻诉说Q带着一丝伤感: 逝去的爱Q如今已步上高山Q?nbsp; 在密密星里埋藏它的赧颜?/p>
]]> 杂记二重?/title> http://www.shnenglu.com/izualzhy/archive/2012/03/13/167807.htmlizualzhy izualzhy Tue, 13 Mar 2012 11:59:00 GMT http://www.shnenglu.com/izualzhy/archive/2012/03/13/167807.html http://www.shnenglu.com/izualzhy/comments/167807.html http://www.shnenglu.com/izualzhy/archive/2012/03/13/167807.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/167807.html http://www.shnenglu.com/izualzhy/services/trackbacks/167807.html 之前从书上网上看q一些h重构代码的经历,如何l承啊,模式啊什么的Q于是俺也雄心勃勃外加完全不懂得思考怎么样重构该GUI框架Q结果完全弄错了有木有。。?br />做过一ơ才知道Qؓ什么有Z前告诫说重构一定要心Q刚开始时信心满满的做Q后来越做越灰心Q最后看着自己重构的代码,无地自容啊?br />不过q次我是开始就l搞错了Q这ơ重构主要是 1从内部去掉冗余代?br />2讉K控制W要慎重选择 3程要清晎ͼ十分清晰 其中3搞定了,1,2应该都不是问题,看着如此D忍的代码之间的来回调用Q复杂的变量互相赋倹{。。。信心不太啊! 来到新公司的W一个Q务,我是W还是聪明,是自信还是自卑,看着别h信手拈来的轻村ַ作方式,我咋q么差劲捏?img src ="http://www.shnenglu.com/izualzhy/aggbug/167807.html" width = "1" height = "1" /> ]]> 杂记 http://www.shnenglu.com/izualzhy/archive/2012/03/11/167680.htmlizualzhy izualzhy Sun, 11 Mar 2012 15:36:00 GMT http://www.shnenglu.com/izualzhy/archive/2012/03/11/167680.html http://www.shnenglu.com/izualzhy/comments/167680.html http://www.shnenglu.com/izualzhy/archive/2012/03/11/167680.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/167680.html http://www.shnenglu.com/izualzhy/services/trackbacks/167680.html 大部分时候我都相信,人最隄清的是自己,对于自己的爱好,兴趣Q喜Ӟ我其实ƈ没有十的把握。关于未来,我也不再怿与执着Q没有了学生时代对于理想啊,付出啊,收获啊那U纯真的Ua的简单而又直接的答案。从前我一直觉得有句话很有道理Qxx不一定ooQ但不xx一定不ooQxxoo可以用变量替换,怿可以得到很多l句子,很多Z会说。而现在,我ƈ没有觉得q话错了Q正如很多选择不知寚w一P对于q句话,不想多去思考正与否了?br />然而不同的是,我不再相信?br />总觉得自q在的工作或者说学习上的状态,单来讲可以用4个字形容Q?br />拒绝思考?br />有了{案却让你更加茫Ӟ得到需要的却让你更加空虚,如果有的问题都不知道是什么,何处d扄案?br />以上的语句好2Q甚至不知所云。。。或许就是我现在总觉得自己思考就是在搅浆p的那种感觉的真是写照?br />我相信自己在处理生活上不是一般的p糕Q一个习惯发呆的人LҎ忽略很多生活的内容,了很多生活的乐。我梦想自己开始逐渐不被生活所左右Q至不会如此严重的左右Q那时我逐渐明白自己惌一颗强大的内心。我己想通了q些十分高兴Q后来发现自己所谓的q个想通,不过是将自己的心灵关h而已。有时候想来想d累,想的l果也有Ҏ错,但我告诉自己别那么在乎对错,寚w也不是那么重要,只是在这忙碌的生z里Q不要拒l去惻I拒绝思考?img src ="http://www.shnenglu.com/izualzhy/aggbug/167680.html" width = "1" height = "1" /> ]]> E序员的自我修养学习W记之物理地址和虚拟地址 http://www.shnenglu.com/izualzhy/archive/2011/08/31/154829.htmlizualzhy izualzhy Wed, 31 Aug 2011 15:19:00 GMT http://www.shnenglu.com/izualzhy/archive/2011/08/31/154829.html http://www.shnenglu.com/izualzhy/comments/154829.html http://www.shnenglu.com/izualzhy/archive/2011/08/31/154829.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/154829.html http://www.shnenglu.com/izualzhy/services/trackbacks/154829.html 所谓的地址I间 是个比较抽象的概念,你可以把它想象成一个很大的数组Q每个数l的元素是一个字节,而这个数l大由地址I间的地址长度军_Q比?2位的地址I间的大ؓ2^32=4294967296字节Q即4GBQ地址I间有效的地址?~4294967295,用十六进制表C就?x00000000~0xFFFFFFFF(I )。地址I间分两U:虚拟地址I间(Virtual Address Space)和物理地址I间(Physical Address Space)。物理地址I间是实实在在存在的Q存在于计算ZQ而且对于每一台计机来说只是惟一的一个,你可以把物理I间惌成物理内存,比如你的计算机用的是Inter的Pentium4的处理器Q那么它?2位的机器Q即计算机地址U有32条(实际上是36条地址U,不够我们暂时认ؓ它只?2条)Q那么物理空间就?GB(物理d能力?^32)。但是你的计机上只装了512MB的内存,那么其实物理地址的真正有效部分只?x00000000~0x1FFFFFF(II .),其他部分都是无效的(实际上还有一些外部I/O讑֤映射到物理空间的Q也是有效的Q但我们暂时无视其存在)。虚拟地址I间是指虚拟的、h们想象出来的地址I间Q其实它q不存在Q每个进E都有自q立的虚拟I间Q而且每个q程只能讉K自己的地址控gQ这样就有效的做Cq程的隔R?/p>
I .2^32-1=2^0+2^1+2^2+...+2^31=(2^0+2^1+2^2+2^3)*(2^0+2^4+2^8+2^12+2^16+2^20+2^24+2^28)=F*(2^0+2^4+2^8+2^12+2^16+2^20+2^24+2^28)=0xFFFFFFFFII .1k=2^10bytes,1M=2^10M=2^20bytes,1G=2^10M=2^30bytes,.16q制的第六位,也就?^20Q就表示M了,例如1FFFFFF,pC?M大小QFFFFFFpC?5MQFFFFFFF表示255MQ?xA000000=10M,0x6400000=100M,cLQ?FFFFFFFpC?2^8+F*2^4+F)=511MQ?br />
]]> [转]字符~码W记QASCIIQUnicode和UTF-8 http://www.shnenglu.com/izualzhy/archive/2011/08/30/154732.htmlizualzhy izualzhy Tue, 30 Aug 2011 14:27:00 GMT http://www.shnenglu.com/izualzhy/archive/2011/08/30/154732.html http://www.shnenglu.com/izualzhy/comments/154732.html http://www.shnenglu.com/izualzhy/archive/2011/08/30/154732.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/154732.html http://www.shnenglu.com/izualzhy/services/trackbacks/154732.html
作者: 阮一?/a>
日期Q?2007q?0?8?/abbr>
今天中午Q我H然x清楚Unicode和UTF-8之间的关p,于是开始在|上查资料?/p>
l果Q这个问题比我想象的复杂Q从午饭后一直看到晚?点,才算初步搞清楚?/p>
下面是我的W记Q主要用来整理自q思\。但是,我尽量试囑ֆ得通俗易懂Q希望能对其他朋友有用。毕竟,字符~码是计机技术的基石Q想要熟l用计机Q就必须懂得一点字W编码的知识?/p>
1. ASCII?/strong>
我们知道Q在计算机内部,所有的信息最l都表示Z个二q制的字W串。每一个二q制位(bitQ有0?两种状态,因此八个二进制位可以组合出256U状态,q被UCؓ一个字节(byteQ。也是_一个字节一共可以用来表C?56U不同的状态,每一个状态对应一个符P是256个符P?000000?1111111?/p>
上个世纪60q代Q美国制定了一套字W编码,对英语字W与二进制位之间的关p,做了l一规定。这被称为ASCII码,一直沿用至今?/p>
ASCII码一p定了128个字W的~码Q比如空?#8220;SPACE”?2Q二q制00100000Q,大写的字母A?5Q二q制01000001Q。这128个符P包括32个不能打印出来的控制W号Q,只占用了一个字节的后面7位,最前面?位统一规定??/p>
2、非ASCII~码
p?28个符L码就够了Q但是用来表C其他语aQ?28个符h不够的。比如,在法语中Q字母上Ҏ注音W号Q它无法用ASCII码表C。于是,一些欧z国家就军_Q利用字节中闲置的最高位~入新的W号。比如,法语中的é的编码ؓ130Q二q制10000010Q。这样一来,q些Ƨ洲国家使用的编码体p,可以表示最?56个符受?/p>
但是Q这里又出现了新的问题。不同的国家有不同的字母Q因此,哪怕它们都使用256个符L~码方式Q代表的字母却不一栗比如,130在法语编码中代表?#233;Q在希伯来语~码中却代表了字母Gimel (ג)Q在俄语~码中又会代表另一个符受但是不怎样Q所有这些编码方式中Q?—127表示的符h一LQ不一L只是128—255的这一Dc?/p>
至于亚洲国家的文字,使用的符号就更多了,汉字多?0万左叟뀂一个字节只能表C?56U符P肯定是不够的Q就必须使用多个字节表达一个符受比如,体中文常见的~码方式是GB2312Q用两个字节表CZ个汉字,所以理Z最多可以表C?56x256=65536个符受?/p>
中文~码的问题需要专文讨论,q篇W记不涉及。这里只指出Q虽焉是用多个字节表示一个符P但是GBcȝ汉字~码与后文的Unicode和UTF-8是毫无关pȝ?/p>
3.Unicode
正如上一节所_世界上存在着多种~码方式Q同一个二q制数字可以被解释成不同的符受因此,要想打开一个文本文Ӟ必ȝ道它的编码方式,否则用错误的~码方式解读Q就会出Cؕ码。ؓ什么电子邮件常常出Cؕ码?是因ؓ发信人和收信Z用的~码方式不一栗?/p>
可以惌Q如果有一U编码,世界上所有的W号都纳入其中。每一个符号都l予一个独一无二的编码,那么q问题׃消失。这是UnicodeQ就像它的名字都表示的,q是一U所有符L~码?/p>
Unicode当然是一个很大的集合Q现在的规模可以容纳100多万个符受每个符L~码都不一P比如QU+0639表示阿拉伯字母AinQU+0041表示p的大写字母AQU+4E25表示汉字“?#8221;。具体的W号对应表,可以查询unicode.org Q或者专门的汉字对应?/a>?
4. Unicode的问?/strong>
需要注意的是,Unicode只是一个符号集Q它只规定了W号的二q制代码Q却没有规定q个二进制代码应该如何存储?/p>
比如Q汉?#8220;?#8221;的unicode是十六进制数4E25Q{换成二进制数?5位(100111000100101Q,也就是说q个W号的表C需?个字节。表C其他更大的W号Q可能需?个字节或?个字节,甚至更多?/p>
q里有两个严重的问题,W一个问题是Q如何才能区别unicode和asciiQ计机怎么知道三个字节表示一个符P而不是分别表CZ个符号呢Q第二个问题是,我们已经知道Q英文字母只用一个字节表C就够了Q如果unicodel一规定Q每个符L三个或四个字节表C,那么每个英文字母前都必然有二C个字节是0Q这对于存储来说是极大的费Q文本文件的大小会因此大Z三倍,q是无法接受的?/p>
它们造成的结果是Q?Q出Cunicode的多U存储方式,也就是说有许多种不同的二q制格式Q可以用来表Cunicode?Qunicode在很长一D|间内无法推广Q直C联网的出现?/p>
5.UTF-8
互联|的普及Q强烈要求出CU统一的编码方式。UTF-8是在互联网上用最q的一Uunicode的实现方式。其他实现方式还包括UTF-16和UTF-32Q不q在互联|上基本不用?strong>重复一遍,q里的关pLQUTF-8是Unicode的实现方式之一?/strong>
UTF-8最大的一个特点,是它是一U变长的~码方式。它可以使用1~4个字节表CZ个符PҎ不同的符可变化字节长度?/p>
UTF-8的编码规则很单,只有二条Q?/p>
1Q对于单字节的符P字节的第一位设?Q后?位ؓq个W号的unicode码。因此对于英语字母,UTF-8~码和ASCII码是相同的?/p>
2Q对于n字节的符Pn>1Q,W一个字节的前n位都设ؓ1Q第n+1位设?Q后面字节的前两位一律设?0。剩下的没有提及的二q制位,全部个符Lunicode码?/p>
下表ȝ了编码规则,字母x表示可用~码的位?/p>
UnicodeW号范围 | UTF-8~码方式 (十六q制) | Q二q制Q?br />--------------------+--------------------------------------------- 0000 0000-0000 007F | 0xxxxxxx 0000 0080-0000 07FF | 110xxxxx 10xxxxxx 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
下面Q还是以汉字“?#8221;ZQ演C如何实现UTF-8~码?/p>
已知“?#8221;的unicode?E25Q?00111000100101Q,Ҏ上表Q可以发?E25处在W三行的范围内(0000 0800-0000 FFFFQ,因此“?#8221;的UTF-8~码需要三个字节,x式是“1110xxxx 10xxxxxx 10xxxxxx”。然后,?#8220;?#8221;的最后一个二q制位开始,依次从后向前填入格式中的xQ多出的位补0。这样就得到了,“?#8221;的UTF-8~码?#8220;11100100 10111000 10100101”Q{换成十六q制是E4B8A5?/p>
6. Unicode与UTF-8之间的{?/strong>
通过上一节的例子Q可以看?#8220;?#8221;的Unicode码是4E25QUTF-8~码是E4B8A5Q两者是不一L。它们之间的转换可以通过E序实现?/p>
在Windowsq_下,有一个最单的转化ҎQ就是用内|的C本小E序Notepad.exe。打开文g后,点击“文g”菜单中的“另存?#8221;命oQ会跛_一个对话框Q在最底部有一?#8220;~码”的下拉条?/p>
里面有四个选项QANSIQUnicodeQUnicode big endian ?UTF-8?/p>
1QANSI是默认的~码方式。对于英文文件是ASCII~码Q对于简体中文文件是GB2312~码Q只针对Windows体中文版Q如果是J体中文版会采用Big5码)?/p>
2QUnicode~码指的是UCS-2~码方式Q即直接用两个字节存入字W的Unicode码。这个选项用的little endian格式?/p>
3QUnicode big endian~码与上一个选项相对应。我在下一节会解释little endian和big endian的涵义?/p>
4QUTF-8~码Q也是上一节谈到的~码Ҏ?/p>
选择?#8221;~码方式“后,点击”保存“按钮Q文件的~码方式q刻{换好了?/p>
7. Little endian和Big endian
上一节已l提刎ͼUnicode码可以采用UCS-2格式直接存储。以汉字”?#8220;ZQUnicode码是4E25Q需要用两个字节存储Q一个字节是4EQ另一个字节是25。存储的时候,4E在前Q?5在后Q就是Big endian方式Q?5在前Q?E在后Q就是Little endian方式?/p>
q两个古怪的名称来自英国作家斯威夫特的《格列佛游记》。在该书中,h国里爆发了内战,战争起因是h们争论,吃鸡蛋时I竟是从大头(Big-Endian)敲开q是从小?Little-Endian)敲开。ؓ了这件事情,前后爆发了六ơ战争,一个皇帝送了命,另一个皇帝丢了王位?/p>
因此Q第一个字节在前,是”大头方式“QBig endianQ,W二个字节在前就?#8221;头方式“QLittle endianQ?/p>
那么很自然的Q就会出C个问题:计算机怎么知道某一个文件到底采用哪一U方式编码?
Unicode规范中定义,每一个文件的最前面分别加入一个表C编码顺序的字符Q这个字W的名字叫做”零宽度非换行I格“QZERO WIDTH NO-BREAK SPACEQ,用FEFF表示。这正好是两个字节,而且FF比FE??/p>
如果一个文本文件的头两个字节是FE FFQ就表示该文仉用大头方式;如果头两个字节是FF FEQ就表示该文仉用小头方式?/p>
8. 实例
下面QD一个实例?/p>
打开”C?#8220;E序Notepad.exeQ新Z个文本文Ӟ内容是一?#8221;?#8220;字,依次采用ANSIQUnicodeQUnicode big endian ?UTF-8~码方式保存?/p>
然后Q用文本~辑软gUltraEdit?/a>?#8221;十六q制功能“Q观察该文g的内部编码方式?/p>
1QANSIQ文件的~码是两个字节“D1 CF”Q这正是“?#8221;的GB2312~码Q这也暗CGB2312是采用大头方式存储的?/p>
2QUnicodeQ编码是四个字节“FF FE 25 4E”Q其?#8220;FF FE”表明是小头方式存储,真正的编码是4E25?/p>
3QUnicode big endianQ编码是四个字节“FE FF 4E 25”Q其?#8220;FE FF”表明是大头方式存储?/p>
4QUTF-8Q编码是六个字节“EF BB BF E4 B8 A5”Q前三个字节“EF BB BF”表示q是UTF-8~码Q后三个“E4B8A5”是“?#8221;的具体编码,它的存储序与编码顺序是一致的?/p>
9. 延阅读
* The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets Q关于字W集的最基本知识Q?/p>
* 谈谈Unicode~码
* RFC3629QUTF-8, a transformation format of ISO 10646 Q如果实现UTF-8的规定)
Q完Q?/p>
]]> [转]谈谈2011q度最佳代?/title> http://www.shnenglu.com/izualzhy/archive/2011/08/07/152731.htmlizualzhy izualzhy Sun, 07 Aug 2011 13:44:00 GMT http://www.shnenglu.com/izualzhy/archive/2011/08/07/152731.html http://www.shnenglu.com/izualzhy/comments/152731.html http://www.shnenglu.com/izualzhy/archive/2011/08/07/152731.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/152731.html http://www.shnenglu.com/izualzhy/services/trackbacks/152731.html 转过?a >http://www.kuqin.com/software-engineer/20110806/93122.html
q段代码是这LQ?/p>
try
{
if (you.believe(it) == true || you.believe(it) == false)
{
I.believe(it);
}
}
catch (Exception ex)
{
throw new Exception("It's a miracle!");
}
finally
{
it.justHappened();
}
代码与原文的对应关系不言自明Q从命名风格上看Q我们默认其为Java代码。话题主要是围绕在if条g的写法上?/p>
书写风格
先来看看它的书写风格问题。我说这D代码不是老鸟写的Q因鸟不会把一个布表辑ּ跟true和false直接判断Q而会写成Q?/p>
if (you.believe(it) || !you.believe(it))
于是有朋友提出,把布表辑ּ跟true或false相比较来的更清晰一些,我表C话ƈ没有什么道理,因ؓq种M码的方式是把视角停留?#8220;数据”层面上:一个布表辑ּq回了布型?#8220;数据”Q于是把它和另外一?#8220;数据”q行比较。如今的~程都在不断“语义”Q?#8220;语义”的清晰才是真的清晰。我说Java是一门糟p的语言Q主要原因就是指它的表达能力太差Q导致写出来的代码体C出问题的解决方式Q让Z把目光都集中在具体每条语句上了,所?#8220;见木不见?#8221;。C#{现代语a都在“做什?#8221;而不?#8220;怎么?#8221;Q语义上有很大提高了?/p>
回到目前q个具体问题上,if里面的语义是“you.believe(it)”的返回结果,而不是它的g另外一个布常量的比较l果。其实这个观Ҏ从初中搞信息学竞赛时p老师不断Q今天我同样咨询了同事,他也赞同我的观点。如果您ql坚持这U写法不太清晰的话,我只能说“q只是不适应而已Q要让自己适应q类写法”Q很多hq觉得LINQ不清晰呢Q小学生q觉得高中数学的解法不清晰呢?/p>
q有朋友认ؓQ作为编码规范,应该要求q么写,例如Q?/p>
if (10 == i)
是_把常量写在比较操作的左边Qƈ认ؓ“q样更有普遍意义”。其实这也没有必要,q个习惯是从C语言时代遗传下来?#8220;陋习”。在C语言里,如果把常量写在比较右侧,q且一不小心把“比较”操作W(两个{号Q写?#8220;赋?#8221;操作W(一个等PQ也可以~译通过Q但是结果却大不相同Q这l错误排查也会带来许多麻烦。但是,在如今的语言里已l比C语言做的安全多了Q所以没必要制定q种规范。把一U语a的标准带入另一U语a不叫?#8220;有普遍意?#8221;Q只是多余?/p>
代码含义
然后要谈的便是代码与那句话的“映射”关系了,再来仔细M下这个if子句Q?/p>
if (you.believe(it) || !you.believe(it))
{
I.believe(it);
}
?#8220;需?#8221;上来理解Q我认ؓ代码应该保证if内部的代码一定会执行。那么现在这个需求肯定会满吗?不一定,因ؓyou.believeҎ可能是有副作用的Q如果它W一ơ调用返回falseQ而第二次调用时返回trueQ则if内部的代码就会整D늕q,q显然不是铁道部王发a人的意图。因此,有同学提议代码应该是q样的:
if (true || you.believe(it))
q么做的可以忽略you.believe(it)的结果,因ؓ它已l被短\了根本不会执行。可能它也能满需求,但我x合理的做法可能应该是Q?/p>
if (you.believe(it) || true)
q段代码与之前的区别在于you.believe(it)一定会被调用一ơ,但是无所谓其l果是如何,q充分符合天?strike>某些部门喜欢装摸作样“咨询民意”的状c?/p>
扩展思?/h1>
最后再来一道扩展思考题吧:有h?#8220;你爱Q或者不爱我Q爱在那里Q不增不?#8221;写成了一DC#代码Q?/p>
if (you.Love(me) || !you.Love(me))
{
love++;
love--;
}
有h_q段代码的if条g本n应该被编译器优化掉,因此会直接执行if内部的代码。还有h_if内部的代码也会被~译器优化掉。您怎么看,Z么呢Q?/p>
]]> test http://www.shnenglu.com/izualzhy/archive/2010/11/20/134162.htmlizualzhy izualzhy Sat, 20 Nov 2010 09:54:00 GMT http://www.shnenglu.com/izualzhy/archive/2010/11/20/134162.html http://www.shnenglu.com/izualzhy/comments/134162.html http://www.shnenglu.com/izualzhy/archive/2010/11/20/134162.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/134162.html http://www.shnenglu.com/izualzhy/services/trackbacks/134162.html this is a test for Zoundary blog writer
changed~~
Technorati : Zoundary , test
]]> 写给每一个面?OFFER 选择的h[转自byr] http://www.shnenglu.com/izualzhy/archive/2010/11/20/134145.htmlizualzhy izualzhy Sat, 20 Nov 2010 03:22:00 GMT http://www.shnenglu.com/izualzhy/archive/2010/11/20/134145.html http://www.shnenglu.com/izualzhy/comments/134145.html http://www.shnenglu.com/izualzhy/archive/2010/11/20/134145.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/134145.html http://www.shnenglu.com/izualzhy/services/trackbacks/134145.html
不知道说得对不对Q但看了q是很有感触?br> 写在前面的话 没有两个人的x是相同的Q甚臛_一个h在h生的不同阶段对同一件事情的态度都会不一栗十q后我审视这文章也许正如同我现在审视十q前的自׃般幼E。我不期望大安认同以下观点Q?strong>我只希望每一个你看完我的帖子会有所启发。其实最早这文章最初的目的只是想给外地的研I生看的Q现在越写越乱已l偏M我的本意? 一、生zR? Q、城? 四年前你选择北邮Q所以你来到q个陌生的城市。不你喜欢或者不喜欢q个城市Q现在的你熟悉这个城市更甚于比你自己的家乡。你选择北京是因为学院\上的十几所高校Q还是眷恋CBD的繁华,或者ؓ了一个名不见l传的小子在大城市白手v家的传说。无论如何。你选择了北京? 问题是Q何选择面一个时机的问题。Q何时候去 google 或?microsoft 的h都顶着众h慕的目光。但我一点不慕他们Q我只M?98 q去华ؓQ?1q去UdQ?3q去癑ֺ的家伙们。这是废话,我只惛_诉你Q同L地方Q不同的旉ȝl果是完全不一L? 北京的容量是有限的,但北京的外来人口涌入是有目共睹的?0后赶上了好时候,80后很艰辛Q不知道90后会怎么栗就像吃煎饼果子Q第一个很好吃Q第二个勉强撑下去,W三个就有一半卡在嘴里怎么也咽不下M。我中学一哥们ȝ清华Q他在公叔R是学历最差的Q老板出去办事随行的是一个世界银行的N的和一个耉大普的博士。你觉得老板会先提拔谁呢Q在二线城市你见q几个清华的士Q在我们抱?#8220;被选择”的时候我们忘C正是我们自己选择了去“被选择”? Q、个人生z? 工作后的生活׃部䆾构成Q睡觉、上班、个人生zR下面是你在北京的个人生z: Q?5岁:酒吧夜店的年代? 25~28Q数个月看房子,C月装修房子,C月至数年旉怺Q数个月两地奔L谈婚论嫁Q数月准备婚C{? 28~30Q消停了一q。一q时间照怀孕的老婆? 30~33Q小孩出生。进行各U注册、各U检查、每月至生病去一ơ医院? 33~35Q小孩上q儿园。天天接送ƈ开始准备课余学习画甅R舞y、钢琴、英语等评。开始准备买学区ѝ? 35~40Q每天提前一时起床送上学。提前一时下班接放学。课余补习奥数、英语。天天回家做饭。这一q程持l?2q? 40~45Q每天关心小孩学习以及在学校有没有被L骗上床。经ؓ了父母生病而两地奔波。开始准备ؓ父母在北京买房子? 45~50Q小孩上大学。开始ؓ孩的婚房存首付。开始经常早h队报销父母的医药费? 其实我啰里八嗦写q么多就是想告诉你,不要以ؓ?28 岁以后你q能有多时间和_֊d斗? 二、心? Q、成? 我曾l以为有自己的大公司是成功。就像每个光都曄以ؓ拉个女生满校园遛是q福。不错,你的事业可以得到男h们敬偑,像你和校花拍拖可以得到全校L“我要杀M”的眼。但是事实上q不是每个h都愿意去q求校花Q-很明显不可能每个人都q求得到Q校花只有一个。所以我认ؓq求成功是是q求自己能力范围内的q福。简单的来说Q你的追求超q了自己的能力,你就只能l箋打光? Q、围? 围城的意思是得不到的永远是最好的。我会告诉你不要来北京,我在重庆Ud的同学会告诉你不要回重庆。我会告诉你不要d企,我在公\所的同学会告诉你不要去机关。忙的天天篏得发狂,闲的天天心里闲得发慌。如果你不明白什么对你是最重要的,那么无论你作Z么样的选择以后都会后悔的? 三、工? Q、好工作 什么样的工作是一个好工作。不同的人的定义不一栗离家走?分钟?0点上?点下班、每q?0天年假?0万年薪、老板喜欢你、奖?位数、什么都报销Q这其中M一U都可以作ؓ好工作的定义。问题是Q这些条件不可能全部集中C份工作上Q当Ӟ如果有一份工作这些都占齐了,那肯定轮不到你(如果轮到你了Q那么恭喜你有个好爸爸)Q所以你必须妥协。问题是人都是三心二意的Q这两年觉得钱多好,q两q有孩了觉得下班早点好Q再q两q年U大了喜Ƣ出ȝ又希望休假多一些,所以你必须考虑长久一炏V考虑以下三点Q? W一Q没钱娶不到老婆Q这是前人泪的教? W二Q没旉老婆要给你戴帽子Q这是前的教? W三Q工作丢了老婆会跑路,q是前h血泪的教训 以上U属扯EQ我的意思是说钱、时间、稳定这是最重要的三炏V此外即使你现在是单w,考虑C一生的大部份工作生zL两个人的事,你工作的选择必须要同时考虑C的LG/LP的工作,既你的占不齐,两个人的工作也一定要占齐q三斚w? Q、第一份工? 首先看一下你在找到第一份工作的时候你付出了什么? W一、应届生落户的机会? q个问题很复杂。应届生可以解决北京户口Q问题是在于北京户口有什么用Q你在公司单位拿到的户口实际上叫作北京集体户口,又称Z时户口。如果你dq个单位回家Q那么你户口也会跟着回家。小孩不能落集体户口Q这意味着即你是北京集体户口Q你的小孩也只能回家Q简单的_你小孩不是北京h。当然有规律有例外Q我现在只讨Z般情? 那么怎么让你的集体户口变成常L口呢Q答案是买房子,q就叫刚需。买完房子以后你可以到单位领出集体户口迁入住房所在地的派出所成ؓ帔R户口。这意味着你和你的孩名正言的成ؓ北京人? 但是千万不要忘记北京户口最大的作用是什么,你看中的当然是北京的教育资源。每个外地考生都在抱怨ؓ什么北京的分数UK么低Q因Z们不知道北京的教育资源是怎么分配的。他们都天真的以为在北京生个孩子可以n?xx的清华录取线Q让他们的小孩彻底的从万恶的高考中解放出来Q不用重y父辈们千军万马q独木桥的复辙。殊不知北京千百万的孩的父母谁又服得了谁呢Q教育局怎么让他们服气呢Q? 北京的教育资源的问题叫做划片招生Q划片招生的意思简单的解释是Q你在哪里买房子得上哪里的学校。当然说到底是一个钱字更好的学校永远意味着更高的房仗你d通苑买房子小孩读的就是天通苑学Q我在这里就不好Lq天通苑学有多烂了。如果你想上中关村二(你可以简单的理解为区重点Q,基本?0q代的房子大概是3w+Q而且房源非常非常紧俏。而且最难最隄问题在于Q你得先做通你LP的思想工作Q我不认Z惯了复式的外?0后女生会愿意p 200w C套比她年龄更大的一室一厅当婚房? 我一直说户口没啥用的意思就是说有户口没׃点用没有? W二、被公司培训的机会? 公司通常只对应届生进行比较系l的培训Q而通常考核对应届生相应会比较宽宏V而非应届生如果来了公怸周还不会q活有个叫作试用期的东西可以直接把你扫地出门? W三、得到编Ӟ事业单位Q的Z? 单的_很多军工及垄断央企只招应届生。近q来Q国家加大国防投入所以很多军工单位效益不错。D个例子我姐在襉K一个部队医院基本上每月E后 1w 吧。这些地斚w常要求很简单:应届、硕/博士、最好有背景。非应届不管你是微Yȝq是google总裁也进不去。再比如Q移动社招和校招的待遇差别大家也都看得到。? 事业单位有个东西叫编制。编制基本上是旱涝保收的代名词。不是应届生又想要编Ӟdd? W四、更换行业背景的Z? 即你是通信专业毕业的,你去应聘咨询公司一炚w题没有,公司会认为应届生是白U可以培充R如果你在通信公司工作q两q想换个行业呢?q个、基本上、很难。你可以l常看到有学生同时拿到银行、四大?8M?offer。你要换行业Q我你读博? W五、完全自q几年旉? 人生的每一个阶D|每一个阶D늚事情要做。基本上?8?5之前是你最闲的几年Q之后就是各U各Lȝ事情。要么你可以做个不顾家的男h或者女ZhQ要么你没法把心思全攑֜工作上? 以上几点只有你的W一份工作可以提供给你(基本上)。那么你应当期望从你的第一份工作中得到什么? W一、稳定和舒适? 舒适稳定通常只羽毛球和某些上面提到的应届生情节的单位。既然你一辈子只有q一ơ机会可以进去,那么错过了就请不要后悔。我觉得女生一定优先考虑q点Q不然你安永远会有没hz的衣服和碗 以及 没h带饿肚子的孩子? W二、行业背景和职业规划? 或者说Q^台。我不知道怎么描述q个概念Q你可以把它理解ѝ比如说普华气RQ性h比不高大安知道。但是你在那里干两年之后可以跛_ AIG 去,后者的q薪?30w+ 的? W三、第一桉? q是应届生从创业型公司唯一可以得到的。在一个公叔RQ你要升上去最Ҏ的途径是公司规模的扩大。但是在中国的问题是老h不会服管。所以即使你是公司的元老如果你q龄不够一样很隑֍上去。特别是对于本科生来_股票和期权是你把自己做ؓ对这个公司的高风险投入的唯一回报? 户口是个 bonus Q至我认ؓ它应当排在以上几点之后? 四、写l女生看? 昨天有个女生问我关于 offer 的选择问题Q我随便聊聊我对女生的观? 1、事? 通常情况下,如果夫妻双方都非常有事业心,那么家庭生活和父母子女通常是不会幸的。如果你选择做一个女ZhQ那么你一定要找个很没事业心的老公Q否则你的最佳选择做一个成功男后的女h? 2、爱? 北邮的女生大多数在学校里都有h友的。对女硕士和奛_士我的观ҎQ如果你们关pȝ定,那自然最好;如果你们关系不稳定,或者你单nQ那么请赶紧分手q把扄人放上议事日E头条,往后特别是工作以后扑ֈ合适的概率小。一?30- 朋友的原话是Q?#8220;找个好男人比扑֥工作隑֤了?#8221; 一个中学同学的原话是:“Q男人)有钱的不,靠谱的没有?#8221; 我周?27+ q薪 10w+ 甚至有房有R的女生单着的太多了?
]]> 深入出之正则表辑ּ[转] http://www.shnenglu.com/izualzhy/archive/2010/11/19/134107.htmlizualzhy izualzhy Fri, 19 Nov 2010 11:34:00 GMT http://www.shnenglu.com/izualzhy/archive/2010/11/19/134107.html http://www.shnenglu.com/izualzhy/comments/134107.html http://www.shnenglu.com/izualzhy/archive/2010/11/19/134107.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/134107.html http://www.shnenglu.com/izualzhy/services/trackbacks/134107.html 阅读全文 ]]> 转个状态码的文?/title> http://www.shnenglu.com/izualzhy/archive/2010/11/08/132993.htmlizualzhy izualzhy Mon, 08 Nov 2010 06:55:00 GMT http://www.shnenglu.com/izualzhy/archive/2010/11/08/132993.html http://www.shnenglu.com/izualzhy/comments/132993.html http://www.shnenglu.com/izualzhy/archive/2010/11/08/132993.html#Feedback 0 http://www.shnenglu.com/izualzhy/comments/commentRss/132993.html http://www.shnenglu.com/izualzhy/services/trackbacks/132993.html
日志中的HTTP状态码都代表什么?
作SEOӞ我们l常会在日志上看到类DL代码Q?/p>
61.135.166.232 - - [31/Dec/2007:02:30:11 +0800] "GET /category21.html HTTP/1.1" 200 10968 "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)"
66.249.70.172 - - [31/Dec/2007:03:36:10 +0800] "GET /32_10_zh.html HTTP/1.1" 200 18395 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
q里面需要知道的Q就是那个奇怪的数字“200”Q另外那个数字表C抓取的文g大小Q?br>“200”是HTTP状态码 ?/p>
SEO q程中最常见的HTTP状态码有:
200 - 服务器成功返回网?
404 - h的网不存在
503 - 服务器超?
其他l常到的HTTP状态码列表如下Q?/p>
HTTP状态码 摘要说明
成功2×× 成功处理了请求的状态码?br>200 服务器已成功处理了请求ƈ提供了请求的|页?br>204 服务器成功处理了hQ但没有q回M内容?nbsp; 重定?×× 每次h中用重定向不要过 5 ơ?br>301 h的网已怹Ud到新位置。当URLs发生变化Ӟ使用301代码。搜索引擎烦引中保存新的URL?br>302 h的网时移动到C|。搜索引擎烦引中保存原来的URL?br>304 如果|页自请求者上ơ请求后没有更新Q则?04代码告诉搜烦引擎机器人,可节省带宽和开销?br>客户端错?×× 表示h可能出错Q妨了服务器的处理?br>400 服务器不理解h的语法?br>403 服务器拒l请求?br>404 服务器找不到h的网c服务器上不存在的网늻怼q回此代码?br>410 h的资源永久删除后Q服务器q回此响应。该代码?404Q未扑ֈQ代码相|但在资源以前存在而现在不存在的情况下Q有时用来替?04 代码。如果资源已怹删除Q应当?301 指定资源的新位置?br>服务器错?×× 表示服务器在处理h时发生内部错误。这些错误可能是服务器本w的错误Q而不是请求出错?br>500 服务器遇到错误,无法完成h?br>503 服务器目前无法用(׃蝲或停机维护)。通常Q这只是暂时状态?
]]>
aëƬþ |
þþþŷղAV |
þ99ù龫Ʒ66 |
ľþþƷww16 |
պƷþþþþ |
þþþƷþþþþ |
ŷպƷþ
|
þþ뾫ƷպĦ |
Ʒþþþþ֣ݹ˾ |
þþþӰԺŮ |
˾þۺϾƷAVר |
97þóƷɰ |
þþƷav٤ |
AV12þ |
þø߳һëƬ |
þۺŷ |
þݺҹҹavapp |
2021þþƷ99Ʒ |
þۺ77777 |
þþƷĻһ |
þþƷԴվ |
ݺɫþۺѿ
|
þҹɫƷa |
AVݺɫۺϾþ |
һþaþþƷۺ㽶 |
69ۺϾþþƷ |
Ʒþþþ |
þþþùɫAVѹۿ |
ŷ龫Ʒþþþ |
aëƬþ |
ƷþëƬ |
ŮƷþþþá |
AŮAVۺϾþþ |
ŷԴƬxxxxxþþ |
ŷ龫Ʒþþþ |
ĻhdþþƷ |
ӰԺ˾þ |
þۺϺݺۺϾþü |
պʮ˽һþ
|
þþþþѹۿ |
þþƷ |