<?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>MoDoFo.println(" &#187; 备份</title>
	<atom:link href="http://zhangv.com/archives/tag/%e5%a4%87%e4%bb%bd/feed" rel="self" type="application/rss+xml" />
	<link>http://zhangv.com</link>
	<description>Life for Idea - forever young</description>
	<lastBuildDate>Fri, 20 Jan 2012 01:32:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>RDA感觉不是很实用</title>
		<link>http://zhangv.com/archives/1054</link>
		<comments>http://zhangv.com/archives/1054#comments</comments>
		<pubDate>Thu, 28 May 2009 15:20:05 +0000</pubDate>
		<dc:creator>zhangv</dc:creator>
				<category><![CDATA[技术(Tech)]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[rda]]></category>
		<category><![CDATA[备份]]></category>

		<guid isPermaLink="false">http://zhangv.com/archives/1054</guid>
		<description><![CDATA[
可以远程操作一台手机，适合用来测试程序在不同设备上的运行情况。试用了一下5800感觉很容易就crash，可能是我的程序有问题。而且速度有点慢。目前还不支持声音。界面比WTK漂亮多了，和S60 suite差不多。

	Tags: nokia, rda, 备份
]]></description>
			<content:encoded><![CDATA[<p><a href="http://apu.ndhub.net/devices" target="_blank"><img style="max-width: 800px;" src="http://apu.ndhub.net/images/service_logo_wide_fn.gif?1241782708" alt="" /></a></p>
<p>可以远程操作一台手机，适合用来测试程序在不同设备上的运行情况。试用了一下5800感觉很容易就crash，可能是我的程序有问题。而且速度有点慢。目前还不支持声音。界面比WTK漂亮多了，和S60 suite差不多。</p>

	Tags: <a href="http://zhangv.com/archives/tag/nokia" title="nokia" rel="tag">nokia</a>, <a href="http://zhangv.com/archives/tag/rda" title="rda" rel="tag">rda</a>, <a href="http://zhangv.com/archives/tag/%e5%a4%87%e4%bb%bd" title="备份" rel="tag">备份</a><br />
]]></content:encoded>
			<wfw:commentRss>http://zhangv.com/archives/1054/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于XP</title>
		<link>http://zhangv.com/archives/1005</link>
		<comments>http://zhangv.com/archives/1005#comments</comments>
		<pubDate>Wed, 06 May 2009 17:21:00 +0000</pubDate>
		<dc:creator>zhangv</dc:creator>
				<category><![CDATA[技术(Tech)]]></category>
		<category><![CDATA[软件项目管理]]></category>
		<category><![CDATA[xp]]></category>
		<category><![CDATA[备份]]></category>
		<category><![CDATA[极限编程]]></category>

		<guid isPermaLink="false">http://zhangv.com/archives/1005</guid>
		<description><![CDATA[从旧文档里翻出一些很早以前写的东西，关于XP（eXtreme Programming)的。那时候的很多想法现在看起来还是挺有见地的，不过还是透着稚嫩和青涩。但也有让自己汗颜的地方 - 我似乎没有那时那种自信了。
22:42 2004-12-4xp,大多数人都知道是一种软件开发的方法.不同以往的软件工程的方法,个人觉得根适用于较小型的项目.因为xp的参与者不宜过多,否则信息沟通上的消耗会影响到开发的速度.而这是xp最引以为豪的.优秀的coder可以凭借经验和技巧迅速地构建一个系统,从软件最开始到现在一直存在这样的问题--个人英雄主义的滥觞.但随着软件需求的越来越复杂,多变,软件开发更需要一种契约化的,更注重需求分析和挖掘的软件开发模式--于是xp诞生了.简单地说来,xp主要是以下几点:1.测试先行2.需求挖掘3.重构,持续整合当然还有一点很重要,在任何时候都很重要--良好的设计.可以说,xp更适合那些有大量编码经验的开发人员.如果刚刚学完数据结构就想去找xp的麻烦,无疑是浪费时间,因为很可能会陷入xp海洋里而迷失了方向,导致对编程基础的忽视.而这是学习任何知识的大忌.xp,你需要一些自动化工具来帮你完成一些重复工作,如初始化,编译,测试,打包,部署...其中最终要的一个工具就是ant,当然你也可以选择其他的ide,但ant无疑是最强大的,它的能耐决不仅仅是"make".另一个比较重要的就是junit,单元测试工具.还有很多这里就不涉及了.说了这么多,xp到底是什么样子的呢?下面是笔者一个比较不具体的例子,仅供参考.首先,你要对项目的需求有足够的领悟,然后设计程序架构.但接着下来不是开始编码,而是部署和测试框架的搭建,这些groundwork对以后的开发及其重要,虽然看起来似乎是浪费了时间,之后就是编码和测试的并行进行(测试被提前了,不再是最后才做的工作).个人觉得xp有60%的时间是在测试相关的工作上,剩40%的时间才是编码.xp应该不是java的专利,但是java才有ant.c? can't?
同eclipse一样,ant也是一个开放的框架(也是为什么我们也把ant叫做ide的原因)
个人感觉xp还是满"高端"的一种概念,并不适合我们经常遇到的情况,往往我们在工作中看到的开发模式简直无法让人想象和xp的关联&#160; -- xp这种"见效不明显"的开发方法很难被急功近利的leader们认可.在这些人看来xp的效率是很低的,工作开展到一半的时间时我们还没有开始编码 -- 老天!!storm the front!!太过大型的项目用xp可能是不适合的,可能对开发人员的要求更高.xp适合的项目规模,两个小组,每个组2到3人,还有一个英明神武的leader,负责划分任务,设计测试框架,指导开发所需工具.有了这样的一个团队,应该是一般的企业级应用都可以胜任.
我很认同mmm的作者的一个观点,软件开发并不需要很多的人,即使是很大型的项目,人越多用来沟通,运筹的时间就越多.在软件开发领域同样存在80/20法则,20%的程序员做了80%的工作.那我们还为什么需要那80%的人呢?笔者不想在这里讨论这80%的人应该怎么处理,这不仅仅是软件开发,或者人力资源的问题了.可以说xp同样是软件开发模式向天才开发人员回归的一种表现,软件工程学一度曾让很多人认为程序员其实是很低级的重复劳动,coder只是code(包括一些小小的无法上升到一定高度的创意)


	Tags: 软件项目管理, xp, 备份, 极限编程
]]></description>
			<content:encoded><![CDATA[<p>从旧文档里翻出一些很早以前写的东西，关于XP（eXtreme Programming)的。那时候的很多想法现在看起来还是挺有见地的，不过还是透着稚嫩和青涩。但也有让自己汗颜的地方 - 我似乎没有那时那种自信了。</p>
<blockquote><p>22:42 2004-12-4<br />xp,大多数人都知道是一种软件开发的方法.不同以往的软件工程的方法,个人觉得根适用于较小型的项目.因为xp的参与者不宜过多,否则信息沟通上的消耗会影响到开发的速度.而这是xp最引以为豪的.<br />优秀的coder可以凭借经验和技巧迅速地构建一个系统,从软件最开始到现在一直存在这样的问题--个人英雄主义的滥觞.但随着软件需求的越来越复杂,多变,软件开发更需要一种契约化的,更注重需求分析和挖掘的软件开发模式--于是xp诞生了.<br />简单地说来,xp主要是以下几点:<br />1.测试先行<br />2.需求挖掘<br />3.重构,持续整合<br />当然还有一点很重要,在任何时候都很重要--良好的设计.<br />可以说,xp更适合那些有大量编码经验的开发人员.如果刚刚学完数据结构就想去找xp的麻烦,无疑是浪费时间,因为很可能会陷入xp海洋里而迷失了方向,导致对编程基础的忽视.而这是学习任何知识的大忌.<br />xp,你需要一些自动化工具来帮你完成一些重复工作,如初始化,编译,测试,打包,部署...其中最终要的一个工具就是ant,当然你也可以选择其他的ide,但ant无疑是最强大的,它的能耐决不仅仅是"make".另一个比较重要的就是junit,单元测试工具.还有很多这里就不涉及了.<br />说了这么多,xp到底是什么样子的呢?下面是笔者一个比较不具体的例子,仅供参考.<br />首先,你要对项目的需求有足够的领悟,然后设计程序架构.但接着下来不是开始编码,而是部署和测试框架的搭建,这些groundwork对以后的开发及其重要,虽然看起来似乎是浪费了时间,之后就是编码和测试的并行进行(测试被提前了,不再是最后才做的工作).个人觉得xp有60%的时间是在测试相关的工作上,剩40%的时间才是编码.<br />xp应该不是java的专利,但是java才有ant.c? can't?</p>
<p>同eclipse一样,ant也是一个开放的框架(也是为什么我们也把ant叫做ide的原因)</p>
<p>个人感觉xp还是满"高端"的一种概念,并不适合我们经常遇到的情况,往往我们在工作中看到的开发模式简直无法让人想象和xp的关联&nbsp; -- xp这种"见效不明显"的开发方法很难被急功近利的leader们认可.在这些人看来xp的效率是很低的,工作开展到一半的时间时我们还没有开始编码 -- 老天!!storm the front!!<br />太过大型的项目用xp可能是不适合的,可能对开发人员的要求更高.xp适合的项目规模,两个小组,每个组2到3人,还有一个英明神武的leader,负责划分任务,设计测试框架,指导开发所需工具.有了这样的一个团队,应该是一般的企业级应用都可以胜任.</p>
<p>我很认同mmm的作者的一个观点,软件开发并不需要很多的人,即使是很大型的项目,人越多用来沟通,运筹的时间就越多.在软件开发领域同样存在80/20法则,20%的程序员做了80%的工作.那我们还为什么需要那80%的人呢?笔者不想在这里讨论这80%的人应该怎么处理,这不仅仅是软件开发,或者人力资源的问题了.可以说xp同样是软件开发模式向天才开发人员回归的一种表现,软件工程学一度曾让很多人认为程序员其实是很低级的重复劳动,coder只是code(包括一些小小的无法上升到一定高度的创意)</p></blockquote>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=1622be86-80cf-88cc-8ef7-ce5a17e3ce20" /></div>

	Tags: <a href="http://zhangv.com/archives/tag/%e8%bd%af%e4%bb%b6%e9%a1%b9%e7%9b%ae%e7%ae%a1%e7%90%86" title="软件项目管理" rel="tag">软件项目管理</a>, <a href="http://zhangv.com/archives/tag/xp" title="xp" rel="tag">xp</a>, <a href="http://zhangv.com/archives/tag/%e5%a4%87%e4%bb%bd" title="备份" rel="tag">备份</a>, <a href="http://zhangv.com/archives/tag/%e6%9e%81%e9%99%90%e7%bc%96%e7%a8%8b" title="极限编程" rel="tag">极限编程</a><br />
]]></content:encoded>
			<wfw:commentRss>http://zhangv.com/archives/1005/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>企业关务风险mindmap</title>
		<link>http://zhangv.com/archives/576</link>
		<comments>http://zhangv.com/archives/576#comments</comments>
		<pubDate>Fri, 14 Nov 2008 10:28:41 +0000</pubDate>
		<dc:creator>zhangv</dc:creator>
				<category><![CDATA[非技术(non-tech)]]></category>
		<category><![CDATA[mindmap]]></category>
		<category><![CDATA[备份]]></category>

		<guid isPermaLink="false">http://zhangv.com/archives/576</guid>
		<description><![CDATA[

	Tags: mindmap, 备份
]]></description>
			<content:encoded><![CDATA[<p><img style="max-width: 800px;" src="http://zhangv.com/wordpress/wp-content/uploads/mindmapcustomsrisk.png" /></p>

	Tags: <a href="http://zhangv.com/archives/tag/mindmap" title="mindmap" rel="tag">mindmap</a>, <a href="http://zhangv.com/archives/tag/%e5%a4%87%e4%bb%bd" title="备份" rel="tag">备份</a><br />
]]></content:encoded>
			<wfw:commentRss>http://zhangv.com/archives/576/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQLServer 交叉报表</title>
		<link>http://zhangv.com/archives/415</link>
		<comments>http://zhangv.com/archives/415#comments</comments>
		<pubDate>Fri, 11 Jul 2008 09:40:11 +0000</pubDate>
		<dc:creator>zhangv</dc:creator>
				<category><![CDATA[技术(Tech)]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[SQLServer]]></category>
		<category><![CDATA[备份]]></category>

		<guid isPermaLink="false">http://zhangv.com/?p=415</guid>
		<description><![CDATA[Cross-Tab Reports
Sometimes it is necessary to rotate results so that columns are presented horizontally and rows are presented vertically. This is known as creating a PivotTable?, creating a cross-tab report, or rotating data.
Assume there is a table Pivot that has one row per quarter. A SELECT of Pivot reports the quarters vertically:
Year      Quarter      Amount
----      -------      [...]]]></description>
			<content:encoded><![CDATA[<p>Cross-Tab Reports<br />
Sometimes it is necessary to rotate results so that columns are presented horizontally and rows are presented vertically. This is known as creating a PivotTable?, creating a cross-tab report, or rotating data.</p>
<p>Assume there is a table Pivot that has one row per quarter. A SELECT of Pivot reports the quarters vertically:</p>
<p>Year      Quarter      Amount<br />
----      -------      ------<br />
1990      1           1.1<br />
1990      2           1.2<br />
1990      3           1.3<br />
1990      4           1.4<br />
1991      1           2.1<br />
1991      2           2.2<br />
1991      3           2.3<br />
1991      4           2.4</p>
<p>A report must be produced with a table that contains one row for each year, with the values for each quarter appearing in a separate column, such as:</p>
<p>Year<br />
 Q1<br />
 Q2<br />
 Q3<br />
 Q4<br />
 <br />
1990<br />
 1.1<br />
 1.2<br />
 1.3<br />
 1.4<br />
 <br />
1991<br />
 2.1<br />
 2.2<br />
 2.3<br />
 2.4<br />
 <br />
These are the statements used to create the Pivot table and populate it with the data from the first table:</p>
<p>USE Northwind<br />
GO</p>
<p>CREATE TABLE Pivot<br />
( Year      SMALLINT,<br />
  Quarter   TINYINT,<br />
  Amount      DECIMAL(2,1) )<br />
GO<br />
INSERT INTO Pivot VALUES (1990, 1, 1.1)<br />
INSERT INTO Pivot VALUES (1990, 2, 1.2)<br />
INSERT INTO Pivot VALUES (1990, 3, 1.3)<br />
INSERT INTO Pivot VALUES (1990, 4, 1.4)<br />
INSERT INTO Pivot VALUES (1991, 1, 2.1)<br />
INSERT INTO Pivot VALUES (1991, 2, 2.2)<br />
INSERT INTO Pivot VALUES (1991, 3, 2.3)<br />
INSERT INTO Pivot VALUES (1991, 4, 2.4)<br />
GO</p>
<p>This is the SELECT statement used to create the rotated results:</p>
<p>SELECT Year,<br />
    SUM(CASE Quarter WHEN 1 THEN Amount ELSE 0 END) AS Q1,<br />
    SUM(CASE Quarter WHEN 2 THEN Amount ELSE 0 END) AS Q2,<br />
    SUM(CASE Quarter WHEN 3 THEN Amount ELSE 0 END) AS Q3,<br />
    SUM(CASE Quarter WHEN 4 THEN Amount ELSE 0 END) AS Q4<br />
FROM Northwind.dbo.Pivot<br />
GROUP BY Year<br />
GO</p>
<p>This SELECT statement also handles a table in which there are multiple rows for each quarter. The GROUP BY combines all rows in Pivot for a given year into a single row in the output. When the grouping operation is being performed, the CASE functions in the SUM aggregates are applied in such a way that the Amount values for each quarter are added into the proper column in the result set and 0 is added to the result set columns for the other quarters.</p>
<p>If the results of this SELECT statement are used as input to a spreadsheet, it is easy for the spreadsheet to calculate a total for each year. When the SELECT is used from an application it may be easier to enhance the SELECT statement to calculate the yearly total. For example:</p>
<p>SELECT P1.*, (P1.Q1 + P1.Q2 + P1.Q3 + P1.Q4) AS YearTotal<br />
FROM (SELECT Year,<br />
             SUM(CASE P.Quarter WHEN 1 THEN P.Amount ELSE 0 END) AS Q1,<br />
             SUM(CASE P.Quarter WHEN 2 THEN P.Amount ELSE 0 END) AS Q2,<br />
             SUM(CASE P.Quarter WHEN 3 THEN P.Amount ELSE 0 END) AS Q3,<br />
             SUM(CASE P.Quarter WHEN 4 THEN P.Amount ELSE 0 END) AS Q4<br />
     FROM Pivot AS P<br />
     GROUP BY P.Year) AS P1<br />
GO</p>
<p>Both GROUP BY with CUBE and GROUP BY with ROLLUP compute the same sort of information as shown in the example, but in a slightly different format.</p>
<p> </p>

	Tags: <a href="http://zhangv.com/archives/tag/database" title="database" rel="tag">database</a>, <a href="http://zhangv.com/archives/tag/sqlserver" title="SQLServer" rel="tag">SQLServer</a>, <a href="http://zhangv.com/archives/tag/%e5%a4%87%e4%bb%bd" title="备份" rel="tag">备份</a><br />
]]></content:encoded>
			<wfw:commentRss>http://zhangv.com/archives/415/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>日志的日志</title>
		<link>http://zhangv.com/archives/346</link>
		<comments>http://zhangv.com/archives/346#comments</comments>
		<pubDate>Sat, 14 Jun 2008 07:40:15 +0000</pubDate>
		<dc:creator>zhangv</dc:creator>
				<category><![CDATA[技术(Tech)]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[备份]]></category>

		<guid isPermaLink="false">http://zhangv.com/?p=346</guid>
		<description><![CDATA[记录blog的修改维护历史
1.首先上传并安装wordpress(meyu不支持ssh,所以只能ftp所有的文件)
2.在meyu的管理页面设置好域名转向(添加A记录)
3.在域名注册商的网站上添加相应的A记录
4.在wordpress上设置Blog URL和wordpress URL为: zhangv.com和zhangv.com/wordpress(相应要在空间根目录方一个wordpress的文件夹，拷贝index.php到里面）
5.在meyu的管理页面添加wordpress的数据库
6.把之前备份的wordpress数据导入
7.添加计数器(histats),在sidebar的模板里加入相应的javascript
8.添加chicklet插件
9.加入google analytcs 添加sitemap插件
10.加了一个广告在最不显眼的位置（sidebar的最下面）
11.添加delicious的widget
12.加了一个favicon
13.wp-comments-post.php放到4里说的wordpress文件夹里，否则留言时会报500错误
14.添加clustrmaps，在sidebar的模板里添加一段代码
15.添加fanfou插件（sidebar模板）
16.添加wp-t-wap插件，让blog支持wap浏览。也试了wp-wap，但是不支持wp2.5。可以通过zhangv.com/wap/index.php访问
17.添加google account widget，可以通过google账户登录
18.升级到2.7.1（注意不能覆盖，要把admin,includes文件夹先删除，否则会报错），2.7.1的管理界面增色不少。
19.用了k2的主题，很不错，比原来的default好一点。
20.使用favicon generator生成16*16的favicon
21.设置子域名blog.zhangv.com:先在cpanel加一条子域名项blog.zhangv.vhost.meyu.net，相应会在public_html文件夹下多了一个blog的文件夹，之后在域名空间商那里设置一条新的域名解析项blog.zhangv.com指向zhangv.com，类型为CNAME。将原来wordpress文件夹内的内容加到blog文件夹内，Blog URL和wordpress URL设置为blog.zhangv.com。原来在空间根目录放的index.php删除。同样方法设置wap.zhangv.com。
22.安装了snapshot插件，需要注册获取key

	Tags: wordpress, 备份
]]></description>
			<content:encoded><![CDATA[<p>记录blog的修改维护历史</p>
<p>1.首先上传并安装wordpress(meyu不支持ssh,所以只能ftp所有的文件)<br />
2.在meyu的管理页面设置好域名转向(添加A记录)<br />
3.在域名注册商的网站上添加相应的A记录<br />
4.在wordpress上设置Blog URL和wordpress URL为: zhangv.com和zhangv.com/wordpress(相应要在空间根目录方一个wordpress的文件夹，拷贝index.php到里面）<br />
5.在meyu的管理页面添加wordpress的数据库</p>
<p>6.把之前备份的wordpress数据导入<br />
7.添加计数器(<a href="http://www.histats.com">histats</a>),在sidebar的模板里加入相应的javascript<br />
8.添加chicklet插件</p>
<p>9.加入<a href="http://www.google.com/analytics/">google analytcs</a> 添加sitemap插件<br />
10.加了一个广告在最不显眼的位置（sidebar的最下面）</p>
<p>11.添加delicious的widget<br />
12.加了一个favicon<img src="http://zhangv.com/favicon.png" alt="" /><br />
13.wp-comments-post.php放到4里说的wordpress文件夹里，否则留言时会报500错误<br />
14.添加<a href="http://clustrmaps.com">clustrmaps</a>，在sidebar的模板里添加一段代码<br />
15.添加fanfou插件（sidebar模板）<br />
16.添加wp-t-wap插件，让blog支持wap浏览。也试了wp-wap，但是不支持wp2.5。可以通过zhangv.com/wap/index.php访问<br />
17.添加google account widget，可以通过google账户登录</p>
<p>18.升级到2.7.1（注意不能覆盖，要把admin,includes文件夹先删除，否则会报错），2.7.1的管理界面增色不少。<br />
19.用了k2的主题，很不错，比原来的default好一点。<br />
20.使用favicon generator生成16*16的favicon<img src="http://zhangv.com/favicon.ico" alt="" /><br />
21.设置子域名blog.zhangv.com:先在cpanel加一条子域名项blog.zhangv.vhost.meyu.net，相应会在public_html文件夹下多了一个blog的文件夹，之后在域名空间商那里设置一条新的域名解析项blog.zhangv.com指向zhangv.com，类型为CNAME。将原来wordpress文件夹内的内容加到blog文件夹内，Blog URL和wordpress URL设置为blog.zhangv.com。原来在空间根目录放的index.php删除。同样方法设置wap.zhangv.com。<br />
22.安装了snapshot插件，需要注册获取key</p>

	Tags: <a href="http://zhangv.com/archives/tag/wordpress" title="wordpress" rel="tag">wordpress</a>, <a href="http://zhangv.com/archives/tag/%e5%a4%87%e4%bb%bd" title="备份" rel="tag">备份</a><br />
]]></content:encoded>
			<wfw:commentRss>http://zhangv.com/archives/346/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

