<?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>andystar  blog 博客</title>
	<atom:link href="http://andystar.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://andystar.net</link>
	<description>Linux&#124;学习&#124;分享&#124;个人博客&#124;交流&#124;建站&#124;wordpress&#124;</description>
	<lastBuildDate>Mon, 02 Aug 2010 10:02:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>ip命令及Linux下的策略路由</title>
		<link>http://andystar.net/2010/08/ip%e5%91%bd%e4%bb%a4%e5%8f%8alinux%e4%b8%8b%e7%9a%84%e7%ad%96%e7%95%a5%e8%b7%af%e7%94%b1/</link>
		<comments>http://andystar.net/2010/08/ip%e5%91%bd%e4%bb%a4%e5%8f%8alinux%e4%b8%8b%e7%9a%84%e7%ad%96%e7%95%a5%e8%b7%af%e7%94%b1/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 10:00:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux系统管理]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://andystar.net/?p=492</guid>
		<description><![CDATA[<p>一、ip命令基础</p>
<p># rpm -qf $(which ip)
iproute-2.6.18-9.el5</p>
<p>帮助：ip help</p>
<p>链路层：
# ip link
# ip link help
Usage: ip link set DEVICE { up &#124; down &#124;            #启用停用网卡
arp { on &#124; off } &#124;            #打开关闭arp广播
dynamic { on &#124; off } [...]


Related posts:<ol><li><a href='http://andystar.net/2008/01/linux%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%e6%80%bb%e7%bb%93/' rel='bookmark' title='Permanent Link: Linux命令行常用命令总结'>Linux命令行常用命令总结</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>一、ip命令基础</p>
<p># rpm -qf $(which ip)<br />
iproute-2.6.18-9.el5</p>
<p>帮助：ip help</p>
<p><1>链路层：<br />
# ip link<br />
# ip link help<br />
Usage: ip link set DEVICE { up | down |            #启用停用网卡<br />
arp { on | off } |            #打开关闭arp广播<br />
dynamic { on | off } |<br />
multicast { on | off } |<br />
allmulticast { on | off } |<br />
promisc { on | off } |<br />
trailers { on | off } |<br />
txqueuelen PACKETS |        #发送缓冲队列长度（默认1000）<br />
name NEWNAME |            #网卡命名（lan，wan）<br />
address LLADDR | broadcast LLADDR |#修改MAC地址<br />
mtu MTU }                #最大传输单元（默认1500）<br />
ip link show [ DEVICE ]<br />
网卡命名举例：<br />
<span id="more-492"></span></p>
<p># ip link set lan down<br />
# ip link set wlan down<br />
# ip link set eth0 name wlan<br />
# ip link set eth1 name lan<br />
# ip link set lan up<br />
# ip link set wlan up</p>
<p><2>ip addr<br />
# ip addr add 192.168.2.77/24 dev lan    #添加ip<br />
# ip addr show dev lan<br />
# ip addr flush dev lan        #清空网卡的所有ip地址</p>
<p><3>ip neigh<br />
# ip neigh show    #显示ip与mac对应关系<br />
# ip neigh flush dev lan</p>
<p><4>ip route (需要开启ip_forward)<br />
# ip route    #相当于route -n<br />
# ip route add 192.168.2.0/24 via 192.168.1.1 dev lan    #添加一条路由：去往2.0网段，通过lan网卡，下一跳IP为192.168.1.1<br />
# ip route add 0.0.0.0/0 via 10.10.10.30 dev wan    #添加默认路由<br />
# ip route add default via 10.10.10.30 dev wan        #添加默认路由<br />
# ip route del 192.168.2.0/24<br />
# traceroute www.google.com    #路由追踪<br />
# tracepath www.google.com    #..<br />
# mtr www.google.com        #动态刷新追踪</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
二、ECMP(Equal Cost Multipath等值多路径路由)</p>
<p>当路由上有多个链路接入时，并且同时使用，可以考虑ECMP技术<br />
添加两个默认路由，使用rr调度算法根据会话轮询<br />
# ip route help        #查看帮助<br />
# ip route add default mpath rr nexthop via 192.168.96.254 dev vmnet1 nexthop via 192.168.203.254 dev vmnet8<br />
# ip route         #这样就会有两条默认路由了</p>
<p>设置权重<br />
# ip route add default mpath rr nexthop via 192.168.96.254 dev vmnet1 weight 100 nexthop via 192.168.203.254 dev vmnet8 weight 10    #权重最大256</p>
<p>默认RHEL5U3内核会cache路由，对于已经建立好的连接，不会轮询，而直接读取cache路由，从而破坏rr轮询，所以需要将“在cache情况下仍然支持ECMP的模块“编译出来安装<br />
Networking  &#8212;><br />
&#8212; Networking support<br />
Networking options  &#8212;><br />
IP: equal cost multipath with caching support (EXPERIMENTAL)</p>
<p>ip rule<br />
# ip route list table local    #最先查的表<br />
# ip route list table main    #平时操作的表<br />
# ip route list table default</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>三、策略路由</p>
<p>1、基于源地址策略路由</p>
<p>根据源客户端的子网网段走向相应的路由路径<br />
例如：销售部门和办公部门，让销售部门享受10M带宽线路，让办公部门享受1M带宽线路；</p>
<p>配置举例：<br />
需求：让公司192.168.0.0/24网段的客户走网通路由，192.168.1.0/24网段的走电信路由；</p>
<p>IP及拓扑说明：<br />
C1&#8211;\       /&#8212;&#8211;CNC\<br />
         (GW)             > &#8212;->Client3<br />
C2&#8211;/       \&#8212;&#8212;TEL/</p>
<p>Client1：192.168.0.1<br />
Client2：192.168.1.2<br />
Client3:20.0.0.1</p>
<p>公司网关GW<br />
对内：<br />
I1:192.168.0.254    eth0<br />
I2:192.168.1.254    eth0<br />
对外：<br />
E1:202.106.0.21        eth1<br />
E2:202.106.46.152    eth1<br />
网通CNC网关<br />
C1:202.106.0.20        eth0<br />
C2:20.0.0.2                eth1<br />
电信TEL网关<br />
T1:202.106.46.151     eth0<br />
T2:20.0.0.3                 eth1</p>
<p>GW配置：<br />
<1>增加自定义的路由表<br />
# vi /etc/iproute2/rt_tables<br />
100     tab1<br />
101     tab2<br />
# ip rule<br />
<2>添加路由规则<br />
# ip route add default via 202.106.0.20 dev eth1 table tab1    #添加默认路由到表tab1<br />
# ip route add default via 202.106.46.151 dev eth1 table tab2    #添加默认路由到表tab2<br />
# ip rule add from 192.168.1.0/24 table tab1            #来自192.168.1.0/24网段的请求走tab1表<br />
# ip rule add from 192.168.0.0/24 table tab2<br />
# ip rule<br />
# ip route add 192.168.1.0/24 dev eth0 table tab1    #添加直连路由，若不添加则Client1 ping GW后，数据包不能返回，因为tab1表中只有一个default路由<br />
# ip route add 192.168.0.0/24 dev eth0 table tab2</p>
<p>TEL配置：<br />
添加去往Client1/2的路由<br />
# ip route add 192.168.0.0/24  via 202.106.46.152 dev eth0<br />
# ip route add 192.168.1.0/24  via 202.106.46.152 dev eth0</p>
<p>CNC配置：<br />
添加去往Client1/2的路由<br />
# ip route add 192.168.0.0/24  via 202.106.0.21 dev eth0<br />
# ip route add 192.168.1.0/24  via 202.106.0.21 dev eth0</p>
<p>Client配置：<br />
Client1\2:<br />
# ip route add default via 192.168.0.254 dev eth0<br />
# ip route add default via 192.168.1.254 dev eth0</p>
<p>Client3:<br />
# ip route add default via 20.0.0.3 dev eth0    #测试仅从TEL路径返回也可以双路返回<br />
# ip route add default mpath rr nexthop via 20.0.0.2 dev eth0 nexthop via 20.0.0.3 dev eth0</p>
<p>Client1\2测试:<br />
# traceroute 20.0.0.1</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
2、基于防火墙标记的路由（firemark）</p>
<p>将来自不同ip段的数据包打上不同的防火墙标记，根据防火墙的标记路由到相应的地址<br />
GW配置：<br />
1-100的IP标记为1，101-253的IP标记为10<br />
# iptables -t mangle -A PREROUTING -m iprange &#8211;src-range 192.168.1.1-192.168.1.100 -j MARK &#8211;set-mark 1<br />
# iptables -t mangle -A PREROUTING -m iprange &#8211;src-range 192.168.1.101-192.168.1.253 -j MARK &#8211;set-mark 10</p>
<p>先清空之前的rule<br />
# ip rule del from 192.168.1.0/24<br />
# ip rule del from 192.168.0.0/24</p>
<p># ip rule add fwmark 1 pref 1000 table tab1     #将标记为1的包送至tab1，pref为优先级<br />
# ip rule add fwmark 10 pref 2000 table tab2<br />
# ip rule<br />
0:      from all lookup 255<br />
1000:        &#8230;.    tab1<br />
2000:        &#8230;.    tab2<br />
32766:  from all lookup main<br />
32767:  from all lookup default<br />
剩余基本同上<br />
# ip route add default via 202.106.0.20 dev eth1 table tab1    #添加默认路由到表tab1<br />
# ip route add default via 202.106.46.151 dev eth1 table tab2<br />
# ip route add 192.168.1.0/24 dev eth0 table tab1        #添加直连路由<br />
# ip route add 192.168.0.0/24 dev eth0 table tab2<br />
&#8230;&#8230;..</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
3、基于目的地址策略路由<br />
根据访问的目标地址返回，访问网通的IP段走CNC，访问电信的走TEL</p>
<p>GW配置：<br />
删除规则<br />
# iptables -F -t mangle<br />
# ip rule del fwmark 1 pref 1000 table tab1<br />
# ip rule del fwmark 10 pref 2000 table tab2 </p>
<p># ip rule add to 20.0.0.1 table tab2<br />
# ip rule add to 20.0.0.4 table tab1<br />
# ip rule</p>
<p>其余配置同上</p>
<p>Client1\2测试:<br />
# traceroute 20.0.0.1<br />
# traceroute 20.0.0.4</p>
<p>假如访问教育网或国外网络，可以在main表中添加一条默认的路由</p>


<p>Related posts:<ol><li><a href='http://andystar.net/2008/01/linux%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%e6%80%bb%e7%bb%93/' rel='bookmark' title='Permanent Link: Linux命令行常用命令总结'>Linux命令行常用命令总结</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://andystar.net/2010/08/ip%e5%91%bd%e4%bb%a4%e5%8f%8alinux%e4%b8%8b%e7%9a%84%e7%ad%96%e7%95%a5%e8%b7%af%e7%94%b1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>终端下拼音补全中文名称</title>
		<link>http://andystar.net/2010/02/%e7%bb%88%e7%ab%af%e4%b8%8b%e6%8b%bc%e9%9f%b3%e8%a1%a5%e5%85%a8%e4%b8%ad%e6%96%87%e5%90%8d%e7%a7%b0/</link>
		<comments>http://andystar.net/2010/02/%e7%bb%88%e7%ab%af%e4%b8%8b%e6%8b%bc%e9%9f%b3%e8%a1%a5%e5%85%a8%e4%b8%ad%e6%96%87%e5%90%8d%e7%a7%b0/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 15:31:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux系统管理]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://andystar.net/?p=485</guid>
		<description><![CDATA[<p>在 Linux 下打字飞快的朋友，遇到中文目录和文件名立马就慢下来了，有 2 种选择：</p>
<p>   1. 切换成中文输入一两个汉字，然后按 TAB 补全
   2. 动用鼠标复制</p>
<p>现在有第三种选择了  </p>
<p>用拼音补全命令行中的中文名称和路径</p>
<p>实验目录如下：</p>
<p>
biff@lenovo:/domain/WorkSpace$ ls
SVN培训 全球眼 浙江建行 浙江农信</p>
<p>使用: (输完后按 TAB 键自动补全)</p>
<p>cd S  进入[SVN培训]
cd q  进入[全球眼]
cd z  自动补全[浙江]
cd zj  提示[浙江建行 浙江农信]备选
cd 浙江j  进入[浙江建行]
cd zjj  进入[浙江建行]
cd zj1  进入[浙江建行]
cd zj2  进入[浙江农信]</p>
<p>这第 3 种方法是前两种方法不能比的，自已用了半个月了，超爽！</p>
<p>共享给大家，有意见再改。</p>
<p>下载软件包chsdir_20090921.tar.gz(md5sum: f05d8bda81bec56cdbdd102cafcffe8a)，解压，参考 install.sh 进行安装(不需要 root [...]


Related posts:<ol><li><a href='http://andystar.net/2008/08/%e8%bd%acdebian%e7%bc%96%e8%af%91%e6%89%93%e5%8c%85%e7%a8%8b%e5%ba%8f%e6%96%b0%e6%89%8b%e6%8c%87%e5%af%bc/' rel='bookmark' title='Permanent Link: [转]Debian编译打包程序新手指导'>[转]Debian编译打包程序新手指导</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>在 Linux 下打字飞快的朋友，遇到中文目录和文件名立马就慢下来了，有 2 种选择：</p>
<p>   1. 切换成中文输入一两个汉字，然后按 TAB 补全<br />
   2. 动用鼠标复制</p>
<p>现在有第三种选择了 <img src='http://andystar.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>用拼音补全命令行中的中文名称和路径</p>
<p>实验目录如下：</p>
<p><span id="more-485"></span><br />
biff@lenovo:/domain/WorkSpace$ ls<br />
SVN培训 全球眼 浙江建行 浙江农信</p>
<p>使用: (输完后按 TAB 键自动补全)</p>
<p>cd S <tab> 进入[SVN培训]<br />
cd q <tab> 进入[全球眼]<br />
cd z <tab> 自动补全[浙江]<br />
cd zj <tab><tab> 提示[浙江建行 浙江农信]备选<br />
cd 浙江j <tab> 进入[浙江建行]<br />
cd zjj <tab> 进入[浙江建行]<br />
cd zj1 <tab> 进入[浙江建行]<br />
cd zj2 <tab> 进入[浙江农信]</p>
<p>这第 3 种方法是前两种方法不能比的，自已用了半个月了，超爽！</p>
<p>共享给大家，有意见再改。</p>
<p><a href="http://andystar.net/downloads/chsdir_20090921.tar.gz">下载软件包chsdir_20090921.tar.gz(md5sum: f05d8bda81bec56cdbdd102cafcffe8a)</a>，解压，参考 install.sh 进行安装(不需要 root 权限)。</p>


<p>Related posts:<ol><li><a href='http://andystar.net/2008/08/%e8%bd%acdebian%e7%bc%96%e8%af%91%e6%89%93%e5%8c%85%e7%a8%8b%e5%ba%8f%e6%96%b0%e6%89%8b%e6%8c%87%e5%af%bc/' rel='bookmark' title='Permanent Link: [转]Debian编译打包程序新手指导'>[转]Debian编译打包程序新手指导</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://andystar.net/2010/02/%e7%bb%88%e7%ab%af%e4%b8%8b%e6%8b%bc%e9%9f%b3%e8%a1%a5%e5%85%a8%e4%b8%ad%e6%96%87%e5%90%8d%e7%a7%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>职场潜规则</title>
		<link>http://andystar.net/2010/02/%e8%81%8c%e5%9c%ba%e6%bd%9c%e8%a7%84%e5%88%99/</link>
		<comments>http://andystar.net/2010/02/%e8%81%8c%e5%9c%ba%e6%bd%9c%e8%a7%84%e5%88%99/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 04:51:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[心路历程]]></category>
		<category><![CDATA[精品网摘]]></category>
		<category><![CDATA[工作]]></category>
		<category><![CDATA[心情]]></category>
		<category><![CDATA[思考]]></category>

		<guid isPermaLink="false">http://andystar.net/?p=483</guid>
		<description><![CDATA[<p>人生就象一场游戏，有赢有输，有得有失，没有人会一帆风顺的走完所有的路。而任何游戏都有自己游戏规则，违背这个规则的人，虽然不一定遗臭万年，又或者被黑道、国家机器追杀，但是人言可畏、三人成虎还是会的。尤其是在中国这个孙子兵法的故乡，一贯崇尚“上兵罚谋”。</p>
<p>作为一个人，总是要出来“混”的，打工也好、雇工也罢，很少有人只是吃吃喝喝的过一辈子。且不说老祖宗一贯教导我们，儒家‘有为’，道家‘入世’；就是想浑浑沌沌的一辈子，也是怪吓人的。</p>
<p>出来，总是要有份职业，也宿有职业人生的说法。也正象游戏有游戏规则一样，职场也有职场规则，只是我们一向称之为职场潜规则。既然是‘潜规则‘，那就是说在规章制度之外的规则，也不一定是‘上纲上线’的规则。但是，一旦不注意，被人利用，就不再是那么简单。正是只有千日作贼，哪有千日防贼的啊。现在将我能想到的简单几点写出来，供大家参考参考。</p>
<p>
&#8212;-你是有老板的。这是很重要的一个观点。很多学生，包括我当年毕业时，是何等的目中无人，意气风发、踌躇满志。经历过事业单位的人事斗争，台湾老板的狠毒剥削，包括现在为社会主义企业打工；这一点感触颇多。</p>
<p>如果你跟错一个老板，一个在人事斗争中只会倒下去的老板，我劝你，要不忍气吞声，投靠到得势的一方，作一个类似‘二狗子’之类的人(就象给当年日本侵略者跑腿的汉奸形象，虽然形象很惨，和中国一向的忠义不符，但保住一碗饭，还是能做到的)；要么揭竿而起，舍卒保车，用自己的牺牲为老板争取到最后的筹码。</p>
<p>绝对不要相信，新来的老板还会象原来的老板那样，对你信任、授权、关心(只要做好工作，其它事情全会为你解决掉)。中国有句很出名的话，“一朝天子一朝臣”。老员工对新老板不服气，新老板板对老员工不喜欢(这么不听话的员工，净和自己对着干，有才也就罢了，无德无才，不开你立威，开谁)。所以，历来新老板上任，总是要开除一批人，安排上自己的亲信；之所以现在隐忍不发，只是时机未到罢了，一年俩载，总会把牌洗干净的。</p>
<p>&#8212;你只有一个老板。也许有人会说，老板还有老板呢？但是，能指挥你工作的人只有一个，这个人常常拥有对你工资的评议权、甚至直接决定发给你工资的多少。你只需要对自己的老板负责，对其他人和颜悦色一点就好，不必过分的逢迎。毕竟，如果连你的老板都保不住自己了，你更不可能会是那些人的对手；你所要做的就是绝对的支持你的老板。当然，有意见可以提，但一定要在两人单独的场合；而且，老板就是老板，提意见也要用请教的口气。中国古代有句话说的好，‘君辱臣死’；没有这种觉悟，你就永远不会和老板站在同一条战线，成为老板的亲信。</p>
<p>这里，还隐含了一个很重要的概念。你只有一个老板，绝对不要‘越级汇报’。不管你的叛逆精神多强，你的人权平等意识多强，除非你打算和老板对着干了，不然，不要做这种‘以卵击石’的事情。
这有三种结果：</p>
<p>你的老板会认为你不尊重他(她)的权威，会对你尽出杀手；</p>
<p>即使你说的对，你老板的老板会怎样认为呢，放在一个天平上，你不会认为‘自己’比‘作为自己上位的老板’还会重要吧，爬上这个位置，有他(她)的功绩、关系，这是你绝对不能比较的，而且在你眼中的大事，可能只是上位者眼中的一个小菜，又怎能影响到你老板的地位呢，两相比较取其轻，于是你被开除了；</p>
<p>除非，你老板的老板就想开他(她)，借刀杀人，小题大做，把他开掉，通常这种情况下，收尾的同时会各打五百，于是你也被开了，就算你不被开，新来的老板能允许这样一个潜在的威胁存在吗？</p>
<p>所以，常见的两种处理方法：</p>
<p>‘秋后处理’，就是说积累到一定的量再处理，这也要明确形势，形势比人强，同样一张牌，在不同的时候打出，会产生截然相反的两种效果。</p>
<p>‘安然离职’，笑着和老板讨论辞职的事宜，而且一定要强调都是因为自己的个人原因，绝对与公司的各种制度、处理事情的方法无关，自己对公司的感情很深，如果不是确实有事，是绝对不会离开的，以后去哪还没想好，现在先处理私人问题(比如回家结婚、父母年纪大了需要照顾、孩子生病需要治疗，等等吧)，并要信誓旦旦的说，今后还会回来看大家的。所谓，伸手不打笑脸人，光棍只打九九不打加一，这样你可以顺利离职，不会受到太多刁难；而且，不会连累平时交往密切的朋友；并且，很多行业说大不大，其实只是那么三五个人的事情，抬头不见低头见，前任老板说你两句坏话传出去，如果不是特别了解事情真相、了解细节、了解他 (她)或者你为人的新老板，你的前途就是难免暗淡无光。</p>
<p>&#8212;最好不要在本单位处对象。我记得华维当年招人时就说过，公司管理人员以上禁止相互结婚。这是为了避免人事关系过于复杂。要知道，培养一个能干的管理人员，绝对不是几个员工能比的上的，这里面要花费很多明里暗里的培训费用，如果有一天，为了开除他(她)，引起其他人员的不满，在背后做点小动作，那你这个老板也不用再当了。挣钱不容易，要你赔钱还不容易吗，你不能赢利，怎么向股东交代，等着炒鱿鱼吧。所以，一般正规的公司遇到这种情况，会两个都开，决不手软。除非你有足够的实力，来保护自己两个；又或者公司不是很正规，只是用来洗黑钱的公司、只是响应党的号召的形象工程(不是以盈利为目的，而是以关系为手段的)、甚至各种机关/事业单位中派系传承。但不论怎样，都至少会带来一点损失，以后你对老板说话必定没有意见，对敌人也不再态度强硬了，只是为了保护自己，保护好自己的饭碗。如果真的有哪个人吸引住你的眼球，等换个单位再考虑吧。当然，做为下层的劳动人员，也是一样，只是你所能威胁的人不同罢了。你的存在，给老板带来了威胁，那你就不需要再存在了。</p>
<p>“三讲”里最重要的一条是“讲政治”，在哪里“讲政治”？哪里都逃不了“政治”，在一向被视为商业第一的公司里，其实也有着激烈的政治斗争，我们称它的游戏规则为潜规则。根据我本人在公司近十年的惨痛教训，总结出以下几条，供各位参考：</p>
<p>潜规则1.CEO就是公司的最大股东</p>
<p>公司以维护股东利益为最高原则，但是在公司谁能看见股东，股东的利益只有靠CEO的个人意志来体现。具体说，董事长是股东大会选出来的，代表了大股东的利益。但有时候总经理也是股东的代表，那么董事长和总经理哪个更有实权，就看各人的道行和历史背景了。所以，各位，为了你自己的利益，你必须明白这一点，公司的老板就是公司代表，听老板的，就是为公司服务，千万不要想当然地为了公司利益，而与老板对着干。他就是你的衣食父母。什么叫尊重资本，就是听老板的话。</p>
<p>潜规则2.老板一定会为公司着想吗？</p>
<p>答案是否定的。老板，任何一个在位的老板，他最关心的还是自己能在这个位子上做多久，为了这个目的，他当然会关心业绩指标和考核，但是保持公司的稳定，是坐牢位置的最重要的基础。如果公司为了业务创新，而预计将出现核心人员的变动，或者冒一些不可确定的风险，进而被底下的副总利用，影响到自己的位置，他会第一个起来反对。当然，他会冠冕堂皇地做这一切，让任何人都觉得他是为了公司长远发展考虑。但他考虑的其实只是自己的长远利益。如果没有长远的预期，那他要做的只是在现有位子上，如何扩大自己和管理层的福利，为自己捞取更多的好处，利用公司为自己捞取更多的人脉关系和社会影响。然后，等公司要对付自己的时候，反过来给公司一刀。</p>
<p>老板想到员工的利益了吗？告诉你吧，从来没有，也不会有，这是小职员的一厢情愿的想法。</p>
<p>潜规则3.女老板好还是男老板好？</p>
<p>如果你是女性职员，那么对你来说，最好你的老板是男老板，因为他有一种先天的优越感和同情弱者的心理，不会把你归入有野心之类，反而会对你格外照顾。如果你的老板是女老板，那可说不好了，女人永远在猜疑中，她会让你觉得她最欣赏你，但是到头来你发现自己一无所得。如果你是男性职员，那么对你来说，你的老板如果是男老板，那么一切按照男人的规则办就好了，没什么麻烦的。但如果你的老板是女老板，那你会有一些问题。与她太近，会有人说小话，但是离她太远，她肯定会有想法。如果她还对你有点意思，那你的麻烦就更大了。所以，总的来说，还是男老板更好些。(我这里绝无贬低女性的意思，如有嫌疑，在此诚恳道歉！)</p>
<p>潜规则4.老板需要的人不一定最有能力</p>
<p>每个老板需要的人，包括两类，一类是能干活的，一类是忠诚于他的，如果只能干活，而看不出对老板多忠诚的人，放心，你一定没有晋升的机会，你的唯一机会就是继续干活，成为老黄牛。如果你只有忠诚而没有很强的业务能力，没关系，你总有一天会上去，因为忠诚与能力更稀缺。如果你能力太强了，即使你很忠诚，老板也会留一个心眼，谁知道明天你会不会取而代之呢？所以你需要有能力，但不一定有很强的能力，但是对老板一定要忠诚，这是晋升的最快途径。</p>
<p>潜规则5.身为员工，你该对谁负责？</p>
<p>身为员工，你该对谁负责啊，这个问题还难吗？对你的工作负责，对你的直接上司负责不就行了。但这个问题也不那么简单。如果你的直接上司能够决定的你的职务和薪水，那么当然，他就是你的贵人，如果你的直接上司的权利并不能决定你的职务和薪水，那么你要弄明白谁是你的贵人。──-给他留下好印象，远比你加班苦干要有效的多。至于这个贵人，别管他是什么的样的人，让他为你服务是最重要的。庸俗吗？庸俗！正确吗？永远正确。</p>
<p>潜规则6.为什么你很能干，却得不到提升？</p>
<p>如果你很能干，好啊，继续干什么去吧。但别怪我为什么不提升你。你干得好，说明你胜任这个位置，既然没有人比你能胜任这个位置，我怎么舍得让你离开呢？呵呵。你很能干，但是提升了你，你还能向过去那么能干吗？这可不敢担保。再说，还有一个你的同事，他也和你一样能干，如果我提了你，岂不会影响他的积极性，所以，最好的办法就是让你们俩暗中竞争，前面永远挂一块肉，这样，公司整体效率才会越来越高。至于那块肉，嘿嘿，等风干的时候，会给你们的。别急。</p>
<p>潜规则7.做100件小事不如做1件大事。</p>
<p>虽然都是为人民服务，为公司出力，但是你需要明白，做100件人人能做的小事，并不如做一件有影响力的大事，更能为自己增加晋升的机会。因为那些小事，如复印啊，打字啊，倒水啊，谁都会做，你做了根本显示不出你来。(除非在一个特殊环境里，人人都不做而你做了，这才显示出价值来)。只有做那些有影响力的，牵动很多人的大事情，才能突显出你的能力来。就是这样。老板也只有在这样的事情上才能对你产生深刻的印象。所以，聪明的职员知道自己该做什么，而不是一味的埋头苦干，然后抱怨为什么得不到升迁。虽然，小事永远是需要人来做的，但是你如果想要大发展，必须学会舍弃那些小事，而去专注于更有影响力的事情。一直努力扫屋子的人，永远扫不了天下！</p>
<p>潜规则8.对老板说句真话，胜过一大堆恭维。</p>
<p>有时候，天天琢磨老板喜欢什么的人，未必能得到重用。为什么？因为在他那样一个位置上，见过的拍马屁的人太多了，什么样的人没见过，想从他那里得到点好处的人也太多了。所以，身为员工的你，有的时候，对某些业务和人，说出你自己的真心话，哪怕含有批评的意味，但是会让老板眼前一亮，心头一震。老板会觉得你是个实在的人，而且有自己的独立见解。老板是对拍马屁的话很受用，但是得拍的到位，拍的力度正好，拍的真实可信，对于虚伪的恭维，老板只有一字：烦！所以，与其费劲心机去猜老板的心思，不如实话实说更有效果。只喜欢恭维的老板，恐怕也没有什么大的发展前景，还跟他干什么，赶紧扯旗！</p>
<p>潜规则9.一鸟在手，胜过十鸟在林。</p>
<p>一般来说，你的直接领导为了留住你，或让你努力干活，总是会许诺年底发奖金或升迁的机会等。这些诺言有些可能是他自己都没有权利决定的，所以不要轻信他们。对这些诺言，你要认真分析，哪些是可能兑现的，哪些是不可能兑现的，那些是可能兑现但不能完全兑现的。然后审视你现有的工作岗位，看看是否新的工作机会更好。我向某公司提出辞职的时候，老板马上提出要升我为副总裁，月薪提高，及年底或有股权激励。但是你想我敢相信吗？即使我留下来了，老板兑现一个月后，是否又会后悔了呢？所以，当你决定要辞职的时候，千万不要相信老板的许诺。总之，看好你手里已有的薪水和机会，不要太过重视那些诺言，毕竟，一鸟在手，胜过十鸟在林。</p>
<p>潜规则10.员工一定要对公司忠诚吗？</p>
<p>这是一个最大的谬误。公司永远号召员工要对公司忠诚，因此才发展出一套企业文化，告诉员工说，你们忠诚公司是有文化的表现，呵呵。但是，当公司裁员的时候，是绝不会可怜你的哦。但是公司需要员工忠诚，当员工工资不高的时候，需要忠诚，当员工需要加班、频繁出差的时候，需要忠诚，当公司需要员工去外地工作的时候，需要忠诚，但是，当你想进一步接受培训的时候，当你向公司请假处理事务的时候，公司也面露难色，说公司很忙，离不开你。公司是这样一个生物，他会把员工变成没有头脑，只要胳膊的不停干活的怪物。离开他，你就不会思考，也养活不了自己，于是你只能更加忠诚而且感激地依附于公司。</p>
<p>员工为什么要对公司忠诚？员工只要忠实于自己的薪水和职业理想就行了。 </p>


<p>No related posts.</p>


No related posts.]]></description>
			<content:encoded><![CDATA[<p>人生就象一场游戏，有赢有输，有得有失，没有人会一帆风顺的走完所有的路。而任何游戏都有自己游戏规则，违背这个规则的人，虽然不一定遗臭万年，又或者被黑道、国家机器追杀，但是人言可畏、三人成虎还是会的。尤其是在中国这个孙子兵法的故乡，一贯崇尚“上兵罚谋”。</p>
<p>作为一个人，总是要出来“混”的，打工也好、雇工也罢，很少有人只是吃吃喝喝的过一辈子。且不说老祖宗一贯教导我们，儒家‘有为’，道家‘入世’；就是想浑浑沌沌的一辈子，也是怪吓人的。</p>
<p>出来，总是要有份职业，也宿有职业人生的说法。也正象游戏有游戏规则一样，职场也有职场规则，只是我们一向称之为职场潜规则。既然是‘潜规则‘，那就是说在规章制度之外的规则，也不一定是‘上纲上线’的规则。但是，一旦不注意，被人利用，就不再是那么简单。正是只有千日作贼，哪有千日防贼的啊。现在将我能想到的简单几点写出来，供大家参考参考。</p>
<p><span id="more-483"></span><br />
&#8212;-你是有老板的。这是很重要的一个观点。很多学生，包括我当年毕业时，是何等的目中无人，意气风发、踌躇满志。经历过事业单位的人事斗争，台湾老板的狠毒剥削，包括现在为社会主义企业打工；这一点感触颇多。</p>
<p>如果你跟错一个老板，一个在人事斗争中只会倒下去的老板，我劝你，要不忍气吞声，投靠到得势的一方，作一个类似‘二狗子’之类的人(就象给当年日本侵略者跑腿的汉奸形象，虽然形象很惨，和中国一向的忠义不符，但保住一碗饭，还是能做到的)；要么揭竿而起，舍卒保车，用自己的牺牲为老板争取到最后的筹码。</p>
<p>绝对不要相信，新来的老板还会象原来的老板那样，对你信任、授权、关心(只要做好工作，其它事情全会为你解决掉)。中国有句很出名的话，“一朝天子一朝臣”。老员工对新老板不服气，新老板板对老员工不喜欢(这么不听话的员工，净和自己对着干，有才也就罢了，无德无才，不开你立威，开谁)。所以，历来新老板上任，总是要开除一批人，安排上自己的亲信；之所以现在隐忍不发，只是时机未到罢了，一年俩载，总会把牌洗干净的。</p>
<p>&#8212;你只有一个老板。也许有人会说，老板还有老板呢？但是，能指挥你工作的人只有一个，这个人常常拥有对你工资的评议权、甚至直接决定发给你工资的多少。你只需要对自己的老板负责，对其他人和颜悦色一点就好，不必过分的逢迎。毕竟，如果连你的老板都保不住自己了，你更不可能会是那些人的对手；你所要做的就是绝对的支持你的老板。当然，有意见可以提，但一定要在两人单独的场合；而且，老板就是老板，提意见也要用请教的口气。中国古代有句话说的好，‘君辱臣死’；没有这种觉悟，你就永远不会和老板站在同一条战线，成为老板的亲信。</p>
<p>这里，还隐含了一个很重要的概念。你只有一个老板，绝对不要‘越级汇报’。不管你的叛逆精神多强，你的人权平等意识多强，除非你打算和老板对着干了，不然，不要做这种‘以卵击石’的事情。<br />
这有三种结果：</p>
<p>你的老板会认为你不尊重他(她)的权威，会对你尽出杀手；</p>
<p>即使你说的对，你老板的老板会怎样认为呢，放在一个天平上，你不会认为‘自己’比‘作为自己上位的老板’还会重要吧，爬上这个位置，有他(她)的功绩、关系，这是你绝对不能比较的，而且在你眼中的大事，可能只是上位者眼中的一个小菜，又怎能影响到你老板的地位呢，两相比较取其轻，于是你被开除了；</p>
<p>除非，你老板的老板就想开他(她)，借刀杀人，小题大做，把他开掉，通常这种情况下，收尾的同时会各打五百，于是你也被开了，就算你不被开，新来的老板能允许这样一个潜在的威胁存在吗？</p>
<p>所以，常见的两种处理方法：</p>
<p>‘秋后处理’，就是说积累到一定的量再处理，这也要明确形势，形势比人强，同样一张牌，在不同的时候打出，会产生截然相反的两种效果。</p>
<p>‘安然离职’，笑着和老板讨论辞职的事宜，而且一定要强调都是因为自己的个人原因，绝对与公司的各种制度、处理事情的方法无关，自己对公司的感情很深，如果不是确实有事，是绝对不会离开的，以后去哪还没想好，现在先处理私人问题(比如回家结婚、父母年纪大了需要照顾、孩子生病需要治疗，等等吧)，并要信誓旦旦的说，今后还会回来看大家的。所谓，伸手不打笑脸人，光棍只打九九不打加一，这样你可以顺利离职，不会受到太多刁难；而且，不会连累平时交往密切的朋友；并且，很多行业说大不大，其实只是那么三五个人的事情，抬头不见低头见，前任老板说你两句坏话传出去，如果不是特别了解事情真相、了解细节、了解他 (她)或者你为人的新老板，你的前途就是难免暗淡无光。</p>
<p>&#8212;最好不要在本单位处对象。我记得华维当年招人时就说过，公司管理人员以上禁止相互结婚。这是为了避免人事关系过于复杂。要知道，培养一个能干的管理人员，绝对不是几个员工能比的上的，这里面要花费很多明里暗里的培训费用，如果有一天，为了开除他(她)，引起其他人员的不满，在背后做点小动作，那你这个老板也不用再当了。挣钱不容易，要你赔钱还不容易吗，你不能赢利，怎么向股东交代，等着炒鱿鱼吧。所以，一般正规的公司遇到这种情况，会两个都开，决不手软。除非你有足够的实力，来保护自己两个；又或者公司不是很正规，只是用来洗黑钱的公司、只是响应党的号召的形象工程(不是以盈利为目的，而是以关系为手段的)、甚至各种机关/事业单位中派系传承。但不论怎样，都至少会带来一点损失，以后你对老板说话必定没有意见，对敌人也不再态度强硬了，只是为了保护自己，保护好自己的饭碗。如果真的有哪个人吸引住你的眼球，等换个单位再考虑吧。当然，做为下层的劳动人员，也是一样，只是你所能威胁的人不同罢了。你的存在，给老板带来了威胁，那你就不需要再存在了。</p>
<p>“三讲”里最重要的一条是“讲政治”，在哪里“讲政治”？哪里都逃不了“政治”，在一向被视为商业第一的公司里，其实也有着激烈的政治斗争，我们称它的游戏规则为潜规则。根据我本人在公司近十年的惨痛教训，总结出以下几条，供各位参考：</p>
<p>潜规则1.CEO就是公司的最大股东</p>
<p>公司以维护股东利益为最高原则，但是在公司谁能看见股东，股东的利益只有靠CEO的个人意志来体现。具体说，董事长是股东大会选出来的，代表了大股东的利益。但有时候总经理也是股东的代表，那么董事长和总经理哪个更有实权，就看各人的道行和历史背景了。所以，各位，为了你自己的利益，你必须明白这一点，公司的老板就是公司代表，听老板的，就是为公司服务，千万不要想当然地为了公司利益，而与老板对着干。他就是你的衣食父母。什么叫尊重资本，就是听老板的话。</p>
<p>潜规则2.老板一定会为公司着想吗？</p>
<p>答案是否定的。老板，任何一个在位的老板，他最关心的还是自己能在这个位子上做多久，为了这个目的，他当然会关心业绩指标和考核，但是保持公司的稳定，是坐牢位置的最重要的基础。如果公司为了业务创新，而预计将出现核心人员的变动，或者冒一些不可确定的风险，进而被底下的副总利用，影响到自己的位置，他会第一个起来反对。当然，他会冠冕堂皇地做这一切，让任何人都觉得他是为了公司长远发展考虑。但他考虑的其实只是自己的长远利益。如果没有长远的预期，那他要做的只是在现有位子上，如何扩大自己和管理层的福利，为自己捞取更多的好处，利用公司为自己捞取更多的人脉关系和社会影响。然后，等公司要对付自己的时候，反过来给公司一刀。</p>
<p>老板想到员工的利益了吗？告诉你吧，从来没有，也不会有，这是小职员的一厢情愿的想法。</p>
<p>潜规则3.女老板好还是男老板好？</p>
<p>如果你是女性职员，那么对你来说，最好你的老板是男老板，因为他有一种先天的优越感和同情弱者的心理，不会把你归入有野心之类，反而会对你格外照顾。如果你的老板是女老板，那可说不好了，女人永远在猜疑中，她会让你觉得她最欣赏你，但是到头来你发现自己一无所得。如果你是男性职员，那么对你来说，你的老板如果是男老板，那么一切按照男人的规则办就好了，没什么麻烦的。但如果你的老板是女老板，那你会有一些问题。与她太近，会有人说小话，但是离她太远，她肯定会有想法。如果她还对你有点意思，那你的麻烦就更大了。所以，总的来说，还是男老板更好些。(我这里绝无贬低女性的意思，如有嫌疑，在此诚恳道歉！)</p>
<p>潜规则4.老板需要的人不一定最有能力</p>
<p>每个老板需要的人，包括两类，一类是能干活的，一类是忠诚于他的，如果只能干活，而看不出对老板多忠诚的人，放心，你一定没有晋升的机会，你的唯一机会就是继续干活，成为老黄牛。如果你只有忠诚而没有很强的业务能力，没关系，你总有一天会上去，因为忠诚与能力更稀缺。如果你能力太强了，即使你很忠诚，老板也会留一个心眼，谁知道明天你会不会取而代之呢？所以你需要有能力，但不一定有很强的能力，但是对老板一定要忠诚，这是晋升的最快途径。</p>
<p>潜规则5.身为员工，你该对谁负责？</p>
<p>身为员工，你该对谁负责啊，这个问题还难吗？对你的工作负责，对你的直接上司负责不就行了。但这个问题也不那么简单。如果你的直接上司能够决定的你的职务和薪水，那么当然，他就是你的贵人，如果你的直接上司的权利并不能决定你的职务和薪水，那么你要弄明白谁是你的贵人。──-给他留下好印象，远比你加班苦干要有效的多。至于这个贵人，别管他是什么的样的人，让他为你服务是最重要的。庸俗吗？庸俗！正确吗？永远正确。</p>
<p>潜规则6.为什么你很能干，却得不到提升？</p>
<p>如果你很能干，好啊，继续干什么去吧。但别怪我为什么不提升你。你干得好，说明你胜任这个位置，既然没有人比你能胜任这个位置，我怎么舍得让你离开呢？呵呵。你很能干，但是提升了你，你还能向过去那么能干吗？这可不敢担保。再说，还有一个你的同事，他也和你一样能干，如果我提了你，岂不会影响他的积极性，所以，最好的办法就是让你们俩暗中竞争，前面永远挂一块肉，这样，公司整体效率才会越来越高。至于那块肉，嘿嘿，等风干的时候，会给你们的。别急。</p>
<p>潜规则7.做100件小事不如做1件大事。</p>
<p>虽然都是为人民服务，为公司出力，但是你需要明白，做100件人人能做的小事，并不如做一件有影响力的大事，更能为自己增加晋升的机会。因为那些小事，如复印啊，打字啊，倒水啊，谁都会做，你做了根本显示不出你来。(除非在一个特殊环境里，人人都不做而你做了，这才显示出价值来)。只有做那些有影响力的，牵动很多人的大事情，才能突显出你的能力来。就是这样。老板也只有在这样的事情上才能对你产生深刻的印象。所以，聪明的职员知道自己该做什么，而不是一味的埋头苦干，然后抱怨为什么得不到升迁。虽然，小事永远是需要人来做的，但是你如果想要大发展，必须学会舍弃那些小事，而去专注于更有影响力的事情。一直努力扫屋子的人，永远扫不了天下！</p>
<p>潜规则8.对老板说句真话，胜过一大堆恭维。</p>
<p>有时候，天天琢磨老板喜欢什么的人，未必能得到重用。为什么？因为在他那样一个位置上，见过的拍马屁的人太多了，什么样的人没见过，想从他那里得到点好处的人也太多了。所以，身为员工的你，有的时候，对某些业务和人，说出你自己的真心话，哪怕含有批评的意味，但是会让老板眼前一亮，心头一震。老板会觉得你是个实在的人，而且有自己的独立见解。老板是对拍马屁的话很受用，但是得拍的到位，拍的力度正好，拍的真实可信，对于虚伪的恭维，老板只有一字：烦！所以，与其费劲心机去猜老板的心思，不如实话实说更有效果。只喜欢恭维的老板，恐怕也没有什么大的发展前景，还跟他干什么，赶紧扯旗！</p>
<p>潜规则9.一鸟在手，胜过十鸟在林。</p>
<p>一般来说，你的直接领导为了留住你，或让你努力干活，总是会许诺年底发奖金或升迁的机会等。这些诺言有些可能是他自己都没有权利决定的，所以不要轻信他们。对这些诺言，你要认真分析，哪些是可能兑现的，哪些是不可能兑现的，那些是可能兑现但不能完全兑现的。然后审视你现有的工作岗位，看看是否新的工作机会更好。我向某公司提出辞职的时候，老板马上提出要升我为副总裁，月薪提高，及年底或有股权激励。但是你想我敢相信吗？即使我留下来了，老板兑现一个月后，是否又会后悔了呢？所以，当你决定要辞职的时候，千万不要相信老板的许诺。总之，看好你手里已有的薪水和机会，不要太过重视那些诺言，毕竟，一鸟在手，胜过十鸟在林。</p>
<p>潜规则10.员工一定要对公司忠诚吗？</p>
<p>这是一个最大的谬误。公司永远号召员工要对公司忠诚，因此才发展出一套企业文化，告诉员工说，你们忠诚公司是有文化的表现，呵呵。但是，当公司裁员的时候，是绝不会可怜你的哦。但是公司需要员工忠诚，当员工工资不高的时候，需要忠诚，当员工需要加班、频繁出差的时候，需要忠诚，当公司需要员工去外地工作的时候，需要忠诚，但是，当你想进一步接受培训的时候，当你向公司请假处理事务的时候，公司也面露难色，说公司很忙，离不开你。公司是这样一个生物，他会把员工变成没有头脑，只要胳膊的不停干活的怪物。离开他，你就不会思考，也养活不了自己，于是你只能更加忠诚而且感激地依附于公司。</p>
<p>员工为什么要对公司忠诚？员工只要忠实于自己的薪水和职业理想就行了。 </p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://andystar.net/2010/02/%e8%81%8c%e5%9c%ba%e6%bd%9c%e8%a7%84%e5%88%99/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IT白领们提升收入</title>
		<link>http://andystar.net/2010/02/it%e7%99%bd%e9%a2%86%e4%bb%ac%e6%8f%90%e5%8d%87%e6%94%b6%e5%85%a5/</link>
		<comments>http://andystar.net/2010/02/it%e7%99%bd%e9%a2%86%e4%bb%ac%e6%8f%90%e5%8d%87%e6%94%b6%e5%85%a5/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 04:44:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[心路历程]]></category>
		<category><![CDATA[精品网摘]]></category>
		<category><![CDATA[心情]]></category>
		<category><![CDATA[思考]]></category>

		<guid isPermaLink="false">http://andystar.net/?p=478</guid>
		<description><![CDATA[<p>昨日，一口气读完了老美纳西姆·尼古拉斯·塔勒布写的畅销书《黑天鹅》，受益匪浅。其实这本书在去年的时候就已经购得，读到几页，被当作生日礼物送了出去，昨日得闲，遂再买，一口气看完。阅毕，想起前些日一朋友所写的日志“IT人如何收入500万”，手又痒痒，故得此文，与大家一起分享白领如何实现收入的黑天鹅。 什么是黑天鹅
按照纳西姆的定义，黑天鹅事件是指的不可预测的重大事件。它罕有发生，但一旦出现，就具有很大的影响力。几乎一切重要的事情都逃不过黑天鹅的影响，而现代世界正是被黑天鹅所左右。认识黑天鹅，才能更深刻地认识世界的复杂性，并从不可预知的未来中获益。</p>
<p>
9.11事件对于我们来说，就是一个不可预测的重大事件。美国建国到现在，也就只有这么一次。它发生了，影响是巨大的，世界甚至被分为前9.11时代和后 9.11时代。纳西姆认识了黑天鹅，于是“他在“9?11”之前大量买入行权价格很低，看似毫无价值的认沽权证，用一种独特的方式做空美国股市，直到恐怖分子劫持飞机撞向纽约世贸大楼，由此获利丰厚，一举成名。”看似简单，但却足以让你佩服的五体投地，甚至怀疑纳西姆是不是本·拉登的亲戚。开个玩笑，不足当真。
白领收入黑天鹅现象
收入“500万”对于月月盼着月末发工资的白领来说，基本上属于一个黑天鹅现象了。美好的假设一个年轻白领税后年薪10万。一年不吃不喝不用，存够500 万，大概需要50年，算税后50万，也需要10年。50年，我们已经老去，再算上每年的通货膨胀，存到那会的500万可能已不算什么了。
如果你的工作是像会计师，建造师，咨询师，牙医，软、硬件工程师等职业的话，那很遗憾，你基本上只能依靠坚持不懈的买彩票来实现黑天鹅事件了。因为这类工作它们受到在既定的时间内服务的人群或客户的最大数量的限制。这些职业中，不论你的报酬有多高，收入总是受限制的。这些职业的收入，基本不太可能有突破性。
如果你的工作是像创业者，股民，作家，歌星，演员等职业话，恭喜你，抓住机会，收入黑天鹅现象在等待着你。还好，创业者被归到了有可能收入飙升的一类，这就是说，只要你有勇气，是有希望的。
我们随机去问一些上班中的白领将来打算的时候会发现，至少一半以上的人回答：将来想自己做。我们去上岛、星巴克等咖啡厅的时候，也会看到三五成群的人在那里谈论他们的创业项目。这些人都在思考自己的收入如何能实现黑天鹅事件。从此不再行尸走肉般朝九晚五的工作，看老板脸色。
IT人如何实现收入黑天鹅
别的行业我没有深入的研究，但对IT人士来说，以下几个是值得尝试的靠谱的方式。抛砖引玉，希望大家一起探讨。
1、做一个网站。互联网降低了创业的门槛，可以说基本已经没有门槛。申请一个域名，租用一个空间，购买一台电脑便可以让你成为让外人仰慕，同行不屑的“站长”。网站贵在内容，一定要做自己精通和拥有资源的。如果你喜欢养牧羊犬，经验丰富，那就别想去做地方门户更不要去做养猫的站，做个专业的牧羊犬之家，你的网站能吸引全国1%的牧羊犬主人和那些想养牧羊犬的人，就不错了。如果你喜欢音乐，还喜欢写歌，那做个歌曲创作网也不错，聚集一堆北漂有才青年，日后保不准能捧红几个歌星。网站上放些网站联盟广告，组织线下聚会，在线销售相关产品，然后慢慢的扩展到其他的品种，经过三至五年的发展，还是有望鱼跃龙门，卖一个好价钱或网站大幅度盈利分红的。
2、做一个开源的小系统。互联网创业大军这么庞大，要么加入这支队伍，要么为这支队伍服务。如果你有技术，不妨多留意留意中小站长都缺什么，创业者们都需要什么。当然你的想法得独特而且不起眼，并且甘心攀附在某一个大树上生存，至少也得是卧薪尝胆的心态。不要指望着立即开发一套全新的BBS取代 Discuz或者动网论坛，那样只会让你死的更快。从下做起，当你的小系统慢慢成为站长必须的时候，就像现在每个站长还没想到网站内容是什么就先上一个 BBS系统一样，那你离成功就不远了。
3、开发一个小软件。经常看看周围的白领们使用电脑上有什么不方便，把公司财务、行政、前台等非技术人员使用excel，word等office软件，使用MSN、QQ、UC等聊天工具、玩某个小游戏时向你求就的问题记下来，归纳总结，如果某个问题总是很多人问，那你机会来了，做这么个小工具。放到网上，分为免费版和收费版。积累一批用户之后，这就是财富突破点。
4、开发个小游戏。开心网，校内网横行天下的今天，会flash，还会flash编程的人机会来了。至少30%的白领们一天8个小时上班时间中有2个小时是属于无聊时间。先想想你自己喜欢玩什么样的游戏，简单、好玩、满足。顺着这几个要素去构思小游戏。不要总意淫着开发一款全网民都喜欢玩，一统江湖的小游戏。全民都喜欢的初衷，结果往往就是全民都唾弃。人以群分，物以类聚，2亿多网民中和你喜好一样，臭味相投的人绝不少数。所以，紧跟你自己的兴趣爱好设计，绝对不会缺乏用户。除非你非我族类。拥有了玩游戏的用户，那收入分成自然也就不会少了。
5、当个写手。这是给想像力极度丰富的人士们写的。不要浪费了你的大脑，古今中外，催人泪下的爱情故事、精彩绝伦的商业传奇、毛骨悚然的妖魔鬼怪绝对可以来个时空大挪移，只要你写的出就有人看的下。榕树下，起点中文，红袖添香，新浪博客等等都提供了众多写作的平台。坚持一种风格的写作，保不准会像《鬼吹灯》那样大红大紫。一本书赚够了三辈子的钱。
最后，谨以此文献给每天奋斗在电脑前的都市白领们。 </p>
<p>本文装载自Vimer的程序世界</p>


<p>No related posts.</p>


No related posts.]]></description>
			<content:encoded><![CDATA[<p>昨日，一口气读完了老美纳西姆·尼古拉斯·塔勒布写的畅销书《黑天鹅》，受益匪浅。其实这本书在去年的时候就已经购得，读到几页，被当作生日礼物送了出去，昨日得闲，遂再买，一口气看完。阅毕，想起前些日一朋友所写的日志“IT人如何收入500万”，手又痒痒，故得此文，与大家一起分享白领如何实现收入的黑天鹅。 什么是黑天鹅<br />
按照纳西姆的定义，黑天鹅事件是指的不可预测的重大事件。它罕有发生，但一旦出现，就具有很大的影响力。几乎一切重要的事情都逃不过黑天鹅的影响，而现代世界正是被黑天鹅所左右。认识黑天鹅，才能更深刻地认识世界的复杂性，并从不可预知的未来中获益。</p>
<p><span id="more-478"></span><br />
9.11事件对于我们来说，就是一个不可预测的重大事件。美国建国到现在，也就只有这么一次。它发生了，影响是巨大的，世界甚至被分为前9.11时代和后 9.11时代。纳西姆认识了黑天鹅，于是“他在“9?11”之前大量买入行权价格很低，看似毫无价值的认沽权证，用一种独特的方式做空美国股市，直到恐怖分子劫持飞机撞向纽约世贸大楼，由此获利丰厚，一举成名。”看似简单，但却足以让你佩服的五体投地，甚至怀疑纳西姆是不是本·拉登的亲戚。开个玩笑，不足当真。<br />
白领收入黑天鹅现象<br />
收入“500万”对于月月盼着月末发工资的白领来说，基本上属于一个黑天鹅现象了。美好的假设一个年轻白领税后年薪10万。一年不吃不喝不用，存够500 万，大概需要50年，算税后50万，也需要10年。50年，我们已经老去，再算上每年的通货膨胀，存到那会的500万可能已不算什么了。<br />
如果你的工作是像会计师，建造师，咨询师，牙医，软、硬件工程师等职业的话，那很遗憾，你基本上只能依靠坚持不懈的买彩票来实现黑天鹅事件了。因为这类工作它们受到在既定的时间内服务的人群或客户的最大数量的限制。这些职业中，不论你的报酬有多高，收入总是受限制的。这些职业的收入，基本不太可能有突破性。<br />
如果你的工作是像创业者，股民，作家，歌星，演员等职业话，恭喜你，抓住机会，收入黑天鹅现象在等待着你。还好，创业者被归到了有可能收入飙升的一类，这就是说，只要你有勇气，是有希望的。<br />
我们随机去问一些上班中的白领将来打算的时候会发现，至少一半以上的人回答：将来想自己做。我们去上岛、星巴克等咖啡厅的时候，也会看到三五成群的人在那里谈论他们的创业项目。这些人都在思考自己的收入如何能实现黑天鹅事件。从此不再行尸走肉般朝九晚五的工作，看老板脸色。<br />
IT人如何实现收入黑天鹅<br />
别的行业我没有深入的研究，但对IT人士来说，以下几个是值得尝试的靠谱的方式。抛砖引玉，希望大家一起探讨。<br />
1、做一个网站。互联网降低了创业的门槛，可以说基本已经没有门槛。申请一个域名，租用一个空间，购买一台电脑便可以让你成为让外人仰慕，同行不屑的“站长”。网站贵在内容，一定要做自己精通和拥有资源的。如果你喜欢养牧羊犬，经验丰富，那就别想去做地方门户更不要去做养猫的站，做个专业的牧羊犬之家，你的网站能吸引全国1%的牧羊犬主人和那些想养牧羊犬的人，就不错了。如果你喜欢音乐，还喜欢写歌，那做个歌曲创作网也不错，聚集一堆北漂有才青年，日后保不准能捧红几个歌星。网站上放些网站联盟广告，组织线下聚会，在线销售相关产品，然后慢慢的扩展到其他的品种，经过三至五年的发展，还是有望鱼跃龙门，卖一个好价钱或网站大幅度盈利分红的。<br />
2、做一个开源的小系统。互联网创业大军这么庞大，要么加入这支队伍，要么为这支队伍服务。如果你有技术，不妨多留意留意中小站长都缺什么，创业者们都需要什么。当然你的想法得独特而且不起眼，并且甘心攀附在某一个大树上生存，至少也得是卧薪尝胆的心态。不要指望着立即开发一套全新的BBS取代 Discuz或者动网论坛，那样只会让你死的更快。从下做起，当你的小系统慢慢成为站长必须的时候，就像现在每个站长还没想到网站内容是什么就先上一个 BBS系统一样，那你离成功就不远了。<br />
3、开发一个小软件。经常看看周围的白领们使用电脑上有什么不方便，把公司财务、行政、前台等非技术人员使用excel，word等office软件，使用MSN、QQ、UC等聊天工具、玩某个小游戏时向你求就的问题记下来，归纳总结，如果某个问题总是很多人问，那你机会来了，做这么个小工具。放到网上，分为免费版和收费版。积累一批用户之后，这就是财富突破点。<br />
4、开发个小游戏。开心网，校内网横行天下的今天，会flash，还会flash编程的人机会来了。至少30%的白领们一天8个小时上班时间中有2个小时是属于无聊时间。先想想你自己喜欢玩什么样的游戏，简单、好玩、满足。顺着这几个要素去构思小游戏。不要总意淫着开发一款全网民都喜欢玩，一统江湖的小游戏。全民都喜欢的初衷，结果往往就是全民都唾弃。人以群分，物以类聚，2亿多网民中和你喜好一样，臭味相投的人绝不少数。所以，紧跟你自己的兴趣爱好设计，绝对不会缺乏用户。除非你非我族类。拥有了玩游戏的用户，那收入分成自然也就不会少了。<br />
5、当个写手。这是给想像力极度丰富的人士们写的。不要浪费了你的大脑，古今中外，催人泪下的爱情故事、精彩绝伦的商业传奇、毛骨悚然的妖魔鬼怪绝对可以来个时空大挪移，只要你写的出就有人看的下。榕树下，起点中文，红袖添香，新浪博客等等都提供了众多写作的平台。坚持一种风格的写作，保不准会像《鬼吹灯》那样大红大紫。一本书赚够了三辈子的钱。<br />
最后，谨以此文献给每天奋斗在电脑前的都市白领们。 </p>
<p>本文装载自<a target="_blank" href="http://www.vimer.cn/">Vimer的程序世界</a></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://andystar.net/2010/02/it%e7%99%bd%e9%a2%86%e4%bb%ac%e6%8f%90%e5%8d%87%e6%94%b6%e5%85%a5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>项目规划</title>
		<link>http://andystar.net/2010/02/project-manage/</link>
		<comments>http://andystar.net/2010/02/project-manage/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 06:15:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[心路历程]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://andystar.net/?p=475</guid>
		<description><![CDATA[<p>前提规划书
明确项目要做什么，怎么做。
预测项目耗费工时及成本。
计划项目开发进度及里程碑，以及每个里程碑的产出物。</p>
<p>这一步主要是让自己和客户清楚，你们打算弄个什么东西出来，什么时候完成，要花多少时间多少钱。</p>
<p></p>
<p>功能规划书
明确项目应该实现的功能，并且对功能进行划分。
对划分出的每一个功能进行基本规划。
如有必要，功能可以进行多层划分，即宏观功能模块和细节功能模块。</p>
<p>这一步要和客户明确，你们捣鼓的这个东西能干什么，不能干什么。
同时帮自己搞清楚，这活儿怎么分着干。
就算是一个人单干，也必须在这一步明确总体框架。
同时按照前一步的进度表及定好的里程碑，确定先实现什么功能，后实现什么功能。
功能都明确好之后，今后万一客户需要增加或修改功能。
对内你可以快速知道修改从何处入手，做何种修改，变动是否深刻。
对外你可以和客户交涉，了解客户修改意图，确定是否有实现同样目的而更简便的方法。
当然还可以追溯到前提规划阶段，涉及原定计划时间和开发成本的变更，一旦发生纠纷还能防止互相扯皮。</p>
<p>基本规划书
对每一个功能进行基本规划。
包括，采用什么开发模式（OO还是面向过程）
程序逻辑如何划分，内部数据如何组织，与其他功能模块的I/F如何设计，异常情况如何处理。</p>
<p>我这里的程序一般都用状态机实现，那么我就必须列出所有的内部状态和所有的外部事件。
把内部状态和外部事件组成矩阵，然后在每一个方格中填写适当的处理。（文字级描述状态机的矩阵）
同时还要明确内部状态变迁的条件，画出状态迁移图。</p>
<p>而设计中的功能模块与整个程序其他模块的互动作用，你需要建立表格用文字描述当前功能模块对外界输入/请求产生何种反应的用例。</p>
<p>完成了这些设计之后，今后就算在功能层次产生变动，你也可以快速定位修改的部分，确定修改步骤以及对内部和外部造成的影响。</p>
<p>详细规划书
编码
我相信绝大多数程序员在完成了上面的步骤之后，早已按捺不住立刻开始编码的冲动了。
坦白的说，我也是这样的。</p>
<p>虽然，严格定义上，详细规划必须在编码前完成。
但是，实际操作上，两者同时进行，甚至详细规划稍候进行我觉得也无伤大雅。</p>
<p>详细规划阶段的工作是：
列出实现基本规划的程序的
所有源代码文件一览表，
所有常量，静态变量/全局变量，函数，类的一览表，
函数级描述状态机的矩阵
当前功能模块与外部功能模块的通讯示意图
缓冲区管理方法
根据基本规划阶段确定的用例，用时序图来进行详细描述。
用表格列出每一个函数/类的详细描述，包括返回值，变量类型，变量上下限，函数实现功能，函数调用的必要条件，以及为产生逻辑分支的函数建立流程图。
OO的话还要画出类耦合关系表，检查耦合强度，排除过渡OO的可能性。</p>
<p>详细设计阶段的工作量非常繁琐且巨大，但是也正是发现程序逻辑错误和冗余代码的最佳阶段。</p>
<p>单元测试书
代码完成，并编译通过后。一般是参照详细设计来确认代码是否完全按照设计实现。
单元测试分命令网罗，条件网罗和路径网罗。
命令网罗即检查函数体内所有的执行语句。
条件网罗即检查函数体内所有的条件判断语句，将所有条件的不同分歧路径检查一次即可。
路径网络是最严格的检查，将所有条件的不同分歧的排列组合产生的路径进行全部检查。
考虑到时间因素，一般条件网罗已经足够了。</p>
<p>结合测试书
结合测试，就是在本功能模块完成单元测试的基础上于其他功能模块进行组合。
对照基本规划阶段的用例和详细规划阶段的时序图，对程序的反应进行测试。</p>
<p>功能评价书
最后各模块组装后的整个功能测试，对照功能规划书陈述的所有功能进行。
以上是一个公司级别的大致开发流程。
正如很多人说的，要拿出确实能卖钱的东西，程序员90%的时间是在写文档。
写文档是基本功，是确保正确无误完成任务的关键。</p>
<p>自己一个人进行开发，可以不必像上面说得那么细致划分。
但是最起码的功能，基本，详细三阶段的规划设计我觉得还是必要的。</p>
<p>这些东西就是在公司就职的经验，学校的软件工程应该也会教。
但是窃以为除非天赋过人，否则纸上谈兵不参与实际开发项目，根本难以融会贯通。</p>


<p>No related posts.</p>


No related posts.]]></description>
			<content:encoded><![CDATA[<p>前提规划书<br />
明确项目要做什么，怎么做。<br />
预测项目耗费工时及成本。<br />
计划项目开发进度及里程碑，以及每个里程碑的产出物。</p>
<p>这一步主要是让自己和客户清楚，你们打算弄个什么东西出来，什么时候完成，要花多少时间多少钱。</p>
<p><span id="more-475"></span></p>
<p>功能规划书<br />
明确项目应该实现的功能，并且对功能进行划分。<br />
对划分出的每一个功能进行基本规划。<br />
如有必要，功能可以进行多层划分，即宏观功能模块和细节功能模块。</p>
<p>这一步要和客户明确，你们捣鼓的这个东西能干什么，不能干什么。<br />
同时帮自己搞清楚，这活儿怎么分着干。<br />
就算是一个人单干，也必须在这一步明确总体框架。<br />
同时按照前一步的进度表及定好的里程碑，确定先实现什么功能，后实现什么功能。<br />
功能都明确好之后，今后万一客户需要增加或修改功能。<br />
对内你可以快速知道修改从何处入手，做何种修改，变动是否深刻。<br />
对外你可以和客户交涉，了解客户修改意图，确定是否有实现同样目的而更简便的方法。<br />
当然还可以追溯到前提规划阶段，涉及原定计划时间和开发成本的变更，一旦发生纠纷还能防止互相扯皮。</p>
<p>基本规划书<br />
对每一个功能进行基本规划。<br />
包括，采用什么开发模式（OO还是面向过程）<br />
程序逻辑如何划分，内部数据如何组织，与其他功能模块的I/F如何设计，异常情况如何处理。</p>
<p>我这里的程序一般都用状态机实现，那么我就必须列出所有的内部状态和所有的外部事件。<br />
把内部状态和外部事件组成矩阵，然后在每一个方格中填写适当的处理。（文字级描述状态机的矩阵）<br />
同时还要明确内部状态变迁的条件，画出状态迁移图。</p>
<p>而设计中的功能模块与整个程序其他模块的互动作用，你需要建立表格用文字描述当前功能模块对外界输入/请求产生何种反应的用例。</p>
<p>完成了这些设计之后，今后就算在功能层次产生变动，你也可以快速定位修改的部分，确定修改步骤以及对内部和外部造成的影响。</p>
<p>详细规划书<br />
编码<br />
我相信绝大多数程序员在完成了上面的步骤之后，早已按捺不住立刻开始编码的冲动了。<br />
坦白的说，我也是这样的。</p>
<p>虽然，严格定义上，详细规划必须在编码前完成。<br />
但是，实际操作上，两者同时进行，甚至详细规划稍候进行我觉得也无伤大雅。</p>
<p>详细规划阶段的工作是：<br />
列出实现基本规划的程序的<br />
所有源代码文件一览表，<br />
所有常量，静态变量/全局变量，函数，类的一览表，<br />
函数级描述状态机的矩阵<br />
当前功能模块与外部功能模块的通讯示意图<br />
缓冲区管理方法<br />
根据基本规划阶段确定的用例，用时序图来进行详细描述。<br />
用表格列出每一个函数/类的详细描述，包括返回值，变量类型，变量上下限，函数实现功能，函数调用的必要条件，以及为产生逻辑分支的函数建立流程图。<br />
OO的话还要画出类耦合关系表，检查耦合强度，排除过渡OO的可能性。</p>
<p>详细设计阶段的工作量非常繁琐且巨大，但是也正是发现程序逻辑错误和冗余代码的最佳阶段。</p>
<p>单元测试书<br />
代码完成，并编译通过后。一般是参照详细设计来确认代码是否完全按照设计实现。<br />
单元测试分命令网罗，条件网罗和路径网罗。<br />
命令网罗即检查函数体内所有的执行语句。<br />
条件网罗即检查函数体内所有的条件判断语句，将所有条件的不同分歧路径检查一次即可。<br />
路径网络是最严格的检查，将所有条件的不同分歧的排列组合产生的路径进行全部检查。<br />
考虑到时间因素，一般条件网罗已经足够了。</p>
<p>结合测试书<br />
结合测试，就是在本功能模块完成单元测试的基础上于其他功能模块进行组合。<br />
对照基本规划阶段的用例和详细规划阶段的时序图，对程序的反应进行测试。</p>
<p>功能评价书<br />
最后各模块组装后的整个功能测试，对照功能规划书陈述的所有功能进行。<br />
以上是一个公司级别的大致开发流程。<br />
正如很多人说的，要拿出确实能卖钱的东西，程序员90%的时间是在写文档。<br />
写文档是基本功，是确保正确无误完成任务的关键。</p>
<p>自己一个人进行开发，可以不必像上面说得那么细致划分。<br />
但是最起码的功能，基本，详细三阶段的规划设计我觉得还是必要的。</p>
<p>这些东西就是在公司就职的经验，学校的软件工程应该也会教。<br />
但是窃以为除非天赋过人，否则纸上谈兵不参与实际开发项目，根本难以融会贯通。</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://andystar.net/2010/02/project-manage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>shell脚本条件判断</title>
		<link>http://andystar.net/2010/01/shell%e8%84%9a%e6%9c%ac%e6%9d%a1%e4%bb%b6%e5%88%a4%e6%96%ad/</link>
		<comments>http://andystar.net/2010/01/shell%e8%84%9a%e6%9c%ac%e6%9d%a1%e4%bb%b6%e5%88%a4%e6%96%ad/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 09:58:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[编程]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://andystar.net/?p=473</guid>
		<description><![CDATA[<p>UNIX Shell 编程中条件判断是极为重要的,以下是常用的条件判断:</p>
<p>-b file            若文件存在且是一个块特殊文件，则为真
-c file            若文件存在且是一个字符特殊文件，则为真
-d file            若文件存在且是一个目录，则为真
-e file            若文件存在，则为真
-f [...]


Related posts:<ol><li><a href='http://andystar.net/2008/02/bash-%e6%98%93%e5%bf%98%e6%80%bb%e7%bb%93/' rel='bookmark' title='Permanent Link: Bash 易忘总结'>Bash 易忘总结</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>UNIX Shell 编程中条件判断是极为重要的,以下是常用的条件判断:</p>
<p>-b file            若文件存在且是一个块特殊文件，则为真<br />
-c file            若文件存在且是一个字符特殊文件，则为真<br />
-d file            若文件存在且是一个目录，则为真<br />
-e file            若文件存在，则为真<br />
-f file            若文件存在且是一个规则文件，则为真<br />
-g file            若文件存在且设置了SGID位的值，则为真<br />
-h file            若文件存在且为一个符合链接，则为真<br />
-k file            若文件存在且设置了&#8221;sticky&#8221;位的值<br />
-p file            若文件存在且为一已命名管道，则为真<br />
-r file            若文件存在且可读，则为真<br />
-s file            若文件存在且其大小大于零，则为真<br />
-u file            若文件存在且设置了SUID位，则为真<br />
-w file            若文件存在且可写，则为真<br />
-x file            若文件存在且可执行，则为真<br />
-o file            若文件存在且被有效用户ID所拥有，则为真</p>
<p>-z string          若string长度为0，则为真<br />
-n string          若string长度不为0，则为真<br />
string1 = string2  若两个字符串相等，则为真<br />
string1 != string2 若两个字符串不相等，则为真</p>
<p>int1 -eq int2      若int1等于int2，则为真<br />
int1 -ne int2      若int1不等于int2，则为真<br />
int1 -lt int2      若int1小于int2，则为真<br />
int1 -le int2      若int1小于等于int2，则为真<br />
int1 -gt int2      若int1大于int2，则为真<br />
int1 -ge int2      若int1大于等于int2，则为真</p>
<p>!expr              若expr为假则复合表达式为真。expr可以是任何有效的测试表达式<br />
expr1 -a expr2     若expr1和expr2都为真则整式为真<br />
expr1 -o expr2     若expr1和expr2有一个为真则整式为真</p>
<p>特殊变量</p>
<p>$0                 正在被执行命令的名字。对于shell脚本而言，这是被激活命令的路径<br />
$n                 该变量与脚本被激活时所带的参数相对应。n是正整数，与参数位置相对应($1,$2&#8230;)<br />
$#                 提供脚本的参数号<br />
$*                 所有这些参数都被双引号引住。若一个脚本接收两个参数，$*等于$1$2<br />
$@                 所有这些参数都分别被双引号引住。若一个脚本接收到两个参数，$@等价于$1$2<br />
$?                 前一个命令执行后的退出状态<br />
$$                 当前shell的进程号。对于shell脚本，这是其正在执行时的进程ID<br />
$!                 前一个后台命令的进程号</p>


<p>Related posts:<ol><li><a href='http://andystar.net/2008/02/bash-%e6%98%93%e5%bf%98%e6%80%bb%e7%bb%93/' rel='bookmark' title='Permanent Link: Bash 易忘总结'>Bash 易忘总结</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://andystar.net/2010/01/shell%e8%84%9a%e6%9c%ac%e6%9d%a1%e4%bb%b6%e5%88%a4%e6%96%ad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>a new approach to china</title>
		<link>http://andystar.net/2010/01/new-approach-to-china/</link>
		<comments>http://andystar.net/2010/01/new-approach-to-china/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 02:34:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[心路历程]]></category>

		<guid isPermaLink="false">http://andystar.net/?p=467</guid>
		<description><![CDATA[<p>由于google官方博客被墙了,所以转一下这篇google官方博客的文章</p>
<p>转自google英文官方博客: </p>
<p>Like many other well-known organizations, we face cyber attacks of varying degrees on a regular basis. In mid-December, we detected a highly sophisticated and targeted attack on our corporate infrastructure originating from China that resulted in the theft of intellectual property from Google. However, it soon became clear that what at first appeared to [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>由于google官方博客被墙了,所以转一下这篇google官方博客的文章</p>
<p><a href="http://googleblog.blogspot.com/2010/01/new-approach-to-china.html">转自google英文官方博客: </a></p>
<p>Like many other well-known organizations, we face cyber attacks of varying degrees on a regular basis. In mid-December, we detected a highly sophisticated and targeted attack on our corporate infrastructure originating from China that resulted in the theft of intellectual property from Google. However, it soon became clear that what at first appeared to be solely a security incident&#8211;albeit a significant one&#8211;was something quite different.<br />
<span id="more-467"></span><br />
First, this attack was not just on Google. As part of our investigation we have discovered that at least twenty other large companies from a wide range of businesses&#8211;including the Internet, finance, technology, media and chemical sectors&#8211;have been similarly targeted. We are currently in the process of notifying those companies, and we are also working with the relevant U.S. authorities.</p>
<p>Second, we have evidence to suggest that a primary goal of the attackers was accessing the Gmail accounts of Chinese human rights activists. Based on our investigation to date we believe their attack did not achieve that objective. Only two Gmail accounts appear to have been accessed, and that activity was limited to account information (such as the date the account was created) and subject line, rather than the content of emails themselves.</p>
<p>Third, as part of this investigation but independent of the attack on Google, we have discovered that the accounts of dozens of U.S.-, China- and Europe-based Gmail users who are advocates of human rights in China appear to have been routinely accessed by third parties. These accounts have not been accessed through any security breach at Google, but most likely via phishing scams or malware placed on the users&#8217; computers.</p>
<p>We have already used information gained from this attack to make infrastructure and architectural improvements that enhance security for Google and for our users. In terms of individual users, we would advise people to deploy reputable anti-virus and anti-spyware programs on their computers, to install patches for their operating systems and to update their web browsers. Always be cautious when clicking on links appearing in instant messages and emails, or when asked to share personal information like passwords online. You can read more here about our cyber-security recommendations. People wanting to learn more about these kinds of attacks can read this U.S. government report (PDF), Nart Villeneuve&#8217;s blog and this presentation on the GhostNet spying incident.</p>
<p>We have taken the unusual step of sharing information about these attacks with a broad audience not just because of the security and human rights implications of what we have unearthed, but also because this information goes to the heart of a much bigger global debate about freedom of speech. In the last two decades, China&#8217;s economic reform programs and its citizens&#8217; entrepreneurial flair have lifted hundreds of millions of Chinese people out of poverty. Indeed, this great nation is at the heart of much economic progress and development in the world today.</p>
<p>We launched Google.cn in January 2006 in the belief that the benefits of increased access to information for people in China and a more open Internet outweighed our discomfort in agreeing to censor some results. At the time we made clear that &#8220;we will carefully monitor conditions in China, including new laws and other restrictions on our services. If we determine that we are unable to achieve the objectives outlined we will not hesitate to reconsider our approach to China.&#8221;</p>
<p>These attacks and the surveillance they have uncovered&#8211;combined with the attempts over the past year to further limit free speech on the web&#8211;have led us to conclude that we should review the feasibility of our business operations in China. We have decided we are no longer willing to continue censoring our results on Google.cn, and so over the next few weeks we will be discussing with the Chinese government the basis on which we could operate an unfiltered search engine within the law, if at all. We recognize that this may well mean having to shut down Google.cn, and potentially our offices in China.</p>
<p>The decision to review our business operations in China has been incredibly hard, and we know that it will have potentially far-reaching consequences. We want to make clear that this move was driven by our executives in the United States, without the knowledge or involvement of our employees in China who have worked incredibly hard to make Google.cn the success it is today. We are committed to working responsibly to resolve the very difficult issues raised.</p>
<p>Posted by David Drummond, SVP, Corporate Development and Chief Legal Officer</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://andystar.net/2010/01/new-approach-to-china/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用 Javascript 操作 Cookie</title>
		<link>http://andystar.net/2009/12/%e7%94%a8-javascript-%e6%93%8d%e4%bd%9c-cookie/</link>
		<comments>http://andystar.net/2009/12/%e7%94%a8-javascript-%e6%93%8d%e4%bd%9c-cookie/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 03:50:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://andystar.net/?p=463</guid>
		<description><![CDATA[<p>Cookie 是维护客户端状态的解决方案之一，在大多数服务器端语言中都提供了对 Cookie 直接操作的函数，在客户端，我们可以用  javascript 来实现对 Cookie 的操作。本文介绍的就是用 Javascript 操作 Cookie 的方法</p>

?Download cookies.js1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// 说明：用 Javascript 操作 Cookie 
// 整理：http://andystar.net/
function getCookie&#40; name &#41; &#123;
var start = document.cookie.indexOf&#40; name + &#34;=&#34; &#41;;
var len = start + name.length + 1;
if &#40; &#40; !start &#41; &#38;&#38; &#40; name != document.cookie.substring&#40; 0, name.length &#41; &#41; &#41; &#123;
return null;
&#125;
if &#40; [...]


Related posts:<ol><li><a href='http://andystar.net/2009/04/%e8%ae%a9fckeditor%e6%8f%92%e5%85%a5%e7%9a%84%e5%9b%be%e7%89%87%e8%87%aa%e5%8a%a8%e7%bc%a9%e5%b0%8f/' rel='bookmark' title='Permanent Link: 让FCKeditor插入的图片自动缩小'>让FCKeditor插入的图片自动缩小</a></li>
<li><a href='http://andystar.net/2009/05/idcard-verify/' rel='bookmark' title='Permanent Link: 身份证检测'>身份证检测</a></li>
<li><a href='http://andystar.net/2009/12/php-imitate-post-form/' rel='bookmark' title='Permanent Link: php模拟post提交'>php模拟post提交</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Cookie 是维护客户端状态的解决方案之一，在大多数服务器端语言中都提供了对 Cookie 直接操作的函数，在客户端，我们可以用  javascript 来实现对 Cookie 的操作。本文介绍的就是用 Javascript 操作 Cookie 的方法</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://andystar.net/wp-content/plugins/wp-codebox/wp-codebox.php?p=463&amp;download=cookies.js">cookies.js</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4632"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
</pre></td><td class="code" id="p463code2"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// 说明：用 Javascript 操作 Cookie </span>
<span style="color: #006600; font-style: italic;">// 整理：http://andystar.net/</span>
<span style="color: #003366; font-weight: bold;">function</span> getCookie<span style="color: #009900;">&#40;</span> <span style="color: #000066;">name</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">var</span> start <span style="color: #339933;">=</span> document.<span style="color: #660066;">cookie</span>.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span> <span style="color: #000066;">name</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;=&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> len <span style="color: #339933;">=</span> start <span style="color: #339933;">+</span> <span style="color: #000066;">name</span>.<span style="color: #660066;">length</span> <span style="color: #339933;">+</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span>start <span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span> <span style="color: #000066;">name</span> <span style="color: #339933;">!=</span> document.<span style="color: #660066;">cookie</span>.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #000066;">name</span>.<span style="color: #660066;">length</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> start <span style="color: #339933;">==</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span> <span style="color: #009900;">&#41;</span> <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> end <span style="color: #339933;">=</span> document.<span style="color: #660066;">cookie</span>.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span> <span style="color: #3366CC;">';'</span><span style="color: #339933;">,</span> len <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> end <span style="color: #339933;">==</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span> <span style="color: #009900;">&#41;</span> end <span style="color: #339933;">=</span> document.<span style="color: #660066;">cookie</span>.<span style="color: #660066;">length</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">return</span> unescape<span style="color: #009900;">&#40;</span> document.<span style="color: #660066;">cookie</span>.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span> len<span style="color: #339933;">,</span> end <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> setCookie<span style="color: #009900;">&#40;</span> <span style="color: #000066;">name</span><span style="color: #339933;">,</span> value<span style="color: #339933;">,</span> expires<span style="color: #339933;">,</span> path<span style="color: #339933;">,</span> domain<span style="color: #339933;">,</span> secure <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">var</span> today <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
today.<span style="color: #660066;">setTime</span><span style="color: #009900;">&#40;</span> today.<span style="color: #660066;">getTime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> expires <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
expires <span style="color: #339933;">=</span> expires <span style="color: #339933;">*</span> <span style="color: #CC0000;">1000</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">60</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">60</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">24</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #003366; font-weight: bold;">var</span> expires_date <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span> today.<span style="color: #660066;">getTime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>expires<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
document.<span style="color: #660066;">cookie</span> <span style="color: #339933;">=</span> <span style="color: #000066;">name</span><span style="color: #339933;">+</span><span style="color: #3366CC;">'='</span><span style="color: #339933;">+</span>escape<span style="color: #009900;">&#40;</span> value <span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
<span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span> expires <span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> <span style="color: #3366CC;">';expires='</span><span style="color: #339933;">+</span>expires_date.<span style="color: #660066;">toGMTString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">''</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #006600; font-style: italic;">//expires.toGMTString()</span>
<span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span> path <span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> <span style="color: #3366CC;">';path='</span> <span style="color: #339933;">+</span> path <span style="color: #339933;">:</span> <span style="color: #3366CC;">''</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
<span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span> domain <span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> <span style="color: #3366CC;">';domain='</span> <span style="color: #339933;">+</span> domain <span style="color: #339933;">:</span> <span style="color: #3366CC;">''</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
<span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span> secure <span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> <span style="color: #3366CC;">';secure'</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">''</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> deleteCookie<span style="color: #009900;">&#40;</span> <span style="color: #000066;">name</span><span style="color: #339933;">,</span> path<span style="color: #339933;">,</span> domain <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> getCookie<span style="color: #009900;">&#40;</span> <span style="color: #000066;">name</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> document.<span style="color: #660066;">cookie</span> <span style="color: #339933;">=</span> <span style="color: #000066;">name</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'='</span> <span style="color: #339933;">+</span>
<span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span> path <span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> <span style="color: #3366CC;">';path='</span> <span style="color: #339933;">+</span> path <span style="color: #339933;">:</span> <span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
<span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span> domain <span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> <span style="color: #3366CC;">';domain='</span> <span style="color: #339933;">+</span> domain <span style="color: #339933;">:</span> <span style="color: #3366CC;">''</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span>
<span style="color: #3366CC;">';expires=Thu, 01-Jan-1970 00:00:01 GMT'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>



<p>Related posts:<ol><li><a href='http://andystar.net/2009/04/%e8%ae%a9fckeditor%e6%8f%92%e5%85%a5%e7%9a%84%e5%9b%be%e7%89%87%e8%87%aa%e5%8a%a8%e7%bc%a9%e5%b0%8f/' rel='bookmark' title='Permanent Link: 让FCKeditor插入的图片自动缩小'>让FCKeditor插入的图片自动缩小</a></li>
<li><a href='http://andystar.net/2009/05/idcard-verify/' rel='bookmark' title='Permanent Link: 身份证检测'>身份证检测</a></li>
<li><a href='http://andystar.net/2009/12/php-imitate-post-form/' rel='bookmark' title='Permanent Link: php模拟post提交'>php模拟post提交</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://andystar.net/2009/12/%e7%94%a8-javascript-%e6%93%8d%e4%bd%9c-cookie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php模拟post提交</title>
		<link>http://andystar.net/2009/12/php-imitate-post-form/</link>
		<comments>http://andystar.net/2009/12/php-imitate-post-form/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 01:34:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[编程]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://andystar.net/?p=456</guid>
		<description><![CDATA[<p>1.通过curl函数</p>

?Download curl_post.php1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
&#60;?php
$post_data = array&#40;&#41;;
$post_data&#91;'clientname'&#93; = &#34;test08&#34;;
$post_data&#91;'clientpasswd'&#93; = &#34;test08&#34;;
$post_data&#91;'submit'&#93; = &#34;submit&#34;;
$url='http://xxx.xxx.xxx.xx/xx/xxx/top.php';
$o=&#34;&#34;;
foreach &#40;$post_data as $k=&#38;gt;$v&#41;
&#123;
    $o.= &#34;$k=&#34;.urlencode&#40;$v&#41;.&#34;&#38;amp;&#34;;
&#125;
$post_data=substr&#40;$o,0,-1&#41;;
$ch = curl_init&#40;&#41;;
curl_setopt&#40;$ch, CURLOPT_POST, 1&#41;;
curl_setopt&#40;$ch, CURLOPT_HEADER, 0&#41;;
curl_setopt&#40;$ch, CURLOPT_URL,$url&#41;;
//为了支持cookie
curl_setopt&#40;$ch, CURLOPT_COOKIEJAR, 'cookie.txt'&#41;;
curl_setopt&#40;$ch, CURLOPT_POSTFIELDS, $post_data&#41;;
$result = curl_exec&#40;$ch&#41;;
?&#62;

<p>2.通过fsockopen.</p>

?Download fsockopen_post.php1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
&#60;?php
$URL=‘http://xxx.xxx.xxx.xx/xx/xxx/top.php';
$post_data&#91;'clientname'&#93; = &#34;test08&#34;;
&#160;
$post_data&#91;'clientpasswd'&#93; = &#34;test08&#34;;
&#160;
$post_data&#91;'submit'&#93; = &#34;提交&#34;;
&#160;
$referrer=&#34;&#34;;
&#160;
// parsing the given URL
&#160;
$URL_Info=parse_url&#40;$URL&#41;;
&#160;
// Building referrer
&#160;
if&#40;$referrer==&#34;&#34;&#41; // if not given use this script as referrer
&#160;
$referrer=$_SERVER&#91;&#34;SCRIPT_URI&#34;&#93;;
// making string [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>1.通过curl函数</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://andystar.net/wp-content/plugins/wp-codebox/wp-codebox.php?p=456&amp;download=curl_post.php">curl_post.php</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4566"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code" id="p456code6"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$post_data</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$post_data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'clientname'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;test08&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$post_data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'clientpasswd'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;test08&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$post_data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'submit'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;submit&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$url</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'http://xxx.xxx.xxx.xx/xx/xxx/top.php'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$o</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$post_data</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$k</span><span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$o</span><span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$k</span>=&quot;</span><span style="color: #339933;">.</span><a href="http://www.php.net/urlencode"><span style="color: #990000;">urlencode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&amp;amp;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$post_data</span><span style="color: #339933;">=</span><a href="http://www.php.net/substr"><span style="color: #990000;">substr</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$o</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$ch</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/curl_init"><span style="color: #990000;">curl_init</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_POST<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_HEADER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_URL<span style="color: #339933;">,</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//为了支持cookie</span>
<a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_COOKIEJAR<span style="color: #339933;">,</span> <span style="color: #0000ff;">'cookie.txt'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_POSTFIELDS<span style="color: #339933;">,</span> <span style="color: #000088;">$post_data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/curl_exec"><span style="color: #990000;">curl_exec</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>2.通过fsockopen.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://andystar.net/wp-content/plugins/wp-codebox/wp-codebox.php?p=456&amp;download=fsockopen_post.php">fsockopen_post.php</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4567"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
</pre></td><td class="code" id="p456code7"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$URL</span><span style="color: #339933;">=</span>‘http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//xxx.xxx.xxx.xx/xx/xxx/top.php';</span>
<span style="color: #000088;">$post_data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'clientname'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;test08&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$post_data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'clientpasswd'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;test08&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$post_data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'submit'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;提交&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$referrer</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// parsing the given URL</span>
&nbsp;
<span style="color: #000088;">$URL_Info</span><span style="color: #339933;">=</span><a href="http://www.php.net/parse_url"><span style="color: #990000;">parse_url</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$URL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Building referrer</span>
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$referrer</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// if not given use this script as referrer</span>
&nbsp;
<span style="color: #000088;">$referrer</span><span style="color: #339933;">=</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SCRIPT_URI&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// making string from $data</span>
&nbsp;
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$post_data</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span><span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #000088;">$values</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$key</span>=&quot;</span><span style="color: #339933;">.</span><a href="http://www.php.net/urlencode"><span style="color: #990000;">urlencode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$data_string</span><span style="color: #339933;">=</span><a href="http://www.php.net/implode"><span style="color: #990000;">implode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&amp;amp;&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$values</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Find out which port is needed - if not given use standard (=80)</span>
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$URL_Info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;port&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #000088;">$URL_Info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;port&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">80</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// building POST-request:</span>
&nbsp;
<span style="color: #000088;">$request</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">&quot;POST &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$URL_Info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;path&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; HTTP/1.1<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$request</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">&quot;Host: &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$URL_Info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;host&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$request</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">&quot;Referer: <span style="color: #006699; font-weight: bold;">$referrer</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$request</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">&quot;Content-type: application/x-www-form-urlencoded<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$request</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">&quot;Content-length: &quot;</span><span style="color: #339933;">.</span><a href="http://www.php.net/strlen"><span style="color: #990000;">strlen</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data_string</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$request</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">&quot;Connection: close<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$request</span><span style="color: #339933;">.=</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$request</span><span style="color: #339933;">.=</span><span style="color: #000088;">$data_string</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fsockopen"><span style="color: #990000;">fsockopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$URL_Info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;host&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$URL_Info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;port&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.php.net/fputs"><span style="color: #990000;">fputs</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$request</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><a href="http://www.php.net/feof"><span style="color: #990000;">feof</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #000088;">$result</span> <span style="color: #339933;">.=</span> <a href="http://www.php.net/fgets"><span style="color: #990000;">fgets</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">128</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>eg:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://andystar.net/wp-content/plugins/wp-codebox/wp-codebox.php?p=456&amp;download=curl_post.php">curl_post.php</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4568"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
</pre></td><td class="code" id="p456code8"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #009933; font-style: italic;">/**
$url post string url
$post_data array(key,value)
$succ_info string of the return page to identify if the post is succeed
**/</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> curl_post<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #000088;">$post_data</span><span style="color: #339933;">=</span><a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #000088;">$succ_info</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <a href="http://www.php.net/empty"><span style="color: #990000;">empty</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <a href="http://www.php.net/empty"><span style="color: #990000;">empty</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$post_data</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'function curl_post no url input or post_data !'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">FALSE</span> <span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$ch</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/curl_init"><span style="color: #990000;">curl_init</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_POST<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_HEADER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_URL<span style="color: #339933;">,</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_POSTFIELDS<span style="color: #339933;">,</span> <span style="color: #000088;">$post_data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/curl_exec"><span style="color: #990000;">curl_exec</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span> <span style="color: #339933;">,</span> <span style="color: #000088;">$succ_info</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">FALSE</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Warring : post to <span style="color: #006699; font-weight: bold;">$url</span> error!&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">FALSE</span> <span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span> <span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<a href="http://www.php.net/curl_close"><span style="color: #990000;">curl_close</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>



<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://andystar.net/2009/12/php-imitate-post-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>不要做温室的鸭子</title>
		<link>http://andystar.net/2009/11/%e4%b8%8d%e8%a6%81%e5%81%9a%e6%b8%a9%e5%ae%a4%e7%9a%84%e9%b8%ad%e5%ad%90/</link>
		<comments>http://andystar.net/2009/11/%e4%b8%8d%e8%a6%81%e5%81%9a%e6%b8%a9%e5%ae%a4%e7%9a%84%e9%b8%ad%e5%ad%90/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 14:02:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[心路历程]]></category>
		<category><![CDATA[思考]]></category>

		<guid isPermaLink="false">http://andystar.net/?p=453</guid>
		<description><![CDATA[<p>曾经看到一个故事——鸭子的逃生机会. 故事是： 一只很普通，很可爱的鸭子，它生活在无忧无虑的养殖场中，生活在父母的千般宠爱中。从小到大，没有人亏待它，没有人招惹它，也没有人欺负它，它就这么从乳臭未干到羽翼丰满。有一天主人将它从笼中带出来，说是带它去见世面，鸭子是充满喜悦和好奇地去了。 在一个人声鼎沸的集市，鸭子见到好多喜欢自己的人，指着自己向主人问这问那，最后，一位慈眉善目的新主人将它从笼中拉了出来，放在自行车上一路骑回家。鸭子并不知道大祸将降临，它甚至天真地以为，因为它的听话很温驯，会引来新主人更多的垂青，从此会过上更好的生活。</p>
<p></p>
<p>自行车要经过一座很窄的小桥，桥上人多拥挤，新主人集中精力骑车。如果鸭子在此时&#8221;越狱&#8221;，翻身跃到桥下的小河里，又会回来自由自在的生活里去。也许是它觉得日复一日的日子太平凡了，也许是它觉得好马不应该吃回头草，也许是小河里的新环境会让它无所适从，它还是表现得那样温驯和听话。一眨眼，小河远去了，鸭子终于来到它最后的归宿——新人的厨房…… 这是一位游刃职场多年之后，终于拥有自己公司的朋友给我讲起的故事。朋友在讲完这个普通的故事之后，提出了一个不普通的问题：&#8221;你能说出，从头到尾，鸭子有多少次逃生的机会吗？&#8221; 我说：&#8221;似乎，就只有经过小河的那一次。&#8221; 朋友摇摇头说：&#8221;不对，正确的答案是没有。你只是受了那条小河的误导！&#8221; 我奇怪了：&#8221;此话怎讲？&#8221; &#8220;你必须承认，这是一只温室长大的鸭子。&#8221;朋友认真的说，&#8221;温室里长大的鸭子，它的理想是什么？不过是想吃好点，喝好点，玩好点。所以，它只有对给他施舍的主人巴结讨好，同时打击贬低跟它一样抢食的同行。这样的鸭子胸无激情，缺乏创新，甚至机会来了也会视而不见。而鸭子主人的心思是什么？是花最少的化价将鸭子养大，然后利用鸭子的升值去获得最多的利润。虽然，他们也很喜欢鸭子的听话和温驯，但他们更喜欢的是鸭子出手后带来的可观利益。&#8221; &#8220;鸭子的悲剧，在于它没有认真照准自己的定位以及对未来作出预测。现实中的很多人就像温室中长大的鸭子，他们把主人的施舍当作终极目标，习惯在同行之间耍小聪明。事实上呢，主人一直在利用他们的劳动创造剩余价值，去大展自己的宏图。最后，年龄是一道坎，一旦失去劳动力与利用价值之后，他们的结局就和鸭子没什么两样了。&#8221; &#8220;其实鸭子完全有机会改变命运。&#8221;朋友最后说：&#8221;那就是一开始就不要将自己当成普通的鸭子！可以学会下蛋的本事，可以发挥唱歌的特长，可以利用游泳的优势，还可以借鉴野鸭的生存手段，使自己早日变得卓尔不群，不同凡响。只有赢得了主人的刮目相看，才会远离任人宰割的市场。即便不幸遇上倒霉的一天，也可能通过自己的敏感和预见毫不犹豫的抓住最后一次机会，从那座桥上逃生。这样，命运的主动权就始终掌握在自己手中。社会是一所永远的大学，职场某种意义上讲类似养殖场，每一天，每一个场合，每一个人都有自己的学习和表现机会。记住， 除了做到与众不同，你永远无法取胜。甚至，包括未来的逃生。&#8221; 南非前总统曼德拉曾经说过：&#8221;与改变世界相比,改变自己更困难。&#8221;为什么改变自己更困难，甚至是我们难以想象的困难呢？因为改变外物我们会有更多的凭借，而改变我们自己我们只能凭借我们自己。可以说，一个能够较为随心所欲的改变自己的人是个最最了不起的人。古人说过的，教人者师，师己者圣。 改变自己，让自己拾得起放的下，天天学有所获，时时日新月异，时时笑逐颜开，相信最最美丽的东西总能与我们相称相伴。</p>
<p>这篇文章对我很有寓意:那就是提醒自己,不要做一只温室的鸭子!生命只有一次!</p>


<p>No related posts.</p>


No related posts.]]></description>
			<content:encoded><![CDATA[<p>曾经看到一个故事——鸭子的逃生机会. 故事是： 一只很普通，很可爱的鸭子，它生活在无忧无虑的养殖场中，生活在父母的千般宠爱中。从小到大，没有人亏待它，没有人招惹它，也没有人欺负它，它就这么从乳臭未干到羽翼丰满。有一天主人将它从笼中带出来，说是带它去见世面，鸭子是充满喜悦和好奇地去了。 在一个人声鼎沸的集市，鸭子见到好多喜欢自己的人，指着自己向主人问这问那，最后，一位慈眉善目的新主人将它从笼中拉了出来，放在自行车上一路骑回家。鸭子并不知道大祸将降临，它甚至天真地以为，因为它的听话很温驯，会引来新主人更多的垂青，从此会过上更好的生活。</p>
<p><span id="more-453"></span></p>
<p>自行车要经过一座很窄的小桥，桥上人多拥挤，新主人集中精力骑车。如果鸭子在此时&#8221;越狱&#8221;，翻身跃到桥下的小河里，又会回来自由自在的生活里去。也许是它觉得日复一日的日子太平凡了，也许是它觉得好马不应该吃回头草，也许是小河里的新环境会让它无所适从，它还是表现得那样温驯和听话。一眨眼，小河远去了，鸭子终于来到它最后的归宿——新人的厨房…… 这是一位游刃职场多年之后，终于拥有自己公司的朋友给我讲起的故事。朋友在讲完这个普通的故事之后，提出了一个不普通的问题：&#8221;你能说出，从头到尾，鸭子有多少次逃生的机会吗？&#8221; 我说：&#8221;似乎，就只有经过小河的那一次。&#8221; 朋友摇摇头说：&#8221;不对，正确的答案是没有。你只是受了那条小河的误导！&#8221; 我奇怪了：&#8221;此话怎讲？&#8221; &#8220;你必须承认，这是一只温室长大的鸭子。&#8221;朋友认真的说，&#8221;温室里长大的鸭子，它的理想是什么？不过是想吃好点，喝好点，玩好点。所以，它只有对给他施舍的主人巴结讨好，同时打击贬低跟它一样抢食的同行。这样的鸭子胸无激情，缺乏创新，甚至机会来了也会视而不见。而鸭子主人的心思是什么？是花最少的化价将鸭子养大，然后利用鸭子的升值去获得最多的利润。虽然，他们也很喜欢鸭子的听话和温驯，但他们更喜欢的是鸭子出手后带来的可观利益。&#8221; &#8220;鸭子的悲剧，在于它没有认真照准自己的定位以及对未来作出预测。现实中的很多人就像温室中长大的鸭子，他们把主人的施舍当作终极目标，习惯在同行之间耍小聪明。事实上呢，主人一直在利用他们的劳动创造剩余价值，去大展自己的宏图。最后，年龄是一道坎，一旦失去劳动力与利用价值之后，他们的结局就和鸭子没什么两样了。&#8221; &#8220;其实鸭子完全有机会改变命运。&#8221;朋友最后说：&#8221;那就是一开始就不要将自己当成普通的鸭子！可以学会下蛋的本事，可以发挥唱歌的特长，可以利用游泳的优势，还可以借鉴野鸭的生存手段，使自己早日变得卓尔不群，不同凡响。只有赢得了主人的刮目相看，才会远离任人宰割的市场。即便不幸遇上倒霉的一天，也可能通过自己的敏感和预见毫不犹豫的抓住最后一次机会，从那座桥上逃生。这样，命运的主动权就始终掌握在自己手中。社会是一所永远的大学，职场某种意义上讲类似养殖场，每一天，每一个场合，每一个人都有自己的学习和表现机会。记住， 除了做到与众不同，你永远无法取胜。甚至，包括未来的逃生。&#8221; 南非前总统曼德拉曾经说过：&#8221;与改变世界相比,改变自己更困难。&#8221;为什么改变自己更困难，甚至是我们难以想象的困难呢？因为改变外物我们会有更多的凭借，而改变我们自己我们只能凭借我们自己。可以说，一个能够较为随心所欲的改变自己的人是个最最了不起的人。古人说过的，教人者师，师己者圣。 改变自己，让自己拾得起放的下，天天学有所获，时时日新月异，时时笑逐颜开，相信最最美丽的东西总能与我们相称相伴。</p>
<p>这篇文章对我很有寓意:那就是提醒自己,不要做一只温室的鸭子!生命只有一次!</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://andystar.net/2009/11/%e4%b8%8d%e8%a6%81%e5%81%9a%e6%b8%a9%e5%ae%a4%e7%9a%84%e9%b8%ad%e5%ad%90/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
