<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/Codinglog" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/Codinglog" type="application/rss+xml"></fs:self_link><lastBuildDate>Wed, 09 Jun 2010 14:23:12 GMT</lastBuildDate><title>leishao's codinglog</title><description>codinglog@leishao</description><image><url>http://www.feedsky.com/feed/Codinglog/sc/gif</url><title>leishao's codinglog</title><link>http://blog.codinglog.net</link></image><link>http://blog.codinglog.net</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Wed, 16 Jun 2010 14:26:42 GMT</pubDate><item><title>我终于有了一台小小小小的服务器</title><link>http://blog.codinglog.net/archives/54</link><content:encoded>&lt;p&gt;今天申请了linode的vps 服务器 最小的plan，360M的内存，16G的硬盘。作为备份服务器和自己的试验田，应该都够用了。购买的过程很顺利，不过你得有一张支持双币的信用卡。&lt;/p&gt;
&lt;p&gt;最重要的就是服务器的机房的选用，我选的是 &lt;strong&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;Fremont, CA, USA&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; 我选的是CentOS5.5的操作系统，开机一进去，占用的内存才16M！系统干净得出乎我的意料。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; 接下来装一个VPN,然后装nginx，可以慢慢玩了。happy coding！&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;点击以下链接注册，我会得到一些些优惠。&lt;br /&gt;
&lt;strong&gt; &lt;/strong&gt;&lt;a href=&quot;http://www.linode.com/?r=bfd894cac8df6214c69e7d360e18c09aee658da2&quot; target=&quot;_blank&quot;&gt;&lt;code&gt;http://www.linode.com/?r=bfd894cac8df6214c69e7d360e18c09aee658da2&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;一些参考资料：&lt;/p&gt;
&lt;p&gt;1、&lt;span style=&quot;color: #000000;&quot;&gt;&lt;a title=&quot;到《Linode 购买、安装、测试、配置教程》的永久链接&quot; rel=&quot;bookmark&quot; href=&quot;http://www.vpser.net/usa-vps/linode.html&quot;&gt;Linode  购买、安装、测试、配置教程&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2、&lt;/span&gt;&lt;a href=&quot;http://www.jifuyi.com/linode-vps-register-nginx-wordpress-setting/&quot; target=&quot;_blank&quot;&gt;Linode VPS的申请和设置及基于Nginx的WordPress详细配置&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;3、&lt;a href=&quot;http://www.blogkid.net/linode&quot; target=&quot;_blank&quot;&gt;Linode介绍&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/379669337/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/54&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669337/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669337/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://blog.codinglog.net/archives/54/feed</wfw:commentRss><slash:comments>0</slash:comments><description>今天申请了linode的vps 服务器 最小的plan，360M的内存，16G的硬盘。作为备份服务器和自己的试验田，应该都够用了。购买的过程很顺利，不过你得有一张支持双币的信用卡。
最重要的就是服务器的机房的选用，我选的是  Fremont, CA, USA
 我选的是CentOS5.5的操作系统，开机一进去，占用的内存才16M！系统干净得出乎我的意料。
 接下来装一个VPN,然后装nginx，可以慢慢玩了。happy coding！
点击以下链接注册，我会得到一些些优惠。
 http://www.linode.com/?r=bfd894cac8df6214c69e7d360e18c09aee658da2
一些参考资料：
1、Linode  购买、安装、测试、配置教程
2、Linode VPS的申请和设置及基于Nginx的WordPress详细配置
3、Linode介绍&lt;img src=&quot;http://www1.feedsky.com/t1/379669337/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/54&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669337/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669337/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>linux</category><category>linode</category><pubDate>Wed, 09 Jun 2010 22:23:12 +0800</pubDate><author>admin</author><comments>http://blog.codinglog.net/archives/54#comments</comments><guid isPermaLink="false">http://blog.codinglog.net/?p=54</guid><dc:creator>admin</dc:creator><fs:srclink>http://blog.codinglog.net/archives/54</fs:srclink><fs:srcfeed>http://blog.codinglog.net/feed</fs:srcfeed><fs:itemid>feedsky/Codinglog/~8006432/379669337/6115425</fs:itemid></item><item><title>解决centos5.4 搭建好了pptpd却无法连接的问题</title><link>http://blog.codinglog.net/archives/47</link><content:encoded>&lt;p&gt;朋友在自己的服务器上搭建好了pptpd 服务器，好链接vpn结果却无法链接。google了半天&lt;/p&gt;
&lt;p&gt;最后决定查看日志，pptpd的日志位于 /var/log/message&lt;/p&gt;
&lt;p&gt;在windows拨vnp链接，然后tail -f /var/log/message 查看日志信息&lt;/p&gt;
&lt;p&gt;出现了&lt;/p&gt;
&lt;p&gt;May 30 11:32:56 localhost pppd[3398]: In file /etc/ppp/options.pptpd: unrecognized opt ion &amp;#8216;repuire-chap&amp;#8217;&lt;/p&gt;
&lt;p&gt;在配置文件中注释掉 repurie-chap 这行&lt;/p&gt;
&lt;p&gt;接着的问题是：&lt;/p&gt;
&lt;p&gt;May 30 11:58:05 localhost pppd[5503]: Plugin  /usr/lib/pptpd/pptpd-logwtmp.so is for pp    pd version 2.4.3, this is  2.4.4&lt;/p&gt;
&lt;p&gt;google 一下，貌似要下载源码编译新的plugin&lt;/p&gt;
&lt;p&gt;1、下载源代码&lt;/p&gt;
&lt;p&gt;wget http://nchc.dl.sourceforge.net/project/poptop/pptpd/pptpd-1.3.4/pptpd-1.3.4.tar.gz&lt;/p&gt;
&lt;p&gt;2、解压缩进入plugin目录&lt;/p&gt;
&lt;p&gt;tar xvf  pptpd-1.3.4.tar.gz&lt;/p&gt;
&lt;p&gt;cd pptpd-1.3.4/plugins&lt;/p&gt;
&lt;p&gt;cp patchlevel.h patchlevel.h.bak&lt;/p&gt;
&lt;p&gt;sed  -i  &amp;#8217;s/2\.4\.3/2\.4\.4/&amp;#8217; patchlevel.h&lt;/p&gt;
&lt;p&gt;make&lt;/p&gt;
&lt;p&gt;然后把新生成的pptpd-logwtmp.so 拷贝到相应目录即可&lt;/p&gt;
&lt;p&gt;cp pptpd-logwtmp.so /usr/local/lib/pptpd/pptpd-logwtmp.so&lt;/p&gt;
&lt;p&gt;OK,解决&lt;/p&gt;
&lt;p&gt;总结，学会看日志很重 tail -f /var/log/message&lt;/p&gt;
&lt;p&gt;&amp;#8211;EOF&amp;#8211;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/379669338/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/47&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669338/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669338/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://blog.codinglog.net/archives/47/feed</wfw:commentRss><slash:comments>0</slash:comments><description>朋友在自己的服务器上搭建好了pptpd 服务器，好链接vpn结果却无法链接。google了半天
最后决定查看日志，pptpd的日志位于 /var/log/message
在windows拨vnp链接，然后tail -f /var/log/message 查看日志信息
出现了
May 30 11:32:56 localhost pppd[3398]: In file /etc/ppp/options.pptpd: unrecognized opt ion &amp;#8216;repuire-chap&amp;#8217;
在配置文件中注释掉 repurie-chap 这行
接着的问题是：
May 30 11:58:05 localhost pppd[5503]: Plugin  /usr/lib/pptpd/pptpd-logwtmp.so is for pp    pd version 2.4.3, this is  2.4.4
google 一下，貌似要下载源码编译新的plugin
1、下载源代码
wget http://nchc.dl.sourceforge.net/project/poptop/pptpd/pptpd-1.3.4/pptpd-1.3.4.tar.gz
2、解压缩进入plugin目录
tar xvf  pptpd-1.3.4.tar.gz
cd pptpd-1.3.4/plugins
cp patchlevel.h patchlevel.h.bak
sed  -i  &amp;#8217;s/2\.4\.3/2\.4\.4/&amp;#8217; patchlevel.h
make
然后把新生成的pptpd-logwtmp.so 拷贝到相应目录即可
cp pptpd-logwtmp.so /usr/local/lib/pptpd/pptpd-logwtmp.so
OK,解决
总结，学会看日志很重 tail -f /var/log/message
&amp;#8211;EOF&amp;#8211;&lt;img src=&quot;http://www1.feedsky.com/t1/379669338/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/47&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669338/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669338/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>linux</category><pubDate>Sun, 30 May 2010 12:28:42 +0800</pubDate><author>admin</author><comments>http://blog.codinglog.net/archives/47#comments</comments><guid isPermaLink="false">http://blog.codinglog.net/?p=47</guid><dc:creator>admin</dc:creator><fs:srclink>http://blog.codinglog.net/archives/47</fs:srclink><fs:srcfeed>http://blog.codinglog.net/feed</fs:srcfeed><fs:itemid>feedsky/Codinglog/~8006432/379669338/6115425</fs:itemid></item><item><title>pku acm  online jude 分类存档</title><link>http://blog.codinglog.net/archives/45</link><content:encoded>&lt;p&gt;acm.pku.edu.cn&lt;/p&gt;
&lt;p&gt;1、 排序&lt;br /&gt;
1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 2377, 2380, 1318, 1877, 1928, 1971, 1974, 1990, 2001, 2002, 2092, 2379,&lt;br /&gt;
1002（需要字符处理，排序用快排即可） 1007（稳定的排序） 2159（题意较难懂） 2231&lt;br /&gt;
2371（简单排序） 2388（顺序统计算法） 2418（二*排序树）&lt;br /&gt;
2、 搜索、回溯、遍历&lt;br /&gt;
1022,1111,1118,1129,1190,1562,1564,1573,1655,2184,2225,2243,2312,2362,2378,2386,1010,1011,1018,1020,1054,1062,1256,1321,1363,1501,1650,1659,1664,1753,2078,208&lt;br /&gt;
3,2303,2310,2329&lt;/p&gt;
&lt;p&gt;简单：1128, 1166, 1176, 1231, 1256, 1270, 1321, 1543, 1606, 1664, 1731, 1742, 1745, 1847, 1915, 1950, 2038, 2157, 2182, 2183, 2381, 2386, 2426,&lt;br /&gt;
不易：1024, 1054, 1117, 1167, 1708, 1746, 1775, 1878, 1903, 1966, 2046, 2197, 2349,&lt;br /&gt;
推荐：1011, 1190, 1191, 1416, 1579, 1632, 1639, 1659, 1680, 1683, 1691, 1709, 1714, 1753, 1771, 1826, 1855, 1856, 1890, 1924, 1935, 1948, 1979, 1980, 2170, 2288, 2331, 2339, 2340,1979（和迷宫类似） 1980（对剪枝要求较高）&lt;br /&gt;
3、 历法&lt;br /&gt;
1008 2080 （这种题要小心）&lt;br /&gt;
4、 枚举&lt;br /&gt;
1012，1046， 1387， 1411， 2245， 2326， 2363， 2381，1054（剪枝要求较高），1650(小数的精度问题）&lt;br /&gt;
5、 数据结构的典型算法&lt;br /&gt;
容易：1182, 1656, 2021, 2023, 2051, 2153, 2227, 2236, 2247, 2352, 2395,&lt;br /&gt;
不易：1145, 1177, 1195, 1227, 1661, 1834,&lt;br /&gt;
推荐：1330, 1338, 1451, 1470, 1634, 1689, 1693, 1703, 1724, 1988, 2004, 2010, 2119, 2274, 1125(弗洛伊德算法) ，2421（图的最小生成树）&lt;br /&gt;
6、 动态规划&lt;br /&gt;
1037 A decorative fence、&lt;br /&gt;
1050 To the Max、&lt;br /&gt;
1088 滑雪、&lt;br /&gt;
1125 Stockbroker Grapevine、&lt;br /&gt;
1141 Brackets Sequence、&lt;br /&gt;
1159 Palindrome、&lt;br /&gt;
1160 Post Office、&lt;br /&gt;
1163 The Triangle、&lt;br /&gt;
1458 Common Subsequence、&lt;br /&gt;
1579 Function Run Fun、&lt;br /&gt;
1887 Testing the CATCHER、&lt;br /&gt;
1953 World Cup Noise、&lt;br /&gt;
2386 Lake Counting&lt;br /&gt;
动态规划&lt;br /&gt;
容易：&lt;br /&gt;
1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322, 1414, 1456, 1458, 1609, 1644, 1664, 1690, 1699, 1740, 1742, 1887, 1926, 1936, 1952, 1953, 1958, 1959, 1962, 1975, 1989, 2018, 2029, 2033, 2063, 2081, 2082, 2181, 2184, 2192, 2231, 2279, 2329, 2336, 2346, 2353, 2355, 2356, 2385, 2392, 2424,&lt;br /&gt;
不易：&lt;br /&gt;
1019, 1037, 1080, 1112, 1141, 1170, 1192, 1239, 1655, 1695, 1707, 1733, 1737, 1837, 1850, 1920, 1934, 1937, 1964, 2039, 2138, 2151, 2161, 2178,&lt;br /&gt;
推荐：&lt;br /&gt;
1015, 1635, 1636, 1671, 1682, 1692, 1704, 1717, 1722, 1726, 1732, 1770, 1821, 1853, 1949, 2019, 2127, 2176, 2228, 2287, 2342, 2374, 2378, 2384, 2411,&lt;br /&gt;
7、 贪心&lt;br /&gt;
1042, 1065, 1230, 1784,1328 1755（或用单纯形方法），2054，1017， 1328，1862， 1922 ，2054， 2209， 2313， 2325， 2370。&lt;br /&gt;
8、 模拟&lt;br /&gt;
容易：1006, 1008, 1013, 1016, 1017, 1169, 1298, 1326, 1350, 1363, 1676, 1786, 1791, 1835, 1970, 2317, 2325, 2390,&lt;br /&gt;
不易：1012, 1082, 1099, 1114, 1642, 1677, 1684, 1886,1281 1928 2083 2141 2015&lt;br /&gt;
9、 递归&lt;br /&gt;
1664&lt;br /&gt;
10、字符串处理&lt;br /&gt;
1488, 1598, 1686, 1706, 1747, 1748, 1750, 1760, 1782, 1790, 1866, 1888, 1896, 1951, 2003, 2121, 2141, 2145, 2159, 2337, 2359, 2372, 2406, 2408, 1016 1051 1126 1318 1572 1917 1936 2039 2083 2136 2271 2317 2330，2121 2403&lt;br /&gt;
11、数论&lt;br /&gt;
1006,1014,1023,1061,1152,1183,1730,2262&lt;br /&gt;
12、几何有关的题目&lt;br /&gt;
凸包：1113, 1228, 1794, 2007, 2187,1113 wall，2187 beauty contest&lt;br /&gt;
容易：1319, 1654, 1673, 1675, 1836, 2074, 2137, 2318,&lt;br /&gt;
不易：1685, 1687, 1696, 1873, 1901, 2172, 2333,&lt;br /&gt;
13、任意精度运算、数字游戏、高精度计算&lt;br /&gt;
1001 1023 1047 1060 1079 1131 1140 1142 1207 1220 1284 1289 1306 1316 1338 1405 14541503 1504 1519 1565 1650 1969 2000 2006 2081 2247 2262 2305 2316 2389&lt;br /&gt;
1001, 1220, 1405, 1503,1001（高精度乘法） 2413(高精度加法，还有二分查找)&lt;br /&gt;
14、概率统计&lt;br /&gt;
1037,1050&lt;br /&gt;
15、小费用最大流、最大流&lt;br /&gt;
2195 going home，2400 supervisor, supervisee，1087 a plug for UNIX，1149 PIGS，1273 drainage ditches，1274 the perfect stall，1325 machine schedule，1459 power network，2239 selecting courses&lt;br /&gt;
16、压缩存储的DP&lt;br /&gt;
1038 bugs integrated inc，1185 炮兵阵地，2430 lazy cow&lt;br /&gt;
17、最长公共子串（LCS）&lt;br /&gt;
1080 human gene functions，1159 palindrome，1458 common subsequence，2192 zipper&lt;br /&gt;
18、图论及组合数学&lt;br /&gt;
2421 Constructing Roads、&lt;br /&gt;
2369 Permutations、&lt;br /&gt;
2234 Matches Game、&lt;br /&gt;
2243 Knight Moves、&lt;br /&gt;
2249 Binomial Showdown、&lt;br /&gt;
2255 Tree Recovery、&lt;br /&gt;
2084 Game of Connections、&lt;br /&gt;
1906 Three powers、&lt;br /&gt;
1833 排列、&lt;br /&gt;
1850 Code、&lt;br /&gt;
1562 Oil Deposits、&lt;br /&gt;
1496 Word Index、&lt;br /&gt;
1306 Combinations、&lt;br /&gt;
1125 Stockbroker Grapevine、&lt;br /&gt;
1129 Channel Allocation、&lt;br /&gt;
1146 ID Codes、&lt;br /&gt;
1095 Trees Made to Order、找规律&lt;br /&gt;
2247 Humble Numbers、&lt;br /&gt;
2309 BST、&lt;br /&gt;
2346 Lucky tickets、&lt;br /&gt;
2370 Democracy in danger、&lt;br /&gt;
2365 Rope、&lt;br /&gt;
2101 Honey and Milk Land&lt;br /&gt;
2028 When Can We Meet?、&lt;br /&gt;
2084 Game of Connections、&lt;br /&gt;
1915 Knight Moves、&lt;br /&gt;
1922 Ride to School、&lt;br /&gt;
1941 The Sierpinski Fractal、&lt;br /&gt;
1953 World Cup Noise、&lt;br /&gt;
1958 Strange Towers of Hanoi、&lt;br /&gt;
1969 Count on Canton、&lt;br /&gt;
1806 Manhattan 2025、&lt;br /&gt;
1809 Regetni、&lt;br /&gt;
1844 Sum、&lt;br /&gt;
1870 Bee Breeding、&lt;br /&gt;
1702 Eva\&amp;#8217;s Balance、&lt;br /&gt;
1728 A flea on a chessboard、&lt;br /&gt;
1604 Just the Facts、&lt;br /&gt;
1642 Stacking Cubes、&lt;br /&gt;
1656 Counting Black、&lt;br /&gt;
1657 Distance on Chessboard、&lt;br /&gt;
1662 CoIns、&lt;br /&gt;
1663 Number Steps、&lt;br /&gt;
1313 Booklet Printing、&lt;br /&gt;
1316 Self Numbers、&lt;br /&gt;
1320 Street Numbers、&lt;br /&gt;
1323 Game Prediction、&lt;br /&gt;
1338 Ugly Numbers、&lt;br /&gt;
1244 Slots of Fun、&lt;br /&gt;
1250 Tanning Salon、&lt;br /&gt;
1102 LC-Display、&lt;br /&gt;
1147 Binary codes、&lt;br /&gt;
1013 Counterfeit Dollar、&lt;br /&gt;
19、博弈类&lt;br /&gt;
1067 取石子游戏、&lt;br /&gt;
1740 A New Stone Game、&lt;br /&gt;
2234 Matches Game、&lt;br /&gt;
1082 Calendar Game 、&lt;br /&gt;
2348 Euclid\&amp;#8217;s Game、&lt;br /&gt;
2413 How many Fibs?、&lt;br /&gt;
2419 Forest&lt;br /&gt;
20、简单、模拟题&lt;br /&gt;
1001 Exponentiation 、&lt;br /&gt;
1002 487-3279、&lt;br /&gt;
1003 Hangover 、&lt;br /&gt;
1701 Dissatisfying Lift、&lt;br /&gt;
2301 Beat the Spread!、&lt;br /&gt;
2304 Combination Lock、&lt;br /&gt;
2328 Guessing Game、&lt;br /&gt;
2403 Hay Points 、&lt;br /&gt;
2406 Power Strings、&lt;br /&gt;
2339 Rock, Scissors, Paper、&lt;br /&gt;
2350 Above Average、&lt;br /&gt;
2218 Does This Make Me Look Fat?、&lt;br /&gt;
2260 Error Correction、&lt;br /&gt;
2262 Goldbach\&amp;#8217;s Conjecture、&lt;br /&gt;
2272 Bullseye、&lt;br /&gt;
2136 Vertical Histogram、&lt;br /&gt;
2174 Decoding Task、&lt;br /&gt;
2183 Bovine Math Geniuses、&lt;br /&gt;
2000 Gold Coins、&lt;br /&gt;
2014 Flow Layout、&lt;br /&gt;
2051 Argus、&lt;br /&gt;
2081 Calendar、&lt;br /&gt;
1918 Ranking List、&lt;br /&gt;
1922 Ride to School、&lt;br /&gt;
1970 The Game、&lt;br /&gt;
1972 Dice Stacking、&lt;br /&gt;
1974 The Happy Worm、&lt;br /&gt;
1978 Hanafuda Shuffle、&lt;br /&gt;
1979 Red and Black、&lt;br /&gt;
1617 Crypto Columns、&lt;br /&gt;
1666 Candy Sharing Game、&lt;br /&gt;
1674 Sorting by Swapping、&lt;br /&gt;
1503 Integer Inquiry、&lt;br /&gt;
1504 Adding Reversed Numbers、&lt;br /&gt;
1528 Perfection、&lt;br /&gt;
1546 Basically Speaking、&lt;br /&gt;
1547 Clay Bully、&lt;br /&gt;
1573 Robot Motion、&lt;br /&gt;
1575 Easier Done Than Said?、&lt;br /&gt;
1581 A Contesting Decision、&lt;br /&gt;
1590 Palindromes、&lt;br /&gt;
1454 Factorial Frequencies、&lt;br /&gt;
1363 Rails、&lt;br /&gt;
1218 THE DRUNK JAILER、&lt;br /&gt;
1281 MANAGER、&lt;br /&gt;
1132 Border、&lt;br /&gt;
1028 Web Navigation、&lt;br /&gt;
21、初等数学&lt;br /&gt;
1003 Hangover、&lt;br /&gt;
1045 Bode Plot、&lt;br /&gt;
1254 Hansel and Grethel、&lt;br /&gt;
1269 Intersecting Lines、&lt;br /&gt;
1401 Factorial、&lt;br /&gt;
1410 Intersection、&lt;br /&gt;
2363 Blocks 、&lt;br /&gt;
2365 Rope、&lt;br /&gt;
2242 The Circumference of the Circle、&lt;br /&gt;
2291 Rotten Ropes、&lt;br /&gt;
2295 A DP Problem、&lt;br /&gt;
2126 Factoring a Polynomial、&lt;br /&gt;
2191 Mersenne Composite Numbers、&lt;br /&gt;
2196 Specialized Four-Digit Numbers、&lt;br /&gt;
1914 Cramer\&amp;#8217;s Rule、&lt;br /&gt;
1835 宇航员、&lt;br /&gt;
1799 Yeehaa!、&lt;br /&gt;
1607 Deck、&lt;br /&gt;
1244 Slots of Fun、&lt;br /&gt;
1269 Intersecting Lines、&lt;br /&gt;
1299 Polar Explorer、&lt;br /&gt;
1183 反正切函数的应用、&lt;br /&gt;
22、匹配&lt;br /&gt;
1274, 1422, 1469, 1719, 2060, 2239&lt;br /&gt;
===================================&lt;br /&gt;
经典&lt;br /&gt;
1011（搜索好题）&lt;br /&gt;
1012（学会打表）&lt;br /&gt;
1013&lt;br /&gt;
1019（它体现了很多此类问题的特点）&lt;br /&gt;
1050（绝对经典的dp）&lt;br /&gt;
1088（dp好题）&lt;br /&gt;
1157（花店，经典的dp）&lt;br /&gt;
1163（怎么经典的dp那么多呀？？？）&lt;br /&gt;
1328（贪心）&lt;br /&gt;
1458（最长公共子序列）&lt;br /&gt;
1647（很好的真题，考临场分析准确和下手迅速）&lt;br /&gt;
1654（学会多边形面积的三角形求法）&lt;br /&gt;
1655（一类无根树的dp问题）&lt;br /&gt;
1804（逆序对）&lt;br /&gt;
2084（经典组合数学问题）&lt;br /&gt;
2187（用凸包求最远点对，求出凸包后应该有O(N)的求法，可我就是调不出来）&lt;br /&gt;
2195（二分图的最佳匹配）&lt;br /&gt;
2242（计算几何经典）&lt;br /&gt;
2295（等式处理）&lt;br /&gt;
2353（dp，但要记录最佳路径）&lt;br /&gt;
2354（立体解析几何）&lt;br /&gt;
2362（搜索好题）&lt;br /&gt;
2410（读懂题是关键）&lt;br /&gt;
2411（经典dp）&lt;/p&gt;
&lt;p&gt;趣味&lt;br /&gt;
1067（很难的数学，但仔细研究，是一片广阔的领域）&lt;br /&gt;
1147（有O(n)的算法，需要思考）&lt;br /&gt;
1240（直到一棵树的先序和后序遍历，那么有几种中序遍历呢？dp）&lt;br /&gt;
1426（是数论吗？错，是图论！）&lt;br /&gt;
1648（别用计算几何，用整点这个特点绕过精度的障碍吧）&lt;br /&gt;
1833（找规律）&lt;br /&gt;
1844（貌似dp或是搜索，其实是道有趣的数学题）&lt;br /&gt;
1922（贪心，哈哈）&lt;br /&gt;
2231&lt;br /&gt;
2305（不需要高精度噢）&lt;br /&gt;
2328（要仔细噢）&lt;br /&gt;
2356（数论知识）&lt;br /&gt;
2359（约瑟夫问题变种）&lt;br /&gt;
2392（有趣的问题）&lt;/p&gt;
&lt;p&gt;很繁的题&lt;br /&gt;
1001&lt;br /&gt;
1008&lt;br /&gt;
1087（构图很烦，还有二分图的最大匹配）&lt;br /&gt;
1128（USACO）&lt;br /&gt;
1245&lt;br /&gt;
1329&lt;br /&gt;
1550（考的是读题和理解能力）&lt;br /&gt;
1649（dp）&lt;br /&gt;
2200（字符串处理+枚举）&lt;br /&gt;
2358（枚举和避免重复都很烦）&lt;br /&gt;
2361（仔细仔细再仔细）&lt;/p&gt;
&lt;p&gt;难题&lt;br /&gt;
1014（数学证明比较难，但有那种想法更重要）&lt;br /&gt;
1037（比较难的dp）&lt;br /&gt;
1405（高精度算法也分有等级之分，不断改进吧）&lt;br /&gt;
2002（不知道有没有比O(n^2*logn)更有的算法？）&lt;br /&gt;
2054（极难，很强的思考能力）&lt;br /&gt;
2085（组合数学）&lt;br /&gt;
2414（dp，但要剪枝）&lt;br /&gt;
2415（搜索）&lt;br /&gt;
2423（计算几何+统计）&lt;/p&gt;
&lt;p&gt;多解题&lt;br /&gt;
1002（可以用排序，也可以用统计的方法）&lt;br /&gt;
1338（搜索和dp都可以）&lt;br /&gt;
1664（搜索和dp都练一练吧）&lt;br /&gt;
2082（这可是我讲的题噢）&lt;br /&gt;
2352（桶排和二*树都行）&lt;/p&gt;
&lt;p&gt;Note:&lt;br /&gt;
1011: 很经典的剪支&lt;br /&gt;
1014: 难在数学上&lt;br /&gt;
1017: 严格的数学证明貌似不容易&lt;br /&gt;
1021: 有点繁,考察对图形进行各种旋转的处理&lt;br /&gt;
1083: 巧妙的思考角度&lt;br /&gt;
1150: 分奇偶讨论,lg(n)算法&lt;br /&gt;
1218: 三行就够了,虽然简单,但也有优劣之别&lt;br /&gt;
1505: 二分加贪心&lt;br /&gt;
1654: 做法也许很多吧,本人用有向面积做的&lt;br /&gt;
1674: 计算圈的个数(算是graph 吧)&lt;br /&gt;
1700: 数学证明不容易&lt;br /&gt;
1742: O(m*n)的算法&lt;br /&gt;
1863: 要耐心地慢慢写…^_^&lt;br /&gt;
1988: 并查集&lt;br /&gt;
2051: 堆&lt;br /&gt;
2078: 不难，但剪支可以做到很好&lt;br /&gt;
2082::O(n),你想到了吗？&lt;br /&gt;
2084: 卡特兰数&lt;br /&gt;
2182: 线段树&lt;br /&gt;
2195: 最小费用最大流&lt;br /&gt;
2234: 经典博弈算法&lt;br /&gt;
2236: 并查集&lt;br /&gt;
2299: 二分思想&lt;br /&gt;
2395: Kruskal 最小生成树的拓展&lt;br /&gt;
2406: KMP&lt;br /&gt;
2411: 用二进制串来表示状态&lt;/p&gt;
&lt;p&gt;其实最好的做题时间是在大学时候，现在仅做存档吧。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/379669339/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/45&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669339/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669339/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://blog.codinglog.net/archives/45/feed</wfw:commentRss><slash:comments>0</slash:comments><description>acm.pku.edu.cn
1、 排序
1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 2377, 2380, 1318, 1877, 1928, 1971, 1974, 1990, 2001, 2002, 2092, 2379,
1002（需要字符处理，排序用快排即可） 1007（稳定的排序） 2159（题意较难懂） 2231
2371（简单排序） 2388（顺序统计算法） 2418（二*排序树）
2、 搜索、回溯、遍历
1022,1111,1118,1129,1190,1562,1564,1573,1655,2184,2225,2243,2312,2362,2378,2386,1010,1011,1018,1020,1054,1062,1256,1321,1363,1501,1650,1659,1664,1753,2078,208
3,2303,2310,2329
简单：1128, 1166, 1176, 1231, 1256, 1270, 1321, 1543, 1606, 1664, 1731, 1742, 1745, 1847, 1915, 1950, 2038, 2157, 2182, 2183, 2381, 2386, 2426,
不易：1024, 1054, 1117, 1167, [...]&lt;img src=&quot;http://www1.feedsky.com/t1/379669339/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/45&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669339/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669339/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>Algorithm</category><pubDate>Sun, 30 May 2010 00:32:21 +0800</pubDate><author>admin</author><comments>http://blog.codinglog.net/archives/45#comments</comments><guid isPermaLink="false">http://blog.codinglog.net/?p=45</guid><dc:creator>admin</dc:creator><fs:srclink>http://blog.codinglog.net/archives/45</fs:srclink><fs:srcfeed>http://blog.codinglog.net/feed</fs:srcfeed><fs:itemid>feedsky/Codinglog/~8006432/379669339/6115425</fs:itemid></item><item><title>selinux的操作</title><link>http://blog.codinglog.net/archives/42</link><content:encoded>&lt;p&gt;selinux服务在centos中是默认开启的,不过它的存在常常影响到apache等服务器的访问，下面是centos 中的一些selinux的常识&lt;/p&gt;
&lt;p&gt;1、配置文件&lt;/p&gt;
&lt;p&gt;/etc/selinux/config&lt;/p&gt;
&lt;p&gt;SELINUX =&amp;#8221;enforcing&amp;#8221; 为开启  SELINUX =&amp;#8221;disabled&amp;#8221; 为关闭&lt;/p&gt;
&lt;p&gt;2、查看selinux的状态&lt;/p&gt;
&lt;p&gt;getenforce&lt;/p&gt;
&lt;p&gt;3、设置selinux&lt;/p&gt;
&lt;p&gt;一种使用setenforce命令&lt;/p&gt;
&lt;pre class=&quot;brush: bash;&quot;&gt;

setenforce  1  //开启selinux

setenforce  ０  //关闭selinux
&lt;/pre&gt;
&lt;p&gt;二、修改配置文件&lt;/p&gt;
&lt;p&gt;三、修改grub&lt;/p&gt;
&lt;p&gt;在grub的启动参数中增加：selinux=0 关闭 selinux&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/379669340/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/42&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669340/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669340/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://blog.codinglog.net/archives/42/feed</wfw:commentRss><slash:comments>0</slash:comments><description>selinux服务在centos中是默认开启的,不过它的存在常常影响到apache等服务器的访问，下面是centos 中的一些selinux的常识
1、配置文件
/etc/selinux/config
SELINUX =&amp;#8221;enforcing&amp;#8221; 为开启  SELINUX =&amp;#8221;disabled&amp;#8221; 为关闭
2、查看selinux的状态
getenforce
3、设置selinux
一种使用setenforce命令


setenforce  1  //开启selinux

setenforce  ０  //关闭selinux

二、修改配置文件
三、修改grub
在grub的启动参数中增加：selinux=0 关闭 selinux&lt;img src=&quot;http://www1.feedsky.com/t1/379669340/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/42&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669340/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669340/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>linux</category><pubDate>Fri, 28 May 2010 22:39:49 +0800</pubDate><author>admin</author><comments>http://blog.codinglog.net/archives/42#comments</comments><guid isPermaLink="false">http://blog.codinglog.net/?p=42</guid><dc:creator>admin</dc:creator><fs:srclink>http://blog.codinglog.net/archives/42</fs:srclink><fs:srcfeed>http://blog.codinglog.net/feed</fs:srcfeed><fs:itemid>feedsky/Codinglog/~8006432/379669340/6115425</fs:itemid></item><item><title>ubuntu启用root用户</title><link>http://blog.codinglog.net/archives/39</link><content:encoded>&lt;p&gt;出于安全的考虑，ubuntu是禁用root用户的，普通用户可以通过sudo来获得root权限。如果你要切换到root用户可以通过一下几种方式&lt;/p&gt;
&lt;p&gt;一、添加root的用户的密码&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;sudo passwd root&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;二、直接sudo切换&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;sudo -s&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;如果要禁用root用户直接 sudo passwd -l root 即可&lt;/p&gt;
&lt;p&gt;&amp;#8211;EOF&amp;#8211;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/379669341/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/39&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669341/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669341/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://blog.codinglog.net/archives/39/feed</wfw:commentRss><slash:comments>0</slash:comments><description>出于安全的考虑，ubuntu是禁用root用户的，普通用户可以通过sudo来获得root权限。如果你要切换到root用户可以通过一下几种方式
一、添加root的用户的密码
sudo passwd root
二、直接sudo切换
sudo -s
如果要禁用root用户直接 sudo passwd -l root 即可
&amp;#8211;EOF&amp;#8211;&lt;img src=&quot;http://www1.feedsky.com/t1/379669341/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/39&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669341/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669341/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>ubuntu</category><category>linux</category><pubDate>Fri, 28 May 2010 21:30:48 +0800</pubDate><author>admin</author><comments>http://blog.codinglog.net/archives/39#comments</comments><guid isPermaLink="false">http://blog.codinglog.net/?p=39</guid><dc:creator>admin</dc:creator><fs:srclink>http://blog.codinglog.net/archives/39</fs:srclink><fs:srcfeed>http://blog.codinglog.net/feed</fs:srcfeed><fs:itemid>feedsky/Codinglog/~8006432/379669341/6115425</fs:itemid></item><item><title>开始学习CI</title><link>http://blog.codinglog.net/archives/35</link><content:encoded>&lt;p&gt;学习CI 一个简单的学习新框架的案例                  &lt;img class=&quot;alignnone&quot; title=&quot;ci&quot; src=&quot;http://codeigniter.org.cn/images/design/ci_logo2.gif&quot; alt=&quot;&quot; width=&quot;250&quot; height=&quot;73&quot; /&gt;&lt;/p&gt;
&lt;p&gt;原来的学过cakephp,也用cakephp做过一个项目，zendframewokr的学习曲线太抖了，所以选择CodeIgniter进行 快速开发，学习的东西能立马作出来才有意义&lt;/p&gt;
&lt;p&gt;zendframework  无论是cakephp还是zendframework 都是类似于rails的框架,重配置,基本遵循DRY的原则 ZendFramework 应用了非常多的设计模式，甚至有点像java了。  看看CodeIgniter的特性吧&lt;/p&gt;
&lt;p&gt;CodeIgniter 就是你所需要的，如果&amp;#8230;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;你想要一个小巧的框架。&lt;/li&gt;
&lt;li&gt;你需要出色的性能。&lt;/li&gt;
&lt;li&gt;你需要广泛兼容标准主机上的各种 PHP 版本和配置（例如 PHP4）。&lt;/li&gt;
&lt;li&gt;你想要一个几乎只需 0 配置的框架。&lt;/li&gt;
&lt;li&gt;你想要一个不需使用命令行的框架。&lt;/li&gt;
&lt;li&gt;你想要一个不需坚守限制性编码规则的框架。&lt;/li&gt;
&lt;li&gt;你对 PEAR 这种大规模集成类库不感兴趣。&lt;/li&gt;
&lt;li&gt;你不希望被迫学习一门模板语言（虽然可以选择你喜欢的模板解析器）。&lt;/li&gt;
&lt;li&gt;你不喜欢复杂，热爱简单。&lt;/li&gt;
&lt;li&gt;你需要清晰、完整的文档。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;那现在就开始吧  当然每个框架都有它的代表CMS,CodeIgniter也不例外,那就是expressionengine http://expressionengine.com/&lt;/p&gt;
&lt;p&gt;还有就是参考文档，以及一本书： &lt;a href=&quot;http://docs.google.com/leaf?id=0B8czc3vCGea6MjhkZGU0ZDktOTVkOC00ZDkwLTlkZTctZjNmZTBmNzc2YzRm&amp;amp;sort=name&amp;amp;layout=list&amp;amp;num=50&amp;amp;pli=1&quot;&gt;codeigniter-for-rapid-php-application-development &lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/379669342/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/35&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669342/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669342/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://blog.codinglog.net/archives/35/feed</wfw:commentRss><slash:comments>0</slash:comments><description>学习CI 一个简单的学习新框架的案例                  
原来的学过cakephp,也用cakephp做过一个项目，zendframewokr的学习曲线太抖了，所以选择CodeIgniter进行 快速开发，学习的东西能立马作出来才有意义
zendframework  无论是cakephp还是zendframework 都是类似于rails的框架,重配置,基本遵循DRY的原则 ZendFramework 应用了非常多的设计模式，甚至有点像java了。  看看CodeIgniter的特性吧
CodeIgniter 就是你所需要的，如果&amp;#8230;

你想要一个小巧的框架。
你需要出色的性能。
你需要广泛兼容标准主机上的各种 PHP 版本和配置（例如 PHP4）。
你想要一个几乎只需 0 配置的框架。
你想要一个不需使用命令行的框架。
你想要一个不需坚守限制性编码规则的框架。
你对 PEAR 这种大规模集成类库不感兴趣。
你不希望被迫学习一门模板语言（虽然可以选择你喜欢的模板解析器）。
你不喜欢复杂，热爱简单。
你需要清晰、完整的文档。

那现在就开始吧  当然每个框架都有它的代表CMS,CodeIgniter也不例外,那就是expressionengine http://expressionengine.com/
还有就是参考文档，以及一本书： codeigniter-for-rapid-php-application-development&lt;img src=&quot;http://www1.feedsky.com/t1/379669342/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/35&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669342/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669342/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>CodeIgniter</category><pubDate>Thu, 20 May 2010 15:38:58 +0800</pubDate><author>admin</author><comments>http://blog.codinglog.net/archives/35#comments</comments><guid isPermaLink="false">http://blog.codinglog.net/?p=35</guid><dc:creator>admin</dc:creator><fs:srclink>http://blog.codinglog.net/archives/35</fs:srclink><fs:srcfeed>http://blog.codinglog.net/feed</fs:srcfeed><fs:itemid>feedsky/Codinglog/~8006432/379669342/6115425</fs:itemid></item><item><title>ubuntu10.04 使用google dns</title><link>http://blog.codinglog.net/archives/33</link><content:encoded>&lt;p&gt;最近公司的dns服务器经常抽风，所以干脆把dns给改了。&lt;/p&gt;
&lt;p&gt;一、备份&lt;/p&gt;
&lt;pre class=&quot;brush: bash;&quot;&gt;
mv  /etc/resolv.conf  /etc/resolv.conf.bak
&lt;/pre&gt;
&lt;p&gt;二、编辑文件resolv.conf&lt;/p&gt;
&lt;pre class=&quot;brush: bash;&quot;&gt;sudo vim /etc/resolv.conf&lt;/pre&gt;
&lt;p&gt;清空文件内容，然后加入下面两行&lt;/p&gt;
&lt;pre class=&quot;brush: bash;&quot;&gt;
nameserver 8.8.8.8
nameserver 8.8.4.4
&lt;/pre&gt;
&lt;p&gt;保存退出(:wq)&lt;/p&gt;
&lt;p&gt;三、设置文件/etc/resolv.conf 为只读 (防止被dhcp更改)&lt;/p&gt;
&lt;pre class=&quot;brush: bash;&quot;&gt;sudo chattr +i  /etc/resolv.conf&lt;/pre&gt;
&lt;p&gt;四、重启网络&lt;/p&gt;
&lt;pre class=&quot;brush: bash;&quot;&gt;sudo /etc/init.d/networking restart&lt;/pre&gt;
&lt;p&gt;五、测试是否生效&lt;/p&gt;
&lt;p&gt;测试是否可以生效&lt;br /&gt;
1、查看使用的dns服务器&lt;br /&gt;
leishao@codinglog:~$ nslookup&lt;br /&gt;
&amp;gt; server&lt;br /&gt;
Default server: 8.8.8.8&lt;br /&gt;
Address: 8.8.8.8#53&lt;br /&gt;
Default server: 8.8.8.4&lt;br /&gt;
Address: 8.8.8.4#53&lt;/p&gt;
&lt;p&gt;2、测试路由&lt;br /&gt;
sudo apt-get install traceroute&lt;/p&gt;
&lt;p&gt;sudo traceroute -n -w 2 -q 2 -m 30 8.8.8.8&lt;/p&gt;
&lt;p&gt;3、测试dns服务器是否可以使用&lt;br /&gt;
nslookup -debug blog.codinglog.net 8.8.8.8&lt;/p&gt;
&lt;p&gt;4、测试是否可以使用其他的dns服务器&lt;br /&gt;
nslooup blog.codinglog.net 4.2.2.1  # Level 3&amp;#8217;s DNS SERVER&lt;br /&gt;
nslooup blog.codinglog.net 4.2.2.2  # Level 3&amp;#8217;s DNS SERVER&lt;br /&gt;
nslookup blog.codinglog.net 208.67.222.222  #OPEN DNS&lt;/p&gt;
&lt;p&gt;测试完毕，大功告成！&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/379669343/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/33&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669343/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669343/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://blog.codinglog.net/archives/33/feed</wfw:commentRss><slash:comments>1</slash:comments><description>最近公司的dns服务器经常抽风，所以干脆把dns给改了。
一、备份

mv  /etc/resolv.conf  /etc/resolv.conf.bak

二、编辑文件resolv.conf
sudo vim /etc/resolv.conf
清空文件内容，然后加入下面两行

nameserver 8.8.8.8
nameserver 8.8.4.4

保存退出(:wq)
三、设置文件/etc/resolv.conf 为只读 (防止被dhcp更改)
sudo chattr +i  /etc/resolv.conf
四、重启网络
sudo /etc/init.d/networking restart
五、测试是否生效
测试是否可以生效
1、查看使用的dns服务器
leishao@codinglog:~$ nslookup
&amp;#62; server
Default server: 8.8.8.8
Address: 8.8.8.8#53
Default server: 8.8.8.4
Address: 8.8.8.4#53
2、测试路由
sudo apt-get install traceroute
sudo traceroute -n -w 2 -q 2 -m 30 8.8.8.8
3、测试dns服务器是否可以使用
nslookup -debug blog.codinglog.net 8.8.8.8
4、测试是否可以使用其他的dns服务器
nslooup blog.codinglog.net 4.2.2.1  # Level 3&amp;#8217;s DNS SERVER
nslooup blog.codinglog.net 4.2.2.2  # Level 3&amp;#8217;s DNS SERVER
nslookup blog.codinglog.net 208.67.222.222  #OPEN DNS
测试完毕，大功告成！&lt;img src=&quot;http://www1.feedsky.com/t1/379669343/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/33&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669343/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669343/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>dns</category><category>ubuntu</category><category>linux</category><category>google</category><pubDate>Wed, 19 May 2010 17:56:27 +0800</pubDate><author>admin</author><comments>http://blog.codinglog.net/archives/33#comments</comments><guid isPermaLink="false">http://blog.codinglog.net/?p=33</guid><dc:creator>admin</dc:creator><fs:srclink>http://blog.codinglog.net/archives/33</fs:srclink><fs:srcfeed>http://blog.codinglog.net/feed</fs:srcfeed><fs:itemid>feedsky/Codinglog/~8006432/379669343/6115425</fs:itemid></item><item><title>apache中文显示乱码处理</title><link>http://blog.codinglog.net/archives/31</link><content:encoded>&lt;p&gt;新开一网站，打开全是乱码，立即想到是apache服务器编码的问题，打开apache的配置文件httpd.conf,找到&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;AddDefaultCharset UTF8&lt;/p&gt;
&lt;p&gt;改为&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;AddDefaultCharset OFF&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;搞定！&lt;/p&gt;
&lt;p&gt;原理：&lt;/p&gt;
&lt;p&gt;当且仅当应答内容是text/plain或text/html时，AddDefaultChartset将会在HTTP应答头中加入的默认字符集。理论上这将覆盖在文档体中通过&amp;lt;meta&amp;gt;标签指定的字符集，AddDefaultCharset Off 将会禁用此功能。AddDefaultCharset On 将启用Apache内部的默认字符集iso-8859-1&lt;/p&gt;
&lt;p&gt;所以如果设定了AddDefaultChartSet 选项，首先显示服务器设置的字符集，然后才是由网页的meta指定的字符集&lt;/p&gt;
&lt;p&gt;AddDefaultCharset只应当在如下情况下使用：所有文本资源都使用同一种确定的字符集，且分别标记他们的字符集非常麻烦。一个这样的例子是向包含动态内容的资源中添加字符集参数(比如先前遗留的CGI脚本)，这样可能会因为在输出中包含用户提供的数据而导致跨站点脚本攻击。但是请注意：更好的解决办法是修改或删除这些脚本，因为设置了默认的字符集以后将会使得浏览器的字符集自动探测功能失效。&lt;/p&gt;
&lt;p&gt;所以如果你的页面编码是gb2312,而且页面没有指定meta，你就可以直接在虚拟主机主机配置文件或者相应的配置文件中加入AddDefaultCharSet GB2312解决&lt;/p&gt;
&lt;p&gt;另利用AddCharSet 建立文件的后缀文件名和相应的字符集进行映射，比如：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;AddLanguage ja .ja&lt;br /&gt;
AddCharset ISO-2022-JP .jis&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;文档xxxx.ja.jis会被当成是使用字符集ISO-2022-JP的日文文档&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/379669344/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/31&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669344/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669344/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://blog.codinglog.net/archives/31/feed</wfw:commentRss><slash:comments>1</slash:comments><description>新开一网站，打开全是乱码，立即想到是apache服务器编码的问题，打开apache的配置文件httpd.conf,找到
AddDefaultCharset UTF8
改为
AddDefaultCharset OFF
搞定！
原理：
当且仅当应答内容是text/plain或text/html时，AddDefaultChartset将会在HTTP应答头中加入的默认字符集。理论上这将覆盖在文档体中通过&amp;#60;meta&amp;#62;标签指定的字符集，AddDefaultCharset Off 将会禁用此功能。AddDefaultCharset On 将启用Apache内部的默认字符集iso-8859-1
所以如果设定了AddDefaultChartSet 选项，首先显示服务器设置的字符集，然后才是由网页的meta指定的字符集
AddDefaultCharset只应当在如下情况下使用：所有文本资源都使用同一种确定的字符集，且分别标记他们的字符集非常麻烦。一个这样的例子是向包含动态内容的资源中添加字符集参数(比如先前遗留的CGI脚本)，这样可能会因为在输出中包含用户提供的数据而导致跨站点脚本攻击。但是请注意：更好的解决办法是修改或删除这些脚本，因为设置了默认的字符集以后将会使得浏览器的字符集自动探测功能失效。
所以如果你的页面编码是gb2312,而且页面没有指定meta，你就可以直接在虚拟主机主机配置文件或者相应的配置文件中加入AddDefaultCharSet GB2312解决
另利用AddCharSet 建立文件的后缀文件名和相应的字符集进行映射，比如：
AddLanguage ja .ja
AddCharset ISO-2022-JP .jis
文档xxxx.ja.jis会被当成是使用字符集ISO-2022-JP的日文文档&lt;img src=&quot;http://www1.feedsky.com/t1/379669344/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/31&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669344/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669344/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>apache</category><category>LAMP</category><pubDate>Wed, 19 May 2010 14:23:11 +0800</pubDate><author>admin</author><comments>http://blog.codinglog.net/archives/31#comments</comments><guid isPermaLink="false">http://blog.codinglog.net/?p=31</guid><dc:creator>admin</dc:creator><fs:srclink>http://blog.codinglog.net/archives/31</fs:srclink><fs:srcfeed>http://blog.codinglog.net/feed</fs:srcfeed><fs:itemid>feedsky/Codinglog/~8006432/379669344/6115425</fs:itemid></item><item><title>二分法算法实现</title><link>http://blog.codinglog.net/archives/29</link><content:encoded>&lt;p&gt;二分查找(binary search)，也叫做折半查找。主要是对一个已经排序的数组进行查找，复杂度为O(logn)。&lt;/p&gt;
&lt;p&gt;基本过程：&lt;/p&gt;
&lt;p&gt;将要查找的值x与数组的中间元素进行比较。如果输入的值x 小于中间元素的值，则在该数组的前半部分查找;否则，在该数组的后半部分查找。如此循环，直到得出结果。&lt;/p&gt;
&lt;pre class=&quot;brush: php;&quot;&gt;
//php的二分法搜索
function binarysearch($key,$arr) {
$low =  0;
$high = count($arr) -1 ;

while($low &amp;lt;=  $high)
{
$mid = (int)(($low + $high)/2);
if ($key &amp;lt; $arr[$mid]) $high = $mid -1; else if ($key &amp;gt; $arr[$mid])
$low = $mid + 1;
else
return $mid;
}
return -1;
}

//测试
$test = array(1,2,3,5,7,9,11,20,222);
$key = 20;
$result = binarysearch($key,$test);
//返回的是7
echo $result;
&lt;/pre&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/379669345/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/29&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669345/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669345/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://blog.codinglog.net/archives/29/feed</wfw:commentRss><slash:comments>1</slash:comments><description>二分查找(binary search)，也叫做折半查找。主要是对一个已经排序的数组进行查找，复杂度为O(logn)。
基本过程：
将要查找的值x与数组的中间元素进行比较。如果输入的值x 小于中间元素的值，则在该数组的前半部分查找;否则，在该数组的后半部分查找。如此循环，直到得出结果。

//php的二分法搜索
function binarysearch($key,$arr) {
$low =  0;
$high = count($arr) -1 ;

while($low &amp;#60;=  $high)
{
$mid = (int)(($low + $high)/2);
if ($key &amp;#60; $arr[$mid]) $high = $mid -1; else if ($key &amp;#62; $arr[$mid])
$low = $mid + 1;
else
return $mid;
}
return -1;
}

//测试
$test = array(1,2,3,5,7,9,11,20,222);
$key = 20;
$result = binarysearch($key,$test);
//返回的是7
echo $result;&lt;img src=&quot;http://www1.feedsky.com/t1/379669345/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/29&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669345/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669345/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>Algorithm</category><pubDate>Tue, 18 May 2010 10:50:23 +0800</pubDate><author>admin</author><comments>http://blog.codinglog.net/archives/29#comments</comments><guid isPermaLink="false">http://blog.codinglog.net/?p=29</guid><dc:creator>admin</dc:creator><fs:srclink>http://blog.codinglog.net/archives/29</fs:srclink><fs:srcfeed>http://blog.codinglog.net/feed</fs:srcfeed><fs:itemid>feedsky/Codinglog/~8006432/379669345/6115425</fs:itemid></item><item><title>在 centos5.2上搭建lamp测试环境</title><link>http://blog.codinglog.net/archives/19</link><content:encoded>&lt;p&gt;今天按测试人员要求给sugarcrm搭建一台lamp的web服务器,做点笔记好歹忙活了半天。&lt;br /&gt;
一、安装完centos后,第一件要做的就是调 整系统的开机启动服务减少占用资源&lt;br /&gt;
1、禁用selinux 和iptables 以及设定开机启动服务若干&lt;br /&gt;
最简单的办法：直接在命令行 setup进行配置&lt;br /&gt;
selinux的配置文件为 /etc/sysconfig/selinux&lt;br /&gt;
如果你禁用的话可以手动进行编辑,也可以 在root权限下使用sed命令:&lt;br /&gt;
sed -i  ‘/SELINUX=enforcing/s/SELINUX=enforcing/SELINUX=disabled/’   /etc/sysconfig/selinux&lt;/p&gt;
&lt;p&gt;对于开机启动服务,可以使用ntsysv进行管理,运行ntsysv后，按空格键代表选中&lt;/p&gt;
&lt;p&gt;设 定好后可以按以下命令查看服务的状态:&lt;/p&gt;
&lt;p&gt;查看服务&lt;br /&gt;
chkconfig –list | wc -l  查询系统总共的服务 个数&lt;br /&gt;
chkconfig  –list | grep 3:on | wc -l 查询个数&lt;br /&gt;
chkconfig –list | grep 3:on | cut  -f1查询运行中的服务&lt;/p&gt;
&lt;p&gt;二、安装php5.2版本的和mysql server&lt;br /&gt;
由于默认源里面的php是5.1的，而 sugarcrm 需要的php版本是5.2的 所以需要从测试仓库中安装新版本的php&lt;br /&gt;
1、新建测试源文件&lt;br /&gt;
vim  /etc/yum.repos.d/CentOS-Testing.repo&lt;br /&gt;
# CentOS-Testing:&lt;br /&gt;
# !!!!  CAUTION !!!!&lt;br /&gt;
# This repository is a proving grounds for packages on  their way to  CentOSPlus and CentOS Extras.&lt;br /&gt;
# They may or may not  replace core CentOS packages, and are not  guaranteed to function  properly.&lt;br /&gt;
# These packages build and install, but are waiting for  feedback from  testers as to&lt;br /&gt;
# functionality and stability. Packages  in this repository will come  and go during the&lt;br /&gt;
# development period,  so it should not be left enabled or used on  production systems without  due&lt;br /&gt;
# consideration.&lt;br /&gt;
[c5-testing]&lt;br /&gt;
name=CentOS-5 Testing&lt;br /&gt;
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/&lt;br /&gt;
enabled=1&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing&lt;br /&gt;
includepkgs=php*&lt;/p&gt;
&lt;p&gt;ps: 加上includepkgs 这行是因为我只想升级php&lt;/p&gt;
&lt;p&gt;yum install php-common -y&lt;/p&gt;
&lt;p&gt;2、 安装mysql服务器并设置开机启动&lt;/p&gt;
&lt;p&gt;安装mysql服务器&lt;br /&gt;
yum install mysql-server&lt;/p&gt;
&lt;p&gt;/usr/bin/mysqladmin  -u root password ‘new-password’&lt;/p&gt;
&lt;p&gt;添加到系统服务中&lt;/p&gt;
&lt;p&gt;/sbin/chkconfig  –add mysqld         [在服务清单中添加mysql服务]&lt;/p&gt;
&lt;p&gt;/sbin/chkconfig mysqld  on             [设置mysql服务开机启动]&lt;/p&gt;
&lt;p&gt;3、忘记mysql密码的处理&lt;/p&gt;
&lt;p&gt;首先，你必须拥有 MySQL操作的所有权限；&lt;/p&gt;
&lt;p&gt;其次，停止MySQL服务：/etc/init.d/mysql stop&lt;/p&gt;
&lt;p&gt;第三，使用无权限 模式启动MySQL服务：mysqld_safe –skip-grant-tables –skip-networking  &amp;amp;&lt;/p&gt;
&lt;p&gt;第 四，登录MySQL重置密码：mysql -u your_user_name mysql&lt;br /&gt;
mysql&amp;gt; UPDATE user SET  Password=PASSWORD(‘New_of_Your_Password’)  WHERE User=’your_user_name’;&lt;br /&gt;
mysql&amp;gt;  FLUSH PRIVILEGES;&lt;/p&gt;
&lt;p&gt;最后，不要忘记重启你的MySQL已使修改生效：/etc/init.d/mysql  restart&lt;/p&gt;
&lt;p&gt;感谢mcspring提供的方法&lt;/p&gt;
&lt;p&gt;http://hi.baidu.com/mcspring/blog/item/78ab84136d142adaf7039ee1.html&lt;/p&gt;
&lt;p&gt;三、 设定centos的网络启动方式&lt;br /&gt;
由于明天得把服务器搬到另一个地方，所以得设置一下centos服务器以静态ip获取地址，这样才可以ssh到&lt;br /&gt;
服 务器上&lt;br /&gt;
到/etc/sysconfig/network-scripts/ 目录寻找网卡的配置文件,比如第一个网卡就是ifcfg-eth0&lt;br /&gt;
更 改为下面这种格式,更改之前先做下备份&lt;br /&gt;
DEVICE=eth0&lt;br /&gt;
BOOTPROTO=none&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
TYPE=Ethernet&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
IPADDR=172.17.103.10&lt;br /&gt;
USERCTL=no&lt;br /&gt;
PEERDNS=yes&lt;br /&gt;
GATEWAY=172.17.103.254&lt;/p&gt;
&lt;p&gt;注 解:&lt;br /&gt;
DEVICE 接口名（设备,网卡）&lt;br /&gt;
BOOTPROTO IP的配置方法（static:固定IP， dhcpHCP，  none:手动）&lt;br /&gt;
HWADDR MAC地址&lt;br /&gt;
ONBOOT 系统启动的时候网络接口是否有效（yes/no）&lt;br /&gt;
TYPE  网络类型（通常是Ethemet）&lt;br /&gt;
NETMASK 网络掩码&lt;br /&gt;
IPADDR IP地址&lt;br /&gt;
IPV6INIT  IPV6是否有效（yes/no）&lt;br /&gt;
GATEWAY 默认网关IP地址&lt;/p&gt;
&lt;p&gt;设置完后重启服务器的网络&lt;/p&gt;
&lt;p&gt;service  network restart&lt;/p&gt;
&lt;p&gt;四、关于sugarcrm安装的一些说明&lt;br /&gt;
1、保证sugarcrm目录可写&lt;br /&gt;
2、保证data和data/upload目录可写&lt;br /&gt;
3、modules 目录可写&lt;br /&gt;
4、cache以及其子目录可写&lt;br /&gt;
5、custom目录可写&lt;br /&gt;
这样就可以了,收工 ^_^&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/379669346/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/19&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669346/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669346/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://blog.codinglog.net/archives/19/feed</wfw:commentRss><slash:comments>3</slash:comments><description>今天按测试人员要求给sugarcrm搭建一台lamp的web服务器,做点笔记好歹忙活了半天。
一、安装完centos后,第一件要做的就是调 整系统的开机启动服务减少占用资源
1、禁用selinux 和iptables 以及设定开机启动服务若干
最简单的办法：直接在命令行 setup进行配置
selinux的配置文件为 /etc/sysconfig/selinux
如果你禁用的话可以手动进行编辑,也可以 在root权限下使用sed命令:
sed -i  ‘/SELINUX=enforcing/s/SELINUX=enforcing/SELINUX=disabled/’   /etc/sysconfig/selinux
对于开机启动服务,可以使用ntsysv进行管理,运行ntsysv后，按空格键代表选中
设 定好后可以按以下命令查看服务的状态:
查看服务
chkconfig –list &amp;#124; wc -l  查询系统总共的服务 个数
chkconfig  –list &amp;#124; grep 3:on &amp;#124; wc -l 查询个数
chkconfig –list &amp;#124; grep 3:on &amp;#124; cut  -f1查询运行中的服务
二、安装php5.2版本的和mysql server
由于默认源里面的php是5.1的，而 sugarcrm 需要的php版本是5.2的 所以需要从测试仓库中安装新版本的php
1、新建测试源文件
vim  /etc/yum.repos.d/CentOS-Testing.repo
# CentOS-Testing:
# !!!!  CAUTION !!!!
# This repository is a proving grounds for [...]&lt;img src=&quot;http://www1.feedsky.com/t1/379669346/Codinglog/feedsky/s.gif?r=http://blog.codinglog.net/archives/19&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/Codinglog/379669346/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/Codinglog/379669346/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>linux</category><category>LAMP</category><pubDate>Mon, 19 Apr 2010 17:12:48 +0800</pubDate><author>admin</author><comments>http://blog.codinglog.net/archives/19#comments</comments><guid isPermaLink="false">http://blog.codinglog.net/?p=19</guid><dc:creator>admin</dc:creator><fs:srclink>http://blog.codinglog.net/archives/19</fs:srclink><fs:srcfeed>http://blog.codinglog.net/feed</fs:srcfeed><fs:itemid>feedsky/Codinglog/~8006432/379669346/6115425</fs:itemid></item></channel></rss>
