<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>iCodex&#039;s Blog &#187; codex</title>
	<atom:link href="http://icodex.org/category/codex/feed/" rel="self" type="application/rss+xml" />
	<link>http://icodex.org</link>
	<description>诡谲</description>
	<lastBuildDate>Fri, 13 Jan 2012 13:50:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>如何配置Varnish不缓存特定大小的内容</title>
		<link>http://icodex.org/2011/12/%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%aevarnish%e4%b8%8d%e7%bc%93%e5%ad%98%e7%89%b9%e5%ae%9a%e5%a4%a7%e5%b0%8f%e7%9a%84%e5%86%85%e5%ae%b9/</link>
		<comments>http://icodex.org/2011/12/%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%aevarnish%e4%b8%8d%e7%bc%93%e5%ad%98%e7%89%b9%e5%ae%9a%e5%a4%a7%e5%b0%8f%e7%9a%84%e5%86%85%e5%ae%b9/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 10:32:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[codex]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[Squid]]></category>
		<category><![CDATA[Varnish]]></category>

		<guid isPermaLink="false">http://icodex.org/?p=1029</guid>
		<description><![CDATA[最近配置Varnish，经常发现把内存资源和磁盘IO资源占满的情况，后面找原因，发现Varnish把一些大文件缓存了，例如一些压缩档。记得以前用Squid时是有相应设置项的，可以不缓存文件大小超过1M的。后面经过Google搜索了一番，发现有篇文章的方法不错，用变通的方法（vcl_fetch 不支持 pass 语法，但支持 restart）解决了我的困扰，遂写日志以记之。 sub vcl_recv { /** ... vcl_recv example from above ... */ /* Bypass cache for large files. The x-pipe header is set in vcl_fetch when a too large file is detected. */ if (req.http.x-pipe &#038;&#038; req.restarts > 0) { remove req.http.x-pipe; return (pipe); } /** ... vcl_recv example from above [...]]]></description>
			<content:encoded><![CDATA[<p>最近配置Varnish，经常发现把内存资源和磁盘IO资源占满的情况，后面找原因，发现Varnish把一些大文件缓存了，例如一些压缩档。记得以前用Squid时是有相应设置项的，可以不缓存文件大小超过1M的。后面经过Google搜索了一番，发现有篇文章的方法不错，用变通的方法（vcl_fetch 不支持 pass 语法，但支持 restart）解决了我的困扰，遂写日志以记之。</p>
<pre><code>sub vcl_recv {
  /** ... vcl_recv example from above ... */
  /* Bypass cache for large files.  The x-pipe header is
     set in vcl_fetch when a too large file is detected. */
  if (req.http.x-pipe &#038;& req.restarts > 0) {
    remove req.http.x-pipe;
    return (pipe);
  }
  /** ... vcl_recv example from above ... */
}</code></pre>
<pre><code>sub vcl_fetch {
  /* Don't try to cache too large files.  It appears
     <a href="http://icodex.org/tag/varnish/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Varnish">Varnish</a> just crashes if we don't filter them. */
  if (beresp.http.Content-Length ~ "[0-9]{7,}") {
    set req.http.x-pipe = "1";
    return (restart);
  }
}</code></pre>
<pre><code>sub vcl_pipe {
  set bereq.http.connection = "close";
}</code></pre>
<p>地址：<a href="http://devblog.seomoz.org/2011/05/how-to-cache-http-range-requests/">http://devblog.seomoz.org/2011/05/how-to-cache-http-range-requests/</a><br />
<a href="https://www.varnish-cache.org/lists/pipermail/varnish-misc/2010-November/004968.html">https://www.varnish-cache.org/lists/pipermail/varnish-misc/2010-November/004968.html</a></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://icodex.org/2011/12/%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%aevarnish%e4%b8%8d%e7%bc%93%e5%ad%98%e7%89%b9%e5%ae%9a%e5%a4%a7%e5%b0%8f%e7%9a%84%e5%86%85%e5%ae%b9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>适用于 CentOS 5系列的 Virt-manager 0.8.6 RPM下载</title>
		<link>http://icodex.org/2011/06/%e9%80%82%e7%94%a8%e4%ba%8e-centos-5%e7%b3%bb%e5%88%97%e7%9a%84-virt-manager-0-8-6-rpm%e4%b8%8b%e8%bd%bd/</link>
		<comments>http://icodex.org/2011/06/%e9%80%82%e7%94%a8%e4%ba%8e-centos-5%e7%b3%bb%e5%88%97%e7%9a%84-virt-manager-0-8-6-rpm%e4%b8%8b%e8%bd%bd/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 19:11:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[codex]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Xen]]></category>
		<category><![CDATA[虚拟化]]></category>

		<guid isPermaLink="false">http://icodex.org/?p=999</guid>
		<description><![CDATA[Xen是个不错的虚拟化软件，有些时候服务器由于必须使用到微软那套.net框架的程序，就需要开设Windows主机，对比了多种开源虚拟化软件之后，我选择Xen，拥有较好的性能和灵活的配置、以及完全虚拟化方案的实现。 Xen老版本对Windows的支持不是很好，需要对Xen进行升级，版本从3.0.3 升级到 3.4.3，相应的virt-manager版本也会被升级到0.7.0。不过这个virt-manager版本似乎有一些问题，例如：local install media（ISO。。。）这个选项是灰色的，只有一个网络安装选项network install tree可以选择。需要升级版本。 源码安装官方有文档，这里不阐述了，由于xen和xen内核都是用rpm安装的，所以这里也用rpm打包一个出来，方便使用些。 首先到红帽FTP站找最新的源码包.src.rpm  地址：http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/ ，由于virt-manager最新版本0.8.6 需要相应python-virtinst版本大于0.500.3，所以这里也要进行打包。 # wget http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/virt-manager-0.8.6-4.el6.src.rpm # wget http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/python-virtinst-0.500.5-3.el6.src.rpm # rpm -ivh virt-manager-0.8.6-4.el6.src.rpm # rpm -ivh python-virtinst-0.500.5-3.el6.src.rpm build 源码包得到二进制安装包 # cd /usr/src/redhat/SPECS/ # rpmbuild -bb python-virtinst.spec # rpmbuild -bb virt-manager.spec OK，打包完毕，然后安装新的rpm包... # cd/usr/src/redhat/RPMS/noarch # rpm -ivh python-virtinst-0.500.5-3.noarch.rpm --force Preparing... ########################################### [100%] 1:python-virtinst ########################################### [100%] # rpm -ivh [...]]]></description>
			<content:encoded><![CDATA[<p>Xen是个不错的虚拟化软件，有些时候服务器由于必须使用到微软那套.net框架的程序，就需要开设Windows主机，对比了多种开源虚拟化软件之后，我选择Xen，拥有较好的性能和灵活的配置、以及完全虚拟化方案的实现。</p>
<p>Xen老版本对Windows的支持不是很好，需要对Xen进行升级，版本从3.0.3 升级到 3.4.3，相应的virt-manager版本也会被升级到0.7.0。不过这个virt-manager版本似乎有一些问题，例如：local install media（ISO。。。）这个选项是灰色的，只有一个网络安装选项network install tree可以选择。需要升级版本。</p>
<p>源码安装官方有文档，这里不阐述了，由于xen和xen内核都是用rpm安装的，所以这里也用rpm打包一个出来，方便使用些。<span id="more-999"></span></p>
<p>首先到红帽FTP站找最新的源码包.src.rpm  地址：<a href="http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/">http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/ </a>，由于virt-manager最新版本0.8.6 需要相应python-virtinst版本大于0.500.3，所以这里也要进行打包。</p>
<blockquote><p><code># wget http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/virt-manager-0.8.6-4.el6.src.rpm</code><br />
<code># wget http://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/python-virtinst-0.500.5-3.el6.src.rpm</code><br />
<code># rpm -ivh virt-manager-0.8.6-4.el6.src.rpm</code><br />
<code># rpm -ivh python-virtinst-0.500.5-3.el6.src.rpm</code></p></blockquote>
<p>build 源码包得到二进制安装包</p>
<blockquote><p><code># cd /usr/src/redhat/SPECS/</code><br />
<code># rpmbuild -bb python-virtinst.spec</code><br />
<code># rpmbuild -bb virt-manager.spec</code></p></blockquote>
<p>OK，打包完毕，然后安装新的rpm包...</p>
<blockquote><p><code># cd/usr/src/redhat/RPMS/noarch</code><br />
<code># rpm -ivh python-virtinst-0.500.5-3.noarch.rpm --force<br />
Preparing...                ########################################### [100%]<br />
1:python-virtinst        ########################################### [100%]</code><br />
<code># rpm -ivh virt-manager-0.8.6-4.noarch.rpm --force<br />
Preparing...                ########################################### [100%]<br />
1:virt-manager           ########################################### [100%]</code></p></blockquote>
<p>这么打包出来安装的会遇到问题，例如下面的出错信息：</p>
<blockquote><p><code>Error starting Virtual Machine Manager: 'gtk.CheckMenuItem' object has no attribute 'get_label'</code><br />
<code>Traceback (most recent call last):</code><br />
<code> File "src/virt-manager.py", line 456, in ?</code><br />
<code> main()</code><br />
<code> File "src/virt-manager.py", line 443, in main</code><br />
<code> options.no_conn_auto)</code><br />
<code> File "src/virt-manager.py", line 257, in show_engine</code><br />
<code> engine.show_manager()</code><br />
<code> File "/root/Desktop/src/virt-manager/src/virtManager/engine.py", line 749, in show_manager</code><br />
<code> self._do_show_manager(None)</code><br />
<code> File "/root/Desktop/src/virt-manager/src/virtManager/engine.py", line 688, in _do_show_manager</code><br />
<code> self.get_manager().show()</code><br />
<code> File "/root/Desktop/src/virt-manager/src/virtManager/engine.py", line 654, in get_manager</code><br />
<code> obj = vmmManager(self)</code><br />
<code> File "/root/Desktop/src/virt-manager/src/virtManager/manager.py", line 190, in __init__</code><br />
<code> self.enable_polling(None, None, init_val, typ)</code><br />
<code> File "/root/Desktop/src/virt-manager/src/virtManager/manager.py", line 1065, in enable_polling</code><br />
<code> current_text = widget.get_label().strip(disabled_text)</code><br />
<code>AttributeError: 'gtk.CheckMenuItem' object has no attribute 'get_label'</code></p></blockquote>
<p>不过这个问题已经被修复了。<a href="http://comments.gmane.org/gmane.comp.emulators.virt-tools/1006">http://comments.gmane.org/gmane.comp.emulators.virt-tools/1006</a></p>
<p>按照Cole的方法(链接：<a href="http://hg.fedorahosted.org/hg/virt-manager/rev/7b6f5d8bed5d">http://hg.fedorahosted.org/hg/virt-manager/rev/7b6f5d8bed5d</a>)，我们进行修改。</p>
<blockquote><p><code># cd /usr/src/redhat/SOURCES/</code><br />
<code># tar -zxf virt-manager-0.8.6.tar.gz</code><br />
<code># cd virt-manager-0.8.6/src/virtManager/</code></p></blockquote>
<p>需要修改两个文件，manager.py 和 details.py，修改完毕之后，重新打包。</p>
<blockquote><p><code># cd /usr/src/redhat/SOURCES/</code><br />
<code># rm -f virt-manager-0.8.6.tar.gz ;tar -zcf virt-manager-0.8.6.tar.gz virt-manager-0.8.6</code><br />
<code># cd ../SPECS/</code><br />
<code># rpmbuild -bb python-virtinst.spec</code><br />
<code># rpmbuild -bb virt-manager.spec</code></p></blockquote>
<p>打包结束后再重新安装一遍安装包就可以了。正常运行后如下图：</p>
<p><a href="http://www.icodex.org/wp-content/uploads/2011/06/Screenshot.png?e97550"><img class="alignnone size-medium wp-image-1007" title="Screenshot" src="http://www.icodex.org/wp-content/uploads/2011/06/Screenshot-600x450.png?e97550" alt="" width="600" height="450" /></a></p>
<p>最后，放出我打包好的适合CentOS 5系列的Virt-manager 0.8.6 rpm安装包下载地址。</p>
<p><a title="python-virtinst-0.500.5-3.noarch.rpm" href="http://icodex.org/dl/rpms/python-virtinst-0.500.5-3.noarch.rpm">http://icodex.org/dl/rpms/python-virtinst-0.500.5-3.noarch.rpm</a><br />
<a title="virt-manager-0.8.6-4.noarch.rpm" href="http://icodex.org/dl/rpms/virt-manager-0.8.6-4.noarch.rpm"> http://icodex.org/dl/rpms/virt-manager-0.8.6-4.noarch.rpm</a></p>
<p>最后，谢谢浏览本文。</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://icodex.org/2010/05/directadmin-nginx-automated-installer/" title="[更新]适用于Directadmin面板的Nginx自动安装脚本">[更新]适用于Directadmin面板的Nginx自动安装脚本</a> (55)</li><li><a href="http://icodex.org/2010/03/centos-%e9%80%82%e7%94%a8%e7%9a%84%e7%ac%ac%e4%b8%89%e6%96%b9yum%e6%9b%b4%e6%96%b0%e6%ba%90/" title="CentOS 适用的第三方yum更新源">CentOS 适用的第三方yum更新源</a> (4)</li><li><a href="http://icodex.org/2010/03/centos%e6%9c%80%e5%b0%8f%e5%8c%96%e5%ae%89%e8%a3%85gnome%e5%92%8cvnc/" title="CentOS最小化安装Gnome和VNC">CentOS最小化安装Gnome和VNC</a> (8)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://icodex.org/2011/06/%e9%80%82%e7%94%a8%e4%ba%8e-centos-5%e7%b3%bb%e5%88%97%e7%9a%84-virt-manager-0-8-6-rpm%e4%b8%8b%e8%bd%bd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>LNAMP 1.0 自用一键安装包</title>
		<link>http://icodex.org/2011/01/lnamp-1-0-%e8%87%aa%e7%94%a8%e4%b8%80%e9%94%ae%e5%ae%89%e8%a3%85%e5%8c%85/</link>
		<comments>http://icodex.org/2011/01/lnamp-1-0-%e8%87%aa%e7%94%a8%e4%b8%80%e9%94%ae%e5%ae%89%e8%a3%85%e5%8c%85/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 06:57:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[codex]]></category>
		<category><![CDATA[LNAMP]]></category>

		<guid isPermaLink="false">http://icodex.org/?p=909</guid>
		<description><![CDATA[承接去年发布的一篇文章:搭建前后端web生产环境.文中提到的过程过于繁琐,真正使用起来很不方便.并且后面对配置文件改动的地方也比较多,因此文章也就没有去更新了.不过我个人一直有使用LNAMP,不断优化不断改进.现在发布出来.希望能帮到大家. 名词解释:LNAMP 是指由 Linux(CentOS),Nginx,Apache,Mysql,Php 为主,其他诸如Pure-ftpd,Jailkit为辅的一套生产环境安装包.所有操作均集成在一个Linux Shell脚本文件中,管理员可方便的进行安装,卸载,增设用户虚拟主机(子域),删除用户虚拟主机(子域)等操作.最大限度方便系统管理员,同时不会影响后续其他软件的安装兼容(有限). 实现功能: 1.全自动源码安装&#124;卸载(有限) apache,mysql,php,nginx,pureftpd,jailkit,phpmyadmin 2.开机后自动更新本机IP到IP使用列表,供添加域名及更新默认虚拟主机 3.快速增删用户及增删虚拟主机,数据库等 4.默认开通用户SSH,SSH已chroot,方便FQ... 5.默认开通FTP服务,增设用户后FTP用户名与Shell用户名一致 如何获取安装? 下载版: http://icodex.org/dl/lnamp-1.0.tar.gz 完整版: http://icodex.org/dl/lnamp_src-1.0.tar.gz 解压缩后执行#./install.sh 将直接进入安装 --------------------- 分割线 --------------------- 更新日志 ... 详情请移步这里 Related PostsNo Related Post]]></description>
			<content:encoded><![CDATA[<p>承接去年发布的一篇文章:<a href="http://icodex.org/2010/03/nginx-apache-guide/">搭建前后端web生产环境</a>.文中提到的过程过于繁琐,真正使用起来很不方便.并且后面对配置文件改动的地方也比较多,因此文章也就没有去更新了.不过我个人一直有使用LNAMP,不断优化不断改进.现在发布出来.希望能帮到大家.</p>
<p><strong>名词解释</strong>:<a href="http://icodex.org/tag/lnamp/" class="st_tag internal_tag" rel="tag" title="Posts tagged with LNAMP">LNAMP</a> 是指由 Linux(<a href="http://icodex.org/tag/centos/" class="st_tag internal_tag" rel="tag" title="Posts tagged with CentOS">CentOS</a>),Nginx,<a href="http://icodex.org/tag/apache/" class="st_tag internal_tag" rel="tag" title="Posts tagged with apache">Apache</a>,<a href="http://icodex.org/tag/mysql/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Mysql">Mysql</a>,Php 为主,其他诸如Pure-ftpd,Jailkit为辅的一套生产环境安装包.所有操作均集成在一个Linux Shell脚本文件中,管理员可方便的进行安装,卸载,增设用户虚拟主机(子域),删除用户虚拟主机(子域)等操作.最大限度方便系统管理员,同时不会影响后续其他软件的安装兼容(有限).</p>
<p><strong>实现功能</strong>:</p>
<p>1.全自动源码安装|卸载(有限) apache,mysql,php,nginx,pureftpd,jailkit,phpmyadmin<br />
2.开机后自动更新本机IP到IP使用列表,<strong>供添加域名</strong>及<strong>更新默认虚拟主机</strong><br />
3.快速增删用户及增删虚拟主机,数据库等<br />
4.默认开通用户SSH,SSH已chroot,方便FQ...<br />
5.默认开通FTP服务,增设用户后FTP用户名与Shell用户名一致</p>
<p><strong>如何获取安装</strong>?</p>
<p>下载版: <a href="http://icodex.org/dl/lnamp-1.0.tar.gz?e97550">http://icodex.org/dl/lnamp-1.0.tar.gz </a><br />
完整版: <a href="http://icodex.org/dl/lnamp_src-1.0.tar.gz?e97550">http://icodex.org/dl/lnamp_src-1.0.tar.gz</a><br />
解压缩后执行#./install.sh 将直接进入安装</p>
<p>--------------------- 分割线 ---------------------</p>
<p><strong>更新日志</strong></p>
<p>... 详情请<a href="http://lnamp.net/">移步这里</a></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://icodex.org/2011/01/lnamp-1-0-%e8%87%aa%e7%94%a8%e4%b8%80%e9%94%ae%e5%ae%89%e8%a3%85%e5%8c%85/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>给httpd安装mod_pagespeed模块</title>
		<link>http://icodex.org/2010/11/%e7%bb%99httpd%e5%ae%89%e8%a3%85mod_pagespeed%e6%a8%a1%e5%9d%97/</link>
		<comments>http://icodex.org/2010/11/%e7%bb%99httpd%e5%ae%89%e8%a3%85mod_pagespeed%e6%a8%a1%e5%9d%97/#comments</comments>
		<pubDate>Sat, 20 Nov 2010 02:01:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[codex]]></category>
		<category><![CDATA[mod_pagespeed]]></category>

		<guid isPermaLink="false">http://icodex.org/?p=859</guid>
		<description><![CDATA[最近工作比较忙,博客一直也没有时间更新.前段时间转载了一篇cnbeta上关于mod_pagespeed模块的信息,对这个模块比较感兴趣,但一直没有做测试.后来在歪酷博客上看到了这篇文章,于是将其转载过来了. mod_pagespeed 就是 Google 最新释出的一个工作在 Apache 2.2 上的开源模块，通过自动精简代码等手段为您的网站提速。更多信息请访问它的 DOC。 根据其文档，在 CentOS 上安装 mod_pagespeed 应该是很简单的事情，但 Yculer 在使用官方 rpm 安装时发现依赖错误，mod_pagespeed 要求 apache 2.2,然而尽管服务器的 apache 版本符合要求，仍然报错。 参考这篇文章安装(原作者似乎出现了一个很难察觉的笔误，本文是经 Yculer 测试后的修正版本）： # cd /usr/local/src # wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.rpm # mkdir mod-pagespeed # cd mod-pagespeed # rpm2cpio ../mod-pagespeed-beta_current_i386.rpm &#124; cpio -idmv # cp ./etc/httpd/conf.d/pagespeed.conf \ /usr/local/apache/conf/ # cp ./usr/lib/httpd/modules/mod_pagespeed.so \ /usr/local/apache/modules/ # [...]]]></description>
			<content:encoded><![CDATA[<p>最近工作比较忙,博客一直也没有时间更新.前段时间转载了一篇cnbeta上关于mod_pagespeed模块的信息,对这个模块比较感兴趣,但一直没有做测试.后来在<a href="http://blog.yculer.com/2010/11/%E5%9C%A8cpanel%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E5%AE%89%E8%A3%85mod_pagespeed.html">歪酷博客</a>上看到了<a href="http://blog.yculer.com/2010/11/%E5%9C%A8cpanel%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E5%AE%89%E8%A3%85mod_pagespeed.html">这篇文章</a>,于是将其转载过来了.</p>
<p><a href="http://icodex.org/tag/mod_pagespeed/" class="st_tag internal_tag" rel="tag" title="Posts tagged with mod_pagespeed">mod_pagespeed</a> 就是 Google 最新释出的一个工作在 <a href="http://icodex.org/tag/apache/" class="st_tag internal_tag" rel="tag" title="Posts tagged with apache">Apache</a> 2.2 上的开源模块，通过自动精简代码等手段为您的网站提速。更多信息请访问它的<a rel="external nofollow" href="http://code.google.com/speed/page-speed/docs/module.html" target="_blank"> DOC</a>。</p>
<p>根据其文档，在 <a href="http://icodex.org/tag/centos/" class="st_tag internal_tag" rel="tag" title="Posts tagged with CentOS">CentOS</a> 上安装 mod_pagespeed 应该是很简单的事情，但 Yculer 在使用官方 rpm 安装时发现依赖错误，mod_pagespeed 要求 apache 2.2,然而尽管服务器的 apache 版本符合要求，仍然报错。</p>
<p>参考<a rel="external nofollow" href="http://www.technomenace.com/2010/11/install-mod_pagespeed_in_apache_for_cpanel/" target="_blank">这篇文章</a>安装(原作者似乎出现了一个很难察觉的笔误，本文是经 Yculer 测试后的修正版本）：<br />
<code># cd /usr/local/src<br />
# wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.rpm<br />
# mkdir mod-pagespeed<br />
# cd mod-pagespeed<br />
# rpm2cpio ../mod-pagespeed-beta_current_i386.rpm | cpio -idmv<br />
# cp ./etc/httpd/conf.d/pagespeed.conf \<br />
/usr/local/apache/conf/<br />
# cp ./usr/lib/httpd/modules/mod_pagespeed.so \<br />
/usr/local/apache/modules/<br />
# chmod 755 /usr/local/apache/modules/mod_pagespeed.so<br />
# mkdir /var/mod_pagespeed/{cache,files} -p<br />
# chown nobody:nobody /var/mod_pagespeed/*</code></p>
<p>mod_pagespeed 需要 Apache 加载 mod_deflate(一个将 web 内容 gzip 压缩后传输的模块）。你可以通过 cPanel 的 EasyApache 安装 deflate。</p>
<p>之后用你习惯的编辑器打开 /usr/local/apache/conf/pagespeed.conf,将第一行修改为：<br />
<code>LoadModule pagespeed_module /usr/local/apache/modules/mod_pagespeed.so</code></p>
<p>编辑 /usr/local/apache/conf/httpd.conf 在开头的 Include 部分加入：<br />
<code>Include "/usr/local/apache/conf/pagespeed.conf"</code></p>
<p>之后重启 Apache:<br />
<code>service httpd restart</code></p>
<p>请注意，<strong>mod_pagespeed 目前仍然处于 Beta 阶段</strong>,据信它会大量执行写操作于 /var/mod_pagespeed/ 以及 Apache 的日志文件，可消耗大量的资源。<strong>Yculer 目前不推荐 mod_pagespeed。</strong></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://icodex.org/2010/11/google%e6%8e%a8%e5%87%baapache%e5%8a%a0%e9%80%9f%e6%a8%a1%e5%9d%97mod_pagespeed/" title="Google推出apache加速模块mod_pagespeed">Google推出apache加速模块mod_pagespeed</a> (1)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://icodex.org/2010/11/%e7%bb%99httpd%e5%ae%89%e8%a3%85mod_pagespeed%e6%a8%a1%e5%9d%97/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google推出apache加速模块mod_pagespeed</title>
		<link>http://icodex.org/2010/11/google%e6%8e%a8%e5%87%baapache%e5%8a%a0%e9%80%9f%e6%a8%a1%e5%9d%97mod_pagespeed/</link>
		<comments>http://icodex.org/2010/11/google%e6%8e%a8%e5%87%baapache%e5%8a%a0%e9%80%9f%e6%a8%a1%e5%9d%97mod_pagespeed/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 03:29:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[codex]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mod_pagespeed]]></category>

		<guid isPermaLink="false">http://icodex.org/?p=851</guid>
		<description><![CDATA[大多人浏览网页如果超过3秒打不开就会离开,Google为此推出了一款apache加速模块，可以有效将网页加载速度提高50%. 网页提速的问题是一个复杂多样的问题，有很多解决方法,往往关系到网站系统程序，服务器硬件，网络传输速度等方面，而Google这款加速模块简单的解决了许多复情况的问题： •如果你的网站采用apache构建服务器，不需要对网站CMS系统进行处理即可应用 •加速模块可以自行对网络传输的html字节优化及对图象,css进入压缩优化传输 •智能缓存是一大亮点，它可以自动智能缓存,加速下载 下面介绍一下所有特点功能 优化缓存 •缓存扩展 •压缩处理CSS •优化javascript最大限度的减少重复请求 •自动缓存CSS •JavaScript内嵌技术 有效载荷尺寸最小化 •压缩空白 •合并头信息 •附加属性 •内建核心Javascript •优化图像下载 •跳地非法字符 •重写优化CSS 来源:翻译自readwriteweb.com 访问:mod_pagespeed Related Posts给httpd安装mod_pagespeed模块 (1)[更新]适用于Directadmin面板的Nginx自动安装脚本 (55)给DirectAdmin面板增加nginx前端 (3)[更新]搭建前后端web生产环境 (21)[更新]nginx 自动安装脚本 For cPanel (62)]]></description>
			<content:encoded><![CDATA[<p>大多人浏览网页如果超过3秒打不开就会离开,Google为此推出了一款apache加速模块，可以有效将网页加载速度提高50%.<br />
网页提速的问题是一个复杂多样的问题，有很多解决方法,往往关系到网站系统程序，服务器硬件，网络传输速度等方面，而Google这款加速模块简单的解决了许多复情况的问题：</p>
<p>•如果你的网站采用apache构建服务器，不需要对网站CMS系统进行处理即可应用<br />
•加速模块可以自行对网络传输的html字节优化及对图象,css进入压缩优化传输<br />
•智能缓存是一大亮点，它可以自动智能缓存,加速下载<br />
下面介绍一下所有特点功能</p>
<p>优化缓存<br />
•缓存扩展<br />
•压缩处理CSS<br />
•优化javascript最大限度的减少重复请求<br />
•自动缓存CSS<br />
•JavaScript内嵌技术<br />
有效载荷尺寸最小化<br />
•压缩空白<br />
•合并头信息<br />
•附加属性<br />
•内建核心Javascript<br />
•优化图像下载<br />
•跳地非法字符<br />
•重写优化CSS</p>
<p>来源:翻译自readwriteweb.com</p>
<p><strong>访问:</strong><a href="http://code.google.com/speed/page-speed/docs/module.html" target="_blank">mod_pagespeed</a></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://icodex.org/2010/11/%e7%bb%99httpd%e5%ae%89%e8%a3%85mod_pagespeed%e6%a8%a1%e5%9d%97/" title="给httpd安装mod_pagespeed模块">给httpd安装mod_pagespeed模块</a> (1)</li><li><a href="http://icodex.org/2010/05/directadmin-nginx-automated-installer/" title="[更新]适用于Directadmin面板的Nginx自动安装脚本">[更新]适用于Directadmin面板的Nginx自动安装脚本</a> (55)</li><li><a href="http://icodex.org/2010/05/%e7%bb%99directadmin%e9%9d%a2%e6%9d%bf%e5%a2%9e%e5%8a%a0nginx%e5%89%8d%e7%ab%af/" title="给DirectAdmin面板增加nginx前端">给DirectAdmin面板增加nginx前端</a> (3)</li><li><a href="http://icodex.org/2010/03/nginx-apache-guide/" title="[更新]搭建前后端web生产环境">[更新]搭建前后端web生产环境</a> (21)</li><li><a href="http://icodex.org/2010/02/nginx%e8%87%aa%e5%8a%a8%e5%ae%89%e8%a3%85%e8%84%9a%e6%9c%ac-for-cpanel/" title="[更新]nginx 自动安装脚本 For cPanel">[更新]nginx 自动安装脚本 For cPanel</a> (62)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://icodex.org/2010/11/google%e6%8e%a8%e5%87%baapache%e5%8a%a0%e9%80%9f%e6%a8%a1%e5%9d%97mod_pagespeed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>理解网页中的视觉层次</title>
		<link>http://icodex.org/2010/10/%e7%90%86%e8%a7%a3%e7%bd%91%e9%a1%b5%e4%b8%ad%e7%9a%84%e8%a7%86%e8%a7%89%e5%b1%82%e6%ac%a1/</link>
		<comments>http://icodex.org/2010/10/%e7%90%86%e8%a7%a3%e7%bd%91%e9%a1%b5%e4%b8%ad%e7%9a%84%e8%a7%86%e8%a7%89%e5%b1%82%e6%ac%a1/#comments</comments>
		<pubDate>Sat, 16 Oct 2010 05:39:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[codex]]></category>
		<category><![CDATA[视觉]]></category>
		<category><![CDATA[设计]]></category>

		<guid isPermaLink="false">http://icodex.org/?p=832</guid>
		<description><![CDATA[原文来自 Webdesign Tuts + 原创翻译 – 设计理论 视觉层次是高效率网页设计的重要原则之一。这篇文章将向大家介绍为什么设计一个具有视觉层次的网页是这么重要。在了解这些原则之后，你可以在自己的基础设计练习中运用到这些知识。 设计=交流 作为核心：设计整体就是视觉交流。作为一个高效率的设计师，你必须有这个能力清楚地将你的设计思想传达出来。人是易变的，如果你给了他们巨大的信息量，这有相当高的可能性100个人中99人都会厌倦去看它。为什么呢？因为人们都是天性的视觉欣赏者，而不是数据处理者。 要了解这个，知道一些人们如何看待事物的方法是很重要的。人们并不等于所谓的“平等机会主义者”。他们不仅仅是收集视觉信息和处理数据，于此同时，大脑还会整理他们看到的这些东西的“视觉关系”。 让我们看看下面两个普通的圆： 很大可能上，你并不把它们仅当做“两个圆”看待，而是将他们看做“一个黑色的圆和一个比较小的红色的圆”。 原因是非常简单的：当呈现出某些像这两个圆一样简单的东西的时候，人们往往不仅仅看到两个普通的圆，他们将会搜寻这两个圆之间的不同点。某个圆或许更大，或者更小，或者有颜色，或者其他的不同点。这些不同点给予我们区别物体的信息并且给予图形特定的意义。 让我们来看一张更为复杂的图片： 增加的这些复杂成分强迫我们去分析他们之间的关系。相同和不同点变成了我们思考这些问题的思维框架。比例向我们传递了“一个物体相对其他来说离我们更近，或者是，这个物体起到一个相对其他物体而言的支配地位”；颜色的不同告诉我们每一个物体可能有自己独特的特点，这个特点将其与其他物体区分开来。这样一个简单的图片用最基本的方法却向我们传达了如此多的信息。 …Understanding that people will see our designs in terms of relationships is crucial to becoming a more effective designer. 让我们回过头来看网页设计；因为网页设计是有关视觉信息交流，明白“用户们将会自己组织设计内容的关系”成为我们高效设计的核心。一次丢出大量信息的方式看上去已经没意思了，作为网页设计师，我们任务是将这些没有经过处理的信息划分成一块一块切题的美味以供用户们更方便的阅读。更为重要的，我们需要明白：信息的高效交流是网页背后的关键。 初看视觉层次有成千上百的解释说明人们为什么会根据关系来看待问题；如果你要追溯到人类学上去讨论它的话，你可能做出结论：远古时代狩猎为生的人们在思维上引导现在的人类去关注这些事物之间的联系，这是一种生存技巧。 可能一个更便于理解的解释，这就是我们大脑整理信息的方式：将相似的可视元素整理成一个组，将他们放进具有一定意义的类型当中就像人类固有的吃喝等习性一样。换句话说，事实上大脑里的信息都是按照某种层次整理出来的，这样交流起来比没有整理信息要有效率的多。 看看下面的两张图片： 在上面的例子中，我们可以看到最基本的文本层次运用。两张图片当中用到的例子内容上没有任何区别，但是它是如何戏剧化地让人们改变了理解方式并消化这些内容的呢？当我们以文字排版为例讨论视觉层次的时，这就是我们要分析的问题。文字组织的接近性、篇幅比例和相似程度使读者将下级内容自然地归入标题和分段。层次给予标题更多的意义，不仅仅是信息，而且也使内容更容易被接受。 好，这只是一个最基本的例子对吧。让我们更深入的讨论其他的例子，让大家明白如何运用这些最基本的守则，成为一个老练的设计师。 层次构建工具箱 视觉层次非常重要，但是如何准确的创建层次效果？我们寻找的“工具”正如木匠的工具箱——锤子、钉子、锯子等等——你如何运用它们才是最重要的。 1、大小 较大的物体具有更大的吸引力。将尺寸的控制作为制造层次的工具是一个非常高效的方法去引导读者的视线。在设计中将尺寸和重要性结合起来是非常关键的。最大的元素大部分情况都具有最大的重要性，与此同时，最小的元素应该是最不重要的。 2、颜色 颜色是一个很有意思的工具，他可以在组织上和个性两方面起到作用。醒目、对比强烈的颜色在特殊的元素中将会引起更大的关注（例如按钮、错误信息或者超链接）。当作为一个体现个性的工具时，颜色可以延伸到体现更精练的层次感上；用到豪华、舒适的颜色将给页面带来感情上的吸引力。颜色可以影响网页的每一个角落，从商标到形象。色彩应用在视觉层次设计中可以做到信息分类的效果，就像下面的例子： 3、对比 对比体现出相对的重要性。字体大小上戏剧性的变化将传递出某个消息的重要性或者需要某些特别关注。从较亮的背景转换到一个较暗的背景将较快的区分核心内容与页脚内容。 4、对齐 对齐体现出元素们的组织。甚至可以简单到仅仅用“主栏”和“侧栏”区分。但对齐也能够在视觉层次上起到更多更复杂的作用。考虑，举个例子，放在页面左上角的内容的力量。因为用户多半将那个地方的信息与简介、账号、购物车等等相联系。放在那个地方的东西被赋予了某种“官方”性。对齐如果用特定的方式也会激起用户的兴趣，例如下面的例子： 5、反复 重复体现了元素之间的关联性；如果所有段落的文字都是灰色的，当一个用户看到一块新的灰色文字时，他也许认为这是其中的另一段；当同一个用户遇到一个蓝色的链接或者一个黑色的标题时，他可以放心的将它理解成段落以外的东西。 6、亲密性 亲密性将元素彼此分开并且创建下级的层次。在一个页面中可能会看到很多被空白分隔开的小部件；在这些部件中又会有新的层次，标题、副标题和内容。亲密性是最快的方式将关系紧密的内容组织起来。在下面的例子中，很容易通过亲密性将主要内容与其他内容区分开来。 [...]]]></description>
			<content:encoded><![CDATA[<p>原文来自 <a href="http://webdesign.tutsplus.com/articles/design-theory/understanding-visual-hierarchy-in-web-design/">Webdesign Tuts </a>+ 原创翻译 – 设计理论</p>
<p>视觉层次是高效率网页设计的重要原则之一。这篇文章将向大家介绍为什么设计一个具有视觉层次的网页是这么重要。在了解这些原则之后，你可以在自己的基础设计练习中运用到这些知识。</p>
<h2><a href="http://icodex.org/tag/%e8%ae%be%e8%ae%a1/" class="st_tag internal_tag" rel="tag" title="Posts tagged with 设计">设计</a>=交流</h2>
<p>作为核心：设计整体就是视觉交流。作为一个高效率的设计师，你必须有这个能力清楚地将你的设计思想传达出来。人是易变的，如果你给了他们巨大的信息量，这有相当高的可能性100个人中99人都会厌倦去看它。为什么呢？因为人们都是天性的视觉欣赏者，而不是数据处理者。</p>
<p>要了解这个，知道一些人们如何看待事物的方法是很重要的。人们并不等于所谓的“平等机会主义者”。他们不仅仅是收集视觉信息和处理数据，于此同时，大脑还会整理他们看到的这些东西的“视觉关系”。<span id="more-832"></span></p>
<p>让我们看看下面两个普通的圆：</p>
<p><a href="http://www.icodex.org/wp-content/uploads/2010/10/1.jpg?e97550"><img class="aligncenter size-medium wp-image-833" title="1" src="http://www.icodex.org/wp-content/uploads/2010/10/1-500x192.jpg?e97550" alt="" width="500" height="192" /></a></p>
<p>很大可能上，你并不把它们仅当做“两个圆”看待，而是将他们看做“一个黑色的圆和一个比较小的红色的圆”。</p>
<p>原因是非常简单的：当呈现出某些像这两个圆一样简单的东西的时候，人们往往不仅仅看到两个普通的圆，他们将会搜寻这两个圆之间的不同点。某个圆或许更大，或者更小，或者有颜色，或者其他的不同点。这些不同点给予我们区别物体的信息并且给予图形特定的意义。</p>
<p>让我们来看一张更为复杂的图片：</p>
<p><a href="http://www.icodex.org/wp-content/uploads/2010/10/2.jpg?e97550"><img class="aligncenter size-medium wp-image-834" title="2" src="http://www.icodex.org/wp-content/uploads/2010/10/2-500x250.jpg?e97550" alt="" width="500" height="250" /></a></p>
<p>增加的这些复杂成分强迫我们去分析他们之间的关系。相同和不同点变成了我们思考这些问题的思维框架。比例向我们传递了“一个物体相对其他来说离我们更近，或者是，这个物体起到一个相对其他物体而言的支配地位”；颜色的不同告诉我们每一个物体可能有自己独特的特点，这个特点将其与其他物体区分开来。这样一个简单的图片用最基本的方法却向我们传达了如此多的信息。</p>
<blockquote><p>…Understanding that people will see our designs in terms of relationships is crucial to becoming a more effective designer.</p></blockquote>
<p>让我们回过头来看网页设计；因为网页设计是有关视觉信息交流，明白“用户们将会自己组织设计内容的关系”成为我们高效设计的核心。一次丢出大量信息的方式看上去已经没意思了，作为网页设计师，我们任务是将这些没有经过处理的信息划分成一块一块切题的美味以供用户们更方便的阅读。更为重要的，我们需要明白：信息的高效交流是网页背后的关键。</p>
<p>初看视觉层次有成千上百的解释说明人们为什么会根据关系来看待问题；如果你要追溯到人类学上去讨论它的话，你可能做出结论：远古时代狩猎为生的人们在思维上引导现在的人类去关注这些事物之间的联系，这是一种生存技巧。</p>
<p><a href="http://www.icodex.org/wp-content/uploads/2010/10/3.jpg?e97550"><img class="aligncenter size-medium wp-image-835" title="3" src="http://www.icodex.org/wp-content/uploads/2010/10/3-500x257.jpg?e97550" alt="" width="500" height="257" /></a></p>
<p>可能一个更便于理解的解释，这就是我们大脑整理信息的方式：将相似的可视元素整理成一个组，将他们放进具有一定意义的类型当中就像人类固有的吃喝等习性一样。换句话说，事实上大脑里的信息都是按照某种层次整理出来的，这样交流起来比没有整理信息要有效率的多。<br />
看看下面的两张图片：</p>
<p><a href="http://www.icodex.org/wp-content/uploads/2010/10/4.jpg?e97550"><img class="aligncenter size-medium wp-image-836" title="4" src="http://www.icodex.org/wp-content/uploads/2010/10/4-500x388.jpg?e97550" alt="" width="500" height="388" /></a></p>
<p>在上面的例子中，我们可以看到最基本的文本层次运用。两张图片当中用到的例子内容上没有任何区别，但是它是如何戏剧化地让人们改变了理解方式并消化这些内容的呢？当我们以文字排版为例讨论视觉层次的时，这就是我们要分析的问题。文字组织的接近性、篇幅比例和相似程度使读者将下级内容自然地归入标题和分段。层次给予标题更多的意义，不仅仅是信息，而且也使内容更容易被接受。</p>
<p>好，这只是一个最基本的例子对吧。让我们更深入的讨论其他的例子，让大家明白如何运用这些最基本的守则，成为一个老练的设计师。</p>
<h2>层次构建工具箱</h2>
<p>视觉层次非常重要，但是如何准确的创建层次效果？我们寻找的“工具”正如木匠的工具箱——锤子、钉子、锯子等等——你如何运用它们才是最重要的。</p>
<p><strong>1、大小</strong></p>
<p>较大的物体具有更大的吸引力。将尺寸的控制作为制造层次的工具是一个非常高效的方法去引导读者的视线。在设计中将尺寸和重要性结合起来是非常关键的。最大的元素大部分情况都具有最大的重要性，与此同时，最小的元素应该是最不重要的。</p>
<p><a href="http://getactive.sj-stmk.org/"><img class="aligncenter size-medium wp-image-837" title="5" src="http://www.icodex.org/wp-content/uploads/2010/10/5-500x333.jpg?e97550" alt="" width="500" height="333" /></a></p>
<p><strong>2、颜色</strong></p>
<p>颜色是一个很有意思的工具，他可以在组织上和个性两方面起到作用。醒目、对比强烈的颜色在特殊的元素中将会引起更大的关注（例如按钮、错误信息或者超链接）。当作为一个体现个性的工具时，颜色可以延伸到体现更精练的层次感上；用到豪华、舒适的颜色将给页面带来感情上的吸引力。颜色可以影响网页的每一个角落，从商标到形象。色彩应用在视觉层次设计中可以做到信息分类的效果，就像下面的例子：</p>
<p><a href="http://msnbcmedia.msn.com/i/msnbc/components/spectra/index.html"><img class="aligncenter size-medium wp-image-838" title="6" src="http://www.icodex.org/wp-content/uploads/2010/10/6-500x333.jpg?e97550" alt="" width="500" height="333" /></a></p>
<p><strong>3、对比</strong></p>
<p>对比体现出相对的重要性。字体大小上戏剧性的变化将传递出某个消息的重要性或者需要某些特别关注。从较亮的背景转换到一个较暗的背景将较快的区分核心内容与页脚内容。</p>
<p><a href="http://themeforest.net/item/flex-for-wordpress-a-portfolio-blog-theme/full_screen_preview/93825"><img class="aligncenter size-medium wp-image-839" title="7" src="http://www.icodex.org/wp-content/uploads/2010/10/7-500x333.jpg?e97550" alt="" width="500" height="333" /></a></p>
<p><strong>4、对齐</strong></p>
<p>对齐体现出元素们的组织。甚至可以简单到仅仅用“主栏”和“侧栏”区分。但对齐也能够在视觉层次上起到更多更复杂的作用。考虑，举个例子，放在页面左上角的内容的力量。因为用户多半将那个地方的信息与简介、账号、购物车等等相联系。放在那个地方的东西被赋予了某种“官方”性。对齐如果用特定的方式也会激起用户的兴趣，例如下面的例子：</p>
<p><a href="http://themeforest.net/item/stuff-template/full_screen_preview/127580"><img class="aligncenter size-medium wp-image-840" title="8" src="http://www.icodex.org/wp-content/uploads/2010/10/8-500x333.jpg?e97550" alt="" width="500" height="333" /></a></p>
<p><a href="http://themeforest.net/item/stuff-template/full_screen_preview/127580"><img class="aligncenter size-medium wp-image-841" title="9" src="http://www.icodex.org/wp-content/uploads/2010/10/9-500x275.jpg?e97550" alt="" width="500" height="275" /></a></p>
<p><strong>5、反复</strong></p>
<p>重复体现了元素之间的关联性；如果所有段落的文字都是灰色的，当一个用户看到一块新的灰色文字时，他也许认为这是其中的另一段；当同一个用户遇到一个蓝色的链接或者一个黑色的标题时，他可以放心的将它理解成段落以外的东西。</p>
<p><a href="http://virgin.com/"><img class="aligncenter size-medium wp-image-842" title="10" src="http://www.icodex.org/wp-content/uploads/2010/10/10-500x333.jpg?e97550" alt="" width="500" height="333" /></a></p>
<p><strong>6、亲密性</strong></p>
<p>亲密性将元素彼此分开并且创建下级的层次。在一个页面中可能会看到很多被空白分隔开的小部件；在这些部件中又会有新的层次，标题、副标题和内容。亲密性是最快的方式将关系紧密的内容组织起来。在下面的例子中，很容易通过亲密性将主要内容与其他内容区分开来。</p>
<p><a href="http://net.tutsplus.com/"><img class="aligncenter size-medium wp-image-843" title="11" src="http://www.icodex.org/wp-content/uploads/2010/10/11-500x333.jpg?e97550" alt="" width="500" height="333" /></a></p>
<p><strong>7、紧密与留白</strong></p>
<p>密集的元素给人一种“重”和杂乱的感觉；元素之间距离太大，他们将会失去彼此之间的联系。当一个网页被设计的恰到好处时，眼睛将会准确的将各个元素组织好。</p>
<p><a href="http://www.pojeta.cz/"><img class="aligncenter size-medium wp-image-844" title="12" src="http://www.icodex.org/wp-content/uploads/2010/10/12-500x333.jpg?e97550" alt="" width="500" height="333" /></a></p>
<p><strong>8、风格与质感</strong></p>
<p>可能视觉层次设计工具箱中最具有可扩充功能的就是风格了，他可以运用于传递层次关系，可以包含在其他的特性中，也超越了其他的工具。例如：一个平淡的灰色背景的感觉会与泊油路质感的背景有很大不同。这种设计师创造的风格或者说个性在视觉关系上扮演着一个重要的角色。</p>
<p><a href="http://www.jefffinley.org/"><img class="aligncenter size-medium wp-image-845" title="13" src="http://www.icodex.org/wp-content/uploads/2010/10/13-500x333.jpg?e97550" alt="" width="500" height="333" /></a></p>
<p>很必要说，“风格”也是设计师设计上最为危险的工具。正如一个木匠锯掉自己的手指一样，设计师用他的“风格”也可以很简单的误导用户，或许是因为过分强调主内容这样的错误。想象一个质感很重，设计感很强烈的网页元素，将会把用户的吸引力牵引到那上面去，而忽略去获取网页信息了。同样的事情会发生在字体、按钮、标签或者其他元素上。在润饰网页元素，添加更多样式和整体设计上必须慎重考虑这一点。</p>
<h2>失败的视觉层次设计</h2>
<blockquote><p>Good visual hierarchy isn’t about wild and crazy graphics or the newest photoshop filters, it’s about organizing information in a way that’s usable, accessible, and logical to the everyday site visitor.</p></blockquote>
<p>就像我在上一节中提到的，视觉层次设计可以把你带入天堂或者是地狱。现象那些讨人厌的Flash广告，弹出窗口，闪烁的Banner等等，这些网站已经被人讨厌了多少年了！虽然这些网站成功在抓住了读者的注意力，不过他们完全输在了打破了网页视觉层次感上。相同的，如果设计师设计了一个这样的视觉层次——关键的内容难以被找到，这样的设计当然也是失败的。好的网页设计不应是有巨大的、疯狂的图像或者是应用了最新的Photoshop滤镜，而是利用了可用性、易获得性和逻辑性很好的组织了网页信息。</p>
<h2>为何层次与网页设计关系密切</h2>
<blockquote><p>Designers can create normalcy out of chaos; they can clearly communicate ideas through the organizing and manipulating of words and pictures.”—Jeffery Veen, The Art and Science of Web Design</p></blockquote>
<p>Jeffrey Veen在2001年写下了这些话，但它们在“信息超载”如此泛滥的今天仍然起到了很关键的作用。正如人们认为的一样，我们总是对视觉组织非常敏感。相对于前些年来说，我们现在一直都在被视觉信息的海啸冲击着；结果造成，人们现在对视觉层次越来越敏感。特别体现在网络，更多的研究证明一般浏览者都是随性“扫读”网页的内容了。无意识地去寻找自己感兴趣的内容，而对其他的内容完全不在意。</p>
<p>正因为这个，成为视觉层次设计师并不是一个选择，而是必须。随着网页浏览平台从传统的显示屏延伸到电话、平板电脑，甚至电视上，用强烈、清晰的视觉系统与网页浏览者交流变得越来越重要。</p>
<h2>一个测试视觉层次的练习</h2>
<p>最后，我想要以一个简单的练习结束。我们将用你常用的网站或者最近正参与的项目为例：</p>
<ol>
<li>列出浏览者可能寻找的关键信息；</li>
<li>对大部分用户而言，按照重要性赋予这些信息1~10的评级；</li>
<li>现在，再看看实际的设计；</li>
<li>以实际的设计为依据，给设计上的信息予以重要性1~10的评级；</li>
<li>思考：对于用户的信息层次与设计上的信息层次展现一致吗？</li>
</ol>
<p>大多数案例里，答案总包含着“NO”。这有很多原因——用户需求、设计师经验不足、设计师、会议确定的设计——或者其他各种原因你可能接触到的。甚至有些案例里，设计师就是愿意误导你（比如一个“免费”网站尝试着将用户引诱到收费的内容当中）。无论是什么理由，理解视觉层次并且用看待网页设计的眼光阐释视觉层次将会给你带来全新的启发。希望这篇文章将会给你的工作带来帮助。</p>
<p>Via：<a href="http://lazymaru.com/blog/?p=176">http://lazymaru.com/blog/?p=176</a></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://icodex.org/2010/10/%e7%90%86%e8%a7%a3%e7%bd%91%e9%a1%b5%e4%b8%ad%e7%9a%84%e8%a7%86%e8%a7%89%e5%b1%82%e6%ac%a1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Yum On VZ Server</title>
		<link>http://icodex.org/2010/08/installing-yum-on-vz-server/</link>
		<comments>http://icodex.org/2010/08/installing-yum-on-vz-server/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 15:29:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[codex]]></category>
		<category><![CDATA[vz]]></category>
		<category><![CDATA[Yum]]></category>

		<guid isPermaLink="false">http://icodex.org/?p=804</guid>
		<description><![CDATA[企业级vz虚拟的vps默认安装是没有Yum命令的,假如这时候又不能通过4643端口访问Parallels Power Panel进行安装,那么下面这些rpm执行命令就很有价值了. rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/python-elementtree-1.2.6-5.i386.rpm rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/python-sqlite-1.1.7-1.2.1.i386.rpm rpm -Uvh --nodeps http://mirror.centos.org/centos/5/os/i386/CentOS/rpm-python-4.4.2.3-18.el5.i386.rpm rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/m2crypto-0.16-6.el5.6.i386.rpm rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-urlgrabber-3.1.0-5.el5.noarch.rpm rpm -Uvh --nodeps http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm rpm -Uvh --nodeps http://mirror.centos.org/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm rpm -Uvh --nodeps http://mirror.centos.org/centos/5/os/i386/CentOS/yum-3.2.22-26.el5.centos.noarch.rpm rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/libxml2-2.6.26-2.1.2.8.i386.rpm rpm -Uvh --nodeps http://mirror.centos.org/centos/5/os/i386/CentOS/libxml2-devel-2.6.26-2.1.2.8.i386.rpm rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/libxml2-python-2.6.26-2.1.2.8.i386.rpm Related PostsCentOS 适用的第三方yum更新源 (4)]]></description>
			<content:encoded><![CDATA[<p>企业级vz虚拟的vps默认安装是没有Yum命令的,假如这时候又不能通过4643端口访问Parallels Power Panel进行安装,那么下面这些rpm执行命令就很有价值了.</p>
<blockquote><p><code>rpm -Uvh http://mirror.<a href="http://icodex.org/tag/centos/" class="st_tag internal_tag" rel="tag" title="Posts tagged with CentOS">centos</a>.org/<a href="http://icodex.org/tag/centos/" class="st_tag internal_tag" rel="tag" title="Posts tagged with CentOS">centos</a>/5/os/i386/<a href="http://icodex.org/tag/centos/" class="st_tag internal_tag" rel="tag" title="Posts tagged with CentOS">CentOS</a>/python-iniparse-0.2.3-4.el5.noarch.rpm<br />
rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/python-elementtree-1.2.6-5.i386.rpm<br />
rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/python-sqlite-1.1.7-1.2.1.i386.rpm<br />
rpm -Uvh --nodeps http://mirror.centos.org/centos/5/os/i386/CentOS/rpm-python-4.4.2.3-18.el5.i386.rpm<br />
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/m2crypto-0.16-6.el5.6.i386.rpm<br />
rpm -Uvh http://mirror.centos.org/centos-5/5/os/i386/CentOS/python-urlgrabber-3.1.0-5.el5.noarch.rpm<br />
rpm -Uvh --nodeps http://mirror.centos.org/centos-5/5/os/i386/CentOS/<a href="http://icodex.org/tag/yum/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Yum">yum</a>-metadata-parser-1.1.2-3.el5.centos.i386.rpm<br />
rpm -Uvh --nodeps http://mirror.centos.org/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm<br />
rpm -Uvh --nodeps http://mirror.centos.org/centos/5/os/i386/CentOS/yum-3.2.22-26.el5.centos.noarch.rpm<br />
rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/libxml2-2.6.26-2.1.2.8.i386.rpm<br />
rpm -Uvh --nodeps http://mirror.centos.org/centos/5/os/i386/CentOS/libxml2-devel-2.6.26-2.1.2.8.i386.rpm<br />
rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/libxml2-python-2.6.26-2.1.2.8.i386.rpm</code></p></blockquote>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://icodex.org/2010/03/centos-%e9%80%82%e7%94%a8%e7%9a%84%e7%ac%ac%e4%b8%89%e6%96%b9yum%e6%9b%b4%e6%96%b0%e6%ba%90/" title="CentOS 适用的第三方yum更新源">CentOS 适用的第三方yum更新源</a> (4)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://icodex.org/2010/08/installing-yum-on-vz-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>30+专业电子书下载</title>
		<link>http://icodex.org/2010/07/30-professional-ebook-download/</link>
		<comments>http://icodex.org/2010/07/30-professional-ebook-download/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 12:25:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[codex]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[EBook]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[电子书]]></category>

		<guid isPermaLink="false">http://icodex.org/?p=781</guid>
		<description><![CDATA[这些都是我收集的，但大部分都是英文版的，都是很专业很新的电子书籍。压缩包里面包括了python、web应用类、JavaScript、Ruby on Rails、Django、jQuery、css、Mysql、SEO、正则、高可用优化技巧等书籍，非常值得下载阅读。 下载地址：本地下载 &#124; 网盘直链 #分卷1 #分卷2 Related PostsNo Related Post]]></description>
			<content:encoded><![CDATA[<p>这些都是我收集的，但大部分都是英文版的，都是很专业很新的电子书籍。压缩包里面包括了python、web应用类、<a href="http://icodex.org/tag/javascript/" class="st_tag internal_tag" rel="tag" title="Posts tagged with JavaScript">JavaScript</a>、<a href="http://icodex.org/tag/ruby/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ruby">Ruby</a> on Rails、<a href="http://icodex.org/tag/django/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Django">Django</a>、<a href="http://icodex.org/tag/jquery/" class="st_tag internal_tag" rel="tag" title="Posts tagged with jQuery">jQuery</a>、<a href="http://icodex.org/tag/css/" class="st_tag internal_tag" rel="tag" title="Posts tagged with CSS">css</a>、<a href="http://icodex.org/tag/mysql/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Mysql">Mysql</a>、SEO、正则、高可用优化技巧等书籍，非常值得下载阅读。<a href="http://www.icodex.org/wp-content/uploads/2010/07/EBook.png?e97550"><img class="aligncenter size-medium wp-image-782" title="EBook" src="http://www.icodex.org/wp-content/uploads/2010/07/EBook-500x371.png?e97550" alt="" width="500" height="371" /></a></p>
<p>下载地址：<a title="无分卷zip包" href="http://icodex.org/dl/ebooks/EBook.zip?e97550">本地下载</a> | 网盘直链 #<a title="分卷1 | 两个压缩包要下载完全" href="http://hotfile.com/dl/58567474/55dc12c/EBook.part1.rar.html">分卷1</a> #<a title="分卷2 | 两个压缩包要下载完全" href="http://hotfile.com/dl/58567514/1ef16c4/EBook.part2.rar.html">分卷2</a></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://icodex.org/2010/07/30-professional-ebook-download/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>搭建安全的SSH多用户环境</title>
		<link>http://icodex.org/2010/06/%e6%90%ad%e5%bb%ba%e5%ae%89%e5%85%a8%e7%9a%84ssh%e5%a4%9a%e7%94%a8%e6%88%b7%e7%8e%af%e5%a2%83/</link>
		<comments>http://icodex.org/2010/06/%e6%90%ad%e5%bb%ba%e5%ae%89%e5%85%a8%e7%9a%84ssh%e5%a4%9a%e7%94%a8%e6%88%b7%e7%8e%af%e5%a2%83/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 15:12:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[codex]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[安全]]></category>

		<guid isPermaLink="false">http://icodex.org/?p=754</guid>
		<description><![CDATA[最近维护的Linux需要给特定的用户分配SSH权限，直接使用系统的useradd命令添加的用户权限其实非常高，会给系统带来很大的风险。因此需要借助软件限定这些用户的权限，安装有主机控制面板的Linux服务器都可以很方便的给用户设置安全的SSH帐户，而大部分服务器却只有一个终端字符界面，软件的寻找很容易就完成，我推荐使用jailkit。下面我把我的安装过程和大家分享一下。 下载编译安装（CentOS 5） cd /usr/local/src wget http://olivier.sessink.nl/jailkit/jailkit-2.11.tar.gz tar -zxf jailkit-2.11.tar.gz cd jailkit-2.11 ./configure make &#38;&#38; make install cp extra/jailkit /etc/init.d/jailkit chmod 755 /etc/init.d/jailkit chkconfig jailkit on 指定目录做chroot目录。这里以/var/chroot为例。 mkdir /var/chroot chown root:root /var/chroot jk_init -v -j /var/chroot sftp scp jk_lsh extendedshell jk_init命令中后面几个参数(sftp scp jk_lsh extendedshell)的意思，是将必备的chroot环境需要的二进制文件和库文件复制到chroot环境下，可从/etc/jailkit/jk_init.ini文件中得到更多解释。 添加用户并限制其家目录，添加用户有两种方法：执行/usr/sbin/jk_addjailuser [OPTIONS] chrootdir username建立受限用户，受限用户的组均隶属于users组；另外一种方法也是推荐的方法，先建立系统用户，再转移到chroot环境下。这里介绍后者的步骤： useradd user1 passwd user1 jk_jailuser -m -n [...]]]></description>
			<content:encoded><![CDATA[<p>最近维护的Linux需要给特定的用户分配SSH权限，直接使用系统的useradd命令添加的用户权限其实非常高，会给系统带来很大的风险。因此需要借助软件限定这些用户的权限，安装有主机控制面板的Linux服务器都可以很方便的给用户设置安全的SSH帐户，而大部分服务器却只有一个终端字符界面，软件的寻找很容易就完成，我推荐使用<a href="http://olivier.sessink.nl/jailkit/">jailkit</a>。下面我把我的安装过程和大家分享一下。</p>
<p>下载编译安装（<a href="http://icodex.org/tag/centos/" class="st_tag internal_tag" rel="tag" title="Posts tagged with CentOS">CentOS</a> 5）</p>
<blockquote><p><code>cd /usr/local/src<br />
wget http://olivier.sessink.nl/jailkit/jailkit-2.11.tar.gz<br />
tar -zxf jailkit-2.11.tar.gz<br />
cd jailkit-2.11<br />
./configure<br />
make &amp;&amp; make install<br />
cp extra/jailkit /etc/init.d/jailkit<br />
chmod 755 /etc/init.d/jailkit<br />
chkconfig jailkit on</code></p></blockquote>
<p>指定目录做chroot目录。这里以/var/chroot为例。<span id="more-754"></span></p>
<blockquote><p><code>mkdir /var/chroot<br />
chown root:root /var/chroot<br />
jk_init -v -j /var/chroot sftp scp jk_lsh extendedshell</code></p></blockquote>
<p>jk_init命令中后面几个参数(sftp scp jk_lsh extendedshell)的意思，是将必备的chroot环境需要的二进制文件和库文件复制到chroot环境下，可从/etc/jailkit/jk_init.ini文件中得到更多解释。</p>
<p>添加用户并限制其家目录，添加用户有两种方法：执行/usr/sbin/jk_addjailuser [OPTIONS] chrootdir username建立受限用户，受限用户的组均隶属于users组；另外一种方法也是推荐的方法，先建立系统用户，再转移到chroot环境下。这里介绍后者的步骤：</p>
<blockquote><p><code>useradd user1<br />
passwd user1<br />
jk_jailuser -m -n -j /var/chroot --shell=/bin/bash user1</code></p></blockquote>
<p>执行后原/home路径下的用户目录会被移到chroot环境下。</p>
<p>tip：如果在/home路径下的用户目录有做其他用途，如apache配置的虚拟主机目录，可临时将chroot环境的用户目录挂载回去。执行命令：</p>
<blockquote><p><code>mkdir /home/user1<br />
mount --bind /var/chroot/home/user1 /home/user1</code></p></blockquote>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://icodex.org/2010/06/%e6%90%ad%e5%bb%ba%e5%ae%89%e5%85%a8%e7%9a%84ssh%e5%a4%9a%e7%94%a8%e6%88%b7%e7%8e%af%e5%a2%83/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>[转载]台灣的軟體工程師</title>
		<link>http://icodex.org/2010/06/%e8%bd%ac%e8%bd%bd-%e5%8f%b0%e7%81%a3%e7%9a%84%e8%bb%9f%e9%ab%94%e5%b7%a5%e7%a8%8b%e5%b8%ab/</link>
		<comments>http://icodex.org/2010/06/%e8%bd%ac%e8%bd%bd-%e5%8f%b0%e7%81%a3%e7%9a%84%e8%bb%9f%e9%ab%94%e5%b7%a5%e7%a8%8b%e5%b8%ab/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 01:53:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[codex]]></category>

		<guid isPermaLink="false">http://icodex.org/?p=746</guid>
		<description><![CDATA[我常常問自己，台灣的業界生態真的適合開發軟體嗎？如果不適合，那麼軟體工程師們到底是為了什麼而選擇這個工作呢？ 從網路上或是前輩口中所得到的大部份資訊裡，不難看出大多數的軟體工程師對於自己的職業生涯並沒有過於高深的期許；因為寫程式只不過是賺錢的手段之 一，可以的話還是買買股票看能不能賺得比較飽。 以下，就我所看到的例子，來嘴炮一下大部份台灣軟體工程師的心聲吧。如有雷同，純屬巧合。 二十歲之前 「程式是什麼？」 大部份的軟體工程師其實都不是本科系出身，所以大多都不清楚軟體開發是個什麼樣的工作。而為了要找一份夠水準的工作，許多隱沒自己原本才能的朋友就 到著名的補習班去，想辦法讓自己成為一位履歷份量看起來夠巨大的工匠。不過一旦踏入軟體開發這個領域之後，他們才開始明白，在台灣，這真的是一條漫長而艱 辛的不歸路。 二十歲的時候 「我要學習高深的技術，所以我可以吃苦耐勞…」 多數有自覺的朋友在剛進入職場時，就發現自己本身的不足；也因此他們開始出沒於各大論壇或 BBS ，請教前輩們一些技術上的問題。有些人下班後，還特地跑到書局買一堆參考書籍堆滿自己的床頭，期待自己有天變成一條技術之龍。薪水太少？這從來不是他們所 在乎的。 二十五歲的時候 「工作有點多，好，我加班拼了~」 當自我的能力漸漸加強之後，上頭交辦的事項也越來越多了。不過對這些已經學到有用技巧的軟體工程師來說，不過就是小菜一碟，加個班就什麼都解決啦！ 沒什麼了不起。不過不曉得為什麼，他們每天加班完回家後，特別愛買些豬肝湯來當宵夜吃。 三十歲的時候 「你爸的，那個主管真機車…明天我要跟老婆去玩了，竟然還來個鬼需求…」 大部份的軟體工程師在變成職場老鳥之後，對於任何客戶丟過來的需求都能一眼看穿它們是不是真的需要執行；只不過通常決定要不要執行的人不會是軟體工 程師，可能是空降下來，然後不小心就當上主管，那個董事長的兒子。 三十五歲的時候 「老天爺…什麼工作都好…給我錢吧…」 人生終於爆發了危機，大部份沒有考慮自己未來職場生涯的軟體工程師，在可取代性過高的情況下，被每個月薪資只需要兩萬二的新人給 Override 了….為了爭取更多的工作機會，他們又回到了補習班，然後整天在那裡「喔喔~ 喔喔~ 」的拼命學習… 四十歲的時候 「…」 台灣的軟體工程師哪來四十歲可活呀！？ 心得 健康誠可貴，生命價更高；若為金錢故，兩者皆可拋。 转载自： 網站製作學習誌 Related PostsNo Related Post]]></description>
			<content:encoded><![CDATA[<p>我常常問自己，台灣的業界生態真的適合開發軟體嗎？如果不適合，那麼軟體工程師們到底是為了什麼而選擇這個工作呢？</p>
<p>從網路上或是前輩口中所得到的大部份資訊裡，不難看出大多數的軟體工程師對於自己的職業生涯並沒有過於高深的期許；因為寫程式只不過是賺錢的手段之 一，可以的話還是買買股票看能不能賺得比較飽。</p>
<p>以下，就我所看到的例子，來嘴炮一下大部份台灣軟體工程師的心聲吧。如有雷同，純屬巧合。</p>
<h2>二十歲之前</h2>
<p>「程式是什麼？」</p>
<p>大部份的軟體工程師其實都不是本科系出身，所以大多都不清楚軟體開發是個什麼樣的工作。而為了要找一份夠水準的工作，許多隱沒自己原本才能的朋友就 到著名的補習班去，想辦法讓自己成為一位履歷份量看起來夠巨大的工匠。不過一旦踏入軟體開發這個領域之後，他們才開始明白，在台灣，這真的是一條漫長而艱 辛的不歸路。</p>
<h2>二十歲的時候</h2>
<p>「我要學習高深的技術，所以我可以吃苦耐勞…」</p>
<p><span id="more-746"></span>多數有自覺的朋友在剛進入職場時，就發現自己本身的不足；也因此他們開始出沒於各大論壇或 BBS  ，請教前輩們一些技術上的問題。有些人下班後，還特地跑到書局買一堆參考書籍堆滿自己的床頭，期待自己有天變成一條技術之龍。薪水太少？這從來不是他們所 在乎的。</p>
<h2>二十五歲的時候</h2>
<p>「工作有點多，好，我加班拼了~」</p>
<p>當自我的能力漸漸加強之後，上頭交辦的事項也越來越多了。不過對這些已經學到有用技巧的軟體工程師來說，不過就是小菜一碟，加個班就什麼都解決啦！ 沒什麼了不起。不過不曉得為什麼，他們每天加班完回家後，特別愛買些豬肝湯來當宵夜吃。</p>
<h2>三十歲的時候</h2>
<p>「你爸的，那個主管真機車…明天我要跟老婆去玩了，竟然還來個鬼需求…」</p>
<p>大部份的軟體工程師在變成職場老鳥之後，對於任何客戶丟過來的需求都能一眼看穿它們是不是真的需要執行；只不過通常決定要不要執行的人不會是軟體工 程師，可能是空降下來，然後不小心就當上主管，那個董事長的兒子。</p>
<h2>三十五歲的時候</h2>
<p>「老天爺…什麼工作都好…給我錢吧…」</p>
<p>人生終於爆發了危機，大部份沒有考慮自己未來職場生涯的軟體工程師，在可取代性過高的情況下，被每個月薪資只需要兩萬二的新人給 Override  了….為了爭取更多的工作機會，他們又回到了補習班，然後整天在那裡「喔喔~ 喔喔~ 」的拼命學習…</p>
<h2>四十歲的時候</h2>
<p>「…」</p>
<p>台灣的軟體工程師哪來四十歲可活呀！？</p>
<h2>心得</h2>
<p>健康誠可貴，生命價更高；若為金錢故，兩者皆可拋。</p>
<p>转载自：<br />
<a href="http://www.jaceju.net/blog/?p=1239">網站製作學習誌</a></p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://icodex.org/2010/06/%e8%bd%ac%e8%bd%bd-%e5%8f%b0%e7%81%a3%e7%9a%84%e8%bb%9f%e9%ab%94%e5%b7%a5%e7%a8%8b%e5%b8%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced
Database Caching 47/95 queries in 0.074 seconds using disk: basic
Object Caching 2236/2296 objects using disk: basic
Content Delivery Network via www.icodex.org

Served from: icodex.org @ 2012-02-06 12:50:24 -->
