<?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>朴石</title>
	<atom:link href="http://www.chenxinxing.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.chenxinxing.com</link>
	<description>陈新兴的信息空间</description>
	<lastBuildDate>Tue, 21 Feb 2012 12:53:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Android权限列表permission说明</title>
		<link>http://www.chenxinxing.com/2012/02/21/307/index.html</link>
		<comments>http://www.chenxinxing.com/2012/02/21/307/index.html#comments</comments>
		<pubDate>Tue, 21 Feb 2012 12:53:12 +0000</pubDate>
		<dc:creator>chenxx</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://www.chenxinxing.com/?p=307</guid>
		<description><![CDATA[Android权限列表permission说明 Android权限分的很细，但命名比较人性化，Android permission比Symbian Capabilities有了不少改进，下面就来看看权限许可都有哪些定义吧，发现还是比较繁多的，如果发现你的程序某个地方调试错误很可能是 Android permission的访问控制在作怪，这也是为了安全防止手机成为病毒的场所。Android开发网获取到的消息来看不用购买高昂的数字签名证书，权限 许可权由用户决定而不是手机制造商和平台提供商，这一点不得不说明为Android开发人员着想，下面的信息都是需要添加在 androidmanifest.xml文件中。 ACCESS_COARSE_LOCATION是有关错略的位置信息获取，比如说MyLocation API调用获取的Cellid等定位信息必需添加android.permission.ACCESS_COARSE_LOCATION这个声明 ACCESS_FINE_LOCATION、ACCESS_LOCATION_EXTRA_COMMANDS、 ACCESS_MOCK_LOCATION是有关GPS定位获取的信息使用GPS LocationProvider类的相关定位信息必需声明android.permission.ACCESS_FINE_LOCATION、 android.permission.ACCESS_LOCATION_EXTRA_COMMANDS和 android.permission.ACCESS_MOCK_LOCATION ACCESS_NETWORK_STATE是获取网络状态的权限控制，如果获取当前GSM网络相关信息必需在androidmanifest.xml中声明android.permission.ACCESS_NETWORK_STATE这句。 ACCESS_SURFACE_FLINGER是使用SurfaceFlinger底层API的令牌，必需声明android.permission.ACCESS_SURFACE_FLINGER ACCESS_WIFI_STATE权限可以获取使用Wi-Fi等WLAN无线网络，加入android.permission.ACCESS_WIFI_STATE这句 ADD_SYSTEM_SERVICE是系统服务数据库的管理权限，比如添加一个系统服务必需声明android.permission.ADD_SYSTEM_SERVICE BATTERY_STATS是获取Android平台上电池设备的权限令牌，必需声明android.permission.BATTERY_STATS才可以获得电池信息 BLUETOOTH蓝牙信息类，获取相关的蓝牙信息必声明android.permission.BLUETOOTH BLUETOOTH_ADMIN是蓝牙管理权限包含了身份安全认证，必需添加android.permission.BLUETOOTH_ADMIN类 BRICK    “android.permission.BRICK” BROADCAST_PACKAGE_REMOVED是广播包移除类权限，可以移除指定的系统消息，必需声明android.permission.BROADCAST_PACKAGE_REMOVED这句 BROADCAST_STICKY    “android.permission.BROADCAST_STICKY” CALL_PHONE是允许Android手机拨打电话时使用的权限    “android.permission.CALL_PHONE” CALL_PRIVILEGED    “android.permission.CALL_PRIVILEGED” CAMERA是摄像头权限控制，可以管理照相功能的启用    “android.permission.CAMERA” CHANGE_COMPONENT_ENABLED_STATE    “android.permission.CHANGE_COMPONENT_ENABLED_STATE” CHANGE_CONFIGURATION是控制Android系统设置等敏感信息的权限，修改时必需有android.permission.CHANGE_CONFIGURATION声明。 CHANGE_NETWORK_STATE    “android.permission.CHANGE_NETWORK_STATE” CHANGE_WIFI_STATE是改变WLAN状态的开关，如果打开或关闭Wi-Fi必需加入android.permission.CHANGE_WIFI_STATE的声明。 CLEAR_APP_CACHE清除程序缓存也是需要权限的，不要忘了包含android.permission.CLEAR_APP_CACHE这句 CLEAR_APP_USER_DATA    “android.permission.CLEAR_APP_USER_DATA” DELETE_CACHE_FILES    “android.permission.DELETE_CACHE_FILES” DELETE_PACKAGES    “android.permission.DELETE_PACKAGES” DEVICE_POWER    “android.permission.DEVICE_POWER” DISABLE_KEYGUARD    “android.permission.DISABLE_KEYGUARD” DUMP    “android.permission.DUMP” EXPAND_STATUS_BAR    “android.permission.EXPAND_STATUS_BAR” FACTORY_TEST    [...]]]></description>
			<content:encoded><![CDATA[<p>Android权限列表permission说明</p>
<p>Android权限分的很细，但命名比较人性化，Android permission比Symbian Capabilities有了不少改进，下面就来看看权限许可都有哪些定义吧，发现还是比较繁多的，如果发现你的程序某个地方调试错误很可能是 Android permission的访问控制在作怪，这也是为了安全防止手机成为病毒的场所。Android开发网获取到的消息来看不用购买高昂的数字签名证书，权限 许可权由用户决定而不是手机制造商和平台提供商，这一点不得不说明为Android开发人员着想，下面的信息都是需要添加在 androidmanifest.xml文件中。</p>
<p>ACCESS_COARSE_LOCATION是有关错略的位置信息获取，比如说MyLocation API调用获取的Cellid等定位信息必需添加android.permission.ACCESS_COARSE_LOCATION这个声明<br />
ACCESS_FINE_LOCATION、ACCESS_LOCATION_EXTRA_COMMANDS、 ACCESS_MOCK_LOCATION是有关GPS定位获取的信息使用GPS LocationProvider类的相关定位信息必需声明android.permission.ACCESS_FINE_LOCATION、 android.permission.ACCESS_LOCATION_EXTRA_COMMANDS和 android.permission.ACCESS_MOCK_LOCATION</p>
<p>ACCESS_NETWORK_STATE是获取网络状态的权限控制，如果获取当前GSM网络相关信息必需在androidmanifest.xml中声明android.permission.ACCESS_NETWORK_STATE这句。</p>
<p>ACCESS_SURFACE_FLINGER是使用SurfaceFlinger底层API的令牌，必需声明android.permission.ACCESS_SURFACE_FLINGER<br />
ACCESS_WIFI_STATE权限可以获取使用Wi-Fi等WLAN无线网络，加入android.permission.ACCESS_WIFI_STATE这句<br />
ADD_SYSTEM_SERVICE是系统服务数据库的管理权限，比如添加一个系统服务必需声明android.permission.ADD_SYSTEM_SERVICE<br />
BATTERY_STATS是获取Android平台上电池设备的权限令牌，必需声明android.permission.BATTERY_STATS才可以获得电池信息<br />
BLUETOOTH蓝牙信息类，获取相关的蓝牙信息必声明android.permission.BLUETOOTH<br />
BLUETOOTH_ADMIN是蓝牙管理权限包含了身份安全认证，必需添加android.permission.BLUETOOTH_ADMIN类</p>
<p>BRICK    “android.permission.BRICK”</p>
<p>BROADCAST_PACKAGE_REMOVED是广播包移除类权限，可以移除指定的系统消息，必需声明android.permission.BROADCAST_PACKAGE_REMOVED这句<br />
BROADCAST_STICKY    “android.permission.BROADCAST_STICKY”<br />
CALL_PHONE是允许Android手机拨打电话时使用的权限    “android.permission.CALL_PHONE”<br />
CALL_PRIVILEGED    “android.permission.CALL_PRIVILEGED”<br />
CAMERA是摄像头权限控制，可以管理照相功能的启用    “android.permission.CAMERA”<br />
CHANGE_COMPONENT_ENABLED_STATE    “android.permission.CHANGE_COMPONENT_ENABLED_STATE”<br />
CHANGE_CONFIGURATION是控制Android系统设置等敏感信息的权限，修改时必需有android.permission.CHANGE_CONFIGURATION声明。<br />
CHANGE_NETWORK_STATE    “android.permission.CHANGE_NETWORK_STATE”<br />
CHANGE_WIFI_STATE是改变WLAN状态的开关，如果打开或关闭Wi-Fi必需加入android.permission.CHANGE_WIFI_STATE的声明。<br />
CLEAR_APP_CACHE清除程序缓存也是需要权限的，不要忘了包含android.permission.CLEAR_APP_CACHE这句<br />
CLEAR_APP_USER_DATA    “android.permission.CLEAR_APP_USER_DATA”<br />
DELETE_CACHE_FILES    “android.permission.DELETE_CACHE_FILES”<br />
DELETE_PACKAGES    “android.permission.DELETE_PACKAGES”<br />
DEVICE_POWER    “android.permission.DEVICE_POWER”<br />
DISABLE_KEYGUARD    “android.permission.DISABLE_KEYGUARD”<br />
DUMP    “android.permission.DUMP”<br />
EXPAND_STATUS_BAR    “android.permission.EXPAND_STATUS_BAR”<br />
FACTORY_TEST    “android.permission.FACTORY_TEST”<br />
FLASHLIGHT    “android.permission.FLASHLIGHT”<br />
FORCE_BACK    “android.permission.FORCE_BACK”<br />
FOTA_UPDATE    “android.permission.FOTA_UPDATE”<br />
GET_ACCOUNTS    “android.permission.GET_ACCOUNTS”<br />
GET_PACKAGE_SIZE    “android.permission.GET_PACKAGE_SIZE”<br />
GET_TASKS    “android.permission.GET_TASKS”<br />
HARDWARE_TEST    “android.permission.HARDWARE_TEST”<br />
INJECT_EVENTS    “android.permission.INJECT_EVENTS”<br />
INSTALL_PACKAGES    “android.permission.INSTALL_PACKAGES”<br />
INTERNAL_SYSTEM_WINDOW    “android.permission.INTERNAL_SYSTEM_WINDOW”<br />
INTERNET    “android.permission.INTERNET”<br />
MANAGE_APP_TOKENS    “android.permission.MANAGE_APP_TOKENS”<br />
MASTER_CLEAR    “android.permission.MASTER_CLEAR”<br />
MODIFY_AUDIO_SETTINGS    “android.permission.MODIFY_AUDIO_SETTINGS”<br />
MODIFY_PHONE_STATE    “android.permission.MODIFY_PHONE_STATE”<br />
MOUNT_UNMOUNT_FILESYSTEMS    “android.permission.MOUNT_UNMOUNT_FILESYSTEMS”<br />
PERSISTENT_ACTIVITY    “android.permission.PERSISTENT_ACTIVITY”<br />
PROCESS_OUTGOING_CALLS    “android.permission.PROCESS_OUTGOING_CALLS”<br />
READ_CALENDAR    “android.permission.READ_CALENDAR”<br />
READ_CONTACTS    “android.permission.READ_CONTACTS”<br />
READ_FRAME_BUFFER    “android.permission.READ_FRAME_BUFFER”<br />
READ_INPUT_STATE    “android.permission.READ_INPUT_STATE”<br />
READ_LOGS    “android.permission.READ_LOGS”<br />
READ_OWNER_DATA    “android.permission.READ_OWNER_DATA”<br />
READ_PHONE_STATE    “android.permission.READ_PHONE_STATE”<br />
READ_SMS    “android.permission.READ_SMS”<br />
READ_SYNC_SETTINGS    “android.permission.READ_SYNC_SETTINGS”<br />
READ_SYNC_STATS    “android.permission.READ_SYNC_STATS”<br />
RECEIVE_BOOT_COMPLETED一般用于自启动程序的声明，当Android系统启动时会发送这个广播，所以自启动程序必需声明android.permission.RECEIVE_BOOT_COMPLETED才可以正常运行</p>
<p>RECEIVE_MMS    “android.permission.RECEIVE_MMS”<br />
RECEIVE_SMS    “android.permission.RECEIVE_SMS”<br />
RECEIVE_WAP_PUSH    “android.permission.RECEIVE_WAP_PUSH”<br />
RECORD_AUDIO    “android.permission.RECORD_AUDIO”<br />
REORDER_TASKS    “android.permission.REORDER_TASKS”<br />
RESTART_PACKAGES    “android.permission.RESTART_PACKAGES”<br />
SEND_SMS    “android.permission.SEND_SMS”<br />
SET_ACTIVITY_WATCHER    “android.permission.SET_ACTIVITY_WATCHER”<br />
SET_ALWAYS_FINISH    “android.permission.SET_ALWAYS_FINISH”<br />
SET_ANIMATION_SCALE    “android.permission.SET_ANIMATION_SCALE”<br />
SET_DEBUG_APP    “android.permission.SET_DEBUG_APP”<br />
SET_ORIENTATION    “android.permission.SET_ORIENTATION”<br />
SET_PREFERRED_APPLICATIONS    “android.permission.SET_PREFERRED_APPLICATIONS”<br />
SET_PROCESS_FOREGROUND    “android.permission.SET_PROCESS_FOREGROUND”<br />
SET_PROCESS_LIMIT    “android.permission.SET_PROCESS_LIMIT”<br />
SET_TIME_ZONE    “android.permission.SET_TIME_ZONE”<br />
SET_WALLPAPER    “android.permission.SET_WALLPAPER”<br />
SET_WALLPAPER_HINTS    “android.permission.SET_WALLPAPER_HINTS”<br />
SIGNAL_PERSISTENT_PROCESSES    “android.permission.SIGNAL_PERSISTENT_PROCESSES”<br />
STATUS_BAR    “android.permission.STATUS_BAR”<br />
SYSTEM_ALERT_WINDOW    “android.permission.SYSTEM_ALERT_WINDOW”<br />
VIBRATE    “android.permission.VIBRATE”<br />
WAKE_LOCK    “android.permission.WAKE_LOCK”<br />
WRITE_CALENDAR    “android.permission.WRITE_CALENDAR”<br />
WRITE_CONTACTS    “android.permission.WRITE_CONTACTS”<br />
WRITE_OWNER_DATA    “android.permission.WRITE_OWNER_DATA”<br />
WRITE_SETTINGS    “android.permission.WRITE_SETTINGS”<br />
WRITE_SMS    “android.permission.WRITE_SMS”<br />
WRITE_SYNC_SETTINGS    “android.permission.WRITE_SYNC_SETTINGS”</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chenxinxing.com/2012/02/21/307/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nginx 1.1.15 开发版发布</title>
		<link>http://www.chenxinxing.com/2012/02/19/305/index.html</link>
		<comments>http://www.chenxinxing.com/2012/02/19/305/index.html#comments</comments>
		<pubDate>Sun, 19 Feb 2012 14:07:55 +0000</pubDate>
		<dc:creator>chenxx</dc:creator>
				<category><![CDATA[技术新闻]]></category>

		<guid isPermaLink="false">http://www.chenxinxing.com/?p=305</guid>
		<description><![CDATA[Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器，也是一个IMAP/POP3/SMTP代理服务器，特点是占有内存少、并发能力强，其源代码以类BSD许可证的形式发布。 该版本进行了一些功能改进和Bug修复，包括： 新特性：新增“disable_symlinks”指令。 新特性：新增“proxy_cookie_domain”和“proxy_cookie_path”指令。 修复：Nginx可能会记录错误的消息“上游过早关闭连接”，而不是正确的“上游发送过大的头信息”。 修复：如果使用&#8211;with-openssl选项，则会导致Nginx不能被ngx_http_perl_module创建。 修复：内部重定向到locations的操作未被限制。 修复：多次调用$r-&#62;flush()，可能导致ngx_http_gzip_filter_module出现错误。 修复：如果使用“proxy_store”指令，可能导致临时文件不会被删除。 修复：某些情况下，非缓存变量（如$args）返回旧的空缓存值。 修复：如果同时发生过多的SSI子请求，则会导致工作进程出现段错误。 详细信息：http://nginx.org/en/CHANGES 下载地址：http://nginx.org/en/download.html &#160;]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><img src="http://dl.iteye.com/upload/attachment/0063/2786/0a6f8cc0-aa84-3c52-bbec-6aa25c15a4fb.gif" alt="" /></div>
<p>Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器，也是一个IMAP/POP3/SMTP代理服务器，特点是占有内存少、并发能力强，其源代码以类BSD许可证的形式发布。</p>
<p><strong>该版本进行了一些功能改进和Bug修复，</strong>包括：</p>
<ul>
<li>新特性：新增“disable_symlinks”指令。</li>
<li>新特性：新增“proxy_cookie_domain”和“proxy_cookie_path”指令。</li>
<li>修复：Nginx可能会记录错误的消息“上游过早关闭连接”，而不是正确的“上游发送过大的头信息”。</li>
<li>修复：如果使用&#8211;with-openssl选项，则会导致Nginx不能被ngx_http_perl_module创建。</li>
<li>修复：内部重定向到locations的操作未被限制。</li>
<li>修复：多次调用$r-&gt;flush()，可能导致ngx_http_gzip_filter_module出现错误。</li>
<li>修复：如果使用“proxy_store”指令，可能导致临时文件不会被删除。</li>
<li>修复：某些情况下，非缓存变量（如$args）返回旧的空缓存值。</li>
<li>修复：如果同时发生过多的SSI子请求，则会导致工作进程出现段错误。</li>
</ul>
<p>详细信息：<a href="http://nginx.org/en/CHANGES" target="_blank">http://nginx.org/en/CHANGES</a></p>
<p>下载地址：<a href="http://nginx.org/en/download.html" target="_blank">http://nginx.org/en/download.html</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chenxinxing.com/2012/02/19/305/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011年最给力的十大名言</title>
		<link>http://www.chenxinxing.com/2012/02/15/302/index.html</link>
		<comments>http://www.chenxinxing.com/2012/02/15/302/index.html#comments</comments>
		<pubDate>Wed, 15 Feb 2012 09:50:06 +0000</pubDate>
		<dc:creator>chenxx</dc:creator>
				<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.chenxinxing.com/?p=302</guid>
		<description><![CDATA[1、笑只是个表情，与快乐无关。 2、思想就像内裤，要有，但不能逢人就证明你有。 3、纯，属虚构；乱，是佳人。 4、我可以选择放弃，但决不放弃选择。 5、以前，养儿防老；如今，养老要防儿。 6、君子报仇十年不晚。小人报仇从早到晚。 7、如今人们经常需要马桶精神，按一下，什么都干净了。 8、眉毛上的汗水，眉毛下的泪水，你总得选一样。 9、人家有背景而我只有背影。 10、财富改变不了个性，却可以让人露出本性 &#160;]]></description>
			<content:encoded><![CDATA[<p>1、笑只是个表情，与快乐无关。</p>
<p>2、思想就像内裤，要有，但不能逢人就证明你有。</p>
<p>3、纯，属虚构；乱，是佳人。</p>
<p>4、我可以选择放弃，但决不放弃选择。</p>
<p>5、以前，养儿防老；如今，养老要防儿。</p>
<p>6、君子报仇十年不晚。小人报仇从早到晚。</p>
<p>7、如今人们经常需要马桶精神，按一下，什么都干净了。</p>
<p>8、眉毛上的汗水，眉毛下的泪水，你总得选一样。</p>
<p>9、人家有背景而我只有背影。</p>
<p>10、财富改变不了个性，却可以让人露出本性</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chenxinxing.com/2012/02/15/302/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>微软发布2月安全公告_Windows 安全</title>
		<link>http://www.chenxinxing.com/2012/02/15/300/index.html</link>
		<comments>http://www.chenxinxing.com/2012/02/15/300/index.html#comments</comments>
		<pubDate>Wed, 15 Feb 2012 01:40:37 +0000</pubDate>
		<dc:creator>chenxx</dc:creator>
				<category><![CDATA[技术新闻]]></category>

		<guid isPermaLink="false">http://www.chenxinxing.com/?p=300</guid>
		<description><![CDATA[微软刚刚发布了2月份的安全补丁。这一天美国时间恰逢情人节，看来这并未影响微软人员的工作热情，照例在每月的第二个星期二发布了安全补丁。本次微软共更新了9个补丁，修复了21个程序漏洞，其中包括网页插件Silverlight可能允许远程执行代码的严重漏洞等。 查看:Microsoft Security Bulletin Summary for February 2012微软Silverlight通常被认为是与Adobe Flash相竞争的一款产品，在众多IE浏览器用户中安装，用于浏览网页动画和前端交互应用。本次安全公告显示，如果Windows或Silverlight用户查看特制的网页，就有可能允许远程执行代码，带来的后果可能导致被恶意攻击乃至控制，资料泄露等。目前受影响的版本主要是Silverlight 4.0，微软最新推出的版本是5.0，但4.0版用户使用仍然较多。此漏洞危害为最高等级的“严重”级别，覆盖几乎所有Windows版本。微软本次还专门为Windows XP修复了一个安全漏洞。如果用户在特定情形下打开一个.avi多媒体文件，成功利用此漏洞的攻击者可以作为登录的用户运行任意代码。攻击者可安装程序，查看、更改或删除数据，甚至完全控制受影响的系统。虽然微软未将此漏洞定义为最高安全等级，但考虑到国内仍有大批的XP用户，以及.avi是较为常见的视频文件，因此该漏洞在国内可能会造成较严重的影响。此外，微软本次还解决了其他包括Windows、Windows Server、Office、IE等系统安全隐患，在本月9个安全补丁中，有4个为最高安全等级，另外5个为重要等级，危害较大。]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-family: Verdana; font-size: 14px; line-height: 20px; text-align: left; background-color: #e5ecf4; padding: 0px;"><span style="font-weight: bold; padding: 0px; margin: 0px;">微软刚刚发布了2月份的安全补丁。这一天美国时间恰逢情人节，看来这并未影响微软人员的工作热情，照例在每月的第二个星期二发布了安全补丁。</span>本次微软共更新了9个补丁，修复了21个程序漏洞，其中包括网页插件Silverlight可能允许远程执行代码的严重漏洞等。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-family: Verdana; font-size: 14px; line-height: 20px; text-align: left; background-color: #e5ecf4; padding: 0px;"><img style="padding: 0px; margin: 0px;" src="http://www.cnbeta.com/articles/pic/view.gif" alt="" /><strong style="padding: 0px; margin: 0px;">查看:</strong><a style="color: #003366; text-decoration: none; padding: 0px; margin: 0px;" href="http://technet.microsoft.com/en-us/security/bulletin/ms12-feb" target="_blank">Microsoft Security Bulletin Summary for February 2012</a><br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />微软Silverlight通常被认为是与Adobe Flash相竞争的一款产品，在众多IE浏览器用户中安装，用于浏览网页动画和前端交互应用。本次安全公告显示，如果Windows或Silverlight用户查看特制的网页，就有可能允许远程执行代码，带来的后果可能导致被恶意攻击乃至控制，资料泄露等。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />目前受影响的版本主要是Silverlight 4.0，微软最新推出的版本是5.0，但4.0版用户使用仍然较多。此漏洞危害为最高等级的“严重”级别，覆盖几乎所有Windows版本。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />微软本次还专门为Windows XP修复了一个安全漏洞。如果用户在特定情形下打开一个.avi多媒体文件，成功利用此漏洞的攻击者可以作为登录的用户运行任意代码。攻击者可安装程序，查看、更改或删除数据，甚至完全控制受影响的系统。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />虽然微软未将此漏洞定义为最高安全等级，但考虑到国内仍有大批的XP用户，以及.avi是较为常见的视频文件，因此该漏洞在国内可能会造成较严重的影响。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />此外，微软本次还解决了其他包括Windows、Windows Server、Office、IE等系统安全隐患，在本月9个安全补丁中，有4个为最高安全等级，另外5个为重要等级，危害较大。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chenxinxing.com/2012/02/15/300/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Android] 为Android安装BusyBox —— 完整的bash shell</title>
		<link>http://www.chenxinxing.com/2011/11/24/292/index.html</link>
		<comments>http://www.chenxinxing.com/2011/11/24/292/index.html#comments</comments>
		<pubDate>Thu, 24 Nov 2011 03:46:25 +0000</pubDate>
		<dc:creator>chenxx</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[技术新闻]]></category>

		<guid isPermaLink="false">http://www.chenxinxing.com/?p=292</guid>
		<description><![CDATA[大家是否有过这样的经历，在命令行里输入adb shell，然后使用命令操作你的手机或模拟器，但是那些命令都是常见Linux命令的阉割缩水版，用起来很不爽。是否想过在Android上使用较完整的shell呢？用BusyBox吧。不论使用adb连接设备使用命令行还是在手机上直接用terminal emulator都可以。 一、什么是BusyBox ？ BusyBox 是标准 Linux 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具，例如 cat 和 echo，还包含了一些更大、更复杂的工具，例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱，它集成压缩了 Linux 的许多工具和命令。（摘自百度百科） 二、在Android上安装BusyBox 准备： 0. 先要把手机给Root了，具体教程这里就不提供了，网上有很多。 1. 下载BusyBox的binary，打开这个地址 http://www.busybox.net/downloads/binaries ，选择最新版本，然后下载对应你的设备架构的版本，这里我下载了busybox-armv6l，下面将以这个文件名为示例。 2. 需要有一个命令行的环境，在电脑上使用adb或在手机上使用terminal emulator。 3. 连接手机和电脑，手机的USB Mode设置成None（仅充电），并且开启USB调试模式。 安装： 1. 将busybox-armv6l重命名为busybox 2. 将busybox传入手机的SD卡，可以使用下面的命令或自己想其他办法。 打开terminal（Linux，Mac）或cmd（Windows） adb push ~/Desktop/busybox /mnt/sdcard 其中的~/Desktop请根据自己的情况替换成正确的路径 3. 输入以下命令，为了在/system目录写入文件 adb shell su mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system [...]]]></description>
			<content:encoded><![CDATA[<p>大家是否有过这样的经历，在命令行里输入adb shell，然后使用命令操作你的手机或模拟器，但是那些命令都是常见Linux命令的阉割缩水版，用起来很不爽。是否想过在Android上使用较完整的shell呢？用BusyBox吧。不论使用adb连接设备使用命令行还是在手机上直接用terminal emulator都可以。</p>
<p>一、什么是BusyBox ？</p>
<p>BusyBox 是标准 Linux 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具，例如 cat 和 echo，还包含了一些更大、更复杂的工具，例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱，它集成压缩了 Linux 的许多工具和命令。（摘自百度百科）</p>
<p>二、在Android上安装BusyBox</p>
<p>准备：</p>
<p>0. 先要把手机给Root了，具体教程这里就不提供了，网上有很多。</p>
<p>1. 下载BusyBox的binary，打开这个地址 <a href="http://www.busybox.net/downloads/binaries">http://www.busybox.net/downloads/binaries</a> ，选择最新版本，然后下载对应你的设备架构的版本，这里我下载了busybox-armv6l，下面将以这个文件名为示例。</p>
<p><img src="http://pic002.cnblogs.com/images/2011/231332/2011031215274263.png" alt="" /></p>
<p>2. 需要有一个命令行的环境，在电脑上使用adb或在手机上使用terminal emulator。</p>
<p>3. 连接手机和电脑，手机的USB Mode设置成None（仅充电），并且开启USB调试模式。</p>
<p>安装：</p>
<p>1. 将busybox-armv6l重命名为busybox</p>
<p>2. 将busybox传入手机的SD卡，可以使用下面的命令或自己想其他办法。</p>
<p>打开terminal（Linux，Mac）或cmd（Windows）</p>
<div>
<div id="highlighter_238268">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>adb </code><code>push</code> <code>~/Desktop/busybox /mnt/sdcard</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<p>其中的~/Desktop请根据自己的情况替换成正确的路径</p>
<p>3. 输入以下命令，为了在/system目录写入文件</p>
<div>
<div id="highlighter_795535">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>adb shell</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>su</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /</code><code>system</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<p>使用 ls 检查一下 /system 里是否有 xbin 目录，没有的话输入 mkdir xbin 创建，因为本示例是要把busybox安装到 /system/xbin 。</p>
<p>4. 复制 busybox 文件到 /system/xbin，并为其分配“可执行”的权限</p>
<div>
<div id="highlighter_170643">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>cp /mnt/sdcard/busybox /</code><code>system</code><code>/xbin</code></td>
</tr>
</tbody>
</table>
</div>
<div>
<table>
<tbody>
<tr>
<td><code>chmod</code> <code>755 busybox</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<p>5. 这时就可以使用 busybox 的命令了，例如以前没有清屏的clear命令，现在只需输入 busybox clear 就可以实现清屏功能，使用完整版的 ls 只需输入 busybox ls 。</p>
<p>但是每次前面都加上个busybox太麻烦了，所以我们还要继续完成安装。</p>
<p>在 /system/xbin 下输入</p>
<div>
<div id="highlighter_960460">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>busybox --install .</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<p>如果想安装到别的目录，则把点替换成别的路径。</p>
<p>至此就安装完成了，比较一下原来的 ls 命令和 busybox 里的 ls 命令。</p>
<p><img src="http://pic002.cnblogs.com/images/2011/231332/2011031215564763.png" alt="" /></p>
<p><strong>常见错误：</strong></p>
<p>1. 如果安装时出现这样的错误，</p>
<p>busybox: /bin/zcat: No such file or directory</p>
<p>busybox: /sbin/zcip: Invalid cross-device link</p>
<p>说明没有输入安装路径，正确的示例 busybox &#8211;install /system/xbin</p>
<p>2. 如果出现这样的错误，</p>
<p>cp: /system/xbin/busybox: Read-only file system</p>
<p>说明没有正确输入上面第三步的mount命令。</p>
<p><strong>小技巧：</strong></p>
<p>1. busybox 里有 ash 和 hush 还有 sh 这几种 shell，在命令行输入 ash 或 hush，可以像在 bash 里那样，通过按上下键选择刚才输入的命令。</p>
<p>2. android系统本身就有ls命令，busybox里也有ls，输入ls时调用的是android的ls，那么想用busybox的ls就要每次都在前面加个busybox吗？不用，使用alias命令可以搞定。</p>
<div>
<div id="highlighter_889103">
<div>
<div>
<table>
<tbody>
<tr>
<td><code>alias ls=</code><code>'busybox ls'</code></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<p>同样的，cp、mv等二者都有的命令都可以这样搞定。也可以通过修改 /init.rc 来解决。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chenxinxing.com/2011/11/24/292/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【android】Gaining Root Access</title>
		<link>http://www.chenxinxing.com/2011/11/24/290/index.html</link>
		<comments>http://www.chenxinxing.com/2011/11/24/290/index.html#comments</comments>
		<pubDate>Thu, 24 Nov 2011 03:45:07 +0000</pubDate>
		<dc:creator>chenxx</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[技术新闻]]></category>

		<guid isPermaLink="false">http://www.chenxinxing.com/?p=290</guid>
		<description><![CDATA[You will need ADB on the computer to root the Motorola Droid X. Follow the Android SDK guide, to get the ADB shell on the computer. Download rageinthecage-arm5, the Motorola Drivers &#38; the Superuser package: rageagainstthecage-arm5: Download md5: bfa28d457b54508326ab55d11399c586 Motorola 5.2.0 device Drivers (Windows Only): Download Superuser package: Download md5: 43d9a40b63e916635d5ad7ca32433fab Windows Only: Install the Motorola device drivers. Unzip rageinthecage-arm5 &#38; the Superuser package to the same folder [...]]]></description>
			<content:encoded><![CDATA[<h3></h3>
<ol>
<li>You will need <a title="ADB" href="http://wiki.cyanogenmod.com/wiki/ADB">ADB</a> on the computer to root the Motorola Droid X. Follow the <a title="Howto: Install the Android SDK" href="http://wiki.cyanogenmod.com/wiki/Howto:_Install_the_Android_SDK">Android SDK</a> guide, to get the <a title="ADB" href="http://wiki.cyanogenmod.com/wiki/ADB">ADB</a> shell on the computer.</li>
<li>Download rageinthecage-arm5, the Motorola Drivers &amp; the Superuser package:
<ul>
<li>rageagainstthecage-arm5: <a href="http://cmw.22aaf3.com/common/rageagainstthecage-arm5.zip" rel="nofollow">Download</a>
<dl>
<dd>md5: <code>bfa28d457b54508326ab55d11399c586</code></dd>
</dl>
</li>
<li>Motorola 5.2.0 device Drivers (<strong>Windows Only</strong>): <a href="http://www.motorola.com/staticfiles/Support/Experiences/Global_Drivers/MotoHelper_2.0.51_Driver_5.2.0.exe" rel="nofollow">Download</a></li>
<li>Superuser package: <a href="http://cmw.22aaf3.com/common/su-2.3.6.2-efgh.zip" rel="nofollow">Download</a>
<dl>
<dd>md5: <code>43d9a40b63e916635d5ad7ca32433fab</code></dd>
</dl>
</li>
</ul>
</li>
<li><strong>Windows Only:</strong> Install the Motorola device drivers.</li>
<li>Unzip rageinthecage-arm5 &amp; the Superuser package to the same folder as adb (the /platform-tools folder within the AndroidSDK folder).</li>
<li>Connect the Motorola Droid X to the computer via USB.</li>
<li>On the computer, open terminal and run the following commands:
<dl>
<dd><code>adb push rageagainstthecage-arm5.bin /data/local/tmp/</code></dd>
<dd><code>adb shell</code></dd>
<dd><code>chmod 755 /data/local/tmp/rageagainstthecage-arm5.bin</code></dd>
<dd><code>/data/local/tmp/rageagainstthecage-arm5.bin</code></dd>
</dl>
</li>
<li>Once the exploit finishes, in terminal, run the following commands:
<dl>
<dd><code>exit</code></dd>
<dd><code>adb kill-server</code></dd>
<dd><code>adb start-server</code></dd>
<dd><code>adb shell</code>
<dl>
<dd><strong>NOTE:</strong> You should see a “#”. If you see a “$”, then the exploit didn&#8217;t work, please repeat steps <strong>4</strong> &amp; <strong>5</strong>.</dd>
</dl>
</dd>
<dd><code>mount -o remount,rw -t /dev/block/mtdblock1 /system</code></dd>
<dd><code>exit</code></dd>
<dd><code>adb push su /system/xbin/</code></dd>
<dd><code>adb shell chmod 4755 /system/xbin/su</code></dd>
<dd><code>adb push Superuser.apk /system/app/</code></dd>
</dl>
</li>
<li>The Motorola Droid X is now rooted, please continue to the next section.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.chenxinxing.com/2011/11/24/290/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>要创业，学校教不会你这10招</title>
		<link>http://www.chenxinxing.com/2011/11/14/288/index.html</link>
		<comments>http://www.chenxinxing.com/2011/11/14/288/index.html#comments</comments>
		<pubDate>Mon, 14 Nov 2011 05:58:42 +0000</pubDate>
		<dc:creator>chenxx</dc:creator>
				<category><![CDATA[技术新闻]]></category>

		<guid isPermaLink="false">http://www.chenxinxing.com/?p=288</guid>
		<description><![CDATA[新闻来源:雷锋网编者注:本文作者 James Altucher为Formula Capital的常务董事。他曾经写过6本投资方面的书籍，最近一本名字为《I Was Blind But Now I See》。其Twitter账号为@jaltucher。 我曾经写过 父母不必送孩子上大学的10个理由和不上大学的八个选择等一系列文章。大学“象牙塔”的称呼可真不是白叫的，当你走出象牙塔，你不得不面临需要学着如何赚钱养家糊口、如何创立公司等等问题。如果在大学中我能学到以下10点的话，我或许早就成了百万富翁，而不是浪费了这几年我生命中最美好的时光。1. 如何编程：如同所有计算机系学生一样，我按部就班读完大学，读完研究生，在计算机专业上花了10万美元（通过贷 款）后，我毕业了。但我发现一个问题：我过去8年中学到的关于如何编程的课程都是纸上谈兵，我不知道如何开始编程，我甚至不知道如何开我的电脑。我听到的 Boss对大Boss这么评价我：“我不知道该怎么用这个小伙子，他啥都不会。”最后他们把我打发到新泽西的AT&#38;T突击培训了两个月，在那里我 终于学会了如何编程。2. 如何对待背叛。 我觉得大学应该开一堂《各种背叛》之类的选修课，内容包含：合作伙伴的背叛、投资者的抛弃、被女朋友甩掉、叛逆的小孩、被朋友/家庭背叛，等等。这还没完，最重要的一课是自我背叛，在这个现实世界中，你需要赚够足够的钱，在此不再多叙述。3. 如何写作。大学并非一无是处，至少它教会你如何思考，但它没有教会你如何去写作。真正能打动人的写作是一种发自内心的力量，它存在于你的血液中，用生命去写作。4. 晚餐会。我在大学从未学过关于晚餐会的内容，但对于一个社会人来说，各式各样的交际是必不可少的。你要一边拿着酒杯一边和别人周旋，谈论各种各样的话题。说真的，大学应该教会我们如何应对这种场面，如何在正确的时间和场合说正确的话。5. 关于社交。直到我毕业20年后才有人写了一本叫《绝不独行》（Never Eat Alone）的书。这本书应该早点写出来，上帝或者帕拉图来写都可以。直到现在我仍然不擅长如何与他人打交道，我花的10万美元学费中美元一分钱关于这一点。6. 关于政治。大学里都会有政治，更不要说毕业后的“办公室政治”了。尤其是和逐利的VC们的相互算计，我希望在我花的10万美元中有学到这部分内容。7. 关于失败。 自然大学不可能教会这个。任何人都会觉得，如果你花了10万美元，然后学到的是关于失败的内容，你会觉得你在浪费钱。8. 关于销售。销售的诀窍，包括如何展示你的激情，如何表达你的想法，如何成单签约让对方心甘情愿地掏钱，但我从未见过那所大学有教它。9. 关于谈判。 有趣的是，最好的销售员往往是最糟糕的谈判者。前者总是试图让对方说“Yes”，而后者需要说“No”，而在你希望让别人说“Yes”的时候自己是很难说出“No”来的。我至少有5次在谈判中吃了大亏，这对我来说是5个教训，我希望在大学就已经学到这些方面的内容。10. 关于幸福。幸福是一个很模糊的东西，我们不知道我们吃的食物、我们的健康、我们的创新能力、我们的情感关系、我们的能力如何结合成一个叫做所谓“幸福”的东西。 就我而言，我去过解体前的苏联，练瑜伽来保持健康，到南美游历，做志愿者，等等。大学给我们留下了难以磨灭的痕迹，我学会了如何思考我的大学生活，或者以过来人的身份给其他人以建议。或许，我应该学会不去在意失去的那些东西。]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-family: Verdana; font-size: 14px; line-height: 21px; text-align: left; background-color: #e5ecf4; padding: 0px;">新闻来源:雷锋网<br style="padding: 0px; margin: 0px;" /><strong style="padding: 0px; margin: 0px;">编者注</strong>:本文作者 <a style="color: #003366; text-decoration: none; padding: 0px; margin: 0px;" href="http://en.wikipedia.org/wiki/James_Altucher">James Altucher</a>为Formula Capital的常务董事。他曾经写过6本投资方面的书籍，最近一本名字为《<em style="padding: 0px; margin: 0px;"><a style="color: #003366; text-decoration: none; padding: 0px; margin: 0px;" href="http://www.amazon.com/gp/product/B005VPXXVM/">I Was Blind But Now I See</a></em>》。其Twitter账号为<em style="padding: 0px; margin: 0px;"><a style="color: #003366; text-decoration: none; padding: 0px; margin: 0px;" href="http://twitter.com/#%21/jaltucher">@jaltuche</a></em><a style="color: #003366; text-decoration: none; padding: 0px; margin: 0px;" href="http://twitter.com/#%21/jaltucher">r</a>。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-family: Verdana; font-size: 14px; line-height: 21px; text-align: left; background-color: #e5ecf4; padding: 0px;">我曾经写过 <a style="color: #003366; text-decoration: none; padding: 0px; margin: 0px;" href="http://www.jamesaltucher.com/2011/01/10-more-reasons-why-parents-should-not-send-their-kids-to-college/">父母不必送孩子上大学的10个理由</a>和<a style="color: #003366; text-decoration: none; padding: 0px; margin: 0px;" href="http://www.jamesaltucher.com/2011/01/8-alternatives-to-college/">不上大学的八个选择</a>等一系列文章。大学“象牙塔”的称呼可真不是白叫的，当你走出象牙塔，你不得不面临需要学着如何赚钱养家糊口、如何创立公司等等问题。如果在大学中我能学到以下10点的话，我或许早就成了百万富翁，而不是浪费了这几年我生命中最美好的时光。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><strong style="padding: 0px; margin: 0px;">1. 如何编程：</strong>如同所有计算机系学生一样，我按部就班读完大学，读完研究生，在计算机专业上花了10万美元（通过贷 款）后，我毕业了。但我发现一个问题：我过去8年中学到的关于如何编程的课程都是纸上谈兵，我不知道如何开始编程，我甚至不知道如何开我的电脑。我听到的 Boss对大Boss这么评价我：“我不知道该怎么用这个小伙子，他啥都不会。”最后他们把我打发到新泽西的AT&amp;T突击培训了两个月，在那里我 终于学会了如何编程。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><strong style="padding: 0px; margin: 0px;">2. 如何对待背叛。</strong> 我觉得大学应该开一堂《各种背叛》之类的选修课，内容包含：合作伙伴的背叛、投资者的抛弃、被女朋友甩掉、叛逆的小孩、被朋友/家庭背叛，等等。这还没完，最重要的一课是自我背叛，在这个现实世界中，你需要赚够足够的钱，在此不再多叙述。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><strong style="padding: 0px; margin: 0px;">3. 如何写作。</strong>大学并非一无是处，至少它教会你如何思考，但它没有教会你如何去写作。真正能打动人的写作是一种发自内心的力量，它存在于你的血液中，用生命去写作。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><strong style="padding: 0px; margin: 0px;">4. 晚餐会。</strong>我在大学从未学过关于晚餐会的内容，但对于一个社会人来说，各式各样的交际是必不可少的。你要一边拿着酒杯一边和别人周旋，谈论各种各样的话题。说真的，大学应该教会我们如何应对这种场面，如何在正确的时间和场合说正确的话。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><strong style="padding: 0px; margin: 0px;">5. 关于社交。</strong>直到我毕业20年后才有人写了一本叫《绝不独行》（Never Eat Alone）的书。这本书应该早点写出来，上帝或者帕拉图来写都可以。直到现在我仍然不擅长如何与他人打交道，我花的10万美元学费中美元一分钱关于这一点。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><strong style="padding: 0px; margin: 0px;">6. 关于政治。</strong>大学里都会有政治，更不要说毕业后的“办公室政治”了。尤其是和逐利的VC们的相互算计，我希望在我花的10万美元中有学到这部分内容。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><strong style="padding: 0px; margin: 0px;">7. 关于失败。</strong> 自然大学不可能教会这个。任何人都会觉得，如果你花了10万美元，然后学到的是关于失败的内容，你会觉得你在浪费钱。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><strong style="padding: 0px; margin: 0px;">8. 关于销售。</strong>销售的诀窍，包括如何展示你的激情，如何表达你的想法，如何成单签约让对方心甘情愿地掏钱，但我从未见过那所大学有教它。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><strong style="padding: 0px; margin: 0px;">9. 关于谈判。</strong> 有趣的是，最好的销售员往往是最糟糕的谈判者。前者总是试图让对方说“Yes”，而后者需要说“No”，而在你希望让别人说“Yes”的时候自己是很难说出“No”来的。我至少有5次在谈判中吃了大亏，这对我来说是5个教训，我希望在大学就已经学到这些方面的内容。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" /><strong style="padding: 0px; margin: 0px;">10. 关于幸福。</strong>幸福是一个很模糊的东西，我们不知道我们吃的食物、我们的健康、我们的创新能力、我们的情感关系、我们的能力如何结合成一个叫做所谓“幸福”的东西。 就我而言，我去过解体前的苏联，练瑜伽来保持健康，到南美游历，做志愿者，等等。<br style="padding: 0px; margin: 0px;" /><br style="padding: 0px; margin: 0px;" />大学给我们留下了难以磨灭的痕迹，我学会了如何思考我的大学生活，或者以过来人的身份给其他人以建议。或许，我应该学会不去在意失去的那些东西。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chenxinxing.com/2011/11/14/288/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>移动手机消息推送机制</title>
		<link>http://www.chenxinxing.com/2011/11/09/284/index.html</link>
		<comments>http://www.chenxinxing.com/2011/11/09/284/index.html#comments</comments>
		<pubDate>Wed, 09 Nov 2011 06:44:42 +0000</pubDate>
		<dc:creator>chenxx</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[技术新闻]]></category>

		<guid isPermaLink="false">http://www.chenxinxing.com/?p=284</guid>
		<description><![CDATA[由于公司要做一个android的消息推送功能，让我进行了一个调研，发现网上没有一个集中说明的地方，自己在网上搜罗了一些资料并且自己总结了一下。 对于消息的提醒方式可以分为四种：固定窗口、弹出窗口、手机短信和Push信息。下面的针对于push信息的机制和技术实现向大家介绍一下。      首先，我们要知道什么是Push信息？      所谓信息推送，就是”web广播”，是通过一定的技术标准或协议，在互联网上通过定期传送用户需要的信息来减少信息过载的一项新技术。推送技术通过自动 传送信息给用户，来减少用于网络上搜索的时间。它根据用户的兴趣来搜索、过滤信息，并将其定期推给用户，帮助用户高效率地发掘有价值的信息。 简单的来说，信息推送就是服务器端主动向客户端发送信息，客户端进行接收信息。如下图： 使用推送信息的好处: 1、节省用户的电池电量。 2、你可以通过推送通知来告知你的用户在程序中发生了一些有趣的事，即使程序没有运行。 现在很多应用程序都是用的推送的机制： 包括新浪微博，推送最新的朋友消息；墨迹天气推送最新的天气状况；网易新闻，推送重要的新闻；同花顺手机炒股推送最新的股票资讯；微信，推送最新的语音最新。Gmail、Gtalk推送最新的Mail信息和IM信息。   下面，我们了解一下现在主流手机的push机制。 IPhone（APPLE）的工作机制可以简单的概括为下图： iPhone自3.0之后推出消息推送机制，原理是消息由服务器统一处理。      图中，Provider是指某个iPhone软件的Push服务器，这篇文章我将使用Java作为Provider。 APNS 是Apple Push Notification Service（Apple Push服务器）的缩写，是苹果的服务器。 上图可以分为三个阶段。 第一阶段：Java应用程序把要发送的消息、目的iPhone的标识打包，发给APNS。 第二阶段：APNS在自身的已注册Push服务的iPhone列表中，查找有相应标识的iPhone，并把消息发到iPhone。 第三阶段：iPhone把发来的消息传递给相应的应用程序， 并且按照设定弹出Push通知。 从上图我们可以看到。 1、首先是应用程序注册消息推送。 2、 IOS跟APNS Server要deviceToken。应用程序接受deviceToken。 3、应用程序将deviceToken发送给PUSH服务端程序。 4、 服务端程序向APNS服务发送消息。 5、APNS服务将消息发送给iPhone应用程序。 APNs和iPhone保持 15分钟的心跳式长连接，维护手机和服务器的联系正常，否则手机会不停发起连接，直到连接到服务器为止。程序不必实时开启和主动检查更新，当收到APNs 消息时，iPhone会弹出对话框Push消息并伴随着声音，用户可以选择“view”或者“close”。即使用户当前处在离线状态，用户收到消息之后 激活程序，再通过程序链接应用服务器下载邮件或者录音。   WP7（Microsoft）的Push机制如下图： WP7的也有相应的推送服务， 无论程序是否开启都可以界面顶部推送Toast Notification，并显示10秒。WP7的Push Client负责于服务器交互，接受到消息时再传送给相应的应用程序，而不需要应用程序各自维护一个进程。如果程序被钉在首页，服务器推送瓦片通知 （Tile Notification），改变瓦片的背景图片、数字和标题属性。而弹出框式的原生推送（Raw Notification）只能应用在程序开启时，容许实时更新界面     [...]]]></description>
			<content:encoded><![CDATA[<div id="article_content" class="article_content">
<p><span style="font-family: Microsoft YaHei;">由于公司要做一个android的消息推送功能，让我进行了一个调研，发现网上没有一个集中说明的地方，自己在网上搜罗了一些资料并且自己总结了一下。</span></p>
<p><span style="font-family: Microsoft YaHei;">对于消息的提醒方式可以分为四种：固定窗口、弹出窗口、手机短信和Push信息。下面的针对于push信息的机制和技术实现向大家介绍一下。</span></p>
<p><span style="font-family: Microsoft YaHei;">     首先，我们要知道什么是Push信息？</span></p>
<p><span style="font-family: Microsoft YaHei;">     所谓信息推送，就是”web广播”，是通过一定的技术标准或协议，在互联网上通过定期传送用户需要的信息来减少信息过载的一项新技术。推送技术通过自动 传送信息给用户，来减少用于网络上搜索的时间。它根据用户的兴趣来搜索、过滤信息，并将其定期推给用户，帮助用户高效率地发掘有价值的信息。</span></p>
<p><span style="font-family: Microsoft YaHei;">简单的来说，信息推送就是服务器端主动向客户端发送信息，客户端进行接收信息。如下图：</span></p>
<p><img src="http://hi.csdn.net/attachment/201108/3/0_1312388953Zm1V.gif" alt="" /></p>
<p><span style="font-family: Microsoft YaHei;">使用推送信息的好处:</span></p>
<p><span style="font-family: Microsoft YaHei;">1、节省用户的电池电量。<br />
2、你可以通过推送通知来告知你的用户在程序中发生了一些有趣的事，即使程序没有运行。</span></p>
<p><span style="font-family: Microsoft YaHei;">现在很多应用程序都是用的推送的机制：</span></p>
<p><span style="font-family: Microsoft YaHei;">包括新浪微博，推送最新的朋友消息；墨迹天气推送最新的天气状况；网易新闻，推送重要的新闻；同花顺手机炒股推送最新的股票资讯；微信，推送最新的语音最新。Gmail、Gtalk推送最新的Mail信息和IM信息。</span></p>
<p><span style="font-family: Microsoft YaHei;"> </span></p>
<p><span style="font-family: Microsoft YaHei;">下面，我们了解一下现在主流手机的push机制。</span></p>
<p><span style="font-family: Microsoft YaHei;"><strong>IPhone（APPLE）的工作机制可以简单的概括为下图：</strong></span></p>
<p><span style="font-family: Microsoft YaHei;">iPhone自3.0之后推出消息推送机制，原理是消息由服务器统一处理。</span></p>
<p><span style="font-family: Microsoft YaHei;"> <img src="http://hi.csdn.net/attachment/201108/3/0_1312389003QLNM.gif" alt="" /></span></p>
<p><span style="font-family: Microsoft YaHei;">   图中，Provider是指某个iPhone软件的Push服务器，这篇文章我将使用Java作为Provider。</span></p>
<p><span style="font-family: Microsoft YaHei;">APNS 是Apple Push Notification Service（Apple Push服务器）的缩写，是苹果的服务器。</span></p>
<p><span style="font-family: Microsoft YaHei;">上图可以分为三个阶段。</span></p>
<p><span style="font-family: Microsoft YaHei;">第一阶段：Java应用程序把要发送的消息、目的iPhone的标识打包，发给APNS。</span></p>
<p><span style="font-family: Microsoft YaHei;">第二阶段：APNS在自身的已注册Push服务的iPhone列表中，查找有相应标识的iPhone，并把消息发到iPhone。</span></p>
<p><span style="font-family: Microsoft YaHei;">第三阶段：iPhone把发来的消息传递给相应的应用程序， 并且按照设定弹出Push通知。</span></p>
<p><span style="font-family: Microsoft YaHei;"><img src="http://hi.csdn.net/attachment/201108/3/0_1312389033vd6C.gif" alt="" width="373" height="409" /></span></p>
<p><span style="font-family: Microsoft YaHei;">从上图我们可以看到。</span></p>
<p><span style="font-family: Microsoft YaHei;">1、首先是应用程序注册消息推送。</span></p>
<p><span style="font-family: Microsoft YaHei;">2、 IOS跟APNS Server要deviceToken。应用程序接受deviceToken。</span></p>
<p><span style="font-family: Microsoft YaHei;">3、应用程序将deviceToken发送给PUSH服务端程序。</span></p>
<p><span style="font-family: Microsoft YaHei;">4、 服务端程序向APNS服务发送消息。</span></p>
<p><span style="font-family: Microsoft YaHei;">5、APNS服务将消息发送给iPhone应用程序。</span></p>
<p align="left"><span style="font-family: Microsoft YaHei;">APNs和iPhone保持 15分钟的心跳式长连接，维护手机和服务器的联系正常，否则手机会不停发起连接，直到连接到服务器为止。程序不必实时开启和主动检查更新，当收到APNs 消息时，iPhone会弹出对话框Push消息并伴随着声音，用户可以选择“view”或者“close”。即使用户当前处在离线状态，用户收到消息之后 激活程序，再通过程序链接应用服务器下载邮件或者录音。</span></p>
<p><span style="font-family: Microsoft YaHei;"> </span></p>
<p align="left"><strong><span style="font-family: Microsoft YaHei;">WP7（Microsoft）的Push机制如下图：</span></strong></p>
<p align="left"><span style="font-family: Microsoft YaHei;">WP7的也有相应的推送服务， 无论程序是否开启都可以界面顶部推送Toast Notification，并显示10秒。WP7的Push Client负责于服务器交互，接受到消息时再传送给相应的应用程序，而不需要应用程序各自维护一个进程。如果程序被钉在首页，服务器推送瓦片通知 （Tile Notification），改变瓦片的背景图片、数字和标题属性。而弹出框式的原生推送（Raw Notification）只能应用在程序开启时，容许实时更新界面</span></p>
<p align="left"><span style="font-family: Microsoft YaHei;"> </span></p>
<p align="left"><span style="font-family: Microsoft YaHei;"> <img src="http://hi.csdn.net/attachment/201108/3/0_1312389073OWKj.gif" alt="" /></span></p>
<p align="left"><span style="font-family: Microsoft YaHei;"> </span></p>
<p align="left"><span style="font-family: Microsoft YaHei;"><strong>WebOS (BlackBerry)的推送机制如下如所示：</strong></span></p>
<p align="left"><span style="font-family: Microsoft YaHei;"> <img src="http://hi.csdn.net/attachment/201108/3/0_13123891037W1y.gif" alt="" width="788" height="282" /></span></p>
<p><span style="font-family: Microsoft YaHei;">从示意图中可以看到在BlackBerry应用平台上的数据推送从整体上可以分为六步，按时间顺序分别为：</span></p>
<p align="left"><span style="font-family: Microsoft YaHei;">  第一步：应用服务器向MDS/BES服务器发送推送请求，所发送的请求为HTTP格式的请求。</span></p>
<p><span style="font-family: Microsoft YaHei;">  第二步：MDS/BES服务器查询相关配置数据库，确定应用服务器所发送的请求是否为合法的请求。此外，MDS/BES服务器还会根据资源情况确定是否接收该请求。对于是否接收请求的判断在下一节内容中也有详细讨论</span></p>
<p><span style="font-family: Microsoft YaHei;">  第三步：MDS/BES服务器向应用服务器返回消息，通知应用服务器是否接受该请求。返回消息以HTTP答复的方式返回给应用服务器</span></p>
<p><span style="font-family: Microsoft YaHei;">  第四步：MDS/BES服务器将数据推送到手持设备端</span></p>
<p><span style="font-family: Microsoft YaHei;">   第五步：手持设备端对数据进行处理后向MDS/BES服务器返回确认消息</span></p>
<p><span style="font-family: Microsoft YaHei;">第六步：MDS/BES根据手持设备端返回的消息决定向应用服务器返回什么异步消息，这一步并不是必然发生的，根据推送请求的不同有可能不发生。</span></p>
<p><span style="font-family: Microsoft YaHei;"> <span style="font-family: Microsoft YaHei;"><img src="http://hi.csdn.net/attachment/201108/3/0_1312389154YSSb.gif" alt="" width="264" height="306" /></span></span></p>
<p><span style="font-family: Microsoft YaHei;"> </span></p>
<p><span style="font-family: Microsoft YaHei;">黑莓的推送是最早的，最早应用在邮件上，而且黑莓的推送机制也是加密最好的，最安全的机制。</span></p>
<p align="left"><span style="font-family: Microsoft YaHei;"> </span></p>
<p align="left"><span style="font-family: Microsoft YaHei;">下面我们来详细的介绍一下android的推送机制：</span></p>
<p align="left"><span style="font-family: Microsoft YaHei;"><strong>Android（Google）：</strong></span></p>
<p><span style="font-family: Microsoft YaHei;">首先介绍一下google官方应用的push：</span></p>
<p><span style="font-family: Microsoft YaHei;">1）如果你有新的Gmail邮件，手机可以马上收到邮件通知，这个中间可能有2，3秒的延迟，一般感觉还是很及时的；</span></p>
<p><span style="font-family: Microsoft YaHei;">2）如果你的联系人和Google Contanct是关联的话，你用桌面浏览器访问Gmail，修改联系人信息，很快新的联系人信息就会同步到你手机上。</span></p>
<p><span style="font-family: Microsoft YaHei;">在Google I/O 2010 介绍了 Android 2.2 导入的 </span><a href="http://code.google.com/android/c2dm/"><span style="font-family: Microsoft YaHei;">Android Cloud to Device Messaging (C2DM)</span></a><span style="font-family: Microsoft YaHei;"> 服务， C2DM)作为 Android 2.2 的一部分已经发布了。C2DM 允许第三方开发者开发相关的应用来推送少量数据消息到用户的手机上，其机制如下图：</span></p>
<p><span style="font-family: Microsoft YaHei;"> <span style="font-family: Microsoft YaHei;"><img src="http://hi.csdn.net/attachment/201108/3/0_1312389247dbD9.gif" alt="" width="381" height="258" /></span></span></p>
<p align="left"><span style="font-family: Microsoft YaHei;"> Android Cloud to Device Messaging (C2DM)是一个用来帮助开发者从服务器向Android应用程序发送数据的服务。该服务提供了一个简单的、轻量级的机制，允许服务器可以通知移动应用 程序直接与服务器进行通信，以便于从服务器获取应用程序更新和用户数据。C2DM服务负责处理诸如消息排队等事务并向运行于目标设备上的应用程序分发这些 消息。</span></p>
<p align="left"><span style="font-family: Microsoft YaHei;">启用C2DM的过程：</span></p>
<p><span style="font-family: Microsoft YaHei;">     1，移动设备：必须运行android，并且安装Market，至少有一个登录的google账号。</span></p>
<p><span style="font-family: Microsoft YaHei;">      2，服务器：自己的服务器</span></p>
<p><span style="font-family: Microsoft YaHei;">      3，C2DM服务器：google的服务器</span></p>
<p><span style="font-family: Microsoft YaHei;">         授权机制：</span></p>
<p><span style="font-family: Microsoft YaHei;">1，  Sender ID：一个google账号，用于标示开发者的身份，比如</span><a href="mailto:hxzhoupeng@google.com"><span style="font-family: Microsoft YaHei;">hxzhoupeng@google.com</span></a></p>
<p><span style="font-family: Microsoft YaHei;">2，Application ID：Manifest.xml里面的pacakage name。用于标示应用程序</span></p>
<p><span style="font-family: Microsoft YaHei;">3，Registration ID：当应用程序向C2DM服务器注册时，C2DM服务器会返回这个ID，当应用程序获得这个ID之后，应该告诉自己的服务器，自己的服务器把这个ID存在数据库里面，用于告诉C2DM服务器标示客户端。</span></p>
<p><span style="font-family: Microsoft YaHei;">4，Google User Account：要使用C2DM服务，必须有一个google账号。</span></p>
<p><span style="font-family: Microsoft YaHei;">5，Sender Auth Token：自己的服务器与C2DM服务器通信的认证。</span></p>
<p><span style="font-family: Microsoft YaHei;"> </span></p>
<p><span style="font-family: Microsoft YaHei;">           应用程序发送 Intent，com.google.android.c2dm.intent.REGISTER，附上自己的SenderID和AppId，就可以向 C2DM服务器进行注册，注册成功之后，可以收到REGISTRATION Intent，获得Registration ID，这个Registration ID是会被C2DM改变的，所以这个REGISTRATION Intent可能会收到多次，要记得存储和发送给自己的服务器</span></p>
<p align="left"><span style="font-family: Microsoft YaHei;"> </span></p>
<p align="left"><span style="font-family: Microsoft YaHei;">通过对比研究发现C2DM机制存在以下缺点：</span></p>
<p><span style="font-family: Microsoft YaHei;">1、C2DM内置于Android的2.2系统上，无法兼容老的1.6到2.1系统;</span></p>
<p><span style="font-family: Microsoft YaHei;">2、C2DM需要依赖于Google官方提供的C2DM服务器，由于国内的网络环境，这个服务经常不可用，如果想要很好的使用，我们的App Server必须也在国外，这个恐怕不是每个开发者都能够实现的;。</span></p>
<p><span style="font-family: Microsoft YaHei;"> </span></p>
<p><span style="font-family: Microsoft YaHei;"> 除了C2DM在实现Android消息推送机制的方案还有以下几种：</span></p>
<p align="left"><span style="font-family: Microsoft YaHei;">1、轮询（polling）：应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到达，你必须自己实现与服务器之间的通信，例如消息排队等。而且你还要考虑轮询的频率，如果太慢可能导致某些消息的延迟，如果太快，则会大量消耗网络带宽和电池。</span></p>
<p><span style="font-family: Microsoft YaHei;">2、长连接：这个方案可以解决由轮询带来的性能问题，但是 还是会消耗手机的电池。Apple的推送服务之所以工作的很好，是因为每一台手机仅仅保持一个与服务器之间的连接，事实上C2DM也是这么工作的。不过这 个方案也存在不足，就是我们很难在手机上实现一个可靠的服务。Android操作系统允许在低内存情况下杀死系统服务，所以你的通知服务很可能被操作系统 Kill掉了。</span></p>
<p><span style="font-family: Microsoft YaHei;">这种方法通过come（基于 HTTP 长连接的“服务器推”技术）长连接也可以实现。详细可以参照http://www.ibm.com/developerworks/cn/web/wa-lo-comet/，但是这并不是最有的一种方式，</span></p>
<p><span style="font-family: Microsoft YaHei;">在Android下最有的方式应该采取XMPP协议推送Android信息：</span></p>
<p><span style="font-family: Microsoft YaHei;">首先介绍一下XMPP基于可扩展标记语言（XML）的协议，它用于即时消息（IM）以及在线探测。这个协议可能最终允许</span><a href="http://baike.baidu.com/view/1706.htm"><span style="font-family: Microsoft YaHei;">因特网</span></a><span style="font-family: Microsoft YaHei;">用户向因特网上的其他任何人发送即时消息。详细参考：</span></p>
<p><a href="http://zh.wikipedia.org/zh-cn/XMPP"><span style="font-family: Microsoft YaHei;">http://zh.wikipedia.org/zh-cn/XMPP</span></a></p>
<p><span style="font-family: Microsoft YaHei;">Google官方的C2DM服务器底层也是采用XMPP协议进行的封装。</span></p>
<p><a href="http://sourceforge.net/projects/androidpn"><span style="font-family: Microsoft YaHei;">androidpn</span></a><span style="font-family: Microsoft YaHei;">是一个基于XMPP协议的java开源Android push notification实现。它包含了完整的客户端和服务器端。该服务器端基本是在另外一个开源工程</span><a href="http://www.igniterealtime.org/projects/openfire/"><span style="font-family: Microsoft YaHei;">openfire</span></a><span style="font-family: Microsoft YaHei;">基础上修改实现的。它的实现示意图如下：</span></p>
<p><span style="font-family: Microsoft YaHei;">androidpn客户端需要用到一个基于java的开源XMPP协议包</span><a href="http://code.google.com/p/asmack/"><span style="font-family: Microsoft YaHei;">asmack</span></a><span style="font-family: Microsoft YaHei;">，这个包同样也是基于openfire下的另外一个开源项目</span><a href="http://www.igniterealtime.org/downloads/download-landing.jsp?file=smack/smack_3_2_0.tar.gz"><span style="font-family: Microsoft YaHei;">smack</span></a><span style="font-family: Microsoft YaHei;">， 不过我们不需要自己编译，可以直接把androidpn客户端里面的asmack.jar拿来使用。客户端利用asmack中提供的 XMPPConnection类与服务器建立持久连接，并通过该连接进行用户注册和登录认证，同样也是通过这条连接，接收服务器发送的通知。</span></p>
<p><span style="font-family: Microsoft YaHei;">androidpn服务器端也是java语言实现的，基于 openfire开源工程，不过它的Web部分采用的是spring框架，这一点与openfire是不同的。Androidpn服务器包含两个部分，一 个是侦听在5222端口上的XMPP服务，负责与客户端的XMPPConnection类进行通信，作用是用户注册和身份认证，并发送推送通知消息。另外 一部分是Web服务器，采用一个轻量级的HTTP服务器，负责接收用户的Web请求。服务器架构如下：</span></p>
<p><span style="font-family: Microsoft YaHei;">最上层包含四个组成部分，分别是 SessionManager，Auth Manager，PresenceManager以及Notification Manager。SessionManager负责管理客户端与服务器之间的会话，Auth Manager负责客户端用户认证管理，Presence Manager负责管理客户端用户的登录状态，NotificationManager负责实现服务器向客户端推送消息功能。</span></p>
<p><span style="font-family: Microsoft YaHei;">服务器端界面如下，分别对应了上述的几个功能模块：</span></p>
<p align="left"><span style="font-family: Microsoft YaHei;"> </span></p>
<p align="left"><span style="font-family: Microsoft YaHei;">      发送以后，我们可以在手机端看到接收的消息：</span></p>
<p><span style="font-family: Microsoft YaHei;">      这个解决方案的最大优势就是简单，我们不需要象C2DM那样依赖操作系统版本，也不会担心某一天Google服务器不可用。利用XMPP协议我们还可以进一步的对协议进行扩展，实现更为完善的功能。</span></p>
<p><span style="font-family: Microsoft YaHei;">采用这个方案，目前只能发送文字消息，不过对于推送来说一般足够了，因为我们不能指望通过推送得到所有的数据，一般情况下，利用推送只是告诉手机端服务器发生了某些改变，当客户端收到通知以后，应该主动到服务器获取最新的数据，这样才是推送服务的完整实现。</span></p>
</div>
<p>转帖通过<a href="http://blog.csdn.net/zphappy/article/details/6658504">移动手机消息推送机制 &#8211; zphappy的专栏 &#8211; 博客频道 &#8211; CSDN.NET</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chenxinxing.com/2011/11/09/284/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MAPn v3.1 Stable 一键安装包正式版发布_Open Source 开源</title>
		<link>http://www.chenxinxing.com/2011/11/02/282/index.html</link>
		<comments>http://www.chenxinxing.com/2011/11/02/282/index.html#comments</comments>
		<pubDate>Wed, 02 Nov 2011 03:21:14 +0000</pubDate>
		<dc:creator>chenxx</dc:creator>
				<category><![CDATA[技术新闻]]></category>

		<guid isPermaLink="false">http://www.chenxinxing.com/?p=282</guid>
		<description><![CDATA[MAPn 是一个用于 Linux(CentOS/RedHat/Debian/Ubuntu) 系统的服务环境自动编译程序，具有 MAP(lamp) &#38; MAPn(lnamp) 模式并可随意切换；MAPn 是以 MySQL + Apache + PHP + Nginx(可选) 的安装顺序命名；MAPn 默认安装为 MAP 模式，选择 MAP+n 模式将以 Nginx 作为服务器前端运行，Apache 作为服务器后端运行。 【包含程序】 默认安装：MySQL、Apache、PHP、phpMyAdmin 可选安装：Nginx、eAccelerator、Zend Optimizer、ionCube、PureFTPd、Suhosin、Memcached、google-perftools (可选安装程序可在 MAPn 主安装完成后于 extras.sh 选择安装) 【附加程序安装说明】 当您选择安装 Nginx，则是以 MAP+n 模式运行，当您卸载 Nginx，则是以 MAP 模式运行，切换模式时 MAPn 会自动处理所有有关配置文件； 可选安装程序可在 extras.sh 选择安装，当您安装某个程序后则其不在安装列表显示，转而显示在 unextras.sh 卸载脚本中，如果没有安装的程序则不会在 unextras.sh 中显示，反之，可选程序卸载后会恢复在 extras.sh 列表显示； 附加(可选)程序可无限制安装与卸载。 【自定义版本说明】 [...]]]></description>
			<content:encoded><![CDATA[<p>MAPn 是一个用于 Linux(CentOS/RedHat/Debian/Ubuntu) 系统的服务环境自动编译程序，具有 MAP(lamp) &amp; MAPn(lnamp) 模式并可随意切换；MAPn 是以 MySQL + Apache + PHP + Nginx(可选) 的安装顺序命名；MAPn 默认安装为 MAP 模式，选择 MAP+n 模式将以 Nginx 作为服务器前端运行，Apache 作为服务器后端运行。</p>
<p><span style="font-weight: bold;">【包含程序】</span></p>
<p>默认安装：MySQL、Apache、PHP、phpMyAdmin<br />
可选安装：Nginx、eAccelerator、Zend Optimizer、ionCube、PureFTPd、Suhosin、Memcached、google-perftools (可选安装程序可在 MAPn 主安装完成后于 extras.sh 选择安装)</p>
<p><span style="font-weight: bold;">【附加程序安装说明】</span></p>
<p>当您选择安装 Nginx，则是以 MAP+n 模式运行，当您卸载 Nginx，则是以 MAP 模式运行，切换模式时 MAPn 会自动处理所有有关配置文件；</p>
<p>可选安装程序可在 extras.sh 选择安装，当您安装某个程序后则其不在安装列表显示，转而显示在 unextras.sh 卸载脚本中，如果没有安装的程序则不会在 unextras.sh 中显示，反之，可选程序卸载后会恢复在 extras.sh 列表显示；</p>
<p>附加(可选)程序可无限制安装与卸载。</p>
<p><span style="font-weight: bold;">【自定义版本说明】</span></p>
<p>默认版本号为 MySQL-5.1.59、Apache-2.2.21、PHP-5.2.17、Nginx-1.0.8、eAccelerator-0.9.5.3、phpMyAdmin-3.4.7、Memcached-1.4.7；</p>
<p>如需安装其它版本号程序，可在安装时选择自定义版本号，注意正确填写版本号格式并确认其版本是存在的(<a href="http://sourceforge.net/projects/mapn/files/source/">确认链接</a>)；</p>
<p>关于 PHP5.3 系列版本，MAPn 会自动识别您输入的版本号，如果为 PHP5.3 系列版本号，则以 PHP5.3 系列版本的编译方式编译，并在后续的 Zend Optimizer 将会自动安装为 Zend Guard Loader，同因 PHP5.3 系列版本不兼容 eAccelerator0.9.5 系列版本，所以当您选择了 PHP5.3 系列版本，MAPn 则自动将 eAccelerator 的自定义版本隐藏并安装为 0.9.6.1 版本；<br />
MySQL 暂不支持 5.5 系列；<br />
Apache 暂只支持 2.2 系列；</p>
<p>更多程序版本支持将在 MAPn 后续版本支持。</p>
<p><span style="font-weight: bold;">【升级说明】</span><br style="font-weight: bold;" /><br />
MAPn 3.1 正式版仅支持由 MAPn 3.1 测试版升级，后续版本也将仅支持由 MAPn 3.1 测试版与后续版本升级，直接运行主安装，MAPn 会提醒您是否进行升级，升级时 MAPn 会自动处理数据库等配置文件，但仍建议您升级前做好数据备份；</p>
<p>运行 upgrade.sh 可进行 MySQL、Apache、PHP、Nginx 升级/降级，由于考虑到降级等原因，此脚本的原理是将您选择的程序卸载再进行安装，MAPn 会自动处理您的数据，但仍建议您升级前做好数据备份；<br />
<br style="font-weight: bold;" /> <span style="font-weight: bold;">【更新说明】</span></p>
<p>* 增加 FTP(PureFTPd) 支持，配有 FTP 用户增加、修改、删除等操作管理脚本；<br />
* 增加 MAPn 主升级功能；<br />
* 增加 MySQL、Apache、PHP、Nginx 升降级功能；<br />
* 增加附加程序安装与卸载脚本；<br />
* 增加 Memcached、google-perftools 程序为可选安装；<br />
* 增加 PHP5.3 系列版本支持；<br />
* 修正部分系统模板获取不到主机名导致 Apache 无法启动的问题；<br />
* 修正部分 Ubuntu11 系统模板安装 PHP 错误的问题；<br />
* 修正因 PHP 编译参数导致个别 PHP 代码不兼容的问题；<br />
* 修改虚拟主机配置文件路径为 /usr/local/mapn/vhosts/；<br />
* 修改 Suhosin(PHP守护神) 为可选安装；<br />
* 优化 MAP 与 MAP+n 模式的完美切换；<br />
* 优化添加虚拟机脚本的处理方式；<br />
* 优化安装完成 MySQL 后删除多余的空密码账户；<br />
* 等等诸多优化更新。</p>
<p><span style="font-weight: bold;">【安装说明】</span></p>
<p>快速开始安装(自动版)：</p>
<p>wget http://www.notago.com/mapn.sh;sh mapn.sh</p>
<p>执行后选择 1 为下载版，选择 2 为完整版(推荐)</p>
<p>手动版(与自动版任选其一)：</p>
<p><span style="font-weight: bold;">下载版：</span><br />
wget http://sourceforge.net/projects/mapn/files/stable/ngro-mapn-3.1.tar.gz (下载安装文件)<br />
tar -zxvf ngro-mapn-3.1.tar.gz (解压安装文件)<br />
cd ngro-mapn-3.1/ (进入工作目录)<br />
./centos.sh (执行安装，适用于 CentOS/RedHat )<br />
./debian.sh (执行安装，适用于 Debian/Ubuntu )</p>
<p><span style="font-weight: bold;">完整版：</span><br />
wget -c http://sourceforge.net/projects/mapn/files/stable/ngro-mapn-3.1-full.tar.gz<br />
tar -zxvf ngro-mapn-3.1-full.tar.gz<br />
cd ngro-mapn-3.1/<br />
./centos.sh<br />
./debian.sh</p>
<p><span style="font-weight: bold;">下载提示：</span><br />
MAPn 项目主要托管于 SourceForge.net，部分中国内服务商屏蔽了 SourceForge.net，导致无法下载等问题，当您的服务器访问不了 SourceForge，请下载托管于谷歌项目的完整版，或者下载 Notago.com 本地完整版；<br />
Google: wget -c <a href="http://mapn.googlecode.com/files/ngro-mapn-3.1-full.tar.gz" target="_blank">http://mapn.googlecode.com/files/ngro-mapn-3.1-full.tar.gz</a><br />
Notago: wget -c <a href="http://download.notago.com/mapn/ngro-mapn-3.1-full.tar.gz" target="_blank">http://download.notago.com/mapn/ngro-mapn-3.1-full.tar.gz</a></p>
<p><span style="font-weight: bold;">【使用说明】</span></p>
<p>主安装完成后，如您需安装更多程序支持，可执行 extras.sh 选择进行安装，如需卸载可选程序，可执行 unextras.sh 选择进行卸载；</p>
<p>主安装完成后，如您需升降级 MySQL、Apache、PHP、Nginx，可执行 upgrade.sh 选择进行升降级；</p>
<p>状态管理：启动：mapn start | 停止：mapn stop | 重启：mapn restart | 强制停止：mapn kill ；</p>
<p>虚拟主机管理：添加：mapn adv | 删除：mapn rmv ；</p>
<p>FTP 管理程序：mapn ftp (具有启动、停止、重启，添加用户、修改用户、删除用户)；</p>
<p>如您需重新安装 MAPn，可直接执行主安装(centos.sh|debian.sh)，MAPn 会询问您是否升级，选择 Y/y 即可；</p>
<p>如您需卸载 MAPn，可执行 uninstall.sh 进行彻底卸载，请特别注意先备份好您的数据。<br />
<br style="font-weight: bold;" /> <span style="font-weight: bold;"> 【特别说明】</span><br />
MAPn 开放源代码，无任何加密，无任何后门，所有程序均采用官方源文件，您可查询 MD5 值进行对比；<br />
MAPn 所有选单的 ( Y/n ) 均不区分大小写，输入大小写都可；</p>
<p>官方社区支持： <a href="http://www.notago.com/">http://www.notago.com</a><br />
官方博客支持： <a href="http://www.ngro.org/">http://www.ngro.org</a><br />
QQ交流群： 96534155</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chenxinxing.com/2011/11/02/282/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【分享】大蒜水+烤桔子治小儿咳嗽的真是无敌啊！</title>
		<link>http://www.chenxinxing.com/2011/10/24/280/index.html</link>
		<comments>http://www.chenxinxing.com/2011/10/24/280/index.html#comments</comments>
		<pubDate>Mon, 24 Oct 2011 08:30:41 +0000</pubDate>
		<dc:creator>chenxx</dc:creator>
				<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.chenxinxing.com/?p=280</guid>
		<description><![CDATA[起码这次无敌了，前两天还有些咳嗽，吃了两天到昨天就听不到咳嗽声了，而且烤桔子还特别爱吃，很香呢！ 这次的咳嗽，舌苔是白的，据说是风寒，所以烤桔子应该对症了，如果是燥热咳嗽的话，得要吃冰糖梨水。 自己的非专业想法，仅供大家拍砖讨论，呵呵。 对了，咳嗽的时候别轻易吃止咳水，治标不治本，还容易有负作用，这次顶了家里人很大压力才坚持下来了 具体做法： 烤桔子：插上筷子在炉子上用小火慢慢烤到皮发焦、有香味，趁热吃里面的果肉。吃到嘴巴里你就知道为什么一定要烤了：桔子肉里有一股桔子皮的浓郁香味，味道会有点苦哦！ 冰糖大蒜水：大蒜2、3瓣（孩子的量，大人增加）拍开，放冰糖（多少自己实践），烧开后，小火继续煮15分钟左右。烧好后水与大蒜又香又甜，容易下口。对了，其实应该是蒸的，我后来偷懒，直接用煮了，呵呵，好象也有效果。 另外，每天还是要多喝水的 把二块蒜头拍碎，放点水，隔水蒸，放冰糖喝治化痰­ 用柑桔烤黑了皮可吃里面的桔子，治咳嗽­ 严重的一天吃二次，不严重的一天吃一次­ 吃个三天都会见效果的­ ­ 中医的解说是这样的：风寒咳嗽或风热咳嗽，最开始的病因肯定都是着凉了，既然受寒了，大蒜水能治冰糖可润喉。即使是受 寒引起的感冒或咳嗽，都很有可能在体内化热，特别是孩子，更容易化热，但此时外寒并没有解。所以，这个时候用大蒜水解外 寒，用烤桔子化内热。­ 这有点像中医所说的，寒包火的感冒：特别怕冷，但还咽喉肿痛、发高烧。即有外寒，又有内热。这时用的方子里，也是即有 去外寒、又有化内热的药并用的。­ 中医说是放在火上烤，我家没有火，我就放在锅里烤了，把锅烤热，就放桔子进去，小火慢慢烤，烤到皮都黑了就可以了。­ 大人是感冒吗？感冒可喝红糖煮姜水喝，然后一个小时喝一杯水，或喝淡盐水就会好了，我自己也试过的，也很有效果，晚上 再泡一下脚，效果更佳­ 蒸蒜水是治疗寒证的咳嗽，能暖肺。妈妈们用蒜水驱寒的时候一般很少给宝宝喝水清热，因为宝宝毕竟是小孩子，很容易内 热。内热了就会热咳生痰，烤橘子正好治疗热咳。一边喝蒜水驱寒一边吃烤橘子治疗热咳，宝宝就没事了­ 冰糖是和大蒜一起蒸嘛？还是蒸好后再放冰糖？要放多少水？蒸多长时间？谢谢了。­ 我是蒸好放的，就放一点点，边融化边趁热喂的哦­ 水放浸过蒜一点就可以了，因那东东并不是好喝的，别放太多水难喝完­ ­ 蒸的时间把握一下，看到水变有颜色了，也就是那蒜汁出来了就可以了­ 江西柑桔，沙糖桔，小个的那种就可以了­ 咳嗽有风寒咳嗽和风热咳嗽，烤桔子是治风热咳嗽,大蒜水是治风寒咳嗽­ ­ 如果分不清风寒咳嗽还是热咳嗽就烤桔子吃，吃后效果明显的是热咳，吃后很快又咳嗽的是风寒咳嗽，而风寒咳嗽用大蒜水很 见效，，小孩流水鼻涕，小便清，口不渴，舌苔白而舌质颜色淡是受寒。流黄粘鼻涕，口渴，小便黄，舌苔白舌质红是伤热。­ 我的这个食疗烤橘子和蒸大蒜水都是适合风寒咳嗽的，风热咳嗽的食疗法正好与风寒咳嗽相反，所以妈妈们一定不能搞错了。 不过现在天气转凉，气温变化大，很多宝宝都是受凉引起感冒咳嗽的，风热咳嗽很少­ 烤橘子治痰多的风寒咳嗽：­ ­ 将橘子直接放在小火上烤，并不断地翻动，烤到橘皮发黑、橘子冒热气就好了。放一会儿，不要太烫了，剥去烤黑的橘子皮， 让孩子吃里面温热的橘子瓣。如果是大橘子，孩子一次吃2～3瓣就可以了，如果是小的贡橘，一次可以吃一只。最好配合着大 蒜水一起吃，一天2～3次。橘子性温，吃了烤橘子后，痰液的量会明显减少。烤橘子镇咳作用非常明显，而且孩子都愿意 吃。­ 大蒜水+烤桔子治小儿咳嗽，冰糖梨水也可以，我是用梨和冰糖蒸着吃的（是一个老中医的方子），我以前也是用此方法，百事百灵！此法值得推荐！]]></description>
			<content:encoded><![CDATA[<p>起码这次无敌了，前两天还有些咳嗽，吃了两天到昨天就听不到咳嗽声了，而且烤桔子还特别爱吃，很香呢！<br />
这次的咳嗽，舌苔是白的，据说是风寒，所以烤桔子应该对症了，如果是燥热咳嗽的话，得要吃冰糖梨水。<br />
自己的非专业想法，仅供大家拍砖讨论，呵呵。</p>
<p>对了，咳嗽的时候别轻易吃止咳水，治标不治本，还容易有负作用，这次顶了家里人很大压力才坚持下来了</p>
<p>具体做法：<br />
烤桔子：插上筷子在炉子上用小火慢慢烤到皮发焦、有香味，趁热吃里面的果肉。吃到嘴巴里你就知道为什么一定要烤了：桔子肉里有一股桔子皮的浓郁香味，味道会有点苦哦！<br />
冰糖大蒜水：大蒜2、3瓣（孩子的量，大人增加）拍开，放冰糖（多少自己实践），烧开后，小火继续煮15分钟左右。烧好后水与大蒜又香又甜，容易下口。对了，其实应该是蒸的，我后来偷懒，直接用煮了，呵呵，好象也有效果。</p>
<p>另外，每天还是要多喝水的 </p>
<p>把二块蒜头拍碎，放点水，隔水蒸，放冰糖喝治化痰­</p>
<p>用柑桔烤黑了皮可吃里面的桔子，治咳嗽­</p>
<p>严重的一天吃二次，不严重的一天吃一次­</p>
<p>吃个三天都会见效果的­</p>
<p>­</p>
<p>中医的解说是这样的：风寒咳嗽或风热咳嗽，最开始的病因肯定都是着凉了，既然受寒了，大蒜水能治冰糖可润喉。即使是受 寒引起的感冒或咳嗽，都很有可能在体内化热，特别是孩子，更容易化热，但此时外寒并没有解。所以，这个时候用大蒜水解外 寒，用烤桔子化内热。­</p>
<p>这有点像中医所说的，寒包火的感冒：特别怕冷，但还咽喉肿痛、发高烧。即有外寒，又有内热。这时用的方子里，也是即有 去外寒、又有化内热的药并用的。­</p>
<p>中医说是放在火上烤，我家没有火，我就放在锅里烤了，把锅烤热，就放桔子进去，小火慢慢烤，烤到皮都黑了就可以了。­</p>
<p>大人是感冒吗？感冒可喝红糖煮姜水喝，然后一个小时喝一杯水，或喝淡盐水就会好了，我自己也试过的，也很有效果，晚上 再泡一下脚，效果更佳­</p>
<p>蒸蒜水是治疗寒证的咳嗽，能暖肺。妈妈们用蒜水驱寒的时候一般很少给宝宝喝水清热，因为宝宝毕竟是小孩子，很容易内 热。内热了就会热咳生痰，烤橘子正好治疗热咳。一边喝蒜水驱寒一边吃烤橘子治疗热咳，宝宝就没事了­</p>
<p>冰糖是和大蒜一起蒸嘛？还是蒸好后再放冰糖？要放多少水？蒸多长时间？谢谢了。­</p>
<p>我是蒸好放的，就放一点点，边融化边趁热喂的哦­</p>
<p>水放浸过蒜一点就可以了，因那东东并不是好喝的，别放太多水难喝完­</p>
<p>­</p>
<p>蒸的时间把握一下，看到水变有颜色了，也就是那蒜汁出来了就可以了­</p>
<p>江西柑桔，沙糖桔，小个的那种就可以了­</p>
<p>咳嗽有风寒咳嗽和风热咳嗽，烤桔子是治风热咳嗽,大蒜水是治风寒咳嗽­</p>
<p>­</p>
<p>如果分不清风寒咳嗽还是热咳嗽就烤桔子吃，吃后效果明显的是热咳，吃后很快又咳嗽的是风寒咳嗽，而风寒咳嗽用大蒜水很 见效，，小孩流水鼻涕，小便清，口不渴，舌苔白而舌质颜色淡是受寒。流黄粘鼻涕，口渴，小便黄，舌苔白舌质红是伤热。­</p>
<p>我的这个食疗烤橘子和蒸大蒜水都是适合风寒咳嗽的，风热咳嗽的食疗法正好与风寒咳嗽相反，所以妈妈们一定不能搞错了。 不过现在天气转凉，气温变化大，很多宝宝都是受凉引起感冒咳嗽的，风热咳嗽很少­</p>
<p>烤橘子治痰多的风寒咳嗽：­</p>
<p>­</p>
<p>将橘子直接放在小火上烤，并不断地翻动，烤到橘皮发黑、橘子冒热气就好了。放一会儿，不要太烫了，剥去烤黑的橘子皮， 让孩子吃里面温热的橘子瓣。如果是大橘子，孩子一次吃2～3瓣就可以了，如果是小的贡橘，一次可以吃一只。最好配合着大 蒜水一起吃，一天2～3次。橘子性温，吃了烤橘子后，痰液的量会明显减少。烤橘子镇咳作用非常明显，而且孩子都愿意 吃。­</p>
<p>大蒜水+烤桔子治小儿咳嗽，冰糖梨水也可以，我是用梨和冰糖蒸着吃的（是一个老中医的方子），我以前也是用此方法，百事百灵！此法值得推荐！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chenxinxing.com/2011/10/24/280/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.281 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-23 05:16:05 -->

