<?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>找不着北 &#187; 低调の华丽</title>
	<atom:link href="http://www.loveazure.com/archives/author/admin/feed" rel="self" type="application/rss+xml" />
	<link>http://www.loveazure.com</link>
	<description>Lost bearings in city</description>
	<lastBuildDate>Fri, 30 Jul 2010 15:42:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>三星i5700使用感受</title>
		<link>http://www.loveazure.com/archives/627</link>
		<comments>http://www.loveazure.com/archives/627#comments</comments>
		<pubDate>Fri, 30 Jul 2010 15:39:11 +0000</pubDate>
		<dc:creator>低调の华丽</dc:creator>
				<category><![CDATA[生活点滴]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[i5700]]></category>
		<category><![CDATA[安卓]]></category>

		<guid isPermaLink="false">http://www.loveazure.com/?p=627</guid>
		<description><![CDATA[这个月换了新手机，三星的i5700，是我喜欢的Andoroid系统。
关注i5700将近一个月时间，购机也算得上一波三折。本来打算缓一缓等到降到合适价位就入手，可惜不知道为什么，这个机子一个月内疯涨200，实在忍无可忍欲淘宝之，店家告诉我断货了。终于在论坛上找到卖家，在线下完成交易。
入手到现在已经3个礼拜了，感觉相当不错。
1. 安卓系统本来就是以互联网应用为基础。自带浏览器很方便，UCWeb节省流量更是不错，联系人，Gmail，Google talk，Google Calendar等Google应用都可以随时同步。自带Google Map与GPS的整合，让手机成为一个GPS导航终端。当然这一切都是要费流量的，而且流量不小。
2.手机软件都可以通过自带电子市场下载，而且软件非常丰富，几乎能满足一切应用。个人很喜欢安卓的软件，与系统的整合紧密，通知栏，扩展栏应用，很好很强大。这一点可以把塞班甩出很远，因为安卓的软件安装以后，感觉和系统自带软件那么方便。
3.安卓的UI很符合我的胃口，简约实用，也算是程序员风格的吧，毕竟Andorid就是机器人的意思。
4.上面讲的都是安卓系统的好处。i5700本身硬件也很强大（不过貌似说三星的驱动没有做到最好，所以发挥不出其强大的硬件能力），使用过程感觉很流畅。不过待机时间差了点，现在要是玩手机的话最多能用一天，不玩手机也只能用两天。不过对于触屏智能机来说，也就这样了。所以打算过几天买一块备用电池。
5. 本机比较适合爱折腾手机的人，要是对这个不感兴趣，会觉得这个系统很麻烦，所以请谨慎考虑！
]]></description>
			<content:encoded><![CDATA[<p>这个月换了新手机，三星的i5700，是我喜欢的Andoroid系统。<br />
关注i5700将近一个月时间，购机也算得上一波三折。本来打算缓一缓等到降到合适价位就入手，可惜不知道为什么，这个机子一个月内疯涨200，实在忍无可忍欲淘宝之，店家告诉我断货了。终于在论坛上找到卖家，在线下完成交易。<br />
入手到现在已经3个礼拜了，感觉相当不错。<br />
1. 安卓系统本来就是以互联网应用为基础。自带浏览器很方便，UCWeb节省流量更是不错，联系人，Gmail，Google talk，Google Calendar等Google应用都可以随时同步。自带Google Map与GPS的整合，让手机成为一个GPS导航终端。当然这一切都是要费流量的，而且流量不小。</p>
<p>2.手机软件都可以通过自带电子市场下载，而且软件非常丰富，几乎能满足一切应用。个人很喜欢安卓的软件，与系统的整合紧密，通知栏，扩展栏应用，很好很强大。这一点可以把塞班甩出很远，因为安卓的软件安装以后，感觉和系统自带软件那么方便。</p>
<p>3.安卓的UI很符合我的胃口，简约实用，也算是程序员风格的吧，毕竟Andorid就是机器人的意思。</p>
<p>4.上面讲的都是安卓系统的好处。i5700本身硬件也很强大（不过貌似说三星的驱动没有做到最好，所以发挥不出其强大的硬件能力），使用过程感觉很流畅。不过待机时间差了点，现在要是玩手机的话最多能用一天，不玩手机也只能用两天。不过对于触屏智能机来说，也就这样了。所以打算过几天买一块备用电池。</p>
<p>5. 本机比较适合爱折腾手机的人，要是对这个不感兴趣，会觉得这个系统很麻烦，所以请谨慎考虑！</p>
<div class="wp-caption alignnone" style="width: 330px"><img src="http://pic.yupoo.com/hadesmile/435219b65f1d/2ff4h6k0.jpg" alt="" width="320" height="480" /><p class="wp-caption-text">待机桌面</p></div>
<div class="wp-caption alignnone" style="width: 330px"><img src="http://pic.yupoo.com/hadesmile/789249b65f1e/l0lckvz2.jpg" alt="" width="320" height="480" /><p class="wp-caption-text">安卓可以装很多很实用的小插件，这个是控制功能的开关插件</p></div>
<div class="wp-caption alignnone" style="width: 330px"><img src="http://pic.yupoo.com/hadesmile/243229b65f1e/v49l3mqn.jpg" alt="" width="320" height="480" /><p class="wp-caption-text">华丽的QQ登录界面</p></div>
<div class="wp-caption alignnone" style="width: 330px"><img src="http://pic.yupoo.com/hadesmile/528869b65f1f/f0bxjp9k.jpg" alt="居然还有手机版飞鸽传书，可以通过WIFI和局域网内的PC互联" width="320" height="480" /><p class="wp-caption-text">手机版飞鸽传书可以通过wifi和PC互传文件</p></div>
<div class="wp-caption alignnone" style="width: 330px"><img class=" " src="http://pic.yupoo.com/hadesmile/546619b65f23/jeupjrxf.jpg" alt="" width="320" height="480" /><p class="wp-caption-text">华丽的自带播放器，不过功能太少了，还不如天天动听实用</p></div>
<div class="wp-caption alignnone" style="width: 490px"><img src="http://pic.yupoo.com/hadesmile/654689b661e8/jpzv3p4q.jpg" alt="" width="480" height="320" /><p class="wp-caption-text">仙剑奇侠穿安卓版</p></div>
<div class="wp-caption alignnone" style="width: 490px"><img src="http://pic.yupoo.com/hadesmile/533829b661e9/dur7iqob.jpg" alt="" width="480" height="320" /><p class="wp-caption-text">本人是小游戏高手，热衷于塔防游戏，这个过瘾了</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.loveazure.com/archives/627/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于唐骏学历门事件的几点想法</title>
		<link>http://www.loveazure.com/archives/624</link>
		<comments>http://www.loveazure.com/archives/624#comments</comments>
		<pubDate>Mon, 19 Jul 2010 15:03:36 +0000</pubDate>
		<dc:creator>低调の华丽</dc:creator>
				<category><![CDATA[独立思考]]></category>
		<category><![CDATA[唐骏]]></category>
		<category><![CDATA[学历门]]></category>

		<guid isPermaLink="false">http://www.loveazure.com/?p=624</guid>
		<description><![CDATA[1.一直在关注这个事，看过很多人对此事的评论。可以说，唐骏造假，事实清楚，现在已经不需要怀疑了。
2.在事实已经很清楚的情况下，唐骏依然沉默，我想不明白这种沉默代表什么？是不屑于卷入这场争论，抑或是在等待时间慢慢平息这个事件，好让公众慢慢遗忘？不管是那种，都是不明智的选择。不过看他之前对这个事情的拙劣的掩盖，身败名裂是必然的。时间拖得越长，摔得越厉害，而道歉至少还能说明你是个人，不道歉简直猪狗不如。
3.中国社会，假文凭，假学历，其实都已经算不上什么了。放眼望去，还有什么不能造假？这是一个肮脏的社会，做一个诚信而又正直的人，想要获得成功，往往需要付出巨大的代价，不如造假来得方便。
4.很认同方舟子说的，这个社会，其实对成功的定义已经扭曲。赚很多的钱，获得很高的地位就是成功，那是本末倒置。很多人往往往往通过这些去获得成功的光环，殊不知连做人都欠缺，还谈什么成功。当然，中国人已经扭曲“做人”俩字的真正意义，中国人老说别人不会“做人”。
5.从这个事件看到了很多人无耻的一面。什么学历不等于能力，学历不重要，诚信可以打百分比，还对质疑学历者进行了冷嘲热讽，什么炒作自己之类的说法。我始终不能理解，为什么人能无耻到这种地步？？？
6.中国就像个大杂烩，完全的混沌社会，这几十年来，道德大踏步的后退。大多数国人都是人云亦云，失去了最起码的道德评判标准。
]]></description>
			<content:encoded><![CDATA[<p>1.一直在关注这个事，看过很多人对此事的评论。可以说，唐骏造假，事实清楚，现在已经不需要怀疑了。</p>
<p>2.在事实已经很清楚的情况下，唐骏依然沉默，我想不明白这种沉默代表什么？是不屑于卷入这场争论，抑或是在等待时间慢慢平息这个事件，好让公众慢慢遗忘？不管是那种，都是不明智的选择。不过看他之前对这个事情的拙劣的掩盖，身败名裂是必然的。时间拖得越长，摔得越厉害，而道歉至少还能说明你是个人，不道歉简直猪狗不如。</p>
<p>3.中国社会，假文凭，假学历，其实都已经算不上什么了。放眼望去，还有什么不能造假？这是一个肮脏的社会，做一个诚信而又正直的人，想要获得成功，往往需要付出巨大的代价，不如造假来得方便。</p>
<p>4.很认同方舟子说的，这个社会，其实对成功的定义已经扭曲。赚很多的钱，获得很高的地位就是成功，那是本末倒置。很多人往往往往通过这些去获得成功的光环，殊不知连做人都欠缺，还谈什么成功。当然，中国人已经扭曲“做人”俩字的真正意义，中国人老说别人不会“做人”。</p>
<p>5.从这个事件看到了很多人无耻的一面。什么学历不等于能力，学历不重要，诚信可以打百分比，还对质疑学历者进行了冷嘲热讽，什么炒作自己之类的说法。我始终不能理解，为什么人能无耻到这种地步？？？</p>
<p>6.中国就像个大杂烩，完全的混沌社会，这几十年来，道德大踏步的后退。大多数国人都是人云亦云，失去了最起码的道德评判标准。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.loveazure.com/archives/624/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java 布局管理器不完全指南</title>
		<link>http://www.loveazure.com/archives/609</link>
		<comments>http://www.loveazure.com/archives/609#comments</comments>
		<pubDate>Sun, 20 Jun 2010 06:45:37 +0000</pubDate>
		<dc:creator>低调の华丽</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[introduce]]></category>
		<category><![CDATA[layout]]></category>

		<guid isPermaLink="false">http://www.loveazure.com/archives/609</guid>
		<description><![CDATA[绝大多数的Java程序员都不太热衷于写Java桌面应用程序，他们都觉得用Java写界面既丑，速度又慢，而且很复杂。许多人认为，Java写不了好的桌面程序。好多初学Java的人，在刚学会Java语法之后，直接跳过桌面程序，成为了JavaEE程序员
确实，对于VB或者VC来说,用Java写桌面程序难度差的不是一个数量级。Java语言，本来就不适合快速开发，对于Java大部分的开发框架，本不是针对快速开发而言，而是为了更好的扩展与重构。
个人认为，Swing的难点在于复杂的布局管理器。只要吃透了这个，写Java桌面程序就简单了。
1.流式布局 (FlowLayout)
这是面板(JPanel)的默认布局管理器。流式布局管理器的特点是在一行上水平排列组件，直到没有足够的空间为止，这时开始新的一行。当用户缩放容器时，布局管理器自动地调整组件的位置使其填充可用的空间。
FlowLayout有三种构造方法,

FlowLayout() : 使用居中的对齐方式,组件间水平和垂直间距都为5。 
FlowLayout(int align) : align表示对齐方式,可以是LEFT,CENTER或RIGHT。 
FlowLayout(int align, int hgap, int vgap) : hgap 水平间距,vgap 垂直间距。 

2.边界布局 (BorderLayout)
这是每个JFrame的内容窗格的默认布局管理器( JFrame.getContentPane() ).
边界布局管理器把组件分成5个区域，NORTH，SOUTH，EAST，WEST，CENTER。先放入边缘组件，当容器缩放的时候，边缘组件不会改变，而中部组件的大小会发生相应变化。
但是BorderLayout有一个问题，就是当添加多个组件到一个区域时，只显示最新添加的组件，而且组件会充满整个区域。解决的方法是在区域上添加一个面板(JPanel)，在面板上放置多个组件。
&#160;
3.箱式布局 (BoxLayout)
要想创建一个使用箱式布局的新容器,可以调用：

Box b = Box.createHorizontalBox&#40;&#41;;


  或者 


Box b = Box.createVerticalBox&#40;&#41;;


  下面是添加组件的常用方法： 


b.add&#40;okButton&#41;;
b.add&#40;cancelButtn&#41;;

在水平的箱子里,组件从左到右排列.在垂直的箱子里,组件从上到下排列。
下面详细的研究一下水平布局。
每个组件有三个尺寸,首选尺寸,最大尺寸,最小尺寸。
下面是箱式布局管理器的工作细节：

计算最高组件的最大高度。 
尝试把所有的组件在垂直方向上增至这个高度。 
如果一个组件没有增至这个高度，那么它的y对齐方式要通过调用getAlignmentY()方法获得。这个方法将返回一个介于0(顶端对齐)到1(底端对齐)之间的浮点数，组件的默认值是0.5。 
获得每个组件的首选宽度，然后把所有首选宽度累加起来。 
如果所有的首选宽度的总和小于箱的宽度，那么组件的宽度就会延伸到不超过最大宽度的值，直到适应箱的宽度为止。组件从左到右依次排列，并且相邻的组件之间没有空间。如果所有的首选宽度的总和大于箱的宽度，组件就会被压缩,但不会小于各自的最小宽度，直到适应箱子的宽度为止。如果组件的最小宽度之和大于箱的宽度，有些组件就会显示不出来。 

默认情况下，箱式布局各组件是没有间距的。如果需要添加间距,可以添加不可见的填充件。有这样三种填充件：支柱，固定区，胶水。

b.add&#40;label&#41;
b.add&#40;Box.createHorizontalStrut&#40;10&#41;&#41;;
b.add&#40;textField&#41;;


  固定区填充件有点像一对支柱。例如： 


b.add&#40;Box.createRightArea&#40;new Dimension&#40;5,20&#41;&#41;&#41;;

将添加一个宽度为5像素，高度是20像素的不可见区域。
胶水将组件互相拉开，直至充满整个空间。例如

b.add&#40;button1&#41;;
b.add&#40;Box.createGlue&#40;&#41;&#41;;
b.add&#40;button2&#41;;

如果这个箱子不包含其他的组件，那么button1就会被放在最左边，button2就会被放置到最右边。
4.网格组布局 (GridBagLayout)
网格组布局是所有布局管理器之首。可以认为网格组布局是没有限制的网格布局。在网格组布局中，行和列的尺寸都可以改变。可以通过将响铃的单元合并来适应更大的组件。使用网格组布局可能相当复杂，但是它最灵活且使用范围最广。
要想使用网格组布局管理器进行布局，必须经过下列过程：

建立GridBagLayout类型的对象。不需要指定网格的行数和列数，布局管理器会根据后面所给的信息猜测出来。 
把GridBagLayout对象设置成组件的布局管理器。 
为每个组件建立一个GridBagConstraints类型的对象。设置GridBagConstraints对象的域值以便制定组件在网格组中的布局方案。 
最后通过下面的调用添加组件的约束。 


add&#40;component,constrants&#41;;


  示例代码： 


JPanel panel = new [...]]]></description>
			<content:encoded><![CDATA[<p>绝大多数的Java程序员都不太热衷于写Java桌面应用程序，他们都觉得用Java写界面既丑，速度又慢，而且很复杂。许多人认为，Java写不了好的桌面程序。好多初学Java的人，在刚学会Java语法之后，直接跳过桌面程序，成为了JavaEE程序员</p>
<p>确实，对于VB或者VC来说,用Java写桌面程序难度差的不是一个数量级。Java语言，本来就不适合快速开发，对于Java大部分的开发框架，本不是针对快速开发而言，而是为了更好的扩展与重构。</p>
<p>个人认为，Swing的难点在于复杂的布局管理器。只要吃透了这个，写Java桌面程序就简单了。</p>
<p><span style="font-size: medium"><strong>1.流式布局 (FlowLayout)</strong></span></p>
<p>这是面板(JPanel)的默认布局管理器。流式布局管理器的特点是在一行上水平排列组件，直到没有足够的空间为止，这时开始新的一行。当用户缩放容器时，布局管理器自动地调整组件的位置使其填充可用的空间。</p>
<p>FlowLayout有三种构造方法,</p>
<ul>
<li>FlowLayout() : 使用居中的对齐方式,组件间水平和垂直间距都为5。 </li>
<li>FlowLayout(int align) : align表示对齐方式,可以是LEFT,CENTER或RIGHT。 </li>
<li>FlowLayout(int align, int hgap, int vgap) : hgap 水平间距,vgap 垂直间距。 </li>
</ul>
<p><strong><span style="font-size: medium">2.边界布局 (BorderLayout)</span></strong></p>
<p>这是每个JFrame的内容窗格的默认布局管理器( JFrame.getContentPane() ).</p>
<p>边界布局管理器把组件分成5个区域，NORTH，SOUTH，EAST，WEST，CENTER。先放入边缘组件，当容器缩放的时候，边缘组件不会改变，而中部组件的大小会发生相应变化。</p>
<p>但是BorderLayout有一个问题，就是当添加多个组件到一个区域时，只显示最新添加的组件，而且组件会充满整个区域。解决的方法是在区域上添加一个面板(JPanel)，在面板上放置多个组件。</p>
<p>&#160;</p>
<p><span style="font-size: medium"><strong>3.箱式布局 (BoxLayout)</strong></span></p>
<p>要想创建一个使用箱式布局的新容器,可以调用：</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">Box</span> b <span style="color: #339933;">=</span> <span style="color: #003399;">Box</span>.<span style="color: #006633;">createHorizontalBox</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>
  <br />或者 </p>
<p></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">Box</span> b <span style="color: #339933;">=</span> <span style="color: #003399;">Box</span>.<span style="color: #006633;">createVerticalBox</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>
  <br />下面是添加组件的常用方法： </p>
<p></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">b.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>okButton<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
b.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>cancelButtn<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>在水平的箱子里,组件从左到右排列.在垂直的箱子里,组件从上到下排列。</p>
<p>下面详细的研究一下水平布局。</p>
<p>每个组件有三个尺寸,首选尺寸,最大尺寸,最小尺寸。</p>
<p>下面是箱式布局管理器的工作细节：</p>
<ol>
<li>计算最高组件的最大高度。 </li>
<li>尝试把所有的组件在垂直方向上增至这个高度。 </li>
<li>如果一个组件没有增至这个高度，那么它的y对齐方式要通过调用getAlignmentY()方法获得。这个方法将返回一个介于0(顶端对齐)到1(底端对齐)之间的浮点数，组件的默认值是0.5。 </li>
<li>获得每个组件的首选宽度，然后把所有首选宽度累加起来。 </li>
<li>如果所有的首选宽度的总和小于箱的宽度，那么组件的宽度就会延伸到不超过最大宽度的值，直到适应箱的宽度为止。组件从左到右依次排列，并且相邻的组件之间没有空间。如果所有的首选宽度的总和大于箱的宽度，组件就会被压缩,但不会小于各自的最小宽度，直到适应箱子的宽度为止。如果组件的最小宽度之和大于箱的宽度，有些组件就会显示不出来。 </li>
</ol>
<p>默认情况下，箱式布局各组件是没有间距的。如果需要添加间距,可以添加不可见的填充件。有这样三种填充件：支柱，固定区，胶水。</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">b.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>label<span style="color: #009900;">&#41;</span>
b.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Box</span>.<span style="color: #006633;">createHorizontalStrut</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
b.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>textField<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>
  <br />固定区填充件有点像一对支柱。例如： </p>
<p></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">b.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Box</span>.<span style="color: #006633;">createRightArea</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Dimension</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>将添加一个宽度为5像素，高度是20像素的不可见区域。</p>
<p>胶水将组件互相拉开，直至充满整个空间。例如</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">b.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>button1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
b.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Box</span>.<span style="color: #006633;">createGlue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
b.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>button2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>如果这个箱子不包含其他的组件，那么button1就会被放在最左边，button2就会被放置到最右边。</p>
<p><span style="font-size: medium"><strong>4.网格组布局 (GridBagLayout)</strong></span></p>
<p>网格组布局是所有布局管理器之首。可以认为网格组布局是没有限制的网格布局。在网格组布局中，行和列的尺寸都可以改变。可以通过将响铃的单元合并来适应更大的组件。使用网格组布局可能相当复杂，但是它最灵活且使用范围最广。</p>
<p>要想使用网格组布局管理器进行布局，必须经过下列过程：</p>
<ol>
<li>建立GridBagLayout类型的对象。不需要指定网格的行数和列数，布局管理器会根据后面所给的信息猜测出来。 </li>
<li>把GridBagLayout对象设置成组件的布局管理器。 </li>
<li>为每个组件建立一个GridBagConstraints类型的对象。设置GridBagConstraints对象的域值以便制定组件在网格组中的布局方案。 </li>
<li>最后通过下面的调用添加组件的约束。 </li>
</ol>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">add<span style="color: #009900;">&#40;</span>component,constrants<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>
  <br />示例代码： </p>
<p></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">JPanel</span> panel <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">JLabel</span> label <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span>Test<span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003399;">GridBagLayout</span> layout <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">GridBagLayout</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
panel.<span style="color: #006633;">setLayout</span><span style="color: #009900;">&#40;</span>layout<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">GridBagConstraints</span> constrants <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">GridBagConstraints</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
constrants.<span style="color: #006633;">weightx</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>
constrants.<span style="color: #006633;">weighty</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>
constrants.<span style="color: #006633;">gridx</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
constrants.<span style="color: #006633;">gridy</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
constrants.<span style="color: #006633;">gridwidth</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
constrants.<span style="color: #006633;">gridheight</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
panel.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>label, constrants<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>&#160;</p>
<p>知道如何设置GridBagConstraints对象的状态是很重要的，下面详细介绍GridBagConstraints的约束属性。</p>
<p>1.gridxgridy，gridwidth，gridheight</p>
<p>gridx，gridy表示组件在网格中的行列位置(第N行,第N列,从0开始计算)。gridwidth，gridheight表示组件所占的网格的行数和列数。示例代码中constrants应用的组件在第0行，第2列，横向占用2格，纵向占用1格。</p>
<p>2.weightx，weighty</p>
<p>增量字段，如果增量字段设置为0，这个区域永远是初始尺寸。默认增量字段的值为1，代表等比例拉伸组件大小。</p>
<p>3.fill</p>
<p>表示组件填充当前网格的属性。它有四个有效值，NONE，HORIZONTAL，VERTICAL，BOTH (为GridBagConstraints的static final成员变量)，分表代表：不填充，横向填充，纵向填充，填充整个区域。</p>
<p>4.anchor</p>
<p>表示当组件在当前网格区域中的位置。有效值可以设置为CENTER，NORTH，SOUTH，NORTHEAST，EAST等。仅当组件没有充满整个区域时有效。</p>
<p>5.insets</p>
<p>表示外部填塞，用来设置组件周围增加的空白区域。通过设置Insets对象的left，right，top，button值在设置组件周围的空间量。</p>
<p>6.ipadx，ipady</p>
<p>表示内部填塞，该参数用以设置组件的最小尺寸。如果参数值为正值则组件的最小尺寸将比原始最小尺寸大，如果为负值，则组件的最小尺寸将会变得比原始的最小尺寸小。该参数也可以理解为直接为组件指定大小，这个设置的大小就是组件的最小尺寸。其设置后组件的大小为组件的原始最小尺寸加上ipadx(y)*2个像素。</p>
<p>对于GridBagLayout对象来说，本身也有columnWidths,rowHeights,columnWidths,rowWeights这四个属性。</p>
<p>1.columnWidths,rowHeights 设置一个int数组对象来表示各个网格的长度和宽度。例如</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">gbl.<span style="color: #006633;">columnWidths</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #cc66cc;">30</span>, <span style="color: #cc66cc;">80</span>, <span style="color: #cc66cc;">80</span>, <span style="color: #cc66cc;">80</span>, <span style="color: #cc66cc;">30</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
gbl.<span style="color: #006633;">rowHeights</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span> <span style="color: #cc66cc;">45</span>, <span style="color: #cc66cc;">200</span>, <span style="color: #cc66cc;">30</span>, <span style="color: #cc66cc;">45</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></div></div>

<p>表示网格中的前四列宽度为30，80，80，80，30,前四行宽度为45，200，30，45。</p>
<p>2.columnWeights，rowWeights 设置一个double数组对象来表示各个网格的长度和宽度的权重。当面板被拉伸时，会根据权重拉伸相对应的网格。权重为0表示不拉伸网格。为1表示等比例拉伸。</p>
<p>个人认为这个属性和GridBagConstraints中的weightx，weighty是一个意思，只是一个针对面板上的所有组件，一个针对相应组件而已。不过在实际的设计中，个人比较倾向于使用columnWeights， rowWeights而不是weightx，weighty。因为这样更全局，也更直观。</p>
<p>在使用GridBagLayout布局时，最好使用GridBagContraints帮助类(GBC)代替GridBagContraints类.这样会使得代码更加易读而且便于调试。</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> GBC <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">GridBagConstraints</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">long</span> serialVersionUID <span style="color: #339933;">=</span> 2242355893259876283L<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> GBC<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> gridx, <span style="color: #000066; font-weight: bold;">int</span> gridy<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">gridx</span> <span style="color: #339933;">=</span> gridx<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">gridy</span> <span style="color: #339933;">=</span> gridy<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> GBC<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> gridx, <span style="color: #000066; font-weight: bold;">int</span> gridy, <span style="color: #000066; font-weight: bold;">int</span> gridwidth, <span style="color: #000066; font-weight: bold;">int</span> gridheight<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">gridx</span> <span style="color: #339933;">=</span> gridx<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">gridy</span> <span style="color: #339933;">=</span> gridy<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">gridwidth</span> <span style="color: #339933;">=</span> gridwidth<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">gridheight</span> <span style="color: #339933;">=</span> gridheight<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> GBC setAnchor<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> anchor<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">anchor</span> <span style="color: #339933;">=</span> anchor<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> GBC setFill<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> fill<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">fill</span> <span style="color: #339933;">=</span> fill<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> GBC setWeight<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">double</span> weightx, <span style="color: #000066; font-weight: bold;">double</span> weighty<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">weightx</span> <span style="color: #339933;">=</span> weightx<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">weighty</span> <span style="color: #339933;">=</span> weighty<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> GBC setInsets<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> distance<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">insets</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Insets</span><span style="color: #009900;">&#40;</span>distance, distance, distance, distance<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> GBC setIpad<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> ipadx, <span style="color: #000066; font-weight: bold;">int</span> ipady<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">ipadx</span> <span style="color: #339933;">=</span> ipadx<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">ipady</span> <span style="color: #339933;">=</span> ipady<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">this</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>
  <br />下面是帮助类的使用方法 </p>
<p></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">panel.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>label,<span style="color: #000000; font-weight: bold;">new</span> GBC<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setFill</span><span style="color: #009900;">&#40;</span>GBC.<span style="color: #006633;">BOTH</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setInsets</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>&#160;</p>
<p>注：本文参考《Java2核心技术卷一：基础知识》部分内容。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.loveazure.com/archives/609/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>如果Java OS成功，Sun就是今天的王者</title>
		<link>http://www.loveazure.com/archives/604</link>
		<comments>http://www.loveazure.com/archives/604#comments</comments>
		<pubDate>Thu, 10 Jun 2010 07:28:30 +0000</pubDate>
		<dc:creator>低调の华丽</dc:creator>
				<category><![CDATA[Web&IT业界]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Chrome OS]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.loveazure.com/?p=604</guid>
		<description><![CDATA[这几天看了李开复的新书《世界因你不同》，谈到了当时开复在微软做Vista开发时，盖茨对Vista的三大目标，其中之一就是用C#重写Windows Vista。最终失败了，因为C#太慢了，基于当时的硬件根本系统无法跑起来。虽然如此，我还是很佩服盖茨的想法。想象一下，如果成功的话，Vista将成为一个无数程序员梦寐以求的，完美的开发平台：统一的语言，统一的接口。
Sun曾经也有过JavaOS的努力，不过貌似是在嵌入式系统领域。如果Java当时能做桌面操作系统的话，想必会有很大的成就。不过先得解决JVM速度，丑陋的界面，以及复杂的硬件驱动的问题。
在Jdk1.6之后，速度，界面等问题已经越来越不是问题，对于硬件驱动而言，可以参考Chrome OS 和Android，开源系统，基于Linux平台。
个人很看好Chrome OS 和Android，尤其是Android，因为还不清楚在Chrome OS上使用什么语言开发应用程序，但是Android程序是基于Java语言的。而且，我相信Android虽然是手机系统，但是谁能知道，在不远的将来，你的手机和PC还有什么功能上的区别吗？也许只是大小的区别了。
以上只是个人不成熟的看法。
]]></description>
			<content:encoded><![CDATA[<p>这几天看了李开复的新书《世界因你不同》，谈到了当时开复在微软做Vista开发时，盖茨对Vista的三大目标，其中之一就是用C#重写Windows Vista。最终失败了，因为C#太慢了，基于当时的硬件根本系统无法跑起来。虽然如此，我还是很佩服盖茨的想法。想象一下，如果成功的话，Vista将成为一个无数程序员梦寐以求的，完美的开发平台：统一的语言，统一的接口。</p>
<p>Sun曾经也有过JavaOS的努力，不过貌似是在嵌入式系统领域。如果Java当时能做桌面操作系统的话，想必会有很大的成就。不过先得解决JVM速度，丑陋的界面，以及复杂的硬件驱动的问题。</p>
<p>在Jdk1.6之后，速度，界面等问题已经越来越不是问题，对于硬件驱动而言，可以参考Chrome OS 和Android，开源系统，基于Linux平台。</p>
<p>个人很看好Chrome OS 和Android，尤其是Android，因为还不清楚在Chrome OS上使用什么语言开发应用程序，但是Android程序是基于Java语言的。而且，我相信Android虽然是手机系统，但是谁能知道，在不远的将来，你的手机和PC还有什么功能上的区别吗？也许只是大小的区别了。</p>
<p>以上只是个人不成熟的看法。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.loveazure.com/archives/604/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>密码的设计和保管</title>
		<link>http://www.loveazure.com/archives/601</link>
		<comments>http://www.loveazure.com/archives/601#comments</comments>
		<pubDate>Tue, 18 May 2010 04:38:53 +0000</pubDate>
		<dc:creator>低调の华丽</dc:creator>
				<category><![CDATA[Web&IT业界]]></category>
		<category><![CDATA[密码]]></category>
		<category><![CDATA[管理]]></category>
		<category><![CDATA[设计]]></category>

		<guid isPermaLink="false">http://www.loveazure.com/?p=601</guid>
		<description><![CDATA[刚才看了酷客的最新文章《如何管理并设计你的口令》，很有感触，下面是我自己的一些心得。
密码的设计：
1. 密码设计过于复杂会记不住，过于简单又不保险。所以密码的设计权衡自己的记忆能力。
2. 111111，888888，123456，000000 等密码被认为是最容易破解的密码，千万不要使用。
3. 姓名，生日，姓名+生日，生日+姓名 等密码也非常不保险，如果是你的亲密朋友，很容易通过你的个人信息组合这样的密码。
4.最安全的密码应该包含以下规则：①至少8位（不过也有人说单数的密码比双数安全） ②包含数字，字母（大小写），标点符号的组合。③字母组成最好不是英文单词或者汉字拼音 ④和账号完全没有联系
5. 有些人会用程序来随机生成一个密码，当然，这样的密码很安全，但是很难记住。所以还是推荐使用和自己相关的信息来设计密码。比如姓名汉字拼音，生日，家庭住址。当然不能直接使用，必须是处理过的（其实就是对信息的加密）。处理的方式很多。汉字的处理比如四角号码，字母的处理比如去头去尾，或者反转字母顺序。然后将字母和数字糅合在一起，具体的糅合方式有很多，就不说了。
密码的管理：
1. 不要使用同一个密码管理所有的账号，至少不同的邮箱不能使用同样的密码。
2. 注册邮箱的密码不能和注册密码相同，这个。。。你懂的。
3. 不要将密码放在网上（比如邮箱，某个空间的记事本，QQ资料），数据只要联网，什么都是不安全的。至少我觉得记在本子上更安全。
]]></description>
			<content:encoded><![CDATA[<p>刚才看了酷客的最新文章<a href="http://coolshell.cn/?p=2428">《如何管理并设计你的口令》</a>，很有感触，下面是我自己的一些心得。</p>
<p>密码的设计：</p>
<p>1. 密码设计过于复杂会记不住，过于简单又不保险。所以密码的设计权衡自己的记忆能力。<br />
2. 111111，888888，123456，000000 等密码被认为是最容易破解的密码，千万不要使用。<br />
3. 姓名，生日，姓名+生日，生日+姓名 等密码也非常不保险，如果是你的亲密朋友，很容易通过你的个人信息组合这样的密码。<br />
4.最安全的密码应该包含以下规则：①至少8位（不过也有人说单数的密码比双数安全） ②包含数字，字母（大小写），标点符号的组合。③字母组成最好不是英文单词或者汉字拼音 ④和账号完全没有联系<br />
5. 有些人会用程序来随机生成一个密码，当然，这样的密码很安全，但是很难记住。所以还是推荐使用和自己相关的信息来设计密码。比如姓名汉字拼音，生日，家庭住址。当然不能直接使用，必须是处理过的（其实就是对信息的加密）。处理的方式很多。汉字的处理比如四角号码，字母的处理比如去头去尾，或者反转字母顺序。然后将字母和数字糅合在一起，具体的糅合方式有很多，就不说了。</p>
<p>密码的管理：</p>
<p>1. 不要使用同一个密码管理所有的账号，至少不同的邮箱不能使用同样的密码。<br />
2. 注册邮箱的密码不能和注册密码相同，这个。。。你懂的。<br />
3. 不要将密码放在网上（比如邮箱，某个空间的记事本，QQ资料），数据只要联网，什么都是不安全的。至少我觉得记在本子上更安全。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.loveazure.com/archives/601/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Work Timer V0.2</title>
		<link>http://www.loveazure.com/archives/592</link>
		<comments>http://www.loveazure.com/archives/592#comments</comments>
		<pubDate>Tue, 04 May 2010 15:11:54 +0000</pubDate>
		<dc:creator>低调の华丽</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Work Timer]]></category>

		<guid isPermaLink="false">http://www.loveazure.com/?p=592</guid>
		<description><![CDATA[为什么要做这个工具?

我一直想做一个这样的工具.很多单位(包括我们单位)实行的是弹性工作制,上班时间只要满8小时就可以下班.因为我老是忘记早上什么时候打的卡,以至于经常在单位多待N久(其实也就是十几二十分钟).这个工具能很好的满足我的要求.
这个工具有什么功能?

1.针对弹性工作制的下班提醒,在某个时间段后程序会自动弹出对话框提示。
2.最小化到系统托盘,双击后显示程序界面。
3.下班提醒时,系统托盘变成闪烁状态(类似于QQ新消息)。
4.程序默认9小时之后提醒,用户可自由设置具体的工作时间。
5.当程序被关闭,如果用户在下班提醒之前重新打开,程序计时依然有效。
如何使用?

1.首先要安装Jre,下载地址:http://www.java.com/zh_CN/download/manual.jsp
2.双击运行该程序。
3.建议将程序设置为开机启动(将程序快捷方式拖到 开始-&#62;所有程序-&#62;启动 中,并将文件setting.properties 中的autoStart设为true)
下载地址
对于这个工具有什么问题可以联系我。
]]></description>
			<content:encoded><![CDATA[<h3>为什么要做这个工具?</h3>
<p><br/><br />
我一直想做一个这样的工具.很多单位(包括我们单位)实行的是弹性工作制,上班时间只要满8小时就可以下班.因为我老是忘记早上什么时候打的卡,以至于经常在单位多待N久(其实也就是十几二十分钟).这个工具能很好的满足我的要求.</p>
<h3>这个工具有什么功能?</h3>
<p><br/><br />
1.针对弹性工作制的下班提醒,在某个时间段后程序会自动弹出对话框提示。</p>
<p>2.最小化到系统托盘,双击后显示程序界面。</p>
<p>3.下班提醒时,系统托盘变成闪烁状态(类似于QQ新消息)。</p>
<p>4.程序默认9小时之后提醒,用户可自由设置具体的工作时间。</p>
<p>5.当程序被关闭,如果用户在下班提醒之前重新打开,程序计时依然有效。</p>
<h3>如何使用?</h3>
<p><br/><br />
1.首先要安装Jre,下载地址:<a href="http://www.java.com/zh_CN/download/manual.jsp">http://www.java.com/zh_CN/download/manual.jsp</a></p>
<p>2.双击运行该程序。</p>
<p>3.建议将程序设置为开机启动(将程序快捷方式拖到 开始-&gt;所有程序-&gt;启动 中,并将文件setting.properties 中的autoStart设为true)</p>
<p><a href="http://code.google.com/p/worktimerforjava/">下载地址</a></p>
<p>对于这个工具有什么问题可以联系我。<img class="alignnone" src="http://www.loveazure.com/wp-content/uploads/2008/12/emailpic1.png" alt="" width="193" height="24" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.loveazure.com/archives/592/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Log4J使用不完全指南</title>
		<link>http://www.loveazure.com/archives/567</link>
		<comments>http://www.loveazure.com/archives/567#comments</comments>
		<pubDate>Tue, 04 May 2010 14:01:10 +0000</pubDate>
		<dc:creator>低调の华丽</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[introduce]]></category>
		<category><![CDATA[Log4J]]></category>

		<guid isPermaLink="false">http://www.loveazure.com/?p=567</guid>
		<description><![CDATA[准备

登录apache.org，下载log4j最新jar文件。将jar文件导入到项目中.


快速应用

1.Log4J应用Demo

package com.log4j.test;
&#160;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
&#160;
public class StartUp &#123;
&#160;
	public static Logger logger;
&#160;
	public static void main&#40;String&#91;&#93; args&#41; &#123;
		StartUp s = new StartUp&#40;&#41;;
		s.configLog4J&#40;&#41;;
		s.go&#40;&#41;;
	&#125;
&#160;
	private void configLog4J&#40;&#41; &#123;
		// 1.获取日志记录器,Name一般取本类的名字
		logger = Logger.getLogger&#40;getClass&#40;&#41;.getName&#40;&#41;&#41;;
		// 2.配置Log4j环境
		// BasicConfigurator.configure();自动快速地使用缺省Log4j环境。
		// PropertyConfigurator.configure ( String configFilename);
		// 读取使用Java的特性文件编写的配置文件。
		// DOMConfigurator.configure ( String filename ) ：读取XML形式的配置文件。
		PropertyConfigurator.configure&#40;&#34;Log4j.properties&#34;&#41;;
&#160;
	&#125;
&#160;
	private void go&#40;&#41; &#123;
		for &#40;int i=0;i&#38;lt;100;i++&#41; &#123;
			logger.debug&#40;&#34;test debug&#34;&#41;;
			logger.log&#40;Level.INFO, &#34;test info&#34;&#41;;
		&#125;
	&#125;
&#125;

2.新建配置文件 Log4j.properties

log4j.rootLogger=INFO, A1 ,A2
&#160;
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=&#91;%-5p&#93; &#91;%t&#93; %c - %m%n
&#160;
log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.File=A2.log
log4j.appender.A2.Append=true
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=&#91;%-5p&#93; [...]]]></description>
			<content:encoded><![CDATA[<h3>准备</h3>
<p><br/></p>
<h3><span style="font-weight: normal; font-size: 13px;">登录<a href="http://apache.org">apache.org</a>，下载log4j最新jar文件。将jar文件导入到项目中.</span></h3>
<p><span style="font-weight: normal; font-size: 13px;"><br />
</span></p>
<h3>快速应用</h3>
<p><br/><br />
1.Log4J应用Demo</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.log4j.test</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.log4j.Level</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.log4j.Logger</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.apache.log4j.PropertyConfigurator</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> StartUp <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> Logger logger<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		StartUp s <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> StartUp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		s.<span style="color: #006633;">configLog4J</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		s.<span style="color: #006633;">go</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">void</span> configLog4J<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// 1.获取日志记录器,Name一般取本类的名字</span>
		logger <span style="color: #339933;">=</span> Logger.<span style="color: #006633;">getLogger</span><span style="color: #009900;">&#40;</span>getClass<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">// 2.配置Log4j环境</span>
		<span style="color: #666666; font-style: italic;">// BasicConfigurator.configure();自动快速地使用缺省Log4j环境。</span>
		<span style="color: #666666; font-style: italic;">// PropertyConfigurator.configure ( String configFilename);</span>
		<span style="color: #666666; font-style: italic;">// 读取使用Java的特性文件编写的配置文件。</span>
		<span style="color: #666666; font-style: italic;">// DOMConfigurator.configure ( String filename ) ：读取XML形式的配置文件。</span>
		PropertyConfigurator.<span style="color: #006633;">configure</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Log4j.properties&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">void</span> go<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span><span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			logger.<span style="color: #006633;">debug</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;test debug&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			logger.<span style="color: #006633;">log</span><span style="color: #009900;">&#40;</span>Level.<span style="color: #006633;">INFO</span>, <span style="color: #0000ff;">&quot;test info&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>2.新建配置文件 Log4j.properties</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">log4j.<span style="color: #006633;">rootLogger</span><span style="color: #339933;">=</span>INFO, A1 ,A2
&nbsp;
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">A1</span><span style="color: #339933;">=</span>org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">ConsoleAppender</span>
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">A1</span>.<span style="color: #006633;">layout</span><span style="color: #339933;">=</span>org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">PatternLayout</span>
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">A1</span>.<span style="color: #006633;">layout</span>.<span style="color: #006633;">ConversionPattern</span><span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">%-</span>5p<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">%</span>t<span style="color: #009900;">&#93;</span> <span style="color: #339933;">%</span>c <span style="color: #339933;">-</span> <span style="color: #339933;">%</span>m<span style="color: #339933;">%</span>n
&nbsp;
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">A2</span><span style="color: #339933;">=</span>org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">FileAppender</span>
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">A2</span>.<span style="color: #003399;">File</span><span style="color: #339933;">=</span>A2.<span style="color: #006633;">log</span>
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">A2</span>.<span style="color: #006633;">Append</span><span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">true</span>
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">A2</span>.<span style="color: #006633;">layout</span><span style="color: #339933;">=</span>org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">PatternLayout</span>
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">A2</span>.<span style="color: #006633;">layout</span>.<span style="color: #006633;">ConversionPattern</span><span style="color: #339933;">=</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">%-</span>5p<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">%</span>t<span style="color: #009900;">&#93;</span> <span style="color: #339933;">%</span>c <span style="color: #339933;">-</span> <span style="color: #339933;">%</span>m<span style="color: #339933;">%</span>n</pre></div></div>

<p>3.运行Demo即可看到效果</p>
<h3>Log4J详细配置</h3>
<p><br/></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">log4j.<span style="color: #006633;">rootLogger</span><span style="color: #339933;">=</span>INFO, A1
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">A1</span><span style="color: #339933;">=</span>org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">ConsoleAppender</span>
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">A1</span>.<span style="color: #006633;">layout</span><span style="color: #339933;">=</span>org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">PatternLayout</span>
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">A1</span>.<span style="color: #006633;">layout</span>.<span style="color: #006633;">ConversionPattern</span><span style="color: #339933;">=%-</span>4r <span style="color: #009900;">&#91;</span><span style="color: #339933;">%-</span>5p<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">%</span>t<span style="color: #009900;">&#93;</span> <span style="color: #339933;">%</span>l <span style="color: #339933;">-</span> <span style="color: #339933;">%</span>m<span style="color: #339933;">%</span>n</pre></div></div>

<p>1.配置根Logger，其语法为：</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">log4j.<span style="color: #006633;">rootLogger</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span> level <span style="color: #009900;">&#93;</span> , appenderName, appenderName, …</pre></div></div>

<p>其中，level 是日志记录的优先级，分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。</p>
<p>Log4j建议只使用四个级别，优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别，您可以控制到应用程序中相应级别的日志信息的开关。<br />
比如在这里定义了INFO级别，则应用程序中所有DEBUG级别的日志信息将不被打印出来。<br />
appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。</p>
<p>2.配置日志信息输出目的地Appender，其语法为</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">appenderName</span> <span style="color: #339933;">=</span> fully.<span style="color: #006633;">qualified</span>.<span style="color: #006633;">name</span>.<span style="color: #006633;">of</span>.<span style="color: #006633;">appender</span>.<span style="color: #000000; font-weight: bold;">class</span>
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">appenderName</span>.<span style="color: #006633;">option1</span> <span style="color: #339933;">=</span> value1
…
log4j.<span style="color: #006633;">appender</span>.<span style="color: #006633;">appenderName</span>.<span style="color: #006633;">option</span> <span style="color: #339933;">=</span> valueN
其中，Log4j提供的appender有以下几种：
org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">ConsoleAppender</span>（控制台），
org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">FileAppender</span>（文件），
org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">DailyRollingFileAppender</span>（每天产生一个日志文件），
org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">RollingFileAppender</span>（文件大小到达指定尺寸的时候产生一个新的文件），
org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">WriterAppender</span>（将日志信息以流格式发送到任意指定的地方）</pre></div></div>

<p>其中，Log4j提供的layout有以下几种：</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">HTMLLayout</span>（以<span style="color: #003399;">HTML</span>表格形式布局），
org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">PatternLayout</span>（可以灵活地指定布局模式），
org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">SimpleLayout</span>（包含日志信息的级别和信息字符串），
org.<span style="color: #006633;">apache</span>.<span style="color: #006633;">log4j</span>.<span style="color: #006633;">TTCCLayout</span>（包含日志产生的时间、线程、类别等等信息）</pre></div></div>

<p>3.pattern</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">%</span>c 输出类的名字，默认是输出全名，可以指定输出多少层次，比如
<span style="color: #339933;">%</span>c<span style="color: #009900;">&#123;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#125;</span>这样配置的话 <span style="color: #0000ff;">&quot;a.b.c&quot;</span> 是全类名，会输出<span style="color: #0000ff;">&quot;b.c&quot;</span>.
<span style="color: #339933;">%</span>d 用来输出log事件发生的时间。
可以指定格式，比如：<span style="color: #339933;">%</span>d<span style="color: #009900;">&#123;</span>yyyy<span style="color: #339933;">-</span>MM<span style="color: #339933;">-</span>dd HH<span style="color: #339933;">:</span>mm<span style="color: #339933;">:</span>ss<span style="color: #009900;">&#125;</span>会输出
<span style="color: #cc66cc;">2007</span><span style="color: #339933;">-</span>04<span style="color: #339933;">-</span><span style="color: #cc66cc;">26</span> <span style="color: #cc66cc;">20</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">12</span><span style="color: #339933;">:</span>03
<span style="color: #339933;">%</span>F    输出log事件发生的文件。
<span style="color: #339933;">%</span>l    输出log事件发生的位置，会输出全类名和在源码的哪一行。
<span style="color: #339933;">%</span>L    输出log事件发生在源码的第几行。
<span style="color: #339933;">%</span>m    输出message的内容，就是logger.<span style="color: #006633;">info</span><span style="color: #009900;">&#40;</span>message<span style="color: #009900;">&#41;</span>的内容。
<span style="color: #339933;">%</span>M    输出log事件发生的方法名。
<span style="color: #339933;">%</span>n    输出一个换行符。不用担心系统的问题。
<span style="color: #339933;">%</span>p    输出log事件的级别，即info，debug，warn等。
<span style="color: #339933;">%</span>r    输出log事件所用的时间。
<span style="color: #339933;">%</span>t    输出log事件所在的线程。
<span style="color: #339933;">%</span>x    输出NDC<span style="color: #009900;">&#40;</span>不明白什么意思，没试验出来<span style="color: #009900;">&#41;</span>
<span style="color: #339933;">%</span>X    输出MDC
<span style="color: #339933;">%%</span>    输出<span style="color: #339933;">%</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.loveazure.com/archives/567/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>博客被和谐了</title>
		<link>http://www.loveazure.com/archives/560</link>
		<comments>http://www.loveazure.com/archives/560#comments</comments>
		<pubDate>Tue, 06 Apr 2010 12:14:59 +0000</pubDate>
		<dc:creator>低调の华丽</dc:creator>
				<category><![CDATA[生活点滴]]></category>

		<guid isPermaLink="false">http://www.loveazure.com/?p=560</guid>
		<description><![CDATA[其实我也不知道具体是什么原因中招了。也许是因为在空间上架设了奶瓶腿，被监测到了。可是奶瓶腿只有我一个人在用，没理由能被防火墙发现啊，也许是我低估了墙的威力吧。反正不管怎样，博客是在墙外了，而我还在墙内。
这几天本想写一些关于SWT方面的文章，一时半会又没兴致了。不过就像某Java大牛说的那样，SWT有点像用Java语法写VB程序的感觉。发一个自己写的SWT做的仿Notepad记事本吧，做的不够好，学习用。点击下载
Update:今天上来一看,又被解封了,啥意思?
]]></description>
			<content:encoded><![CDATA[<p>其实我也不知道具体是什么原因中招了。也许是因为在空间上架设了奶瓶腿，被监测到了。可是奶瓶腿只有我一个人在用，没理由能被防火墙发现啊，也许是我低估了墙的威力吧。反正不管怎样，博客是在墙外了，而我还在墙内。</p>
<p>这几天本想写一些关于SWT方面的文章，一时半会又没兴致了。不过就像某Java大牛说的那样，SWT有点像用Java语法写VB程序的感觉。发一个自己写的SWT做的仿Notepad记事本吧，做的不够好，学习用。<a href="http://cid-ea7927f086709ac6.skydrive.live.com/self.aspx/.Public/JNotepad-swt.zip">点击下载</a></p>
<p>Update:今天上来一看,又被解封了,啥意思?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.loveazure.com/archives/560/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>谷歌纯爷们</title>
		<link>http://www.loveazure.com/archives/553</link>
		<comments>http://www.loveazure.com/archives/553#comments</comments>
		<pubDate>Tue, 23 Mar 2010 02:00:27 +0000</pubDate>
		<dc:creator>低调の华丽</dc:creator>
				<category><![CDATA[Web&IT业界]]></category>
		<category><![CDATA[google china]]></category>
		<category><![CDATA[谷歌]]></category>

		<guid isPermaLink="false">http://www.loveazure.com/?p=553</guid>
		<description><![CDATA[2006年1月26日，Google正式启用中国大陆版Google专用域名“Google.cn”﻿
2010年3月23日凌晨，谷歌将其中国网站(Google.cn)的链接自动导向了香港网站(www.google.com.hk)，并将后者的设计特别调整，与原来大陆网站接近， 同时引入了部分大陆网站原来没有的服务。
一个商业网站都能做到如此，那些持怀疑论者，持阴谋论者，难道你们不觉的羞耻吗？你们早已没有了信仰，活在这个世界，只是行尸走肉而已！
2010年3月22日凌晨，谷歌将其中国网站(Google.cn)的链接自动导向了香港网站(www.google.com.hk)，并将后者的设计特 别调整，与原来大陆网站接近，同时引入了部分大陆网站原来没有的服务。
]]></description>
			<content:encoded><![CDATA[<blockquote><p>2006年1月26日，Google正式启用中国大陆版Google专用域名“Google.cn”﻿</p>
<p>2010年3月23日凌晨，谷歌将其中国网站(Google.cn)的链接自动导向了香港网站(www.google.com.hk)，并将后者的设计特别调整，与原来大陆网站接近， 同时引入了部分大陆网站原来没有的服务。</p></blockquote>
<p>一个商业网站都能做到如此，那些持怀疑论者，持阴谋论者，难道你们不觉的羞耻吗？你们早已没有了信仰，活在这个世界，只是行尸走肉而已！</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">2010年3月22日凌晨，谷歌将其中国网站(Google.cn)的链接自动导向了香港网站(www.google.com.hk)，并将后者的设计特 别调整，与原来大陆网站接近，同时引入了部分大陆网站原来没有的服务。</div>
]]></content:encoded>
			<wfw:commentRss>http://www.loveazure.com/archives/553/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>一起来锐推</title>
		<link>http://www.loveazure.com/archives/540</link>
		<comments>http://www.loveazure.com/archives/540#comments</comments>
		<pubDate>Sat, 27 Feb 2010 04:43:33 +0000</pubDate>
		<dc:creator>低调の华丽</dc:creator>
				<category><![CDATA[生活点滴]]></category>
		<category><![CDATA[introduce]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[介绍]]></category>
		<category><![CDATA[微博客]]></category>
		<category><![CDATA[推特]]></category>

		<guid isPermaLink="false">http://www.loveazure.com/?p=540</guid>
		<description><![CDATA[微薄真是个不错的东西。从2007年上饭否，就渐渐爱上了这个互联网上的新生事物。我觉得，微薄绝对是继聊天室，bbs，im等之后的具有革命意义的互联网产品。 可惜，2009年中国互联网风云巨变，饭否等一大批国内微薄网站相继倒闭。之后，因为种种原因，我再没使用过微薄。
之后偶遇奶瓶腿，顿时茅塞顿开，转战推特。在我看来，国内微薄纯属垃圾。微薄之所以流行，是因为便捷的发布方式，随时，随地；畅通的交流渠道，可以和在世界上任何人进行交流；自由的表达途径，不受任何人干扰。而国内的微薄，后面两点是绝对做不到的。
我不愿意在一个封闭的，不自由的，收到监控的聊天环境下聊天。那样的聊天还有什么意思？虽然我写的东西几乎无关zz，可是我依然感觉到被束缚。我喜欢开心的时候大叫，生气的时候骂骂娘，无论我写什么，都没有人来横加干涉。其实这和我当初从新浪博客里搬出来的初衷是一样。Twitter是个很好的微薄。虽然被墙，但是由于它的开放api，可以在不访问官网的情况下看推和发推。国内有很多基于此的应用，包括桌面客户端，浏览器插件，web客户端等。当然，web客户端应该是最方便的，因为不需要下载，而且能在手机上使用。比较不错的Web客户端有推特中文圈和奶瓶腿。网上有很多关于如何架设的文章，可以搜索一下。
现在，除了谷歌阅读器，我又多了一个了解信息的渠道。twitter的信息简短精炼，真实可靠。这是一个完全民主的环境，人与人之间靠信息沟通，自由发表任何看法。作为一个低调的人，我常常看那些中文微薄牛人在那砍大山，乐此不彼。希望大家都能加入到twitter的大家庭来，一起锐推。我的推特是 @didiao，希望大家follow，呵呵！
Ps:由于突然断网，这篇文章是在我的M608c手机上完成（安装了一个wap插件），还算比较顺利。小小佩服下自己修手机的能力，我的M608c居然就这样复活了，哈哈！
]]></description>
			<content:encoded><![CDATA[<p>微薄真是个不错的东西。从2007年上饭否，就渐渐爱上了这个互联网上的新生事物。我觉得，微薄绝对是继聊天室，bbs，im等之后的具有革命意义的互联网产品。 可惜，2009年中国互联网风云巨变，饭否等一大批国内微薄网站相继倒闭。之后，因为种种原因，我再没使用过微薄。</p>
<p>之后偶遇奶瓶腿，顿时茅塞顿开，转战推特。在我看来，国内微薄纯属垃圾。微薄之所以流行，是因为便捷的发布方式，随时，随地；畅通的交流渠道，可以和在世界上任何人进行交流；自由的表达途径，不受任何人干扰。而国内的微薄，后面两点是绝对做不到的。</p>
<p>我不愿意在一个封闭的，不自由的，收到监控的聊天环境下聊天。那样的聊天还有什么意思？虽然我写的东西几乎无关zz，可是我依然感觉到被束缚。我喜欢开心的时候大叫，生气的时候骂骂娘，无论我写什么，都没有人来横加干涉。其实这和我当初从新浪博客里搬出来的初衷是一样。Twitter是个很好的微薄。虽然被墙，但是由于它的开放api，可以在不访问官网的情况下看推和发推。国内有很多基于此的应用，包括桌面客户端，浏览器插件，web客户端等。当然，web客户端应该是最方便的，因为不需要下载，而且能在手机上使用。比较不错的Web客户端有推特中文圈和奶瓶腿。网上有很多关于如何架设的文章，可以搜索一下。</p>
<p>现在，除了谷歌阅读器，我又多了一个了解信息的渠道。twitter的信息简短精炼，真实可靠。这是一个完全民主的环境，人与人之间靠信息沟通，自由发表任何看法。作为一个低调的人，我常常看那些中文微薄牛人在那砍大山，乐此不彼。希望大家都能加入到twitter的大家庭来，一起锐推。我的推特是 @didiao，希望大家follow，呵呵！</p>
<p>Ps:由于突然断网，这篇文章是在我的M608c手机上完成（安装了一个wap插件），还算比较顺利。小小佩服下自己修手机的能力，我的M608c居然就这样复活了，哈哈！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.loveazure.com/archives/540/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
