<?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.devtutor.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.devtutor.com</link>
	<description>关注互联网、移动互联网的技术博客</description>
	<lastBuildDate>Fri, 20 Jan 2012 13:17:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>maven创建eclipse wtp项目</title>
		<link>http://www.devtutor.com/archives/65.html</link>
		<comments>http://www.devtutor.com/archives/65.html#comments</comments>
		<pubDate>Fri, 20 Jan 2012 13:10:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Web开发]]></category>

		<guid isPermaLink="false">http://www.devtutor.com/?p=65</guid>
		<description><![CDATA[1、创建maven项目 mvn archetype:create -DgroupId=com.blogmii.cg -DartifactId=cg -DpackageName=com.blogmii.cg - DarchetypeArtifactId=maven-archetype-webapp 2、maven项目添加eclipse支持 mvn -U clean eclipse:clean eclipse:eclipse -DdownloadSources=true 3、添加wtp支持 mvn -Dwtpversion=2.0 eclipse:eclipse]]></description>
			<content:encoded><![CDATA[<p>1、创建maven项目<br />
mvn archetype:create -DgroupId=com.blogmii.cg -DartifactId=cg -DpackageName=com.blogmii.cg -</p>
<p>DarchetypeArtifactId=maven-archetype-webapp</p>
<p>2、maven项目添加eclipse支持<br />
mvn -U clean eclipse:clean eclipse:eclipse -DdownloadSources=true</p>
<p>3、添加wtp支持<br />
mvn -Dwtpversion=2.0 eclipse:eclipse</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtutor.com/archives/65.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>个人网站建设过程指南</title>
		<link>http://www.devtutor.com/archives/61.html</link>
		<comments>http://www.devtutor.com/archives/61.html#comments</comments>
		<pubDate>Thu, 17 Nov 2011 13:37:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[互联网/移动互联网]]></category>
		<category><![CDATA[产品经理]]></category>
		<category><![CDATA[个人网站]]></category>
		<category><![CDATA[网站建设]]></category>

		<guid isPermaLink="false">http://www.devtutor.com/?p=61</guid>
		<description><![CDATA[一、      网站定位 要准备开始建立一个个人网站，网站的定位非常重要。 比如网站的服务人群，地区，网络基础设置情况，都是应该纳入考虑的范围。 由于此话题非常的大，建议多查看相关的网站策划文档等。 二、      时间计划 制定一个网站的开发运营时间计划，让自己按照计划推动网站的建设。 三、      设计方案 基于网站定位，设计出网站的主要模块，功能，UI风格等。 四、      技术方案 决定网站所要采用的技术方案，就现在网站主机所支持的来说通常是：asp.net，jsp，php。其他的不太流行，暂时不考虑。 1)        就asp.net来说，是微软所支持的技术，通常也是搭配mysql,windows. 别想着sql server了，太贵了，没有必要。 2)        就jsp来说，做个人网站的话还是不要考虑了，因为也是太贵了，一般入门价格要比PHP贵2倍。 3)        因此强力推荐采用LAMP方案。即： Linux Apache Mysql PHP。 &#160; 五、      网站流量估算 网站建立好之后是为了让人访问的， 网站访问就需要消耗流量。 通常的虚拟主机都提供一定量的月流量，比如：10G，15G.. 如何去估计网站的流量呢？ 1)        估计网站网页的平均大小 通常的网页如果不含图片是很小的，只有几十K的大小，如果含有很多图片就很大了，图片是非常消耗流量的。 因此不推荐新手站长做图片非常多的网站。 2)        估计要达到的日IP，日PV 通过网站定位的分析，分析出要达到的网站的日IP和日PV。 &#8230; <a href="http://www.devtutor.com/archives/61.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;" align="center"><span class="Apple-style-span" style="font-size: 20px; font-weight: bold;">一、      网站定位</span></p>
<p>要准备开始建立一个个人网站，网站的定位非常重要。 比如网站的服务人群，地区，网络基础设置情况，都是应该纳入考虑的范围。 由于此话题非常的大，建议多查看相关的网站策划文档等。</p>
<h2>二、      时间计划</h2>
<p>制定一个网站的开发运营时间计划，让自己按照计划推动网站的建设。</p>
<h2>三、      设计方案</h2>
<p>基于网站定位，设计出网站的主要模块，功能，UI风格等。</p>
<h2>四、      技术方案</h2>
<p>决定网站所要采用的技术方案，就现在网站主机所支持的来说通常是：asp.net，jsp，php。其他的不太流行，暂时不考虑。</p>
<p>1)        就asp.net来说，是微软所支持的技术，通常也是搭配mysql,windows. 别想着sql server了，太贵了，没有必要。</p>
<p>2)        就jsp来说，做个人网站的话还是不要考虑了，因为也是太贵了，一般入门价格要比PHP贵2倍。</p>
<p>3)        因此强力推荐采用LAMP方案。即： Linux Apache Mysql PHP。</p>
<p>&nbsp;</p>
<h2>五、      网站流量估算</h2>
<p>网站建立好之后是为了让人访问的， 网站访问就需要消耗流量。 通常的虚拟主机都提供一定量的月流量，比如：10G，15G.. 如何去估计网站的流量呢？</p>
<p>1)        估计网站网页的平均大小</p>
<p>通常的网页如果不含图片是很小的，只有几十K的大小，如果含有很多图片就很大了，图片是非常消耗流量的。 因此不推荐新手站长做图片非常多的网站。</p>
<p>2)        估计要达到的日IP，日PV</p>
<p>通过网站定位的分析，分析出要达到的网站的日IP和日PV。</p>
<p>3)        估计出流量</p>
<p>流量 = 平均每网页大小 × 日PV×30。</p>
<h2>六、      网站空间大小估计</h2>
<p>网站是需要有空间来存放的，分为文件存放的物理硬盘和mysql数据库空间。</p>
<p>这些大小都应该更加网站的定位进行估算。</p>
<h2>七、      购买域名</h2>
<p>域名可以在任何地方购买，关于域名的选择请在网上多学习。 现在最流行的域名是双拼域名。</p>
<h2>八、      购买虚拟主机</h2>
<p>根据网站的定位，估算出的流量的大小，空间的大小。选择一款适合自己的虚拟主机。</p>
<p>一般的入门站长就选择200-300元的就OK了。</p>
<h2>九、      备案域名</h2>
<p>在购买了域名和虚拟主机后还不能直接使用的，需要将域名通过虚拟主机商进行备案。</p>
<p>相关备案的流程请参考网站：  <a href="http://beian.vhostgo.com/">http://beian.vhostgo.com/</a></p>
<h2>十、      开通网站</h2>
<p>设置好数据库，各种域名配置，上传php程序。 Ok，网站开通了。</p>
<h2>十一、         网站推广方案</h2>
<p>这是另外一个非常重要的话题。</p>
<p>请多看看网络推广相关资料。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtutor.com/archives/61.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux下各文件夹的用途说明</title>
		<link>http://www.devtutor.com/archives/57.html</link>
		<comments>http://www.devtutor.com/archives/57.html#comments</comments>
		<pubDate>Wed, 09 Nov 2011 12:26:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Unix/Linux]]></category>
		<category><![CDATA[Linux文件夹]]></category>

		<guid isPermaLink="false">http://www.devtutor.com/?p=57</guid>
		<description><![CDATA[/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点，比如用户user的主目录就是/home/user，可以用~user表示 /lib 标准程序设计库，又叫动态链接共享库，作用类似windows里的.dll文件 /sbin 系统管理命令，这里存放的是系统管理员使用的管理程序 /tmp 公用的临时文件存储点 /root 系统管理员的主目录（呵呵，特权阶级） /mnt 系统提供这个目录是让用户临时挂载其他的文件系统。 /lost+found 这个目录平时是空的，系统非正常关机而留下“无家可归”的文件（windows下叫什么.chk）就在这里 /proc 虚拟的目录，是系统内存的映射。可直接访问这个目录来获取系统信息。 /var 某些大文件的溢出区，比方说各种服务的日志文件 /usr 最庞大的目录，要用到的应用程序和文件几乎都在这个目录。其中包含： /usr/x11r6 存放x window的目录 /usr/bin 众多的应用程序 /usr/sbin 超级用户的一些管理程序 /usr/doc linux文档 /usr/include linux下开发和编译应用程序所需要的头文件 /usr/lib 常用的动态链接库和软件包的配置文件 /usr/man 帮助文档 /usr/src 源代码，linux内核的源代码就放在/usr/src/linux里 /usr/local/bin 本地增加的命令 /usr/local/lib 本地增加的库根文件系统    详细说明： /etc文件系统 /etc 目录包含各种系统配置文件，下面说明其中的一些。其他的你应该知道它们属于哪个 程序，并阅读该程序的m a n页。许多网络配置文件也在/etc 中。 1. /etc/rc或/etc/rc.d或/etc/rc?.d 启动、或改变运行级时运行的脚本或脚本的目录。 2. /etc/passwd 用户数据库，其中的域给出了用户名、真实姓名、用户起始目录、加密口令和用户的其 他信息。 3. /etc/fdprm 软盘参数表，用以说明不同的软盘格式。可用setfdprm 进行设置。更多的信息见s e t f d p r m 的帮助页。 4. /etc/fstab 指定启动时需要自动安装的文件系统列表。也包括用swapon -a启用的s w a p区的信息。 5. /etc/group 类似/etc/passwd ，但说明的不是用户信息而是组的信息。包括组的各种数据。 &#8230; <a href="http://www.devtutor.com/archives/57.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>/bin 二进制可执行命令<br />
/dev 设备特殊文件<br />
/etc 系统管理和配置文件<br />
/etc/rc.d 启动的配置文件和脚本<br />
/home 用户主目录的基点，比如用户user的主目录就是/home/user，可以用~user表示<br />
/lib 标准程序设计库，又叫动态链接共享库，作用类似windows里的.dll文件<br />
/sbin 系统管理命令，这里存放的是系统管理员使用的管理程序<br />
/tmp 公用的临时文件存储点<br />
/root 系统管理员的主目录（呵呵，特权阶级）<br />
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。<br />
/lost+found 这个目录平时是空的，系统非正常关机而留下“无家可归”的文件（windows下叫什么.chk）就在这里<br />
/proc 虚拟的目录，是系统内存的映射。可直接访问这个目录来获取系统信息。<br />
/var 某些大文件的溢出区，比方说各种服务的日志文件<br />
/usr 最庞大的目录，要用到的应用程序和文件几乎都在这个目录。其中包含：<br />
/usr/x11r6 存放x window的目录<br />
/usr/bin 众多的应用程序<br />
/usr/sbin 超级用户的一些管理程序<br />
/usr/doc linux文档<br />
/usr/include linux下开发和编译应用程序所需要的头文件<br />
/usr/lib 常用的动态链接库和软件包的配置文件<br />
/usr/man 帮助文档<br />
/usr/src 源代码，linux内核的源代码就放在/usr/src/linux里<br />
/usr/local/bin 本地增加的命令<br />
/usr/local/lib 本地增加的库根文件系统   <span id="more-57"></span></p>
<p><strong>详细说明：</strong></p>
<p><strong></strong>/etc文件系统<br />
/etc 目录包含各种系统配置文件，下面说明其中的一些。其他的你应该知道它们属于哪个<br />
程序，并阅读该程序的m a n页。许多网络配置文件也在/etc 中。<br />
1. /etc/rc或/etc/rc.d或/etc/rc?.d<br />
启动、或改变运行级时运行的脚本或脚本的目录。<br />
2. /etc/passwd<br />
用户数据库，其中的域给出了用户名、真实姓名、用户起始目录、加密口令和用户的其<br />
他信息。<br />
3. /etc/fdprm<br />
软盘参数表，用以说明不同的软盘格式。可用setfdprm 进行设置。更多的信息见s e t f d p r m<br />
的帮助页。<br />
4. /etc/fstab<br />
指定启动时需要自动安装的文件系统列表。也包括用swapon -a启用的s w a p区的信息。<br />
5. /etc/group<br />
类似/etc/passwd ，但说明的不是用户信息而是组的信息。包括组的各种数据。<br />
6. /etc/inittab<br />
init 的配置文件。<br />
7. /etc/issue<br />
包括用户在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。具体内<br />
容由系统管理员确定。<br />
8. /etc/magic<br />
“f i l e”的配置文件。包含不同文件格式的说明，“f i l e”基于它猜测文件类型。<br />
9. /etc/motd<br />
m o t d是message of the day的缩写，用户成功登录后自动输出。内容由系统管理员确定。<br />
常用于通告信息，如计划关机时间的警告等。<br />
10. /etc/mtab<br />
当前安装的文件系统列表。由脚本( s c r i t p )初始化，并由mount 命令自动更新。当需要一<br />
个当前安装的文件系统的列表时使用(例如df 命令)。<br />
11. /etc/shadow<br />
在安装了影子( s h a d o w )口令软件的系统上的影子口令文件。影子口令文件将/ e t c / p a s s w d<br />
文件中的加密口令移动到/ e t c / s h a d o w中，而后者只对超级用户( r o o t )可读。这使破译口令更困<br />
难，以此增加系统的安全性。<br />
12. /etc/login.defs<br />
l o g i n命令的配置文件。<br />
13. /etc/printcap<br />
类似/etc/termcap ，但针对打印机。语法不同。<br />
14. /etc/profile 、/ e t c / c s h . l o g i n、/etc/csh.cshrc<br />
登录或启动时b o u r n e或c shells执行的文件。这允许系统管理员为所有用户建立全局缺省环境。<br />
15. /etc/securetty<br />
确认安全终端，即哪个终端允许超级用户( r o o t )登录。一般只列出虚拟控制台，这样就不<br />
可能(至少很困难)通过调制解调器( m o d e m )或网络闯入系统并得到超级用户特权。<br />
16. /etc/shells<br />
列出可以使用的s h e l l。chsh 命令允许用户在本文件指定范围内改变登录的s h e l l。提供一<br />
台机器f t p服务的服务进程ftpd 检查用户s h e l l是否列在/etc/shells 文件中，如果不是，将不允<br />
许该用户登录。<br />
17. /etc/termcap<br />
终端性能数据库。说明不同的终端用什么“转义序列”控制。写程序时不直接输出转义<br />
序列(这样只能工作于特定品牌的终端)，而是从/etc/termcap 中查找要做的工作的正确序列。<br />
这样，多数的程序可以在多数终端上运行。</p>
<p>/dev文件系统<br />
/dev 目录包括所有设备的设备文件。设备文件用特定的约定命名，这在设备列表中说明。<br />
设备文件在安装时由系统产生，以后可以用/dev/makedev 描述。/ d e v / m a k e d e v.local 是<br />
系统管理员为本地设备文件(或连接)写的描述文稿(即如一些非标准设备驱动不是标准<br />
makedev 的一部分)。下面简要介绍/ d e v下一些常用文件。<br />
1. /dev/console<br />
系统控制台，也就是直接和系统连接的监视器。<br />
2. /dev/hd<br />
i d e硬盘驱动程序接口。如： / d e v / h d a指的是第一个硬盘， h a d 1则是指/ d e v / h d a的第一个<br />
分区。如系统中有其他的硬盘，则依次为/ d e v / h d b、/ d e v / h d c、. . . . . .；如有多个分区则依次为<br />
h d a 1、h d a 2 . . . . . .<br />
3. /dev/sd<br />
s c s i磁盘驱动程序接口。如有系统有s c s i硬盘，就不会访问/ d e v / h a d，而会访问/ d e v / s d a。<br />
4. /dev/fd<br />
软驱设备驱动程序。如： / d e v / f d 0指系统的第一个软盘，也就是通常所说的a：盘，<br />
/ d e v / f d 1指第二个软盘，. . . . . .而/ d e v / f d 1 h 1 4 4 0则表示访问驱动器1中的4 . 5高密盘。<br />
5. /dev/st<br />
s c s i磁带驱动器驱动程序。<br />
6. /dev/tty<br />
提供虚拟控制台支持。如： / d e v / t t y 1指的是系统的第一个虚拟控制台， / d e v / t t y 2则是系统<br />
的第二个虚拟控制台。<br />
7. /dev/pty<br />
提供远程登陆伪终端支持。在进行te l n e t登录时就要用到/ d e v / p t y设备。<br />
8. /dev/ttys<br />
计算机串行接口，对于d o s来说就是“ c o m 1”口。<br />
9. /dev/cua<br />
计算机串行接口，与调制解调器一起使用的设备。<br />
10. /dev/null<br />
“黑洞”，所有写入该设备的信息都将消失。例如：当想要将屏幕上的输出信息隐藏起来<br />
时，只要将输出信息输入到/ d e v / n u l l中即可。</p>
<p>/usr文件系统<br />
/usr 是个很重要的目录，通常这一文件系统很大，因为所有程序安装在这里。/usr 里的<br />
所有文件一般来自l i n u x发行版( d i s t r i b u t i o n )；本地安装的程序和其他东西在/usr/local 下，因为这样可以在升级新版系统或新发行版时无须重新安装全部程序。/usr 目录下的许多内容是<br />
可选的，但这些功能会使用户使用系统更加有效。/ u s r可容纳许多大型的软件包和它们的配置<br />
文件。下面列出一些重要的目录(一些不太重要的目录被省略了)。<br />
1. /usr/x11r6<br />
包含x wi n d o w系统的所有可执行程序、配置文件和支持文件。为简化x的开发和安装，<br />
x的文件没有集成到系统中。x wi n d o w系统是一个功能强大的图形环境，提供了大量的图形<br />
工具程序。用户如果对microsoft wi n d o w s或m a c h i n t o s h比较熟悉的话，就不会对x wi n d o w系统感到束手无策了。<br />
2. /usr/x386<br />
类似/ u s r / x 11r6 ，但是是专门给x 11 release 5的。<br />
3. /usr/bin<br />
集中了几乎所有用户命令，是系统的软件库。另有些命令在/bin 或/usr/local/bin 中。<br />
4. /usr/sbin<br />
包括了根文件系统不必要的系统管理命令，例如多数服务程序。<br />
5. /usr/man、/ u s r / i n f o、/ u s r / d o c<br />
这些目录包含所有手册页、g n u信息文档和各种其他文档文件。每个联机手册的“节”<br />
都有两个子目录。例如： / u s r / m a n / m a n 1中包含联机手册第一节的源码(没有格式化的原始文<br />
件)，/ u s r / m a n / c a t 1包含第一节已格式化的内容。l联机手册分为以下九节：内部命令、系统调<br />
用、库函数、设备、文件格式、游戏、宏软件包、系统管理和核心程序。<br />
6. /usr/include<br />
包含了c语言的头文件，这些文件多以. h结尾，用来描述c语言程序中用到的数据结构、<br />
子过程和常量。为了保持一致性，这实际上应该放在/usr/lib 下，但习惯上一直沿用了这个名<br />
字。<br />
7. /usr/lib<br />
包含了程序或子系统的不变的数据文件，包括一些s i t e - w i d e配置文件。名字l i b来源于库<br />
(library); 编程的原始库也存在/usr/lib 里。当编译程序时，程序便会和其中的库进行连接。也<br />
有许多程序把配置文件存入其中。<br />
8. /usr/local<br />
本地安装的软件和其他文件放在这里。这与/ u s r很相似。用户可能会在这发现一些比较大<br />
的软件包，如t e x、e m a c s等。</p>
<p>/var文件系统<br />
/var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化<br />
或扩充的。原来/ v a r目录中有些内容是在/ u s r中的，但为了保持/ u s r目录的相对稳定，就把那<br />
些需要经常改变的目录放到/ v a r中了。每个系统是特定的，即不通过网络与其他计算机共享。<br />
下面列出一些重要的目录(一些不太重要的目录省略了)。<br />
1. /var/catman<br />
包括了格式化过的帮助( m a n )页。帮助页的源文件一般存在/ u s r / m a n / m a n中；有些m a n页<br />
可能有预格式化的版本，存在/ u s r / m a n / c a t中。而其他的m a n页在第一次看时都需要格式化，<br />
格式化完的版本存在/var/man 中，这样其他人再看相同的页时就无须等待格式化了。<br />
(/var/catman 经常被清除，就像清除临时目录一样。)<br />
2. /var/lib<br />
存放系统正常运行时要改变的文件。<br />
3. /var/local<br />
存放/usr/local 中安装的程序的可变数据(即系统管理员安装的程序)。注意，如果必要，<br />
即使本地安装的程序也会使用其他/var 目录，例如/var/lock 。<br />
4. /var/lock<br />
锁定文件。许多程序遵循在/var/lock 中产生一个锁定文件的约定，以用来支持他们正在<br />
使用某个特定的设备或文件。其他程序注意到这个锁定文件时，就不会再使用这个设备或文<br />
件。<br />
5. /var/log<br />
各种程序的日志( l o g )文件，尤其是login (/var/log/wtmp log纪录所有到系统的登录和注<br />
销) 和syslog (/var/log/messages 纪录存储所有核心和系统程序信息)。/var/log 里的文件经常不<br />
确定地增长，应该定期清除。<br />
6. /var/run<br />
保存在下一次系统引导前有效的关于系统的信息文件。例如， /var/run/utmp 包含当前登<br />
录的用户的信息。<br />
7. /var/spool<br />
放置“假脱机( s p o o l )”程序的目录，如m a i l、n e w s、打印队列和其他队列工作的目录。每<br />
个不同的s p o o l在/var/spool 下有自己的子目录，例如，用户的邮箱就存放在/var/spool/mail 中。<br />
8. /var/tmp<br />
比/tmp 允许更大的或需要存在较长时间的临时文件。<br />
注意系统管理员可能不允许/var/tmp 有很旧的文件。</p>
<p>/proc文件系统<br />
/proc 文件系统是一个伪的文件系统，就是说它是一个实际上不存在的目录，因而这是一<br />
个非常特殊的目录。它并不存在于某个磁盘上，而是由核心在内存中产生。这个目录用于提<br />
供关于系统的信息。下面说明一些最重要的文件和目录(/proc 文件系统在proc man页中有更详<br />
细的说明)。<br />
1. /proc/x<br />
关于进程x的信息目录，这一x是这一进程的标识号。每个进程在/proc 下有一个名为自<br />
己进程号的目录。<br />
2. /proc/cpuinfo<br />
存放处理器( c p u )的信息，如c p u的类型、制造商、型号和性能等。<br />
3. /proc/devices<br />
当前运行的核心配置的设备驱动的列表。<br />
4. /proc/dma<br />
显示当前使用的d m a通道。<br />
5. /proc/filesystems<br />
核心配置的文件系统信息。<br />
6. /proc/interrupts<br />
显示被占用的中断信息和占用者的信息，以及被占用的数量。<br />
7. /proc/ioports<br />
当前使用的i / o端口。<br />
8. /proc/kcore<br />
系统物理内存映像。与物理内存大小完全一样，然而实际上没有占用这么多内存；它仅<br />
仅是在程序访问它时才被创建。(注意：除非你把它拷贝到什么地方，否则/proc 下没有任何<br />
东西占用任何磁盘空间。)<br />
9. /proc/kmsg<br />
核心输出的消息。也会被送到s y s l o g。<br />
10. /proc/ksyms<br />
核心符号表。<br />
11. /proc/loadavg<br />
系统“平均负载”； 3个没有意义的指示器指出系统当前的工作量。<br />
12. /proc/meminfo<br />
各种存储器使用信息，包括物理内存和交换分区( s w a p )。<br />
13. /proc/modules<br />
存放当前加载了哪些核心模块信息。<br />
14. /proc/net<br />
网络协议状态信息。<br />
15. /proc/self<br />
存放到查看/proc 的程序的进程目录的符号连接。当2个进程查看/proc 时，这将会是不同<br />
的连接。这主要便于程序得到它自己的进程目录。<br />
16. /proc/stat<br />
系统的不同状态，例如，系统启动后页面发生错误的次数。<br />
17. /proc/uptime<br />
系统启动的时间长度。<br />
18. /proc/version<br />
核心版本。</p>
<pre>本文作者：coolfiry
本文出处:www.devtutor.com
声明: 本文可以不经作者同意, 任意复制, 转载, 但请保留文章最后3行的作者, 出处，以及声明信息. 谢谢.</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.devtutor.com/archives/57.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux常用工具系列之二 netcat/nc</title>
		<link>http://www.devtutor.com/archives/43.html</link>
		<comments>http://www.devtutor.com/archives/43.html#comments</comments>
		<pubDate>Sun, 06 Nov 2011 02:59:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Unix/Linux]]></category>
		<category><![CDATA[linux常用工具]]></category>
		<category><![CDATA[nc]]></category>
		<category><![CDATA[netcat]]></category>

		<guid isPermaLink="false">http://www.devtutor.com/?p=43</guid>
		<description><![CDATA[netcat也是在日常工作中常用的linux工具，在某些linux上称为nc。可以用于测试tcp,udp等协议是否连通，也被黑客用于完成一些特殊的功能. netcat被誉为为网络安全界的‘瑞士军刀&#8217;，是一把双刃剑。 就我的工作中而言主要是用于测试网络是否连通。如下的案例： 最近在工作中遇到需要测试与打印机之间的snmp是否连通的问题，起初笔者尝试用telnet去测试。 如：telnet 192.168.1.99 161。 发现是不能连通的，但是测试的打印机是肯定能通的，笔者才想到telnet应该是测试tcp的连接的，测试udp协议应该有其他方法。 测试ucp协议的方法如下： nc -u 192.168.199 161 然后进入回显界面，键入字符，只要不报错，就证明没有连通udp没有问题。 如果显示：Write error: Connection refused。 就表示不能联通udp端口。 本测试基于redhat os. 本文作者：coolfiry 本文出处:www.devtutor.com 声明: 本文可以不经作者同意, 任意复制, 转载, 但请保留文章最后3行的作者, 出处，以及声明信息. 谢谢.]]></description>
			<content:encoded><![CDATA[<p>netcat也是在日常工作中常用的linux工具，在某些linux上称为nc。可以用于测试tcp,udp等协议是否连通，也被黑客用于完成一些特殊的功能. netcat被誉为为网络安全界的‘瑞士军刀&#8217;，是一把双刃剑。</p>
<p>就我的工作中而言主要是用于测试网络是否连通。如下的案例：</p>
<div id="blog_content">
<p>最近在工作中遇到需要测试与打印机之间的snmp是否连通的问题，起初笔者尝试用telnet去测试。</p>
<p>如：telnet 192.168.1.99 161。 发现是不能连通的，但是测试的打印机是肯定能通的，笔者才想到telnet应该是测试tcp的连接的，测试udp协议应该有其他方法。</p>
<p>测试ucp协议的方法如下：</p>
<p>nc -u 192.168.199 161</p>
<p>然后进入回显界面，键入字符，只要不报错，就证明没有连通udp没有问题。</p>
<p>如果显示：Write error: Connection refused。 就表示不能联通udp端口。</p>
<p>本测试基于redhat os.</p>
<pre>本文作者：coolfiry
本文出处:www.devtutor.com
声明: 本文可以不经作者同意, 任意复制, 转载, 但请保留文章最后3行的作者, 出处，以及声明信息. 谢谢.</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.devtutor.com/archives/43.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux常用工具系列之一 tcpdump用法</title>
		<link>http://www.devtutor.com/archives/40.html</link>
		<comments>http://www.devtutor.com/archives/40.html#comments</comments>
		<pubDate>Sat, 05 Nov 2011 16:23:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Unix/Linux]]></category>
		<category><![CDATA[linux常用工具]]></category>
		<category><![CDATA[tcp]]></category>

		<guid isPermaLink="false">http://www.devtutor.com/?p=40</guid>
		<description><![CDATA[tcpdump 是在工作中用于在linux/UNIX平台上抓包的工具。 笔者将自己经常使用tcpdump的方式记录下来，希望能帮助到他人。 原理： 用tcpdump进行抓包，然后用wareshark进行协议分析。 抓包命令： tcpdump                      抓取所有网络包，并在terminal中显示抓取的结果，将包以16尽早的形式显示。 tcpdump -w test.cap    抓取所有的网络包，并存到test.cap中。 tcpdump -i eth0  -w test.cap      抓取所有的经过eth0网卡的网络包，并存到test.cap中。 tcpdump src host 192.168.0.1 -w test.cap 抓取源地址是192.168.0.1的包。 tcpdump host 192.168.0.1 -w test.cap     抓取地址包含是192.168.0.1的包。 tcpdump dest host 192.168.0.1 -w test.cap     抓取目的地址包含是192.168.0.1的包。 本文作者：coolfiry 本文出处:www.devtutor.com &#8230; <a href="http://www.devtutor.com/archives/40.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="blog_content">
<p>tcpdump 是在工作中用于在linux/UNIX平台上抓包的工具。</p>
<p>笔者将自己经常使用tcpdump的方式记录下来，希望能帮助到他人。</p>
<p>原理：</p>
<p>用tcpdump进行抓包，然后用wareshark进行协议分析。</p>
<p>抓包命令：</p>
<p>tcpdump                      抓取所有网络包，并在terminal中显示抓取的结果，将包以16尽早的形式显示。</p>
<p>tcpdump -w test.cap    抓取所有的网络包，并存到test.cap中。</p>
<p>tcpdump -i eth0  -w test.cap      抓取所有的经过eth0网卡的网络包，并存到test.cap中。</p>
<p>tcpdump src host 192.168.0.1 -w test.cap 抓取源地址是192.168.0.1的包。</p>
<p>tcpdump host 192.168.0.1 -w test.cap     抓取地址包含是192.168.0.1的包。</p>
<p>tcpdump dest host 192.168.0.1 -w test.cap     抓取目的地址包含是192.168.0.1的包。</p>
<pre>本文作者：coolfiry
本文出处:www.devtutor.com
声明: 本文可以不经作者同意, 任意复制, 转载, 但请保留文章最后3行的作者, 出处，以及声明信息. 谢谢.</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.devtutor.com/archives/40.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我经常上什么网站</title>
		<link>http://www.devtutor.com/archives/34.html</link>
		<comments>http://www.devtutor.com/archives/34.html#comments</comments>
		<pubDate>Sat, 05 Nov 2011 13:35:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[互联网/移动互联网]]></category>
		<category><![CDATA[产品经理]]></category>
		<category><![CDATA[互联网]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://www.devtutor.com/?p=34</guid>
		<description><![CDATA[今天有空总结一下笔者经常上的网站，从中也可以看出中国互联网业的一些情况。 新闻类： www.sina.com 新浪网 www.qq.com 腾讯网 www.ifeng.com 凤凰网 科技类： tech.sina.com 新浪科技 tech.qq.com 腾讯科技 techweb.com.cn  techweb www.ifanr.com 爱范儿 www.36kr.com 36氪 软件技术类： www.csdn.net www.iteye.com www.infoq.com/cn www.chinaunix.net www.unix-center.net www.itpub.net www.ibm.com www.w3school.com.cn 站长类和独立博客类网站： www.chinaz.com www.williamlong.info www.lusongsong.com www.muchangqing.com www.blogdq.com www.admin5.com www.devtutor.com www.cnzz.com 电子邮箱： www.gmail.com mail.163.com &#8230; <a href="http://www.devtutor.com/archives/34.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>今天有空总结一下笔者经常上的网站，从中也可以看出中国互联网业的一些情况。</p>
<p>新闻类：</p>
<p>www.sina.com 新浪网</p>
<p>www.qq.com 腾讯网</p>
<p>www.ifeng.com 凤凰网</p>
<p>科技类：</p>
<p>tech.sina.com 新浪科技</p>
<p>tech.qq.com 腾讯科技</p>
<p>techweb.com.cn  techweb</p>
<p>www.ifanr.com 爱范儿</p>
<p>www.36kr.com 36氪<span id="more-34"></span></p>
<p>软件技术类：</p>
<p>www.csdn.net</p>
<p>www.iteye.com</p>
<p>www.infoq.com/cn</p>
<p>www.chinaunix.net</p>
<p>www.unix-center.net</p>
<p>www.itpub.net</p>
<p>www.ibm.com</p>
<p>www.w3school.com.cn</p>
<p>站长类和独立博客类网站：</p>
<p>www.chinaz.com</p>
<p>www.williamlong.info</p>
<p>www.lusongsong.com</p>
<p>www.muchangqing.com</p>
<p>www.blogdq.com</p>
<p>www.admin5.com</p>
<p>www.devtutor.com</p>
<p>www.cnzz.com</p>
<p>电子邮箱：</p>
<p>www.gmail.com</p>
<p>mail.163.com</p>
<p>mail.qq.com</p>
<p>搜索引擎：</p>
<p>www.baidu.com</p>
<p>www.google.com</p>
<p>sns网站：</p>
<p>t.qq.com</p>
<p>www.weibo.com</p>
<p>www.renren.com</p>
<p>www.kaixin001.com</p>
<p>视频类网站：</p>
<p>www.youku.com</p>
<p>www.qiyi.com</p>
<p>tv.sohu.com</p>
<p>电子商务类网站：</p>
<p>www.taobao.com</p>
<p>www.vancl.com</p>
<p>www.dangdang.com</p>
<p>www.amazon.cn</p>
<p>www.360buy.com</p>
<p>www.newegg.com.cn</p>
<p>www.51buy.com</p>
<p>www.alipay.com</p>
<p>www.ctrip.com</p>
<p>www.qunar.com</p>
<p>银行类网站：</p>
<p>www.icbc.com.cn</p>
<p>www.pingan.com.cn</p>
<p>招聘类网站：</p>
<p>www.chinahr.com</p>
<p>www.51job.com</p>
<p>www.zhaopin.com</p>
<p>&nbsp;</p>
<p>暂时只相当这些领域的网站，可以从这些领域看到当前的互联网热点，这些网站大多数的alexa排名应该都在1000名以内。感叹互联网也是中国少有的充分竞争的行业。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtutor.com/archives/34.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>移动支付行业发展分析</title>
		<link>http://www.devtutor.com/archives/21.html</link>
		<comments>http://www.devtutor.com/archives/21.html#comments</comments>
		<pubDate>Sat, 05 Nov 2011 11:28:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[互联网/移动互联网]]></category>
		<category><![CDATA[产品经理]]></category>
		<category><![CDATA[square]]></category>
		<category><![CDATA[支付宝]]></category>
		<category><![CDATA[移动支付]]></category>

		<guid isPermaLink="false">http://www.devtutor.com/?p=21</guid>
		<description><![CDATA[移动支付传统上也称为手机支付，当前由于Pad等平板电脑的发展，在笔者看来也应该包括平板电脑等移动设备的支付。 移动支付在大的方向上可以分为远程支付和近场支付，远程支付如iPhone，Google的支付体系，以及Square支付，以及基于PayPal，支付宝的支付体系。近场支付当前NFC应该是接近事实标准。 上述是新兴的移动支付手段，在中国的现状是基于移动运营商的付费体系依然存在，而且依然强大。 主要支付体系介绍 1、   iPhone支付体系 iPhone的应用通常是是通过App Store购买，Apple在iPhone 3.0 SDK开始支付应用内支付（In App Purchase），这一支付体系是基于apple的信用卡支付体系。同时Apple对于应用内支付的推动并不积极，期间还暂停对应用内支付的申请。对于其他应用内支付的平台，比如：PayPal，支付宝等都还是模糊的态度。 笔者总结：Apple的想法是基于iPhone平台的支付就是通过Apple自己的控制来实现。补充一点Apple现在还不支付NFC，应该在iPhone5会支持NFC。 2、      Google支付体系 Google最近推出了支付体系Google Wallet，Google Wallet的基本原理是将信用卡与手机里面的Google Wallet账户绑定，通过NFC来实现支付。 笔者总结：非常好的基于NFC的支付体系，不过当前支持NFC的商户还比较少。 3、      Square支付 Square是在移动互联网发展起来后才成长起来的移动支付公司，专注于移动支付。业务模式是在手机上插入一个Square读卡器，通过刷卡来实现商户收款的交易，即实现了随时随地的支付。 笔者总结：square现在发展的很好，但是没有发现这种商业模式的必要性，未来square公司应该会在支付上找到新的突破口。 4、      PayPal支付 PayPal支付是互联网上发展起来的，PayPal是全球范围内使用最广泛的在线支付网站。在移动互联网发展起来后，PayPal推出了移动支付，当前PayPal移动支付支持iPhone，android，在业务上已经取得了很好的发展。笔者从网上得到的信息是PayPal估计在2011年实现了30亿美金的移动支付。 5、     支付宝 支付宝是中国本土最大的在线支付解决方案提供商，在移动互联网发展起来后也推出了移动支付，当前支付android，symbian，j2me等，但是对于iphone的支持据说还在商讨推动中。 笔者认为，当前PayPal和支付宝的手机支付虽然取得了不小的进展，但是基于应用的移动支付的用户信任和用户习惯未能建立，发展不会太快，想要赶超互联网的支付规模短期内看不到希望。 6、      NFC NFC全称是Near Field Communication，即近距离无线通讯技术，，是一种短距离的高频无线通信技术，允许电子设备之间进行非接触式点对点数据传输（在十厘米内）交换数据。这个技术由免接触式射频识别（RFID）演变而来，并向下兼容RFID，最早由Philips、Nokia和Sony主推。由于近场通讯具有天然的安全性，因此，笔者认为NFC技术将在移动支付领域有大的作为。 NFC技术在手机中的应用由来也久，但是一直推动不力。当前自Google发布支持NFC的android手机后，NFC突然火热起来，同时Google Wallet也发布。 笔者认为，NFC必将是移动支付领域的一员干将，Google将是重要的推手。 7、      短信支付（运营商代收） 终于到了邪恶的短信支付的环节了，笔者先讲讲短信支付的业务模式。短信支付在中国是有中国移动推动起来的移动增值业务模式，通过中国移动进行代收费，需要用户进行二次回复确认定制。这个短信支付业务造成了许多手机用户的话费不知道为什么就被扣费了。 笔者认为，短信支付必将被新兴的其他移动支付手段终结，邪恶的短信支付要完了。 支付宝移动支付的问题 支付宝推出移动支付已经有一段时间里，但是从笔者对身边朋友的观察来看，使用的人还非常少，笔者分析一下当前支付移动支付的问题。 1、             支付宝采用两种方式提供移动支付，一是提供开发包有其他应用调用，二是用户安装支付宝应用，其他应用直接调用程序。这两种方式在笔者看来对用户来说都是不受信任的，第一种方式用户觉得将自己的密码在第三方的应用中进行了输入，有泄露的风险；第二种方式用户不知道第三方应用调出的到底是支付宝的APP还是一个伪造的APP，也是有风险的。 2、             当前支付宝客户端支付少于200时不需要输入密码，虽然据支付宝官方人士透露并没有造成用户损失，但是笔者认为由于用户的不形容，会造成部分用户的流失，不敢使用。 &#8230; <a href="http://www.devtutor.com/archives/21.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>移动支付传统上也称为手机支付，当前由于Pad等平板电脑的发展，在笔者看来也应该包括平板电脑等移动设备的支付。</p>
<p>移动支付在大的方向上可以分为远程支付和近场支付，远程支付如iPhone，Google的支付体系，以及Square支付，以及基于PayPal，支付宝的支付体系。近场支付当前NFC应该是接近事实标准。</p>
<p>上述是新兴的移动支付手段，在中国的现状是基于移动运营商的付费体系依然存在，而且依然强大。<span id="more-21"></span></p>
<h2>主要支付体系介绍</h2>
<p>1、   iPhone支付体系</p>
<p>iPhone的应用通常是是通过App Store购买，Apple在iPhone 3.0 SDK开始支付应用内支付（In App Purchase），这一支付体系是基于apple的信用卡支付体系。同时Apple对于应用内支付的推动并不积极，期间还暂停对应用内支付的申请。对于其他应用内支付的平台，比如：PayPal，支付宝等都还是模糊的态度。</p>
<p>笔者总结：Apple的想法是基于iPhone平台的支付就是通过Apple自己的控制来实现。补充一点Apple现在还不支付NFC，应该在iPhone5会支持NFC。</p>
<p>2、      Google支付体系</p>
<p>Google最近推出了支付体系Google Wallet，Google Wallet的基本原理是将信用卡与手机里面的Google Wallet账户绑定，通过NFC来实现支付。</p>
<p>笔者总结：非常好的基于NFC的支付体系，不过当前支持NFC的商户还比较少。</p>
<p>3、      Square支付</p>
<p>Square是在移动互联网发展起来后才成长起来的移动支付公司，专注于移动支付。业务模式是在手机上插入一个Square读卡器，通过刷卡来实现商户收款的交易，即实现了随时随地的支付。</p>
<p>笔者总结：square现在发展的很好，但是没有发现这种商业模式的必要性，未来square公司应该会在支付上找到新的突破口。</p>
<p>4、      PayPal支付</p>
<p>PayPal支付是互联网上发展起来的，PayPal是全球范围内使用最广泛的在线支付网站。在移动互联网发展起来后，PayPal推出了移动支付，当前PayPal移动支付支持iPhone，android，在业务上已经取得了很好的发展。笔者从网上得到的信息是PayPal估计在2011年实现了30亿美金的移动支付。</p>
<p>5、     支付宝</p>
<p>支付宝是中国本土最大的在线支付解决方案提供商，在移动互联网发展起来后也推出了移动支付，当前支付android，symbian，j2me等，但是对于iphone的支持据说还在商讨推动中。</p>
<p>笔者认为，当前PayPal和支付宝的手机支付虽然取得了不小的进展，但是基于应用的移动支付的用户信任和用户习惯未能建立，发展不会太快，想要赶超互联网的支付规模短期内看不到希望。</p>
<p>6、      NFC</p>
<p>NFC全称是Near Field Communication，即近距离无线通讯技术，，是一种短距离的高频无线通信技术，允许电子设备之间进行非接触式点对点数据传输（在十厘米内）交换数据。这个技术由免接触式射频识别（RFID）演变而来，并向下兼容RFID，最早由Philips、Nokia和Sony主推。由于近场通讯具有天然的安全性，因此，笔者认为NFC技术将在移动支付领域有大的作为。</p>
<p>NFC技术在手机中的应用由来也久，但是一直推动不力。当前自Google发布支持NFC的android手机后，NFC突然火热起来，同时Google Wallet也发布。</p>
<p>笔者认为，NFC必将是移动支付领域的一员干将，Google将是重要的推手。</p>
<p>7、      短信支付（运营商代收）</p>
<p>终于到了邪恶的短信支付的环节了，笔者先讲讲短信支付的业务模式。短信支付在中国是有中国移动推动起来的移动增值业务模式，通过中国移动进行代收费，需要用户进行二次回复确认定制。这个短信支付业务造成了许多手机用户的话费不知道为什么就被扣费了。</p>
<p>笔者认为，短信支付必将被新兴的其他移动支付手段终结，邪恶的短信支付要完了。</p>
<h2>支付宝移动支付的问题</h2>
<p>支付宝推出移动支付已经有一段时间里，但是从笔者对身边朋友的观察来看，使用的人还非常少，笔者分析一下当前支付移动支付的问题。</p>
<p>1、             支付宝采用两种方式提供移动支付，一是提供开发包有其他应用调用，二是用户安装支付宝应用，其他应用直接调用程序。这两种方式在笔者看来对用户来说都是不受信任的，第一种方式用户觉得将自己的密码在第三方的应用中进行了输入，有泄露的风险；第二种方式用户不知道第三方应用调出的到底是支付宝的APP还是一个伪造的APP，也是有风险的。</p>
<p>2、             当前支付宝客户端支付少于200时不需要输入密码，虽然据支付宝官方人士透露并没有造成用户损失，但是笔者认为由于用户的不形容，会造成部分用户的流失，不敢使用。</p>
<p>3、              市场宣传不足，需要通过市场活动提供给用户足够的安全感。支付是关于钱的活动，用户对于钱的安全性尤为重视，特别是在中国这样一个信用体系不完善的国家。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtutor.com/archives/21.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>大型网站Session会话状态方案</title>
		<link>http://www.devtutor.com/archives/19.html</link>
		<comments>http://www.devtutor.com/archives/19.html#comments</comments>
		<pubDate>Sat, 05 Nov 2011 11:26:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[网站架构]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[session]]></category>

		<guid isPermaLink="false">http://www.devtutor.com/?p=19</guid>
		<description><![CDATA[首先作为大型网站，用户量大，session的量也就很大，以下是一个普通的大型网站的架构。 &#160; &#160; &#160; 由于存在多台web服务器，进而可能存在多个子站点。在这些大型多台web服务器，以及多个子站点间，需要进行共同的session管理，由此产生的就是一个大型网站需要在网站架构初期考虑session管理的方案。 有哪些Session管理方案 第一种，基于web服务器间的session复制。在web服务器之间进行session复制的方案是当前成熟的方案，很多网站在采用。原理是：在一台web服务器发生session变化的时候，web服务器自动同步复制到另外的web服务器上。就java领域而言，即在调用session.setAttribute()方案的时候会触发session复制。 基于web服务器间的session复制的session管理的缺点是当web服务器增多或者是遇到某些session复制性能不高的web服务器时，多web服务器间的session复制将是很大的性能开销。 &#160; 第二种，基于cookie的管理方式。从大型网站的设计原则来看，其中有一条就是减少session的使用，能用cookie的尽量用cookie。 考虑用户登录的场景，在web服务器A收到登录的请求时，将登录的信息以加密cookie的方式存在在客户端。 基于cookie的管理方式的session管理的缺点是，cookie是存在于浏览器端的，虽然经过加密，但是对于某些数据还是有风险的。因此对安全性高的网站不适用。 &#160; 第三种，基于state server的session管理方式。在.net领域提供一种经常使用的state server的session管理的实现方式，即将session数据发送到state server储存，同时将数据持久化到在state server对应的sql server数据库中。 &#160; 第四种是以memcached为session管理方式。在php领域常用，这是一种非常常见的解决方案，这是一种非常利于扩展的session管理解决方案，因为memcached集群的可扩展性是非常强的。 &#160;]]></description>
			<content:encoded><![CDATA[<p>首先作为大型网站，用户量大，session的量也就很大，以下是一个普通的大型网站的架构。</p>
<p>&nbsp;</p>
<div id="attachment_28" class="wp-caption alignnone" style="width: 565px"><a href="http://www.devtutor.com/wp-content/uploads/2011/11/webarc.png"><img class="size-full wp-image-28" title="webarc" src="http://www.devtutor.com/wp-content/uploads/2011/11/webarc.png" alt="大型网站架构" width="555" height="541" /></a><p class="wp-caption-text">大型网站架构</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>由于存在多台web服务器，进而可能存在多个子站点。在这些大型多台web服务器，以及多个子站点间，需要进行共同的session管理，由此产生的就是一个大型网站需要在网站架构初期考虑session管理的方案。<span id="more-19"></span></p>
<h2>有哪些Session管理方案</h2>
<p>第一种，基于web服务器间的session复制。在web服务器之间进行session复制的方案是当前成熟的方案，很多网站在采用。原理是：在一台web服务器发生session变化的时候，web服务器自动同步复制到另外的web服务器上。就java领域而言，即在调用session.setAttribute()方案的时候会触发session复制。</p>
<div id="attachment_30" class="wp-caption alignnone" style="width: 325px"><a href="http://www.devtutor.com/wp-content/uploads/2011/11/sessioncopy.png"><img class="size-full wp-image-30" title="sessioncopy" src="http://www.devtutor.com/wp-content/uploads/2011/11/sessioncopy.png" alt="session复制" width="315" height="383" /></a><p class="wp-caption-text">session复制</p></div>
<p>基于web服务器间的session复制的session管理的缺点是当web服务器增多或者是遇到某些session复制性能不高的web服务器时，多web服务器间的session复制将是很大的性能开销。</p>
<p>&nbsp;</p>
<p>第二种，基于cookie的管理方式。从大型网站的设计原则来看，其中有一条就是减少session的使用，能用cookie的尽量用cookie。 考虑用户登录的场景，在web服务器A收到登录的请求时，将登录的信息以加密cookie的方式存在在客户端。</p>
<p>基于cookie的管理方式的session管理的缺点是，cookie是存在于浏览器端的，虽然经过加密，但是对于某些数据还是有风险的。因此对安全性高的网站不适用。</p>
<p>&nbsp;</p>
<p>第三种，基于state server的session管理方式。在.net领域提供一种经常使用的state server的session管理的实现方式，即将session数据发送到state server储存，同时将数据持久化到在state server对应的sql server数据库中。</p>
<div id="attachment_31" class="wp-caption alignnone" style="width: 400px"><a href="http://www.devtutor.com/wp-content/uploads/2011/11/state-server.png"><img class="size-full wp-image-31" title="state server" src="http://www.devtutor.com/wp-content/uploads/2011/11/state-server.png" alt="state server" width="390" height="557" /></a><p class="wp-caption-text">state server</p></div>
<p>&nbsp;</p>
<p>第四种是以memcached为session管理方式。在php领域常用，这是一种非常常见的解决方案，这是一种非常利于扩展的session管理解决方案，因为memcached集群的可扩展性是非常强的。</p>
<div id="attachment_32" class="wp-caption alignnone" style="width: 325px"><a href="http://www.devtutor.com/wp-content/uploads/2011/11/memcached.png"><img class="size-full wp-image-32" title="memcached session服务器" src="http://www.devtutor.com/wp-content/uploads/2011/11/memcached.png" alt="memcached session服务器" width="315" height="528" /></a><p class="wp-caption-text">memcached session服务器</p></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtutor.com/archives/19.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>工作中常用的linux命令</title>
		<link>http://www.devtutor.com/archives/17.html</link>
		<comments>http://www.devtutor.com/archives/17.html#comments</comments>
		<pubDate>Sat, 05 Nov 2011 11:21:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Unix/Linux]]></category>
		<category><![CDATA[linux常用工具，linux常用命令]]></category>

		<guid isPermaLink="false">http://www.devtutor.com/?p=17</guid>
		<description><![CDATA[# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 &#8230; <a href="http://www.devtutor.com/archives/17.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p># uname -a # 查看内核/操作系统/CPU信息</p>
<p># head -n 1 /etc/issue # 查看操作系统版本</p>
<p># cat /proc/cpuinfo # 查看CPU信息</p>
<p># hostname # 查看计算机名</p>
<p># lspci -tv # 列出所有PCI设备</p>
<p># lsusb -tv # 列出所有USB设备</p>
<p># lsmod # 列出加载的内核模块</p>
<p># env # 查看环境变量<span id="more-17"></span></p>
<p>资源</p>
<p># free -m # 查看内存使用量和交换区使用量</p>
<p># df -h # 查看各分区使用情况</p>
<p># du -sh # 查看指定目录的大小</p>
<p># grep MemTotal /proc/meminfo # 查看内存总量</p>
<p># grep MemFree /proc/meminfo # 查看空闲内存量</p>
<p># uptime # 查看系统运行时间、用户数、负载</p>
<p># cat /proc/loadavg # 查看系统负载</p>
<p>磁盘和分区</p>
<p># mount | column -t # 查看挂接的分区状态</p>
<p># fdisk -l # 查看所有分区</p>
<p># swapon -s # 查看所有交换分区</p>
<p># hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)</p>
<p># dmesg | grep IDE # 查看启动时IDE设备检测状况</p>
<p>网络</p>
<p># ifconfig # 查看所有网络接口的属性</p>
<p># iptables -L # 查看防火墙设置</p>
<p># route -n # 查看路由表</p>
<p># netstat -lntp # 查看所有监听端口</p>
<p># netstat -antp # 查看所有已经建立的连接</p>
<p># netstat -s # 查看网络统计信息</p>
<p>进程</p>
<p># ps -ef # 查看所有进程</p>
<p># top # 实时显示进程状态</p>
<p>用户</p>
<p># w # 查看活动用户</p>
<p># id # 查看指定用户信息</p>
<p># last # 查看用户登录日志</p>
<p># cut -d: -f1 /etc/passwd # 查看系统所有用户</p>
<p># cut -d: -f1 /etc/group # 查看系统所有组</p>
<p># crontab -l # 查看当前用户的计划任务</p>
<p>服务</p>
<p># chkconfig &#8211;list # 列出所有系统服务</p>
<p># chkconfig &#8211;list | grep on # 列出所有启动的系统服务</p>
<p>程序</p>
<p># rpm -qa # 查看所有安装的软件包</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtutor.com/archives/17.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>不同版本IE下session管理的区别</title>
		<link>http://www.devtutor.com/archives/13.html</link>
		<comments>http://www.devtutor.com/archives/13.html#comments</comments>
		<pubDate>Sat, 05 Nov 2011 05:20:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web开发]]></category>
		<category><![CDATA[session]]></category>

		<guid isPermaLink="false">http://www.devtutor.com/?p=13</guid>
		<description><![CDATA[一 . 理解 Session 原理 Session 机制是一种在 web 服务器上用于保存会话信息的机制，一般使用散列表（ HashTable 、 HashMap 等）。 会话可以理解为浏览器和服务器的的通信过程，一次会话期间， session 对象应该是不会变化的，除非某些操作使得服务器上改变了 session 对象。 WEB 服务器是如何保证一次会话 session 不变的呢。每次请求都有一个隐藏的参数会传递到服务器，这个参数就是sessionid ，这个值会保存在 cookie 中，如果禁用了 cookie ，则会同 url 重写的方式，跟在 url 地址后面。 服务器收到这个 sessionid ，每次都会进行比较是不是和现存在的是同一个，作出不同的判断。 二 .session 使用场景 针对同一域中的操作比较： 新窗口打开方式        IE6                    IE8 CTRL+N                       共享 session   共享 session winodw.open             共享 session   共享 session 链接                             共享 session   共享 session 打开 IE                         新建 session   共享 session 创建标签页                 无                      共享 session 1. 打开 IE 时多个浏览器窗口（不是标签页） 在 IE6 中，不同方式会有不同的行为，在 IE8 中，不同窗口共享一个会话。如果要使 IE8 和 IE6 在打开 IE 时，表现一致，在 IE8 启动参数中加入 -nomerge 。 2. 同一用户同时打开多个相同的页面 此时浏览器会共享 session ，如果这个页面操作，服务器上有更新 session 对象的信息，可能会导致 session 信息会被覆盖。举例： 打开页面 page.jsp 后，输入信息，然后提交，提交时从 session 取 page 的值。 假设某页面 page.jsp 每次打开之后，都会根据数据设置 session 。 第一次的数据值为 value1 ： session.setAttribute(“page”,”value1&#8243;); 第二次的数据值为 value2 ： session.setAttribute(“page”,”value2&#8243;); 同时打开两个 page.jsp ，第一次打开之后未提交，第二次打开之后也未提交。 此时，如果回到第一个页面，并提交，取到的 page 值是 value2 ，数据有异常。 回到第二个页面，并提交，取到的 page 值是 value2 ，数据正常。 三 . 规避措施 1. 禁止同一页面同时打开多次 2.1 条件不满足的情况下，不使用 session 保存数据，考虑使用页面表单的 hidden 域传值 3. 对于 GET 请求，可以使用 URL 重写，加入参数，敏感信息需要加密不能使用]]></description>
			<content:encoded><![CDATA[<p><strong>一 . 理解 Session 原理</strong></p>
<p>Session 机制是一种在 web 服务器上用于保存会话信息的机制，一般使用散列表（ HashTable 、 HashMap 等）。</p>
<p>会话可以理解为浏览器和服务器的的通信过程，一次会话期间， session 对象应该是不会变化的，除非某些操作使得服务器上改变了 session 对象。</p>
<p>WEB 服务器是如何保证一次会话 session 不变的呢。每次请求都有一个隐藏的参数会传递到服务器，这个参数就是sessionid ，这个值会保存在 cookie 中，如果禁用了 cookie ，则会同 url 重写的方式，跟在 url 地址后面。</p>
<p>服务器收到这个 sessionid ，每次都会进行比较是不是和现存在的是同一个，作出不同的判断。<span id="more-13"></span></p>
<p><strong>二 .session 使用场景</strong></p>
<p>针对同一域中的操作比较：</p>
<p>新窗口打开方式        IE6                    IE8</p>
<p>CTRL+N                       共享 session   共享 session</p>
<p>winodw.open             共享 session   共享 session</p>
<p>链接                             共享 session   共享 session</p>
<p>打开 IE                         新建 session   共享 session</p>
<p>创建标签页                 无                      共享 session</p>
<p>1. 打开 IE 时多个浏览器窗口（不是标签页）</p>
<p>在 IE6 中，不同方式会有不同的行为，在 IE8 中，不同窗口共享一个会话。如果要使 IE8 和 IE6 在打开 IE 时，表现一致，在 IE8 启动参数中加入 -nomerge 。</p>
<p>2. 同一用户同时打开多个相同的页面</p>
<p>此时浏览器会共享 session ，如果这个页面操作，服务器上有更新 session 对象的信息，可能会导致 session 信息会被覆盖。举例：</p>
<p>打开页面 page.jsp 后，输入信息，然后提交，提交时从 session 取 page 的值。</p>
<p>假设某页面 page.jsp 每次打开之后，都会根据数据设置 session 。</p>
<p>第一次的数据值为 value1 ：</p>
<p>session.setAttribute(“page”,”value1&#8243;);</p>
<p>第二次的数据值为 value2 ：</p>
<p>session.setAttribute(“page”,”value2&#8243;);</p>
<p>同时打开两个 page.jsp ，第一次打开之后未提交，第二次打开之后也未提交。</p>
<p>此时，如果回到第一个页面，并提交，取到的 page 值是 value2 ，数据有异常。</p>
<p>回到第二个页面，并提交，取到的 page 值是 value2 ，数据正常。</p>
<p><strong>三 . 规避措施</strong></p>
<p>1. 禁止同一页面同时打开多次</p>
<p>2.1 条件不满足的情况下，不使用 session 保存数据，考虑使用页面表单的 hidden 域传值</p>
<p>3. 对于 GET 请求，可以使用 URL 重写，加入参数，敏感信息需要加密不能使用</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devtutor.com/archives/13.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

