<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>purpen</title>
    <description>总感觉有很多东西要学习,但一直没有恒心坚持.</description>
    <link>http://purpen.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>让TextMate支持中文显示</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/223817" style="color:red;">http://purpen.javaeye.com/blog/223817</a>&nbsp;
          发表时间: 2008年08月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>嗯嗯，只是支持中文显示啦，实际效果还过得去。<br />
下载连接：<a href="http://wuhongsheng.com/tmp/TextMate.ttf.tar.bz2" target="_blank">TextMate中文字体</a>
<br />
下载后解压，打开，然后安装字体。之后在TextMate里面选择这个新装的字体即可。<br /></p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/223817#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 04 Aug 2008 12:23:01 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/223817</link>
        <guid>http://purpen.javaeye.com/blog/223817</guid>
      </item>
      <item>
        <title>如何让Tiger的终端上输入和显示中文</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/220103" style="color:red;">http://purpen.javaeye.com/blog/220103</a>&nbsp;
          发表时间: 2008年07月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          默认情况下，OsX的终端是不能正确显示和输入中文的。需要作如下设置：<br />在~/.bash_profile或者~/.bashrc或~/.profile中添加：<br /><br />bind ’set convert-meta off’<br />bind ’set meta-flag on’<br />bind ’set output-meta on’<br />export LC_ALL=zh_CN.UTF-8<br /><br />打开一个终端，在窗口预设中选择仿真，去掉“忽略非ASCII字符”的选项。<br />选择显示，确认“字符集编码”是Unicode（UTF-8)。<br />点击“将设置用作预设”<br /><br />Cmd+Q,退出终端。重新打开终端，现在在终端下可以正确输入和显示中文了
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/220103#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 27 Jul 2008 14:09:06 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/220103</link>
        <guid>http://purpen.javaeye.com/blog/220103</guid>
      </item>
      <item>
        <title>黄金海岸7月看海</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/219758" style="color:red;">http://purpen.javaeye.com/blog/219758</a>&nbsp;
          发表时间: 2008年07月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          昨天去昌黎看了所谓的黄金海岸，可是没有想象的那么美丽，甚至于最后还在闷热的中午天失望而归，真是失败啊！
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/219758#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 26 Jul 2008 10:16:38 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/219758</link>
        <guid>http://purpen.javaeye.com/blog/219758</guid>
      </item>
      <item>
        <title>九项重要的职业规划提示</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/212072" style="color:red;">http://purpen.javaeye.com/blog/212072</a>&nbsp;
          发表时间: 2008年07月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1. 学习的步伐不停止<br /><br />古人说，活到老，学到老。终身学习应该是您的座右铭。<br /><br />世界在不断变化，每个人都在寻找各自的事业途径。<br /><br />您只有保证了足够的技能储备，才能确保能够得到一份足够满意的工作。<br /><br />为了保证您的职业发展，您应当定期地更新您的技能和知识。<br />2. 学会问、学会听，学会学习<br /><br />一个好的倾听者可以习得更多。<br /><br />多听取来自同事、老板以及上级的声音。您可以从他们的经历中学到更多。<br /><br />问一些您感兴趣的话题，然后听听他们怎么说。让他们告诉您事业如何运作，以及如何可以做得更好。<br /><br />大多数都是乐意帮助您的。<br />3. 为目前的工作全力以赴<br /><br />您目前的工作可能是开始您职业生涯的最好起点。<br /><br />从本职工作做起，从现在做起，做好当前的工作，没有保留地尽到自己的职责，证明自己是一名有价值的员工。<br /><br />您所做的工作终究会得到回报。<br />4. 构建人际网络<br /><br />您的下一个职业阶段很可能得益于您的人际网络。<br /><br />您知道吗，超过50%的工作都是通过关系网络获得的。<br /><br />如果您拥有一张良好的人际网络，那么它会助您发现未来的职业，开拓新的方向，获得新的机会。<br /><br />请在新的关系上多花些时间吧，同时请不要忽略对已有关系的保持。<br /><br />从您的人际网络获得有价值信息的最佳途径之一是，定期地问候您的交际人，他们正在做什么，以及有关其职业的新情况。<br />5. 识别你的工作<br /><br />识别真正重要的工作，而不是去假设。<br /><br />一定要确定你目前所做的工作不是因假设得来的。那样会浪费您很多时间和才华。<br /><br />当您着手一份新的工作时，一定要和主管聊聊首要的那些工作。如果您无法确定哪方面是重要的，就去询问他吧。多谈几次也没关系。您会经常对事实上的重要任务与您所作的假设之间差距感到惊讶。<br />6. 慎重决定下一个工作<br /><br />在您开始未来的职业生涯之前，一定要认真考虑您理想中的工作。<br /><br />您理想的职业应该是什么样的呢？ 最关键的是，您一定要乐在其中。<br /><br />您是否乐于为其它的同事承担责任？您喜欢和人打交道还是摆弄技术？你希望自己创业吗？您希望成为一位艺术家、一位设计师、一名熟练的工程师，还是一名管理人员？<br /><br />在您为构建未来的职业生涯之前，请明确您的目标。<br />7. 为未来做准备<br /><br />为了明天的梦想，今天就要进行准备。<br /><br />一刻也不要耽搁。现在就更新您的履历，并且定期持续对其更新。<br /><br />明天您也许就会看到梦想实现的曙光。为此，您需要准备一份专业的履历，准备好为您的雇主展现潜力无穷的你吧！<br /><br />如果您不清楚如何写一份履历，或者任何描述自己，请现在就开始学习吧。<br />8. 量力而行<br /><br />选择适合个人能力的任务。<br /><br />您可以通过不同的方式来构建未来的职业生涯。在 W3School 学习是件容易的事情。而获得硕士学位则会困难一些。<br /><br />您可以通过学习各类型的书籍和教程（比如您在 W3School 所找到的）来为职业添砖加瓦。参加一些带有认证测试的短期培训应该可以为您的履历增加不少分量。同时不要忘了：培养新技术所需要的最具价值的资源是您目前从事的工作。<br /><br />不要为自己设置不可能完成的任务！<br />9. 实现您的梦想<br /><br />把梦想落实为行动！<br /><br />不要让繁忙的工作扼杀您的梦想。假如您有着更高远的目标，请现在就付诸行动吧！<br /><br />如果您计划接受更高的教育，获得更好的工作，或者开一间属于自己的公司等等，请不要以日常的工作作为等待的借口。您的日常工作会变得越来越忙，您会陷入激烈的竞争中，并耗尽自己的能量。<br /><br />如果您此刻就存有能量，那么现在就使用它去实现您的梦想吧！
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/212072#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 06 Jul 2008 17:21:47 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/212072</link>
        <guid>http://purpen.javaeye.com/blog/212072</guid>
      </item>
      <item>
        <title>谷歌音乐搜索即将上线</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/211484" style="color:red;">http://purpen.javaeye.com/blog/211484</a>&nbsp;
          发表时间: 2008年07月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          　　今天，网友徐杰发现，谷歌的Robots.txt中出现了与音乐搜索有关的代码，这预示着，谷歌将在几天内上线音乐搜索功能。robots.txt文件是网站利于搜索引擎索引所创建的文件，谷歌在新产品推出之前，通常会在robots.txt文件中首先释出代码。<br /><br />Google谷歌音乐搜索即将上线<br /><br />　　我们可以看到，这些新增加的都是与音乐（music）相关的代码。谷歌音乐搜索的网址很有可能是http://www.google.cn/music/，十分有趣的是，这个地址，现在被跳转到了http://www.google.cn/music/search?q=周杰伦这个网址。<br /><br />　　今年二月份，《华尔街日报》报道了谷歌密谋的音乐搜索功能：“谷歌合资计划的制定已经进入最后阶段，新服务可能会提供世界三大音乐公司及数十家小音乐公司的歌曲。在解决最后一些难题后，预计服务将在数周后推出。”<br /><br />　　但是，这个“数周”让很多人从心花怒放到心力憔悴，现在，在我们都快忘了这件事的时候，谷歌却给了我们一个惊喜。谷歌将为我们带来合法免费的高品质音乐，盛传谷歌与合作伙伴公司（盛传为姚明及“姚之队”开办的巨鲸公司）将通过在高品质音乐文件中贴上”数字水印”，直接挑战百度的音乐搜索服务。这种理念是：更高品质的音乐不但可以吸引用户离开盗版，也为音乐和搜索公司提供了有价值的数据。<br /><br />　　让我们拭目以待！<br /><br />      来自与<a href="http://www.dwgoogle.cn/" target="_blank">G共舞</a>、本文链接及本声明.
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/211484#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 04 Jul 2008 12:57:12 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/211484</link>
        <guid>http://purpen.javaeye.com/blog/211484</guid>
      </item>
      <item>
        <title>功夫熊猫经典台词：退出，不退出。做面条，不做面条。</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/207693" style="color:red;">http://purpen.javaeye.com/blog/207693</a>&nbsp;
          发表时间: 2008年06月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.往往在逃避命运的路上，却与之不期而遇。<br />One meets its destiny on the road he takes to avoid it.<br /><br />2.你的思想就如同水，我的朋友，当水波摇曳时，很难看清，不过当它平静下来，答案就清澈见底了。<br />Your mind is like this water, my friend, when it is agitated, it becomes difficult to see, but if you allow it to settle, the answer becomes clear.<br /><br /><strong>3.退出，不退出。做面条，不做面条。<br />Quit don't quit. Noodles don't noodles.</strong>这句好玩。。。<br /><br />4.昨天是历史，明天是谜团，只有今天是天赐的礼物。<br />Yesterday is history, tomorrow is a mystery, but today is a gift, that is why it's called the present (the gift).<br /><br />5.从来没有什么意外。<br />There are no accidents.<br /><br />6.师傅：但有些事情我们可以控制，我可以控制果实何时坠落，我还可以控制在何处播种。<br />But there are things we can control, I can control when the fruit will fall, ... And I can control what time to seed.<br /><br />7.乌龟：是啊 不过无论你做了什么，那个种子还是会长成桃树，你可能想要苹果或桔子，可你只能得到桃子，那个种子还是会长成桃树。<br />Yes, but no matter what you do, that seed will grow to be a peach tree, you may wish for an apple or an orange, but you will get a peach.<br /><br />师傅：可桃子不能打败大龙。<br />But peach can not defeate Tai Long.<br /><br />乌龟：也许它可以的 ,如果你愿意引导它、滋养它、相信它。<br />Maybe it can if you are willing to guide it, to nuture it, to believe in it.<br /><br />8.你不能走，真的武士决不会退却。<br />You cannot leave, real warrior never quits.<br /><br />师傅：那你为什么不退出呢? 你知道我一直想把你赶走，可你还是留下来了。<br />Why didn't you quit? you know I was trying to get rid of you, but you stayed.<br /><br />阿宝：是啊，我留下来了。<br />我留下来是因为每次你往我头上丢砖头，或说我难闻，这很伤我的心。<br />可最伤我心的是，我每天努力练习，却还是这个我。<br />我留下来，因为我以为，<br />如果还有人能改变我，<br />能让我焕然一新，<br />那就是你--<br />中国最伟大的功夫师父！<br />Yes, I stayed.<br />I stayed, because every time you threw up brick on the head or said I smelled, it hurts.<br />But it could never hurt more than I did everyday in my life just being me.<br />I stayed, because I thought...<br />If anyone could change me,<br />could make me not me ,<br />it was you<br />the greatest Kong Fu teacher in the whole of China!<br /><br />9. 阿宝，天不遂人愿，况且这本不是天意，阿宝，忘了其它的事情，你的使命一直都在向你召唤。<br />我们是面条家族，血管中流着面汤。<br /><br />I'm sorry things didn't work out, it's just what it's meant to be. Paul, forget everything else, your destiny still awaits.<br />We are Noodle folk, broth runs deep through our veins.<br /><br />10.我私家汤的绝密食材，就是……什么都没有。<br />认为它特别，它就特别了。<br />The secret ingredient of my secret ingredient soup is...nothing.<br />To make something special, you just have to believe it's special.
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/207693#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 25 Jun 2008 00:04:25 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/207693</link>
        <guid>http://purpen.javaeye.com/blog/207693</guid>
      </item>
      <item>
        <title>Mac下使用django的ImageField是出错？</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/206029" style="color:red;">http://purpen.javaeye.com/blog/206029</a>&nbsp;
          发表时间: 2008年06月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          使用django的models:<br /><br /><pre name="code" class="python">
class User(models.Model):
    headpic = models.ImageField(upload_to="local_path")
    ....
</pre><br /><br />执行validate时，报一下错误：<br /><br /><pre name="code" class="python">
 "headpic": To use ImageFields, you need to install the Python Imaging Library. Get it at http://www.pythonware.com/products/pil/ .
</pre><br />缺少PIL.<br /><br />解决办法：<br /><br />downloading <a href="http://effbot.org/downloads/Imaging-1.1.5.tar.gz" target="_blank">PIL package </a>and the run sudo python setup.py install.<br /><br />安装后，一切OK!
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/206029#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 20 Jun 2008 00:56:15 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/206029</link>
        <guid>http://purpen.javaeye.com/blog/206029</guid>
      </item>
      <item>
        <title>Firefox 3发布挑战IE、Safari</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/205186" style="color:red;">http://purpen.javaeye.com/blog/205186</a>&nbsp;
          发表时间: 2008年06月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          北京时间6月18日（三）凌晨一点，Mozilla基金会发布新版Firefox3.0。 为配合firefox 3的发布Mozilla在全球范围内推出2008firefox下载日，来冲击当日下载的吉尼斯纪录。<br /><br />据国外媒体报道称，网络应用公司（Net Applications）公布的资料显示，Firefox的全球市场份额超过了18%。通过发布Firefox 3，Mozilla的下载量和市场份额将得到进一步提升。微软要到今年晚些时候才会发布新版IE。<br /><br />Mozilla表示，其结果是Firefox 3将会更安全、更容易使用、可定制性更高，为网站和Firefox插件开发人员提供了更大的发挥余地。<br /><br />Firefox 3基于Gecko 1.9 Web渲染平台。与上一个版本相比，Gecko 1.9有了15000多处升级，其性能、稳定性、渲染的正确性、代码精简性和可持续开发性都得到了进一步提高。<br /><br />首先，Mozilla非常重视安全。用户可以点击地址栏中的一个图标，查看网站的主人是谁，检查链接是否安全。身份认证将在显著位置显示，更容易被理解。当一个站点使用扩展认证SSL证书时，该站点的图标将变成绿色，并显示该公司的名字。<br /><br />Firefox 3还具备保护功能，当用户访问一个已知的恶意站点时会向用户发出警报。新的Web防伪保护服务会封杀被怀疑伪造的网页。Firefox能够自动地关闭不安全的插件。<br /><br />Mozilla还重点提高了Firefox的易用性和可定制性。在密码管理方面，信息栏取代了过去的密码对话框，使用户在成功登录后能够保存密码。新版 Firefox还取消了插件白名单，使用户能够以较少的鼠标点击次数安装第三方插件。新的下载管理器旨在使用户能够更方便地寻找下载的文件，用户还可以查看和搜索下载文件的站点。
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/205186#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 18 Jun 2008 15:47:32 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/205186</link>
        <guid>http://purpen.javaeye.com/blog/205186</guid>
      </item>
      <item>
        <title>sphinx中文全文检索的实现</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/199243" style="color:red;">http://purpen.javaeye.com/blog/199243</a>&nbsp;
          发表时间: 2008年06月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          首先以下是配置文件：<br /><div class="quote_title">引用</div><div class="quote_div"><br />source cv<br />{<br />type = mysql<br />sql_host = localhost<br />sql_user = root<br />sql_pass = passwod<br />sql_db = database<br />sql_query_pre= SET NAMES utf8<br />sql_query = \<br />SELECT id, title, introtext,unix_timestamp(created) as addtime \<br />FROM jos_content<br />sql_attr_timestamp = addtime<br />sql_ranged_throttle = 0<br />}<br />index cv<br />{<br />source = cv<br />path = /usr/local/sphinx/var/data/joomlainx<br />docinfo = extern<br />mlock = 0<br />stopwords =<br />min_prefix_len = 0<br />min_infix_len = 0<br />min_word_len = 2<br />charset_type = utf-8<br />charset_table = U+FF10..U+FF19->0..9, 0..9, U+FF41..U+FF5A->a..z, U+FF21..U+FF3A->a..z,\<br />A..Z->a..z, a..z, U+0149, U+017F, U+0138, U+00DF, U+00FF, U+00C0..U+00D6->U+00E0..U+00F6,\<br />U+00E0..U+00F6, U+00D8..U+00DE->U+00F8..U+00FE, U+00F8..U+00FE, U+0100->U+0101, U+0101,\<br />U+0102->U+0103, U+0103, U+0104->U+0105, U+0105, U+0106->U+0107, U+0107, U+0108->U+0109,\<br />U+0109, U+010A->U+010B, U+010B, U+010C->U+010D, U+010D, U+010E->U+010F, U+010F,\<br />U+0110->U+0111, U+0111, U+0112->U+0113, U+0113, U+0114->U+0115, U+0115, U+0116->U+0117,\<br />U+0117, U+0118->U+0119, U+0119, U+011A->U+011B, U+011B, U+011C->U+011D, U+011D,\<br />U+011E->U+011F, U+011F, U+0130->U+0131, U+0131, U+0132->U+0133, U+0133, U+0134->U+0135,\<br />U+0135, U+0136->U+0137, U+0137, U+0139->U+013A, U+013A, U+013B->U+013C, U+013C,\<br />U+013D->U+013E, U+013E, U+013F->U+0140, U+0140, U+0141->U+0142, U+0142, U+0143->U+0144,\<br />U+0144, U+0145->U+0146, U+0146, U+0147->U+0148, U+0148, U+014A->U+014B, U+014B,\<br />U+014C->U+014D, U+014D, U+014E->U+014F, U+014F, U+0150->U+0151, U+0151, U+0152->U+0153,\<br />U+0153, U+0154->U+0155, U+0155, U+0156->U+0157, U+0157, U+0158->U+0159, U+0159,\<br />U+015A->U+015B, U+015B, U+015C->U+015D, U+015D, U+015E->U+015F, U+015F, U+0160->U+0161,\<br />U+0161, U+0162->U+0163, U+0163, U+0164->U+0165, U+0165, U+0166->U+0167, U+0167,\<br />U+0168->U+0169, U+0169, U+016A->U+016B, U+016B, U+016C->U+016D, U+016D, U+016E->U+016F,\<br />U+016F, U+0170->U+0171, U+0171, U+0172->U+0173, U+0173, U+0174->U+0175, U+0175,\<br />U+0176->U+0177, U+0177, U+0178->U+00FF, U+00FF, U+0179->U+017A, U+017A, U+017B->U+017C,\<br />U+017C, U+017D->U+017E, U+017E, U+0410..U+042F->U+0430..U+044F, U+0430..U+044F,\<br />U+05D0..U+05EA, U+0531..U+0556->U+0561..U+0586, U+0561..U+0587, U+0621..U+063A, U+01B9,\<br />U+01BF, U+0640..U+064A, U+0660..U+0669, U+066E, U+066F, U+0671..U+06D3, U+06F0..U+06FF,\<br />U+0904..U+0939, U+0958..U+095F, U+0960..U+0963, U+0966..U+096F, U+097B..U+097F,\<br />U+0985..U+09B9, U+09CE, U+09DC..U+09E3, U+09E6..U+09EF, U+0A05..U+0A39, U+0A59..U+0A5E,\<br />U+0A66..U+0A6F, U+0A85..U+0AB9, U+0AE0..U+0AE3, U+0AE6..U+0AEF, U+0B05..U+0B39,\<br />U+0B5C..U+0B61, U+0B66..U+0B6F, U+0B71, U+0B85..U+0BB9, U+0BE6..U+0BF2, U+0C05..U+0C39,\<br />U+0C66..U+0C6F, U+0C85..U+0CB9, U+0CDE..U+0CE3, U+0CE6..U+0CEF, U+0D05..U+0D39, U+0D60,\<br />U+0D61, U+0D66..U+0D6F, U+0D85..U+0DC6, U+1900..U+1938, U+1946..U+194F, U+A800..U+A805,\<br />U+A807..U+A822, U+0386->U+03B1, U+03AC->U+03B1, U+0388->U+03B5, U+03AD->U+03B5,\<br />U+0389->U+03B7, U+03AE->U+03B7, U+038A->U+03B9, U+0390->U+03B9, U+03AA->U+03B9,\<br />U+03AF->U+03B9, U+03CA->U+03B9, U+038C->U+03BF, U+03CC->U+03BF, U+038E->U+03C5,\<br />U+03AB->U+03C5, U+03B0->U+03C5, U+03CB->U+03C5, U+03CD->U+03C5, U+038F->U+03C9,\<br />U+03CE->U+03C9, U+03C2->U+03C3, U+0391..U+03A1->U+03B1..U+03C1,\<br />U+03A3..U+03A9->U+03C3..U+03C9, U+03B1..U+03C1, U+03C3..U+03C9, U+0E01..U+0E2E,\<br />U+0E30..U+0E3A, U+0E40..U+0E45, U+0E47, U+0E50..U+0E59, U+A000..U+A48F, U+4E00..U+9FBF,\<br />U+3400..U+4DBF, U+20000..U+2A6DF, U+F900..U+FAFF, U+2F800..U+2FA1F, U+2E80..U+2EFF,\<br />U+2F00..U+2FDF, U+3100..U+312F, U+31A0..U+31BF, U+3040..U+309F, U+30A0..U+30FF,\<br />U+31F0..U+31FF, U+AC00..U+D7AF, U+1100..U+11FF, U+3130..U+318F, U+A000..U+A48F,\<br />U+A490..U+A4CF<br />ngram_len = 1<br />ngram_chars = U+4E00..U+9FBF, U+3400..U+4DBF, U+20000..U+2A6DF, U+F900..U+FAFF,\<br />U+2F800..U+2FA1F, U+2E80..U+2EFF, U+2F00..U+2FDF, U+3100..U+312F, U+31A0..U+31BF,\<br />U+3040..U+309F, U+30A0..U+30FF, U+31F0..U+31FF, U+AC00..U+D7AF, U+1100..U+11FF,\<br />U+3130..U+318F, U+A000..U+A48F, U+A490..U+A4CF<br />}<br /><br />indexer<br />{<br />mem_limit = 32M<br />}<br />searchd<br />{<br />port = 3312<br />log = /usr/local/sphinx/var/log/searchd.log<br />query_log = /usr/local/sphinx/var/log/query.log<br />read_timeout = 5<br />max_children = 30<br />pid_file = /usr/local/sphinx/var/log/searchd.pid<br />max_matches = 1000<br />seamless_rotate = 1<br />}</div><br /><br />你可以参考一下，使用这个配置文件需要修改用户，密码保存目录等，来符合你自己mysql的要求。sphinx的官网的配置有一些问题，最关键的就是 morphology = none 这段在中文情况下不能使用，否则会导致无法启动searchd服务。<br /><br />配置完成后，就可以进行索引：<br /><br />/usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --all<br /><br />然后可以启动searchd<br /><br />/usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/sphinx.conf<br /><br />我们来用php api进行搜索，将安装目录的api文件都copy 到 网站的documentroot下，最重要的是sphinxapi.php<br /><br />新建一个test.php文件，代码如下：<br /><br /><div class="quote_title">引用</div><div class="quote_div">&lt;?php<br />require ( "sphinxapi.php" );<br /><br />$q = $_GET['q'];<br />$mode = SPH_MATCH_ALL;<br />$host = "localhost";<br />$port = 3312;<br />$index = "*";<br />$groupby = "";<br />$groupsort = "@group desc";<br />$filter = "site_id";<br />$filtervals = array();<br />$distinct = "";<br />$sortby = "";<br />$limit = 20;<br />$opts = array<br />(<br />	"before_match"		=> "&lt;b>",<br />	"after_match"		=> "&lt;/b>",<br />	"chunk_separator"	=> " ... ",<br />	"limit"				=> 60,<br />	"around"			=> 3,<br />);<br />$ranker = SPH_RANK_PROXIMITY_BM25;<br /><br />////////////<br />// do query<br />////////////<br /><br />$cl = new SphinxClient ();<br />$cl->SetServer ( $host, $port );<br />$cl->SetWeights ( array ( 100, 1 ) );<br />$cl->SetMatchMode ( $mode );<br />if ( count($filtervals) )	$cl->SetFilter ( $filter, $filtervals );<br />if ( $groupby )				$cl->SetGroupBy ( $groupby, SPH_GROUPBY_ATTR, $groupsort );<br />if ( $sortby )				$cl->SetSortMode ( SPH_SORT_EXTENDED, $sortby );<br />if ( $sortexpr )			$cl->SetSortMode ( SPH_SORT_EXPR, $sortexpr );<br />if ( $distinct )			$cl->SetGroupDistinct ( $distinct );<br />if ( $limit )				$cl->SetLimits ( 0, $limit, ( $limit>1000 ) ? $limit : 1000 );<br />$cl->SetRankingMode ( $ranker );<br />$cl->SetArrayResult ( true );<br />$res = $cl->Query ( $q, $index );<br />?></div><br />这是一个最简单的测试实例，注意保存的charset是 utf-8 ，无BOM，现在可以通过http://yourdomain.com/test.php来测试，结果会返回一个数组，sphinx不会返回title和content等内容，因此要根据id在mysql检索以显示文章标题和正文。<br /><br />sphinx现在生成的索引文件不能大于2G。
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/199243#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 01 Jun 2008 23:02:14 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/199243</link>
        <guid>http://purpen.javaeye.com/blog/199243</guid>
      </item>
      <item>
        <title>用 PHP 构建自定义搜索引擎</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/199239" style="color:red;">http://purpen.javaeye.com/blog/199239</a>&nbsp;
          发表时间: 2008年06月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          详细请参考：<br /><br /><a href="http://www-128.ibm.com/developerworks/cn/opensource/os-php-sphinxsearch/" target="_blank">http://www-128.ibm.com/developerworks/cn/opensource/os-php-sphinxsearch/</a>
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/199239#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 01 Jun 2008 22:58:10 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/199239</link>
        <guid>http://purpen.javaeye.com/blog/199239</guid>
      </item>
      <item>
        <title>浅析大型网站的架构</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/197231" style="color:red;">http://purpen.javaeye.com/blog/197231</a>&nbsp;
          发表时间: 2008年05月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一个小型的网站，比如个人网站，可以使用最简单的html静态页面就实现了，配合一些图片达到美化效果，所有的页面均存放在一个目录下，这样的网站对系统架构、性能的要求都很简单，随着互联网业务的不断丰富，网站相关的技术经过这些年的发展，已经细分到很细的方方面面，尤其对于大型网站来说，所采用的技术更是涉及面非常广，从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求，已经不是原来简单的html静态网站所能比拟的。<br />大型网站，比如门户网站。在面对大量用户访问、高并发请求方面，基本的解决方案集中在这样几个环节：使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面，还没法根本解决大型网站面临的高负载和高并发问题。<br />上面提供的几个解决思路在一定程度上也意味着更大的投入，并且这样的解决思路具备瓶颈，没有很好的扩展性，下面我从低成本、高性能和高扩张性的角度来说说我的一些经验。<br /><br /><strong>1、HTML静态化</strong><br />其实大家都知道，效率最高、消耗最小的就是纯静态化的html页面，所以我们尽可能使我们的网站上的页面采用静态页面来实现，这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站，我们无法全部手动去挨个实现，于是出现了我们常见的信息发布系统CMS，像我们常访问的各个门户站点的新闻频道，甚至他们的其他频道，都是通过信息发布系统来管理和实现的，信息发布系统可以实现最简单的信息录入自动生成静态页面，还能具备频道管理、权限管理、自动抓取等功能，对于一个大型网站来说，拥有一套高效、可管理的CMS是必不可少的。<br />除了门户和信息发布类型的网站，对于交互性要求很高的社区类型网站来说，尽可能的静态化也是提高性能的必要手段，将社区内的帖子、文章进行实时的静态化，有更新的时候再重新静态化也是大量使用的策略，像Mop的大杂烩就是使用了这样的策略，网易社区等也是如此。<br />同时，html静态化也是某些缓存策略使用的手段，对于系统中频繁使用数据库查询但是内容更新很小的应用，可以考虑使用html静态化来实现，比如论坛中论坛的公用设置信息，这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中，这些信息其实大量被前台程序调用，但是更新频率很小，可以考虑将这部分内容进行后台更新的时候进行静态化，这样避免了大量的数据库访问请求。<br /><br /><strong>2、图片服务器分离</strong><br />大家知道，对于Web服务器来说，不管是Apache、IIS还是其他容器，图片是最消耗资源的，于是我们有必要将图片与页面进行分离，这是基本上大型网站都会采用的策略，他们都有独立的图片服务器，甚至很多台图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力，并且可以保证系统不会因为图片问题而崩溃，在应用服务器和图片服务器上，可以进行不同的配置优化，比如apache在配置ContentType的时候可以尽量少支持，尽可能少的 LoadModule，保证更高的系统消耗和执行效率。<br /><br /><strong>3、数据库集群和库表散列</strong><br />大型网站都有复杂的应用，这些应用必须使用数据库，那么在面对大量访问的时候，数据库的瓶颈很快就能显现出来，这时一台数据库将很快无法满足应用，于是我们需要使用数据库集群或者库表散列。<br />在数据库集群方面，很多数据库都有自己的解决方案，Oracle、Sybase等都有很好的方案，常用的MySQL提供的Master/Slave也是类似的方案，您使用了什么样的DB，就参考相应的解决方案来实施即可。<br />上面提到的数据库集群由于在架构、成本、扩张性方面都会受到所采用DB类型的限制，于是我们需要从应用程序的角度来考虑改善系统架构，库表散列是常用并且最有效的解决方案。我们在应用程序中安装业务和应用或者功能模块将数据库进行分离，不同的模块对应不同的数据库或者表，再按照一定的策略对某个页面或者功能进行更小的数据库散列，比如用户表，按照用户ID进行表散列，这样就能够低成本的提升系统的性能并且有很好的扩展性。sohu的论坛就是采用了这样的架构，将论坛的用户、设置、帖子等信息进行数据库分离，然后对帖子、用户按照板块和ID进行散列数据库和表，最终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能。<br /><br /><strong>4、缓存</strong><br />缓存一词搞技术的都接触过，很多地方用到缓存。网站架构和网站开发中的缓存也是非常重要。这里先讲述最基本的两种缓存。高级和分布式的缓存在后面讲述。<br />架构方面的缓存，对Apache比较熟悉的人都能知道Apache提供了自己的缓存模块，也可以使用外加的Squid模块进行缓存，这两种方式均可以有效的提高Apache的访问响应能力。<br />网站程序开发方面的缓存，Linux上提供的Memory Cache是常用的缓存接口，可以在web开发中使用，比如用Java开发的时候就可以调用MemoryCache对一些数据进行缓存和通讯共享，一些大型社区使用了这样的架构。另外，在使用web语言开发的时候，各种语言基本都有自己的缓存模块和方法，PHP有Pear的Cache模块，Java就更多了，.net不是很熟悉，相信也肯定有。<br /><br /><strong>5、镜像</strong><br />镜像是大型网站常采用的提高性能和数据安全性的方式，镜像的技术可以解决不同网络接入商和地域带来的用户访问速度差异，比如ChinaNet和EduNet之间的差异就促使了很多网站在教育网内搭建镜像站点，数据进行定时更新或者实时更新。在镜像的细节技术方面，这里不阐述太深，有很多专业的现成的解决架构和产品可选。也有廉价的通过软件实现的思路，比如Linux上的rsync等工具。<br /><br /><strong>6、负载均衡</strong><br />负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法。<br />负载均衡技术发展了多年，有很多专业的服务提供商和产品可以选择，我个人接触过一些解决方法，其中有两个架构可以给大家做参考。<br /><br /><strong>硬件四层交换</strong><br />第四层交换使用第三层和第四层信息包的报头信息，根据应用区间识别业务流，将整个区间段的业务流分配到合适的应用服务器进行处理。　第四层交换功能就象是虚 IP，指向物理服务器。它传输的业务服从的协议多种多样，有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上，需要复杂的载量平衡算法。在IP世界，业务类型由终端TCP或UDP端口地址来决定，在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。<br />在硬件四层交换产品领域，有一些知名的产品可以选择，比如Alteon、F5等，这些产品很昂贵，但是物有所值，能够提供非常优秀的性能和很灵活的管理能力。Yahoo中国当初接近2000台服务器使用了三四台Alteon就搞定了。<br /><strong>软件四层交换</strong><br />大家知道了硬件四层交换机的原理后，基于OSI模型来实现的软件四层交换也就应运而生，这样的解决方案实现的原理一致，不过性能稍差。但是满足一定量的压力还是游刃有余的，有人说软件实现方式其实更灵活，处理能力完全看你配置的熟悉能力。<br />软件四层交换我们可以使用Linux上常用的LVS来解决，LVS就是Linux Virtual Server，他提供了基于心跳线heartbeat的实时灾难应对解决方案，提高系统的鲁棒性，同时可供了灵活的虚拟VIP配置和管理功能，可以同时满足多种应用需求，这对于分布式的系统来说必不可少。<br />一个典型的使用负载均衡的策略就是，在软件或者硬件四层交换的基础上搭建squid集群，这种思路在很多大型网站包括搜索引擎上被采用，这样的架构低成本、高性能还有很强的扩张性，随时往架构里面增减节点都非常容易。这样的架构我准备空了专门详细整理一下和大家探讨。<br /><br />对于大型网站来说，前面提到的每个方法可能都会被同时使用到，我这里介绍得比较浅显，具体实现过程中很多细节还需要大家慢慢熟悉和体会，有时一个很小的squid参数或者apache参数设置，对于系统性能的影响就会很大，希望大家一起讨论，达到抛砖引玉之效。&lt;收藏>
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/197231#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 26 May 2008 23:17:39 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/197231</link>
        <guid>http://purpen.javaeye.com/blog/197231</guid>
      </item>
      <item>
        <title>PHP6发布前新特性大展望</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/193857" style="color:red;">http://purpen.javaeye.com/blog/193857</a>&nbsp;
          发表时间: 2008年05月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          PHP下一个备受关注的版本6.0，已经进入snapshot阶段，不久即将发布。PHP 6.0将包含很多新的特性、语法改进，会让面向对象编程更加简单，另外还有很多重要的改进，比如Unicode的核心支持，这将让PHP更适合全球范围支持和更加的健康发展。PHP是已经风靡全球的脚本语言，在数以万计的网站上运行着,包括Linuxeden PHP 6.0将完全向前兼容,同时增加许多令人激动的特性。<br /><br /><div class="quote_title">引用</div><div class="quote_div"> # 更加好的Unicode支持<br /># NameSpace:名字空间,将更好的避免在函数及类之间的变量名冲突。<br /># 令人激动的Web 2.0特性<br /># SOAP: 简单对象访问协议 (SOAP:Simple Object Access Protocol)SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。<br /># XML:<br />从PHP 5.1版本开始,XMLReader和XMLWriter就已经包含在PHP内核,它可以让它可以让XML编程更加轻松。</div> <br /><br />当然，除了增加新的特性，一些会给系统带来不稳定因素和安全隐患的特性也将被取消，以下是取消的内容列表：<br /><br /><div class="quote_title">引用</div><div class="quote_div">magic_quotes <br />register_globals <br />register_long_arrays <br />safe_mode <br />magic_quotes </div>
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/193857#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 17 May 2008 11:12:40 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/193857</link>
        <guid>http://purpen.javaeye.com/blog/193857</guid>
      </item>
      <item>
        <title>Perl 有什么特性</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/181493" style="color:red;">http://purpen.javaeye.com/blog/181493</a>&nbsp;
          发表时间: 2008年04月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Perl是Practical Extraction and Report Language的缩写，它是由Larry Wall设计的，并由他不断更新和维护，用于在UNIX环境下编程。<br />      .Perl具有高级语言（如C）的强大能力和灵活性。事实上，你将看到，它的许多特性是从C语言中借用来的。<br />      .与脚本语言一样，Perl不需要编译器和链接器来运行代码，你要做的只是写出程序并告诉Perl来运行而已。这意味着Perl对于小的编程问题的快速解决方案和为大型事件创建原型来测试潜在的解决方案是十分理想的。<br />      .Perl提供脚本语言（如sed和awk）的所有功能，还具有它们所不具备的很多功能。Perl还支持sed到Perl及awd到Perl的翻译器。<br />      简而言之，Perl象C一样强大，象awk、sed等脚本描述语言一样方便。
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/181493#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 10 Apr 2008 22:48:33 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/181493</link>
        <guid>http://purpen.javaeye.com/blog/181493</guid>
      </item>
      <item>
        <title>申请google adsense成功了</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/177248" style="color:red;">http://purpen.javaeye.com/blog/177248</a>&nbsp;
          发表时间: 2008年03月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          历经了三番五次的发送，终于申请adsense成功了，那个高兴啊。<img src="/images/smiles/icon_biggrin.gif"/>
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/177248#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 28 Mar 2008 14:05:59 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/177248</link>
        <guid>http://purpen.javaeye.com/blog/177248</guid>
      </item>
      <item>
        <title>使用JavaScript写的操作系统和输入法程序,太强了!</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/174874" style="color:red;">http://purpen.javaeye.com/blog/174874</a>&nbsp;
          发表时间: 2008年03月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          JavaScript是一门客户端的脚本语言，但是你千万不要认为它功能弱哦，因为你看了下面的例子之后就明白了。<br /><br />    一. 用JavaScript写的操作系统<br />    呵呵,那天同事开玩笑说,要是有个用JS写的操作系统就好了. 我们都笑他异想天开，想不到的是，竟然真的有用JavaScript写的操作系统：JS/UIX。<br /><div class="quote_title">引用</div><div class="quote_div">* 系统介绍它的首页上是这么说的：JS/UIX 是一个基于Web浏览器的类Unix操作系统，没有使用任何插件技术，完全采用Javascript编写。它包含一个虚拟机、一个shell、虚拟文件系统、进程管理、屏幕终端以及键盘映射。它兼容Netscapge、IE 4以上等浏览器。</div><br /><div class="quote_title">引用</div><div class="quote_div">英文介绍：JS/UIX is an UN*X-like OS for standard web-browsers, writtenentirely in JavaScript (no plug-ins used). It comprises a vir-tual machine, shell, virtual file-system, process-management,and brings its own terminal with screen- and keyboard-mapping.<br />The keyboard accepts the US-ASCII character set.As key-mapping depends from your browser, you may have to usethe cursor and backspace buttons at the lower right of theterminal. A complete keyboard can be accessed at the lower left.<br />Compatibility: Netscape 4+, MS IE 4+ and DOM-aware browsers.</div><br />该系统文档也很完善，有一个支持的命令手册：  http://www.masswerk.at/jsuix/man.txt，和一个版本历史记录。我测试过它支持Firxfox和IE，看来功能比较强大呀。<br />* 如何使用打开在上面的网址，在页面顶端打开“> open terminal ”链接，那么将出现如下面的一个登陆提示框：<br /><div class="quote_title">引用</div><div class="quote_div">JS/UIX 0.45  starting up [init] ...                                                                                                                                 terminal (dhtml-gui) ready.                                                      <br />bringing up the file-system ...            ok                                    <br />re-entering file-system as root.                                                 <br />building tree ...                          ok                                   <br /> trying for RC-file ...                  found                                    <br />rc-profile looks good.                                                           <br />initializing rc-profile ...                ok                                    <br />re-entering tree for command-system ...    ok                                    <br />setting up system variables ...            ok                                    <br />system up and stable.                                                            <br />starting login-demon.                                                                                                                                                                                                                              JS/UIX:Log-on - type user-name (e.g. "guest") and hit &lt;return>.                                                                                                  login:                       </div>                                                                                                                                                                                                                     在login中输入guest，回车就可以登陆了。进去以后就能够看到下面的提示：<br />Terminal ready.                                  <br /> JS/UIX 0.45 - The JavaScript virtual OS and terminal application for the web.    Type "info" for site information. <br />Type "help" for available commands.            ------------------------------------------------------------------------------  [guest@www.masswerk.at:2]$                                                                                         那么你就能够在 $ 后面输入命令了，输入"help"能够获得命令帮助，如果不知道如何使用命令，可以输入 man 命令，当然，它的命令比较有限，如果输入了不存在的命令，那么将提示：command not found: "ee"  。<br />最强的是，该操作系统还内置了一个vi编辑器，直接支持vi的基本命令操作，呵呵，慢慢使用一下，就知道了。我想这是一个非常适合学习Unix的小型操作系统哦。最后忘记说了，它还自带一个软键盘，能直接使用鼠标输入命令，呵呵。<br /> <br />    二、使用JavaScript写的中文输入法程序<br />    这是一个国产的Javascript程序，叫做 JustInput，能够在线使用输入法，而不要求你机器上安装任何输入法程序，主要支持中文输入五笔、拼音、双拼、注音等等常用输入法。而且它因为是JavaScript写的，所以只要有浏览器，就能够输入中文，那么就能够支持Windows、Linux、Mac等操作系统上输入中文。它的首页是这么介绍的：<br />* JustInput的优点： 免费。 方便：不必下载或安装，打开浏览器就能用。 安全：不必安装软件就不会感染电脑病毒。JustInput只是一个功能强大的网页而已。 易用：界面简洁，按键习惯和主流输入法保持一致。 通用：在Windows, Linux, Mac等电脑系统上都能用。<br />* JustInput尤其适用于以下场合： 您所用的计算机没有安装且无法安装任何中文输入软件，例如国外学校、图书馆、网吧或酒店里的公用计算机，以及某些单位内部的计算机。 您暂时借用他人的计算机，上面没有您所熟悉的中文输入法。 您所用计算机的中文输入软件出现故障，暂时无法修复。 您心血来潮想试一下别的输入法但又不想把自己的电脑系统搞乱:-)<br />它的口号是：不用下载，不用安装，能看中文网页就能输中文！ 不过目前它还不支持繁体中文，也许以后就支持了。<br />/////////////////////////////////////////////////////<br />原文:http://www.builder.com.cn/2008/0321/779244.shtml
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/174874#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 22 Mar 2008 18:09:56 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/174874</link>
        <guid>http://purpen.javaeye.com/blog/174874</guid>
      </item>
      <item>
        <title>mysql命令行导入数据时出现乱码</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/174466" style="color:red;">http://purpen.javaeye.com/blog/174466</a>&nbsp;
          发表时间: 2008年03月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          有时由于sql数据量比较大，需命令行下导入数据，可会遇到导进的数据出现乱码，执行下面命令可以解决： <br />1. use database;<br /><br />2.set character set utf8;(eg: GBK)<br /><br />3.source example.sql (sql文件路径) <br /><br />这样就OK了!
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/174466#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 21 Mar 2008 13:10:21 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/174466</link>
        <guid>http://purpen.javaeye.com/blog/174466</guid>
      </item>
      <item>
        <title>seo之友情链接十个注意事项</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/172146" style="color:red;">http://purpen.javaeye.com/blog/172146</a>&nbsp;
          发表时间: 2008年03月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          友情链接或者反向链接被定义为链接你站点的一个页面或站点.<br /><br />  1)  通常网站有两种链接方式;一是例如www.11zhuce.com.还有一种是11zhuce.com.<br /><br />请注意他们的区别!一个是有www.还有一个是没有.没有"www"链接的价值远远低于有www前缀的链接.建议:做互惠链接时,请确保他们链接你站点的URL有www前缀.<br /><br /> 2)   通过把一个互惠站点的链接放在他网站很深的内页,一般要点击3---5下或者更多.如果这样的话,那个网站几乎不能给你PR<br /><br />值.其实这也等同于一个Google蜘蛛,机器人搜索不到的页面.<br /><br />建议:尽量与其他网站的首页或者具有高质量的内页做链接,这样对于你的网站来说有更多的价值.<br /><br />  3)  robots.txt 包含了搜索引擎蜘蛛搜索到的信息.例如:<br /><br />robots.txt file:<br />User-agent: *<br />Disallow: /cgi-bin/<br />这个代码告诉蜘蛛不要去索引放在cgi-bin 目录下的任何文件.如果那个站长把你的链接放着这个目录里面,那么这个友情链接就是没有价值的. 站长们要注意哦.范例如下:<br /><br />我们可以在google里打入一个句子site:www.xxx.com/xxx.html<br /><br />如打入site:www.11zhuce.com/seo/seolinks.html 我们就会看到有结果显示. 如果没有显示.那就不要做链接喽.<br /><br /> 4)  一个页面的链接超过100个,那么只有先前的100或者200个被搜索引擎记做有效的链接.如果一个页面有超过<br /><br />500个链接,那么它一点价价值都没有.<br />   注意:请不要以为只有在友情链接文字下面的才算.其实只要是在这个页面里.所有的链接都算.具体我们可以用遨游浏览器的"查看所有链接"功能.<br /><br /> 5)  有很多站点都在做"链接页"像 links.htm, links.asp, links.cgo, 等等.如果搜索引擎看到这个,不仅可能把它记做一个内页链接,更有可能忽略不记.还有些站点用javascript向搜索引擎隐藏链接. (但有也总比没的好^_^)<br /> <br /> 6)   一个高PR的站给了你一个首页链接.看上去好像很不错,但是一个月后它的PR狂降,而你还在链接着它.<br />  建议:经常检查你的友情链接.<br /> <br /><br />7)   利用框架来把你的链接在一个高PR的站上.它们仅仅包括让你链接的一个指向陌生网页的iframe tag.而搜索引擎不会看到你的链接.但是你却信任的链接到他们的站.<br /><br /><br />8)   用table去链接你的页面,但实际链接到另外一个站点.也就是链接文字是你指定的,而URL却给你偷梁换柱.例如:<br />&lt;table>&lt;tr>&lt;td><br />&lt;a href="http://www.google.com"><br />http://www.11zhuce.com<br />&lt;/td>&lt;/tr>&lt;/table><br />&lt;/a><br />它就是把"http://www.11zhuce.com"这个文字的链接换成了google的了.<br /><br />9)  .链接工厂 (link farm) :如果加入了链接工厂,是要受到搜索引擎惩罚的.不要为了一时的排名而去牺牲将来.不值得.<br /><br />10)  有很多站点声称愿意和你交换链接,但你要看看它是否有seo作弊.如果和他做了链接,那么百害而无一利.例如有使用CSS把你的链接做成和背景一样的颜色,以至于访问者看不多这个链接.其实这是SEO作弊手法.希望朋友们不要上当.<br /><br />来源:seo基地<br />作者:东州<br />网址:http://www.11zhuce.com
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/172146#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 15 Mar 2008 14:47:52 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/172146</link>
        <guid>http://purpen.javaeye.com/blog/172146</guid>
      </item>
      <item>
        <title>有关SEO的两个名词解释</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/165312" style="color:red;">http://purpen.javaeye.com/blog/165312</a>&nbsp;
          发表时间: 2008年02月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: red">什么是pv</span><br />　　PV的英文全称是：page view，即页面浏览量，或点击量；通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。<br /><br />　　通常对pv的解释是，一个访问者在24小时(0点到24点)内到底看了你网站几个页面。这里需要强调：同一个人浏览你网站同一个页面，不重复计算pv量，点100次也算1次。说白了，pv就是一个访问者打开了你的几个页面。<br /><br />　　PV之于网站，就像收视率之于电视，从某种程度上已成为投资者衡量商业网站表现的最重要尺度。<br /><br />　　pv的计算：当一个访问者访问的时候，记录他所访问的页面和对应的IP，然后确定这个IP今天访问了这个页面没有。如果你的网站到了23点，单纯IP有60万条的话，每个访问者平均访问了3个页面，那么pv表的记录就要有180万条。<br /><br /><span style="color: darkred">PR的英文全称</span><br /><br />我们在浏览网站的时候经常会看到网站的PR值，上面会显示：Pagerank是Google对网页重要性的评估，也就是说PR值的高低就是对这个网站的好坏的评价。<br /><br />我们来看看PR的英文全称：<br /><br />PR是英文Pagerank 的缩写形式，Pagerank取自Google的创始人LarryPage，它是Google排名运算法则（排名公式）的一部分，Pagerank是Google对网页重要性的评估，是Google用来衡量一个网站的好坏的唯一标准。PR值的级别从1到 10级，10级为满分。PR值越高说明该网页越受欢迎。Google把自己的网站的PR值定到9，这说明Google这个网站是非常受欢迎的，也可以说这个网站非常重要。一个PR值为1的网站表明这个网站不太具有流行度，而PR值为7到10则表明这个网站非常受欢迎。
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/165312#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 27 Feb 2008 00:24:20 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/165312</link>
        <guid>http://purpen.javaeye.com/blog/165312</guid>
      </item>
      <item>
        <title>常用的 OS X 命令行工具(收藏)</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/162720" style="color:red;">http://purpen.javaeye.com/blog/162720</a>&nbsp;
          发表时间: 2008年02月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          原文标题：Ten OS X Command Line Utilities you might not know about<br />原文作者：OS X Daily<br />译者：Klaith<br />Mac OS X 的命令行界面是成千上万程序的基础，可平常用户往往不知道它的存在。依靠 GNU 基金会以及开源社区的多年努力，Apple 设计出一个“无须”使用命令的杰出操作系统。在不必为了每天的日常操作而动用命令行的同时，只要利用得当，命令行仍然能够节省你不少时间，偶尔还会让你开怀一笑。我希望你能好好享受这里提到的十个 OS X 命令行工具！<br /><br />1、ssh<br /><br />这颗小小的“宝石”包含于 Mac OS X 的每个版本，其开发的最初目的只是为了取代 rsh/rlogin，现在却成为 Linux/Unix（包括 Mac OS X）社区不可缺少的一部分。openssh 的主要作用就是安全的远程管理。打开系统预置，点击“共享”，勾选“远程登录”，即可启动 Mac OS X 的内置 SSH 服务。现在假设你想连接你不在身边的电脑，可以借助类似 PuTTY（Windows 平台）的客户端，或者在 Mac OS X 的终端窗口中输入“ssh”连接你 Mac 的 IP 地址。以你的用户名和密码登录之后，你便获得了 Mac OS X 命令行的完整操作权。除此之外，openssh 还有许许多多应用，有些可是相当了不起的。我就很喜欢用 ssh 搭个 SOCKS 代理，这样我在公共地点也能安全上网冲浪。在Mac 上使用 ssh 的更多技巧，可以浏览本页！<br /><br />2、top<br /><br />top 是另一个长期为 Linux/Unix 社区使用的经典工具，使用它只需打开终端输入“top”。眨眼之间，你就会看见一个满是文字的窗口——每一个正在你的 Mac 上运行的进程都会被列出。如果我的 Mac 速度变慢，top 是让我知道什么正在发生的首选。点击这里，查看 top 的完整概述。<br /><br />3、lsbom<br /><br />如果你偶然在某个 Mac 站点（比如 OS X Daily）发现一件够酷够新的软件，忍不住想安装，而你又犹豫不决，那么 lsbom 对你大有好处。通过它，你可以测试 Mac OS X 安装包（.pkg）的内容，并且清楚了解究竟会有什么被塞进你心爱的文件系统。要使用 lsbom，你需要启动终端，并进入 .pkg 文件所在的目录。如果你的安装包形式是 .dmg，可能需要把其中的 .pkg 文件拷贝到桌面上，然后进入 Desktop 目录。一旦确认 .pkg 文件的位置，输入“lsbom .pkg/Contents/Archive.bom> | more”。哇！你所看见的就是新程序将会安装的完整文件列表。<br /><br />4、say<br /><br />这个命令是 Mac OS X 独一无二的，比其他任何一个都更有趣。打开终端输入“say hello”试试吧！<br /><br />5、softwareupdate<br /><br />softwareupdate 命令提供了一种安装 Apple 软件更新方便快捷的方法。打开终端，输入“softwareupdate -i -a”，你的 Mac 就会安装所有可以获得的更新项。如果你只想安装“推荐”更新项，那么就输入“softwareupdate -i -r”。<br /><br />6、ipconfigifconfig<br /><br />要说获取你 Mac IP 地址最快、最简单的方法，绝对是“ipconfigifconfig”，只需打开终端输入“ipconfigifconfig”。你能看到许多信息，包括你网卡的 MAC 地址。我喜欢输入“ipconfigifconfig | grep inet”仅回馈我计算机的 IP 信息。你也可以通过输入“ifconfig en0 down”来禁止一个网络连接（这里举了“en0”的例子）；如果希望恢复，那么就输入“ipconfigifconfig en0 up”。这比使用系统预置要快上不少哦！<br /><br />7、lipo<br /><br />lipo 是一个在 Mac OS X 中处理通用程序（Universal Binaries）的工具。现在发售或者提供下载的许多（几乎所有）程序都打上了“Universal”标志，意味着它们同时具有 PowerPC 和 Intel 芯片能够处理的代码。不过既然你可能不在意其中的一个，你就能够使用 lipo 来给你的程序“瘦身”。比如你想让“便笺”应用程序只包含 Intel（i386）的代码：<br /><br />cd /Applications<br />lipo Stickies.app/Contents/MacOS/Stickies -thin i386 -output Stickies.app/Contents/MacOS/Stickies.i386<br />cd Stickies.app/Contents/MacOS/<br />rm Stickies<br />mv Stickies.i386 Stickies<br /><br />8、screencapture<br /><br />screencapture 提供了较 command-shift-3 更高级的抓屏手段。要使用它，打开终端，试着输入“screencapture -iW ~/Desktop/screen.jpg”，鼠标会变成等待点击的相机图标，点击后就在你的桌面上创建一个名为“screen.jpg”的文件，内容就是你点击的任何窗口的抓屏。当然你也能够通过输入“screencapture -S ~/Desktop/screen.jpg”来抓取整个屏幕。如果你还想与众不同，你还可以输入“screencapture -ic”来抓取屏幕的一部分。现在就抓上一些图片发给 osxdaily 吧，我们会喜欢它们的！<br /><br />9 & 10、Fink 和 DarwinPorts<br /><br />如果你已经习惯于 OS X 命令行工具的基本应用，现在就是让你的终端接触更大开源世界的时候了。借助于 DarwinPorts 或者 Fink，你能够在你的计算机上下载、安装成百上千的免费开源软件。我发现 Darwinports 开始注意到一些较少见的开源计划，而 Fink 似乎更为坚实。你可以同时安装两者，只要你的确知道你在干什么，但是一般我会建议你只选择其中一个。初学者应该试试 Fink，因为它会附带一个名为“Fink Commander”的程序，你只需从中选择一个程序来下载。看看它们各自的官方网站吧：DarwinPorts （已更名为 MacPorts）官方网站；Fink 的官方网站。<br /><br />11. cat/more/less<br />以上三个指令均为察看档案内容的指令。cat 的意义是猫....不不不，是<br />concatenate ，在字典上的意思是"连结,将…串成锁状"( 语出资工电子<br />词典 cdict )，其实就是把档案的内容显示出来的意思。 cat 有许多奇怪<br />的参数，较常为人所使用的是 -n 参数，也就是把显示出来的内容加上行<br />号。 cat 的用法如下:<br /><br />cat [-n] :自标准输入读进内容，你可以用 pipe 将别的程式的输出转向<br />给 cat .<br />cat [-n] filename : 将 filename 的内容读进来，显示在标准输出上。<br /><br />问题在於 cat 它是不会停下来的，因此并不好用( 试想如果一个萤幕二十<br />四行，而一个档案四百行，cat 一出来将会劈哩啪啦不断的卷上去，使用者<br />很难据此得到他们所需的资讯。) 所以才有人又写了 more 出来。<br /><br />more , 跟据蔡文能老师的说法是"再多一点就好"，more 可以将所观察的档案<br />跟据终端机的形态一页页的显示出来，再根据使用者的要求换页或卷行。如果<br />使用者要在某一个档案中搜寻一个特定的字串，则按 / 然後跟著打所要搜寻<br />的单字即可进行搜寻。more 也可以找得到。more 的使用法如下:<br /><br />more filename<br /><br />如果你在使用中觉得已经看到了所要看的部份，可以按'q'离开 more 的使用。<br />在使用中按'v' 亦可以使用编辑器来编辑所观看的档案。<br /><br />less 的用法与 more 极类似，原先它就是为了弥补 more 只能往前方卷页的缺<br />点而设计。 less 的用法如下:<br /><br />less filename<br /><br />其与 more 不同的是它可以按 y 来往上卷一行，并且可以用"?"来往回搜寻你所<br />要找的单字。
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/162720#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 17 Feb 2008 08:32:31 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/162720</link>
        <guid>http://purpen.javaeye.com/blog/162720</guid>
      </item>
      <item>
        <title>一行代码加速ＩＥ的ＪａｖａＳｃｒｉｐｔ的方法</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/151966" style="color:red;">http://purpen.javaeye.com/blog/151966</a>&nbsp;
          发表时间: 2007年12月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          将下列代码加在JavaScript的最前面<br />/*@cc_on _d=document;eval(’var document=_d’)@*/<br /><br />加入这样的一行代码IE的document的访问速度至少可以提高5倍以上<br />下面是加入前和加入后的测试比较代码<br />// Before<br />var date = new Date;<br />for (var i = 0; i &lt; 100000; i++) document;<br />alert(new Date - date); // 643<br /><br />/*@cc_on _d=document;eval(’var document=_d’)@*/<br /><br />// After<br />date = new Date;<br />for (var i = 0; i &lt; 100000; i++) document;<br />alert(new Date - date); // 145<br /><br />速度提高了不少吧！<br /><br />解说：<br />首先，IE里document就这样直接被调用的话被执行的是window 对象的内部函数，而这个比较低效的。根据这一点，下面的处理可以提高速度：<br />var doc = document;<br /><br />document; // 慢<br />doc; // 这个比上面的（document）快<br /><br />虽然像上面那么写可以直接使用，但是之前用到document的地方都要去替换，这个有点麻烦了点吧。所以，看下面的：<br />var doc = document;<br />var document = doc;<br />可以实现的话那就太好了……<br /><br />了解JavaScript的人应该知道，JavaScript的变量是在最开始的时候就生成的，所以这里的document就变成了undefined了。<br />没关系，继续改进~<br />var doc = document;<br />eval(’var document = doc’);<br /><br />eval的作用就是在作用域范围内改变变量，这样的话，后面的document就可以被正常使用了。<br />最后，加上只有在IE内有效的条件，就像下面这样就可以了~<br />/*@cc_on<br />var doc = document;<br />eval(’var document = doc’);<br />@*/<br /><br />举一反三，像下面这样的写法，document以外的全局变量也可以用上面的方法，起到加速的作用。<br />/*@cc_on<br />eval((function(props) {<br />var code = [];<br />for (var i = 0 l = props.length;i&lt;l;i++){<br />var prop = props[i];<br />window[’_'+prop]=window[prop];<br />code.push(prop+’=_’+prop)<br />}<br />return ‘var ‘+code.join(’,');<br />})(’document self top parent alert setInterval clearInterval<br />setTimeout clearTimeout’.split(’ ‘)));<br />@*/<br /><br />转载:http://blog.minidx.com/2007/10/15/13.html
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/151966#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 30 Dec 2007 14:07:44 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/151966</link>
        <guid>http://purpen.javaeye.com/blog/151966</guid>
      </item>
      <item>
        <title>jQuery1.2的选择器汉化</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/147787" style="color:red;">http://purpen.javaeye.com/blog/147787</a>&nbsp;
          发表时间: 2007年12月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>基本选择器</strong><br />#myid 	返回: &lt;jQuery对象><br />匹配一个id为myid的元素。<br />element 	返回: &lt;jQuery对象> 数组<br />匹配所有的element元素<br />.myclass 	返回: &lt;jQuery对象> 数组<br />匹配所有class为myclass的元素<br />* 	返回: &lt;jQuery对象> 数组<br />匹配所有元素。该选择器会选择文档中所有的元素，包括html，head，body<br />selector1,selector2,selectorN 	返回: &lt;jQuery对象> 数组<br />匹配所有满足selector1或selector2或selectorN的元素<br /><strong>层次选择</strong><br />elementParent elementChild 	返回: &lt;jQuery对象> 数组<br />匹配elementParent下的所有子元素elementChild。例如：$("div p") 选择所有div下的p元素<br />elementParent > elementChild 	返回: &lt;jQuery对象> 数组<br />匹配elementParent下的子元素elementChild。例如：$("div>p") 选择所有上级元素为div的p元素<br />prev+next 	返回: &lt;jQuery对象> 数组<br />匹配prev同级之后紧邻的元素next。例如：$("h1+div") 选择所有div同级之前为h1的元素（&lt;h1 />&lt;div />）<br />prev ~ siblings 	返回: &lt;jQuery对象> 数组<br />匹配prev同级之后的元素siblings。例如：$("h1~div") 可以匹配（&lt;h1 />&lt;div />&lt;div />）<br /><strong>基本滤镜</strong><br />:first 	返回: &lt;jQuery对象><br />匹配第一个元素<br />:last 	返回: &lt;jQuery对象><br />匹配最后一个元素<br />:not(selector) 	返回: &lt;jQuery对象> 数组<br />匹配不满足selector的元素<br />:has(selector) 	返回: &lt;jQuery对象> 数组<br />匹配包含满足selector的元素。此选择器为1.2新增<br />:even 	返回: &lt;jQuery对象> 数组<br />从匹配的元素集中取序数为偶数的元素。<br />:odd 	返回: &lt;jQuery对象> 数组<br />从匹配的元素集中取序数为奇数的元素。<br />:eq(index) 	返回: &lt;jQuery对象> 数组<br />从匹配的元素集中取第index个元素<br />:gt(index) 	返回: &lt;jQuery对象> 数组<br />从匹配的元素中取序数大于index的元素<br />:lt(index) 	返回: &lt;jQuery对象> 数组<br />从匹配的元素中取序数小于index的元素<br />:header 	返回: &lt;jQuery对象> 数组<br />匹配所有的标题元素，例如h1，h2，h3……hN。此选择器为1.2新增<br />:animated 	返回: &lt;jQuery对象> 数组<br />匹配正在执行动画的元素。此选择器为1.2新增<br />:empty 	返回: &lt;jQuery对象> 数组<br />匹配所有没有子元素（包括文本内容）的元素<br />:parent 	返回: &lt;jQuery对象> 数组<br />匹配包含子元素（包含文本内容）的所有元素<br />:contains(text) 	返回: &lt;jQuery对象> 数组<br />匹配所有含有text的元素<br />:hidden 	返回: &lt;jQuery对象> 数组<br />匹配所有隐藏的元素，包含属性type值为hidden的元素<br />:visible 	返回: &lt;jQuery对象> 数组<br />匹配所有非隐藏的元素<br /><strong>子元素滤镜</strong><br />E:nth-child(index/even/odd/equation) 	返回: &lt;jQuery对象> 数组<br />匹配所有E在其父元素下满足（index/even/odd/equation）条件的集合。注：下标从1开始<br />E:first-child 	返回: &lt;jQuery对象> 数组<br />匹配所有E在其父元素下是第一个子元素的集合。例如：HTML（&lt;div>&lt;p id="p1">&lt;/p>&lt;/div>&lt;div>&lt;p id="p2">&lt;/p>&lt;p id="p3">&lt;/p>&lt;/div>"），使用$("p:first-child")，选取：&lt;p id="p1">&lt;/p>&lt;p id="p2">&lt;/p><br />E:last-child 	返回: &lt;jQuery对象> 数组<br />匹配所有E在其父元素下是最后一个子元素的集合。例如：同上的HTML，使用$("p:last-child")，选取：&lt;p id="p1">&lt;/p>&lt;p id="p3">&lt;/p><br />E:only-child 	返回: &lt;jQuery对象> 数组<br />匹配所有E是其父元素的唯一子元素的集合。例如：同上的HTML，使用$("p:only-child")，选取：&lt;p id="p1">&lt;/p><br /><strong>表单滤镜</strong><br />:input 	返回: &lt;jQuery对象> 数组<br />匹配所有的input、textarea、select、button<br />:text 	返回: &lt;jQuery对象> 数组<br />匹配文本域。注：在IE浏览器下，选择的对象是所有type属性为text的元素，在非IE浏览器下，选择的对象是input元素type属性为text的元素<br />:password 	返回: &lt;jQuery对象> 数组<br />匹配密码域。注：在IE浏览器下，选择的对象是所有type属性为password的元素，在非IE浏览器下，选择的对象是input元素type属性为password的元素<br />:radio 	返回: &lt;jQuery对象> 数组<br />匹配单选按钮。注：在IE浏览器下，选择的对象是所有type属性为radio的元素，在非IE浏览器下，选择的对象是input元素type属性为radio的元素<br />:checkbox 	返回: &lt;jQuery对象> 数组<br />匹配复选框。注：在IE浏览器下，选择的对象是所有type属性为checkbox的元素，在非IE浏览器下，选择的对象是input元素type属性为checkbox的元素<br />:submit 	返回: &lt;jQuery对象> 数组<br />匹配提交按钮。注：在IE浏览器下，选择的对象是所有type属性为submit的元素，在非IE浏览器下，选择的对象是input元素type属性为submit的元素和button元素type属性为空或为submit的元素<br />:image 	返回: &lt;jQuery对象> 数组<br />匹配图像域。注：在IE浏览器下，选择的对象是所有type属性为image的元素，在非IE浏览器下，选择的对象是input元素type属性为image的元素<br />:reset 	返回: &lt;jQuery对象> 数组<br />匹配重置按钮。注：在IE浏览器下，选择的对象是所有type属性为reset的元素，在非IE浏览器下，选择的对象是input或button元素type属性为reset的元素<br />:button 	返回: &lt;jQuery对象> 数组<br />匹配按钮。注：在IE浏览器下，选择的对象是所有type属性为button的元素和元素名为button的元素，在非IE浏览器下，选择的对象是input元素type属性为button的元素和元素名为button的元素<br />:file 	返回: &lt;jQuery对象> 数组<br />匹配文件域。注：在IE浏览器下，选择的对象是所有type属性为file的元素，在非IE浏览器下，选择的对象是input元素type属性为file的元素<br />:enabled 	返回: &lt;jQuery对象> 数组<br />匹配所有可用的元素。注：即:not(:disabled)，参考:disabled的注释<br />:disabled 	返回: &lt;jQuery对象> 数组<br />匹配所有禁用的元素。注：在非IE浏览器下，选择的对象是禁用的表单元素<br />:checked 	返回: &lt;jQuery对象> 数组<br />匹配所有被选中的表单。注：在IE浏览器下，选择的对象是含有checked属性的所有元素<br />:selected 	返回: &lt;jQuery对象> 数组<br />匹配所有选择的表单。注：在IE浏览器下，选择的对象是含有selected属性的所有元素<br /><strong>属性滤镜</strong><br />[attribute] 	返回: &lt;jQuery对象> 数组<br />匹配拥有attribute属性的元素<br />[attribute=value] 	返回: &lt;jQuery对象> 数组<br />匹配属性attribute为value的元素<br />[attribute!=value] 	返回: &lt;jQuery对象> 数组<br />匹配属性attribute不为value的元素<br />[attribute^=value] 	返回: &lt;jQuery对象> 数组<br />匹配属性attribute的值以value开始的元素<br />[attribute$=value] 	返回: &lt;jQuery对象> 数组<br />匹配属性attribute的值以value结尾的元素<br />[attribute*=value] 	返回: &lt;jQuery对象> 数组<br />匹配属性attribute的值包含value的元素<br />[selector1][selector2][selectorN] 	返回: &lt;jQuery对象> 数组<br />匹配满足属性选择器selector1、selector2、selectorN的元素
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/147787#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 12 Dec 2007 13:41:45 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/147787</link>
        <guid>http://purpen.javaeye.com/blog/147787</guid>
      </item>
      <item>
        <title>期待Ubuntu 8.04 Hardy Heron发布</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/143894" style="color:red;">http://purpen.javaeye.com/blog/143894</a>&nbsp;
          发表时间: 2007年11月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 著名的<u><strong>开源</strong></u>版本Ubuntu 7.10发布已有一月有余,像之前一样,Ubuntu 8.04 Hardy Heron的发布时间表也已经出来了.Ubuntu 8.04 Hardy Heron将有6个Alpha版、1个Beta版和1个RC版,最终才有正式版.
<p>　　不过因为Hardy是LTS版的Ubuntu,在正式版发布后,它还会有一个更新版,就如现在的6.06.1一样.下面是Ubuntu 8.04 Hardy Heron的发布时间表:</p>
<p>2007-11-29: Ubuntu 8.04 Alpha 1 <br />
2007-12-20: Ubuntu 8.04 Alpha 2 <br />
2008-01-10: Ubuntu 8.04 Alpha 3 <br />
2008-01-31: Ubuntu 8.04 Alpha 4 <br />
2008-02-21: Ubuntu 8.04 Alpha 5 <br />
2008-03-06: Ubuntu 8.04 Alpha 6 <br />
2008-03-27: Ubuntu 8.04 Beta <br />
2008-04-17: Ubuntu 8.04 RC <br />
2008-04-24: Ubuntu 8.04 7.10 <br />
2008-06-05: Ubuntu 8.04 7.10.1(暂定) <br />
还有整整五个月呢!</p>
<p>　　不过很快就会过去了,不是吗?</p>
<p>　　因为,五天后就将迎来第一个Alpha 1! 很是期待啊:)<br />
</p>
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/143894#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 27 Nov 2007 09:42:25 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/143894</link>
        <guid>http://purpen.javaeye.com/blog/143894</guid>
      </item>
      <item>
        <title>男性健身计划摘录</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/142639" style="color:red;">http://purpen.javaeye.com/blog/142639</a>&nbsp;
          发表时间: 2007年11月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          根据男性的身体特点，制定健身计划，选择适当的健身方法。男性健身计划主要包括胸部、腰臀部、背部、肩部、腿部等部位的训练，起到增强体质的作用。 		本专题主要介绍肌肉耐力训练方法的内容，基本的锻炼方法见选择正确的锻炼方法。<br />
<br />
男性健美的标准，是由上而下稍有胸肌，双臀结实，腹部没有赘肉，修长并稍有肌肉的小腿。男性健美的体态，可以通过健身运动和合理的饮食来做到。现代生活紧张忙碌，工作压力大，平时进行运动锻炼的时间不多，拟定合理的健身计划，对于保持良好的身体非常重要。
<p> 		 		     		耐力训练时一项塑造强健体魄和肌肉的有氧运动。在相似强度的运动中，耐力训练会使肌肉强健，但不会提高心脏功能。因为肌肉比脂肪组织消耗更多地卡路里，所以肌肉量的增加最终会维持较理想的体重。耐力训练根据人的不同生理特点制定不同的计划。</p>
<p>     如果训练不得当，举重就带有更高的风险而伤及肌肉和关节。想要举重的人需要一些基本的指导，包括如何负重和调节重心，以及反复动作中如何呼吸（在推或提时 初期，在放松时吸气）。对于大多数人来说，一次训练应控制在10-15次。太大的重量会增加危险。应交替训练身体各部位。</p>
<p> 		 		<br />
需要说明的一点是，健身运动作为业余爱好者，应以自身身体条件为依据，适量运动，同时注意技术动作规范，采取足够的安全保证，以免造成身体伤害。对于 		初学者、没有把握或者高难度动作，应由教练指导并陪同进行训练。</p>
<p><br />
</p>
<p> 		 		</p>
<hr size="2" width="100%" />
<br />
<strong>胸部训练计划</strong>:  		宽厚的胸膛是赞美男性身材的惯用语，健美的男性胸部应宽厚结实，而肥胖、胸肌松弛都会影响胸部健美，同时肥胖也会增加疾病的机会。建议经常采用体育锻炼的方式改善胸部形态，对初练者，重点是掌握技术规范动作，为以后锻炼做准备。<br />
<strong>俯卧撑</strong><br />
<div class="content_txt">
<p><span lang="zh-cn">     俯卧撑是最常见和最基本的胸部训练项目。俯卧撑锻炼胸部、肩部、手臂、背部肌肉。<br />
俯卧撑做法：<br />
1. 双手间距稍宽于肩，两臂俯撑，身体伸直，两脚脚尖着地，肩胛骨略向前倾，头稍抬起，眼看地面。<br />
2. 呼气,  		两上臂贴近体侧屈肘，慢慢下降到最低位置。使肩关节收紧，胸大肌充分拉长，头部向前探，当胸腔内有完全扩张的感觉时，稍停。呼气的同时伸臂，直至两臂伸直，胸部挺起。全身应保持挺直的姿势，稍停，再重复练习。<br />
俯卧撑动作要点：手指向前，直逼支撑，肩关节应前倾10-15度。撑起时，身体应稍向前呈弧线上升，使胸部向前挺出，将意念集中在胸部。保持均匀的呼吸节奏，下落时吸气，撑起时呼气。<br />
</span></p>
<p> 		 		<span lang="zh-cn"><strong>下斜俯卧撑</strong><br />
将两脚放在椅上支撑，两手的距离与肩同宽，放置在地上，身体平直，面部自然向下，下颚内收。<br />
以后撑得脚部位支点，使身体下降到胸部几乎触地，停留2-3秒后再缓慢推起。做重复动作。<br />
动作要点：两手撑于地面，两脚尖支撑在凳子上，身体下倾。下落到最低点时尽量保持手、肘、肩在同一平面。保持均匀的呼吸节奏，下落时吸气，上起时呼气。</span></p>
<p> 		 		<span lang="zh-cn"><strong>仰卧哑铃飞鸟</strong><br />
仰卧哑铃飞鸟适于锻炼胸部、肩部、上臂肱三头肌群。<br />
动作要点：两腿分开平躺在平凳上，双手掌心相对握住哑铃。 两臂用力向上举起时，手臂仍保持微屈，并使胸腔挺起，胸大肌收紧。<br />
训练方法：<br />
１. 平躺在训练椅上，脚掌触地，横卧哑铃举至肩部的正上方，膝关节的夹角成90度，收缩腹肌，腰与板面见约留手掌厚的距离，挺胸抬头。<br />
2. 收紧肩胛骨，向上慢慢伸直手臂，再向下落。</span></p>
<p> 		 		<span lang="zh-cn"><strong>杠铃仰卧推举</strong><br />
杠铃仰卧推举适于锻炼胸大肌群、胸部肌肉、上臂肱三头肌群、肩部。<br />
动作要点：双脚分开着地，臀部、肩部、背部放平放稳，双手中握距，不要挺腰。上举到手臂微屈时为最高点，下落到肘关节与肩关节为同一水平面为最低点。动作过程中始终保持肩胛骨内收，这样可令胸部挺起，成为练习时主要的受力部位。<br />
训练方法：<br />
１. 两腿分开，平躺在卧推板上，双手握紧杠铃。卧距大于肩的宽度，将杠铃的横杠放在锁骨上方的位置。<br />
2. 两臂用力向上推杠铃，手臂伸直，并使胸腔挺起，胸大肌收紧，呼气。<br />
3. 慢慢屈肘，下方杠铃，还原，吸气。</span></p>
<p> 		 		<strong><span lang="zh-cn">杠铃上斜推举<br />
</span></strong><span lang="zh-cn">杠铃上斜推举适于锻炼胸上部、三角肌、肱三头肌。<br />
动作要点：推举凳的上斜角为10-40度，杠铃下落时仍靠近锁骨的位置，下落至肘与肩为同一水平面时为最低点，上举到最高点时手臂微屈。</span></p>
<p> 		 		<span lang="zh-cn"><strong>杠铃下斜推举</strong><br />
杠铃下斜推举适于锻炼胸下部、胸外侧、手臂及肩背肌肉。<br />
动作要点：双手拳心相对握杠铃，把横杠放在胸上部。主要以胸部发力，臂部起辅助作用。<br />
训练方法:<br />
1．调整卧推板的角度，仰卧在30-45度的斜板上，头放低处，脚放在高处。双手拳心相对握住杠铃，把横杠放在胸上部和胸锁骨的下沿处，两手间握距略大于肩宽。  		<br />
2. 两臂用力推举杠铃至手臂伸直，稍停2-3秒。再将两臂屈肘至肘与肩水平。重复练习。</span></p>
<p> 		 		<span lang="zh-cn"><strong>胸部拉伸动作</strong><br />
用手及上臂与固定点充分接触，保持肘与肩在同一水平面上，向前牵引身体的幅度不要过大，胸部充分拉紧，以肩部无异常拉力为宜。</span><br />
</p>
<hr size="2" width="100%" />
<strong><br />
臀腿部训练计划</strong>：臀、腿部是比较难训练的部位，联系时多采负重方式，可以提高肌肉瞬间爆发力。完善的部位练习不但可以塑造完美的下肢曲线，还可以提高耐力与柔韧性，缓解疲劳，提高工作效率。<br />
<br />
<div class="content_txt">
<p> 		 		<span lang="zh-cn"><strong>俯卧撑</strong><br />
俯卧撑是最常见和最基本的胸部训练项目。俯卧撑锻炼胸部、肩部、手臂、背部肌肉。<br />
俯卧撑做法：<br />
1. 双手间距稍宽于肩，两臂俯撑，身体伸直，两脚脚尖着地，肩胛骨略向前倾，头稍抬起，眼看地面。<br />
2. 呼气,  		两上臂贴近体侧屈肘，慢慢下降到最低位置。使肩关节收紧，胸大肌充分拉长，头部向前探，当胸腔内有完全扩张的感觉时，稍停。呼气的同时伸臂，直至两臂伸直，胸部挺起。全身应保持挺直的姿势，稍停，再重复练习。<br />
俯卧撑动作要点：手指向前，直逼支撑，肩关节应前倾10-15度。撑起时，身体应稍向前呈弧线上升，使胸部向前挺出，将意念集中在胸部。保持均匀的呼吸节奏，下落时吸气，撑起时呼气。<br />
</span></p>
<p> 		 		<span lang="zh-cn"><strong>下斜俯卧撑</strong><br />
将两脚放在椅上支撑，两手的距离与肩同宽，放置在地上，身体平直，面部自然向下，下颚内收。<br />
以后撑得脚部位支点，使身体下降到胸部几乎触地，停留2-3秒后再缓慢推起。做重复动作。<br />
动作要点：两手撑于地面，两脚尖支撑在凳子上，身体下倾。下落到最低点时尽量保持手、肘、肩在同一平面。保持均匀的呼吸节奏，下落时吸气，上起时呼气。</span></p>
<p> 		 		<span lang="zh-cn"><strong>仰卧哑铃飞鸟</strong><br />
仰卧哑铃飞鸟适于锻炼胸部、肩部、上臂肱三头肌群。<br />
动作要点：两腿分开平躺在平凳上，双手掌心相对握住哑铃。 两臂用力向上举起时，手臂仍保持微屈，并使胸腔挺起，胸大肌收紧。<br />
训练方法：<br />
１. 平躺在训练椅上，脚掌触地，横卧哑铃举至肩部的正上方，膝关节的夹角成90度，收缩腹肌，腰与板面见约留手掌厚的距离，挺胸抬头。<br />
2. 收紧肩胛骨，向上慢慢伸直手臂，再向下落。</span></p>
<p> 		 		<span lang="zh-cn"><strong>杠铃仰卧推举</strong><br />
杠铃仰卧推举适于锻炼胸大肌群、胸部肌肉、上臂肱三头肌群、肩部。<br />
动作要点：双脚分开着地，臀部、肩部、背部放平放稳，双手中握距，不要挺腰。上举到手臂微屈时为最高点，下落到肘关节与肩关节为同一水平面为最低点。动作过程中始终保持肩胛骨内收，这样可令胸部挺起，成为练习时主要的受力部位。<br />
训练方法：<br />
１. 两腿分开，平躺在卧推板上，双手握紧杠铃。卧距大于肩的宽度，将杠铃的横杠放在锁骨上方的位置。<br />
2. 两臂用力向上推杠铃，手臂伸直，并使胸腔挺起，胸大肌收紧，呼气。<br />
3. 慢慢屈肘，下方杠铃，还原，吸气。</span></p>
<p> 		 		<strong><span lang="zh-cn">杠铃上斜推举<br />
</span></strong><span lang="zh-cn">杠铃上斜推举适于锻炼胸上部、三角肌、肱三头肌。<br />
动作要点：推举凳的上斜角为10-40度，杠铃下落时仍靠近锁骨的位置，下落至肘与肩为同一水平面时为最低点，上举到最高点时手臂微屈。</span></p>
<p> 		 		<span lang="zh-cn"><strong>杠铃下斜推举</strong><br />
杠铃下斜推举适于锻炼胸下部、胸外侧、手臂及肩背肌肉。<br />
动作要点：双手拳心相对握杠铃，把横杠放在胸上部。主要以胸部发力，臂部起辅助作用。<br />
训练方法:<br />
1．调整卧推板的角度，仰卧在30-45度的斜板上，头放低处，脚放在高处。双手拳心相对握住杠铃，把横杠放在胸上部和胸锁骨的下沿处，两手间握距略大于肩宽。  		<br />
2. 两臂用力推举杠铃至手臂伸直，稍停2-3秒。再将两臂屈肘至肘与肩水平。重复练习。</span></p>
<p> 		 		<span lang="zh-cn"><strong>胸部拉伸动作</strong><br />
用手及上臂与固定点充分接触，保持肘与肩在同一水平面上，向前牵引身体的幅度不要过大，胸部充分拉紧，以肩部无异常拉力为宜。</span></p>
</div>
<br />
<hr size="2" width="100%" />
</div>
<p> 		 		<strong>背部训练计划</strong>：完美的背部应是上部肌肉和下部肌肉同样发达。否则背部就不匀称。匀称的背部在宽度和厚度上应该平衡，背部曲线非常重要。</p>
<br />
<div class="content_txt">
<p> 		 		<strong>单臂哑铃划船</strong><br />
单臂哑铃划船主要锻炼背阔肌，同时可以锻炼背部肌群。<br />
1. 左腿屈膝跪在平凳下方的边缘，身体前倾于地面平行，用左手支撑驱赶，头部自然下垂。<br />
2.  		右手握紧哑铃慢慢下落，保持躯干地面平行，再慢慢将哑铃向腹部提升，直到肘关节夹角90度左右，收紧背部肌肉，手臂尽量靠近躯干，停留片刻，随即慢慢还原到起始位置。<br />
训练时腰背不够平直会损害脊椎，放在平凳上的手臂要保持肘关节微屈，放在地面上的腿保持膝关节微屈，动作太快会降低训练效果，幅度过大会增加身体扭动，增加受伤的可能性。</p>
<p> 		 		<strong>颈前下拉</strong><br />
颈前下拉主要针对上背肌，辅助训练手臂与肩部。<br />
1. 坐在拉背练习机的固定座位上，头部和背部保持平直，双手分别握住上方横杠两端的把柄，保持肘关节向下，不要向后。<br />
2. 从头上方位置垂直下拉横杠至胸前，沿原路缓慢还原，双臂可伸直，但肘关节应微屈，下拉时呼气，回放时吸气。<br />
要注意练习时两臂均匀用力，防止猛拉或无控制还原。颈前下拉可使背部肌肉充分锻炼，又不会因角度错误而受伤。</p>
<p> 		 		<strong>坐姿划船</strong><br />
坐姿划船主要练习背部肌群，辅助练习手臂和肩部肌肉。<br />
1. 正坐，两腿踩住前方的踏板，微屈膝，两手紧握三角形手柄，双臂前伸，腰腹固定，挺胸抬头。<br />
2. 以背部肌群的收缩力将手柄拉至腹部，以背阔肌的力量控制还原，运动过程中注意控制拉伸的速度，过快或过慢都会影响锻炼效果。<br />
练习时腰背不够平直会损害脊椎，动作不宜过快，拉伸幅度也不要过大，以免受伤。</p>
<p> 		 		<strong>背部拉伸动作</strong><br />
背部拉伸动作可以缓解练习时的肌肉疲劳感，也可作为背部练习前的热身动作。<br />
动作要点：双手固定在稳定性较强的物体上；手臂与躯干的夹角不要过大；感觉背部肌肉拉近时稍停10-15秒。</p>
<hr size="2" width="100%" />
<br />
</div>
<p> </p>
<p> 		 		<strong>肩部训练计划</strong>：影响肩部肌肉的是三角肌、斜方肌。三角肌由前束、中束和后束三部分组成。前束较薄弱，在改善肩部形象时，既要做到薄弱部位有限，又要保证全面发展。形体的发展要匀称、协调和整体一致。</p>
<br />
<p> 		 		<strong>哑铃前平举</strong><br />
哑铃前平举是训练三角肌群前束部、斜方肌群，辅助训练手臂肌肉群。<br />
1. 双手各持相当重量的哑铃；<br />
2. 双脚站距与肩同宽、双膝微屈、收紧腹部肌肉，肩胛骨缩回下压，肘关节微屈；<br />
3. 用力将哑铃慢慢沿身体前方抬平至肩部，保持肘部微屈（可双手，也可两手交替进行），停留片刻，再慢慢放到原处，做连续动作。<br />
<br />
<strong>单臂哑铃侧平举</strong><br />
单臂哑铃侧平举主要训练三角肌中束，同时训练手臂肌肉群。<br />
1.  		双脚开立与肩同宽，双膝微弯、收腹，肩胛骨缩回并向下压，身体躯干稍向前倾，保持稳定，一手扶支撑物，一手持适当重量的哑铃垂直放在体侧。<br />
2.  		用力将哑铃慢慢沿体侧抬起，保持肘关节的角度，抬起到最高点时，哑铃与肩在同一水平面上，哑铃在肩和周的近前方。停留片刻，将哑铃慢慢放回至原始位置，保持身体稳定，双臂交替各作10-20次。</p>
<p> 		 		<strong>哑铃侧平举</strong><br />
哑铃侧平举主要训练三角肌中束，同时训练胸部、手臂斜方肌，可起到增加肩部宽度的作用。<br />
1. 双手持适当重量的哑铃置于体侧或盆骨前方，双脚与肩同宽，双膝略弯，收腹，肩胛骨缩回并下压，身体躯干稍向前倾，保持稳定。<br />
2.  		用力将哑铃慢慢沿身体两侧抬起，保持肘关节的角度，抬起至最高点时，哑铃与肩在同一水平面上，哑铃在肩和肘的近前方，而不在同一直线上。<br />
3. 停留片刻，将哑铃慢慢回放至初始位置，保持身体稳定。</p>
<p> 		 		<strong>坐姿哑铃上推举</strong><br />
坐姿哑铃上推举主要锻炼三角肌群前束部，同时可锻炼胸大肌、肱三头肌等。使肩部丰满结实，富有弹性。<br />
1. 坐姿，手持适当重量的哑铃，置于颈部两侧，上臂与肩平行，上体保持挺胸收腹紧腰的姿势，目视前方。<br />
2. 吸气，将哑铃垂直向上推起至两臂完全伸直，稍停2-3秒。呼气，慢慢放下还原。<br />
动作要领：肘关节微弯，成90度左右。上体保持挺胸、收腹、紧腰，目视前方。不要借助上体摆动或躯干屈伸的力量完成动作。</p>
<p> 		 		<strong>俯身飞鸟</strong><br />
俯身飞鸟主要锻炼肩部三角肌后束，同时锻炼背部与手臂肌群。<br />
1. 双手各持适当重量的哑铃，双脚间距与肩同宽。<br />
2.  		背部保持平直，俯身，屈膝，使上体大致与地面平行，双臂自然下垂，掌心相对，然后尽量向上抬头双臂，使肘与肩在同一平面上，保持肘关节角度。停留片刻，在慢慢还原，做连续动作。<br />
3. 抬起时呼气，还原时吸气，初学者应量力而行。</p>
<p> 		 		<strong>杠铃提举</strong><br />
杠铃提举锻炼三角肌中束、斜方肌、肩胛提肌，同时可锻炼胸部肌群和臂部肌群。<br />
1. 双手正握杠铃中部，两手间距离约15-20cm或与肩同宽。<br />
2.  		两脚与肩同宽，膝关节微弯，保持身体稳定，用力将杠铃向下颚方向提升至略高于肩。停留片刻，再沿身体慢慢下落，连续做8-10次。<br />
动作要点：上提时，要集中三角肌、斜方肌和肩胛提肌的收缩力量，持铃屈肘，尽量贴身体起。上体保持挺胸收腹立腰的姿势，不要前后摆动，两肘尖应向上。过窄的握距，过高的提距，过大的腰部前弯都属于危险动作。建议由一定基础的人进行该项锻炼。</p>
<hr size="2" width="100%" />
<br />
<p> 		 		<strong>手臂训练计划</strong>：手臂是人们最常使用的部位，男性在日常运动时，一定要保持腰、背、胳膊和手臂这些部位的运动机能，多做有针对性地练习，有助于强健手臂肌肉。</p>
<div class="content_txt">
<p> 		 		<strong>屈腿双臂背后撑</strong><br />
屈腿双臂背后撑主要锻炼肱三头肌，同时可锻炼胸大肌和三角肌群。可美化臂、肩、胸部曲线，并可适量缓解关节不适。<br />
1. 双手在背后支住后撑物，双脚与肩同宽，接触地面，双膝弯曲（双手与肩同宽）。<br />
2. 将身体重心慢慢下落，直到肘关节成90度，双手用力将身体支起，手臂伸直，保持弯曲。<br />
家中如没有专用器械，可选择固定的支撑物提高练习的安全性。</p>
<p> 		 		<strong>俯身屈臂伸</strong><br />
俯身屈臂伸可锻炼手臂后侧肱三头肌。<br />
双腿弯曲，手握杠铃。躯干从髋关节其俯身向前，上臂基本与躯干在同一平面上，约与地面平行。前臂做下屈和向上伸动作。</p>
<p> 		 		<strong>杠铃弯举</strong><br />
杠铃弯举主要锻肱二头肌，这是发展肱二头肌的基本动作。<br />
1. 两脚开立与肩同宽，身体直立，挺胸，收腹，紧腰。中握距（即与肩同宽）正握杠铃，垂于体前。两上臂固定在身体两侧。<br />
2. 向上弯举，至肱二头肌完全收紧，稍停，然后缓慢还原，有节奏地反复练习。<br />
练习时身体不要前后晃动，不要借助惯性，即使有意借力，动作幅度也不要过大。在最低点手臂不能完全伸直，以防肘关节受伤。</p>
<p> 		 		<strong>上臂肱三头肌拉伸</strong><br />
上臂肱三头肌拉伸能起到放松手臂后侧肱三头肌肌群的作用。<br />
向上抬起拉伸的手臂，使其与双肩所处的水平面垂直，尽量与前臂与上臂靠近。此时上臂后侧肌肉被充分拉近，另一只手可起辅助固定作用。</p>
<hr size="2" width="100%" />
<p><br />
</p>
</div>
<p> 		 		<strong>腰腹部训练</strong>： 腰腹部肌肉平时运动较少，如果不注意锻炼，腹部的赘肉容易逐渐增多，肌肉变得松弛，经常坐姿工作的人群更为突出。多余的脂肪沉积在腰腹部，不但难看，而且 也容易患各种疾病。所以要加强运动，加速腰间血液循环，适当的运动还能促进与形体有关的各种腺体分泌活动加速，从而使腰部体质更柔软，灵活性与柔韧性增 加。</p>
<br />
<div class="content_txt">
<p> 		 		<strong>平躺卷腹<br />
</strong>    平躺卷腹是单一腹直肌练习，使腹部肌肉得到全面的锻炼，消耗腹部多余脂肪。<br />
1. 仰卧，双膝自然弯曲，下颚微收，慢慢收紧腹直肌。<br />
2. 以腹部力量将肩部抬起，该动作只要求肩胛骨离开和回到地面，下腰部始终不离开地面。卷起时呼气，还原时吸气。<br />
注意腰椎不要离开平面，背中部和上步离开即可，过大地收下颚，过分地颈部屈伸都回损伤颈部。在适当的角度固定头部进行锻炼，肌肉会酸痛，但不会令颈部受伤。</p>
<p> 		 		<strong>对角卷腹</strong><br />
对角卷腹可练习腹腰部肌肉及腹斜肌。<br />
1. 仰卧在平面上，双腿弯曲将膝弯曲成90度，手放在耳部。左手放于腹部，右腿抬高略弯，也可伸直。<br />
2. 保持腰部固定，以一侧肘与另一侧膝相对靠近的姿势进行卷腹练习。<br />
这个动作要保持身体的平衡，注意不要移动盆骨。练习的次数和幅度因人而异。</p>
<p> 		 		<strong>卷腹</strong><br />
卷腹用来锻炼腰腹部肌肉，对腹部塑形特别有效。<br />
1. 将双腿搭在椅子上，调整好角度，上身平躺在地面，腰腹部收紧，双手放在胸前或腹部。<br />
2. 吸气，以腹肌力量向上卷起，到最高点时停留，呼气，缓慢下落，下落时吸气。<br />
不要用双手过分用力抱头，以免损伤颈锥，下身要保持稳定，以腹肌力量抬起身体，双脚不要用力。这种练习的舒适性和稳定性较好。</p>
<p> 		 		<strong>泳式挺身</strong><br />
泳式挺身主要锻炼腰部、背下部、臀部肌肉。属于较高水平的腰部练习。<br />
1. 俯卧，伸展身体，双腿和双臂向四周充分伸展。<br />
2. 拉长脊骨，伸展手脚，提起胸部，手脚同时离地。让腹部和臀部凭证，保持颈部、脊柱成一条直线。始终保持腰部收紧。</p>
<p> 		 		<strong>仰卧举腿</strong><br />
仰卧举腿锻炼腹直肌、膈腰肌、股直肌。<br />
1. 仰卧在平面上，如果在床上，可用两手抓住头上方床沿，或两臂按住身体两侧床面。<br />
2.  		两腿同时（或单腿轮流）直膝向上举起。停留片刻后缓慢回落，举腿时快，回落时稍慢。缓慢练习运动。下落时吸气，提腿时呼气，在收紧腹部肌肉时完成腿部动作。</p>
<p> 		 		<strong>仰卧挺髋起</strong><br />
主要作用于腹横肌。同时对腹直肌、臀部、大腿肌肉、背肌也起到一定锻炼作用。|<br />
1. 仰卧，脚掌平置，屈膝，双脚间距与盆骨同宽。<br />
2. 以腹部的力量提起身体，直至臀部与膝盖、肩膀形成一条直线，呼气，缓慢下落，回到初始位置。<br />
动作要柔和连贯，不要靠爆发力及惯性完成动作。</p>
<p> 		 		<strong>仰卧起坐</strong><br />
仰卧起坐主要锻炼腹肌，对腿部和腰部也有锻炼作用。<br />
1. 仰卧在斜板上，两腿勾住器械下端的海绵柱，两手放于胸前，躯干向上弯起时，靠腹肌力量坐立，直到感到腹肌收缩为止。<br />
2. 控制腹肌，慢慢后倒，整个动作幅度不超过45度。<br />
不要用背部的反弹力量或惯性使躯干弯起，不要以臀部位轴心做旋转动作，不要用腿或脚趾的拉力。坐起时挺胸抬头，肘部靠近但不要超过膝部。不要含胸低头，否则会使脊椎和腰背部损伤。</p>
<p> 		 		<strong>悬垂举腿</strong><br />
悬垂举腿主要锻炼腹部。 <br />
1. 用双手挂住稳定物体，身体悬空，保持稳定不要前后摆动。<br />
2.  		收缩腹肌，将大腿抬到与地面平行或略高，腿部可甚至或弯曲。停留片刻，慢慢放下。大腿不能完全垂直于地面，向下落腿时不要过快，也不要碰到地面。向上举起时，为保护腰部，不要让臀部离开腹肌板。直腿练习强度大，初学者可用屈腿姿势完成动作。<br />
</p>
</div>
<br />
<p><font color="#ff0000">有了方法,当然需要有计划地进行:</font></p>
<strong>制定健身计划</strong>
<div class="content_txt">
<p>根据您的身体条件以及您的目标，您可以制定具体的健身计划。 		以前没有进行过锻炼的人、体重超标的人、有心脏、肺部疾病肌严重内科疾病的人，在制定健身计划前，应咨询医师。</p>
<p> 对于开始健身的人，我们称为初级健身，这个时候一定要控制运动量；在开始健身半年到一年左右的时间，我们称为中级健身，主要是提高耐力、提高肌肉质量；持 续一年以上的锻炼后，称为高级健身，以保持为主，可增加趣味性及一些对抗性的体育运动，但是作为个人健身，还是以适度为原则。</p>
<p> 		开始健身计划的安全方法是选择低强度的体操和体育运动。知道腿和胳膊感到疼痛和沉重。如果数分钟只有就有肌肉酸痛，第一次尝试性锻炼就到此为止。随着适应性增加，应能够较长时间锻炼而不感到肌肉酸痛。渐渐地，可以增加强度和持续的时间。</p>
<p> 		基本的训练以锻炼各部分的肌肉为主。比如胸部、肩部等，我们称为目标部位。连贯完成的动作为1组，每组包含多个动作重复次数。</p>
<p> 		<strong>健身锻炼的强度和持续时间</strong><br />
<br />
健身计划中，应体现健身锻炼的强度、频度，根据不同的健身阶段、年龄及身体素质，训练各部位的次数都有所差别。特别是对初级健身，运动后肌肉会出现酸痛，2-3天可以恢复，所以要控制健身的频率。<br />
<br />
为了使心脏强健，锻炼必须达到一定强度。锻炼时，心率达到静止状态增加20次，认为锻炼强度是足够的。还有一种更复杂的计算，即达到一个人的估计最大心率（220减去那个人的年龄）的70%-85%。<br />
<br />
对于大多数人来说，最终锻炼达到的极限时，一次可以持续30-60分钟。这个持续时间对训练肌肉和心血管调节都有最佳效果。如果将时间延长到超过这个时间，也不能增进肌肉强度和耐力。<br />
<br />
大多数人，如果每周锻炼超过3-4次，则无法从中受益。虽然心脏可以每天接受锻炼，骨骼肌肉却通常在每两天一次的锻炼时受损。一次过度的锻炼，就可见肌肉 纤维中出血和纤维组织撕裂。健身运动者应有48小时以上的时间让肌肉恢复。剧烈运动后，一组肌肉要有更多的时间进行休息。<br />
<br />
人们应根据时间不同对他们的肌肉训练有所区别。身体会适应常规时间，所以按时进行同样的锻炼，对强健体魄和心血管健康的作用不那么有效。进行无氧运动锻炼，每几个星期都要改变一次锻炼的常规安排。进行有氧运动时，应在不同类型的有氧运动之中交替进行。</p>
<p> 		<strong>健身运动类型</strong></p>
<p> 		不同的健身运动之间的主要区别在于是有氧运动还是无氧运动。大部分健身运动这两部分都有。<br />
<br />
有氧运动：运动时要求空气中的氧气达到肌肉，从而强迫心脏和肺的工作变得比平时剧烈。跑步、骑车、游泳、滑雪都是有氧运动。有氧运动趋向于消耗大量卡路里，并比无氧运动更能增加心脏功能。但是对强健体魄和增加肌肉功能作用有限。<br />
<br />
无氧运动：无氧运动要求短时间剧烈应变运动。举重和肌力平衡体操都是无氧运动。无氧运动依赖储存于肌肉内的能源，不依靠来自空气中的氧气。无氧运动比有氧运动消耗的卡洛里少，而且对心脏的益处也不如有氧运动。它的主要作用是强健体魄，增加肌肉量，也可增进心肺功能。</p>
<p> 		<strong>健身运动方法选择</strong></p>
<p> 		选择正确的<a href="http://www.itiyu.com/fitness/function.htm">健身方法</a>也是健身计划的重要部分。健身运动方法分为有氧运动和无氧运动。可通过步行、慢跑、<a href="http://www.itiyu.com/project/swimming/index.htm">游泳</a>、<a href="http://www.itiyu.com/project/ski/index.htm">滑雪</a>、划船及耐力训练来达到健身目的。</p>
</div>
<p>&nbsp;</p>
<p><font color="#ff0000">健身准备:</font></p>
<p> 		 		准备工作，对于健身是非常重要的。如果不能很好地进行准备、制定计划，健身可能达不到预期的目的。</p>
<p>健身准备工作的步骤：<br />
<br />
一）了解自己身体状况<br />
<br />
测定身高、体重、血压、心率这些基本参数，确定自身身体基本状况。身高是人的最基本参数，通过身高与体重、围度的比率，可以反映出人是否肥胖，以及匀称程度。<br />
<br />
除了测量以上参数外，可以做俯卧撑来测试上肢力量和肌肉耐力，一分钟仰卧起坐，来测试腹肌力量和耐力。<br />
<br />
二）确定健身目标<br />
<br />
健身目标，需要根据不同的人的年龄和身体素质来制订。主要的作用有，强化心脏和血管机能，缓解疲劳，控制体重，增强肌肉，防治骨质疏松，提高免疫力。<br />
<br />
根据不同的健身阶段，大致的健身强度应有差别：<br />
<br />
对于开始健身的人，主要是以适应为主，每周以2-3次，每次半小时左右为宜。适宜做轻度的锻炼，有条件的，可以在教练指导下进行。<br />
<br />
在开始健身半年到一年左右的时间，主要是提高耐力、提高肌肉质量，每周运动2-3次，每次不超过30分钟，可以适度进行中等强度的锻炼。<br />
<br />
持续一年以上的锻炼后，可以适度增加健身的项目和时间，以保持为主，可增加趣味性及一些对抗性的体育运动。但是作为个人健身，还是以适度为原则， 		对于大多数人来说，最终锻炼达到的极限时，一次可以持续30-60分钟。这个持续时间对训练肌肉和心血管调节都有最佳效果。如果将时间延长到超过这个时间，也不能增进肌肉强度和耐力。<br />
<br />
对于有心脑血管疾病，以及不适合运动的疾病患者，一定要事先听取医生的建议。</p>
<p>三) 选择健身形式，制订健身计划<br />
<br />
结合自身的身体条件、兴趣爱好以及经济能力选择健身形式。可以选择在户外锻炼，也可以在健身房及家中进行。</p>
<p><br />
</p>
<p><br />
</p>
          <br/>
          <span style="color:red;">
            <a href="http://purpen.javaeye.com/blog/142639#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 22 Nov 2007 13:26:00 +0800</pubDate>
        <link>http://purpen.javaeye.com/blog/142639</link>
        <guid>http://purpen.javaeye.com/blog/142639</guid>
      </item>
      <item>
        <title>程序员的身心健康</title>
        <author>purpen</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://purpen.javaeye.com">purpen</a>&nbsp;
          链接：<a href="http://purpen.javaeye.com/blog/142634" style="color:red;">http://purpen.javaeye.com/blog/142634</a>&nbsp;
          发表时间: 2007年11月22日
          <br/><br