<?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>Fwolf's Blog &#187; java - Fwolf's Blog</title>
	<atom:link href="http://www.fwolf.com/blog/post/tag/java/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fwolf.com/blog</link>
	<description>随心·随意·随缘·努力～</description>
	<lastBuildDate>Wed, 07 Jul 2010 07:07:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>忙碌的5月</title>
		<link>http://www.fwolf.com/blog/post/404</link>
		<comments>http://www.fwolf.com/blog/post/404#comments</comments>
		<pubDate>Thu, 12 Jun 2008 17:16:55 +0000</pubDate>
		<dc:creator>Fwolf</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[Thinks]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[adodb]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[Smarty]]></category>
		<category><![CDATA[sybase]]></category>
		<category><![CDATA[think]]></category>
		<category><![CDATA[uuid]]></category>

		<guid isPermaLink="false">http://www.fwolf.com/blog/?p=404</guid>
		<description><![CDATA[2008年的5月是难以忘怀的，有人戏称是上帝的手机不小心开了震动模式了，权当是我们勇敢面对明天的一点自我安慰吧，逝者已矣。这么大的事件，我没帮上什么忙，也没帮上什么倒忙，除了捐了自己微薄的一个月工资以外，几乎什么都没有作，有些惭愧，但我也没闲着，原先考虑的.NET还是PHP？问题基本被消灭掉了，灾要救，其余的工作也要继续，不是么？ 这个项目我最终选择了用PHP来作，原因不再说了，正确性让时间去证明吧。工作内容大体分两部分，一个比较简单的子系统和另外一个大一点，逻辑关系和计算规则比较复杂，专业性也较强的子系统。之所以说是子系统，这次开发的内容仍然要和原来.NET的系统一起使用，换个说法就是只升级了一部分，而原来的系统就是.NET和Java混合着用的，现在.NET、Java、PHP全到齐了:-)。 因为只是子系统开发、升级，所以用户管理、验证部分仍然使用原系统中的，省去了这部分的工作量，但需要作一些焊接的工作。 数据库方面，原系统仍然使用Sybase，新系统换到mysql库，为此专门搞了一个单向同步数据的模块，放到cron中每隔5分钟执行一次，效果还可以接受，同步过来的数据也算是对原Sybase的一个备份。不过库结构的命名是全新的，并且除字典表以外，主键全面从identity转向uuid。自定义的uuid按时间排序，还分配了可自定义部分，目前感觉使用效果应该比identity要好，还是需要时间证明了。uuid的调试是麻烦些，需要一点小技巧和烂笔头，还有phpMyAdmin这个好工具。 时间上，大概是从4月初开始的，刚开始连我4个人，其中1个PHP还没学会，另外2个是今年的应届毕业生（项目过程中，5月底左右，才完成论文答辩，领了毕业证）。我除了项目还有其它工作，刚开始帮他们起了个头，中间一直到5月中下旬才全面投入项目。PHP还没学会的这个后来主攻文档和测试、项目协调。 一开始花了大概10天的时间构建系统框架、连入adodb，smarty等类库，以及非常重要的开发规范制定。然后开始作那个比较小的子系统，一来可以不断完善系统框架，二来也算是锻炼队伍。原计划4月底完成，拖到了5月10号左右。 然后开始较复杂的子系统，由于时间太紧迫，又请了两位外援，一位是几乎全能的老手，除了专业业务不熟悉，别的前、后台都没问题，另外一位是一年经验的PHP开发者，速度虽然略慢但代码质量还可接受。 从5月15号开始，几乎是封闭式开发了，每天除了吃饭睡觉和大概一个小时的休息（乒乓球）时间，每天都工作到24点以后。原计划5月底开始测试（并非完成），跳票到了6月10号，还算是在可接受范围之内吧，只是一些非重点非必要的辅助功能都被我们留在以后作了。 项目基本上就是这些情况吧，谈几点感受： 石家庄这种鬼地方，一半用户是微软的盲目崇拜者，一半用户是Java的盲目信仰者，PHP及其它开源技术的土壤简直就是盐碱地。 在较成熟的PHP应用环境下，或者开发团队中有PHP熟练者的情况下，即使是.NET和Java的高手也是可以快速熟悉起来产生生产力的。 不要信仰工具，不管是用什么开发工具，没有我们后来请的两位外援，再有2月也拿不出东西来。 工作经验的确很重要，不仅仅是工作质量的差别，毕业生和有工作经验的人相比，工作精神、压力承受程度、解决问题的思维方式都有很大差别的。好在我们的团队成员在工作态度上还都是一流的，这一点我得感谢他们。 欠缺的知识：在开发工作量测量、开发时间测量上还没有太好的方式，代码质量也没有很好的检查方法。需求表达、结构设计基本上靠文字描述和口头讲解（当然也有时间的原因），没有趁手的case工具。数据库结构设计和维护从原来的PowerDesigner又回归到了原始的sql文件+维护版sql文件，感觉用起来虽然不太方便，效率也不低，多服务器的环境下尤其好用。 花一些时间搭建高仿真的测试环境很重要，我们的测试环境已经运行了3年多，系统和数据都是和生产环境一样的，对开发起到了很好的作用。 拍脑门定工期的方式真的是后患无穷，但也没有更有说服力和科学依据的更好方式，头疼，系统分析这块当年没学好，就是学好了这么多年的发展也用不得了。 小结：很辛苦，但有所得，也很快乐，按照葛优的话说就是即完成了任务，又锻炼了队伍，呵呵。 与所有默默开垦盐碱地的同志们同勉，并对给予我默默支持的家人和同事致以无限感激。 Tags: .net, adodb, java, mysql, PHP, project, Smarty, sybase, think, uuid Related posts .NET还是PHP？ (6) Intrepid中的php-sybase凑合能用了 (0) adodb5连接sybase的一个错误 (0) 选择Eclipse PHP Development Tools(PDT)作为PHP开发工具 (8) Ubuntu从Gutsy升级到Hardy，php5-sybase又掉链子 (2)]]></description>
			<content:encoded><![CDATA[<p>2008年的5月是难以忘怀的，有人戏称是上帝的手机不小心开了震动模式了，权当是我们勇敢面对明天的一点自我安慰吧，逝者已矣。这么大的事件，我没帮上什么忙，也没帮上什么倒忙，除了捐了自己微薄的一个月工资以外，几乎什么都没有作，有些惭愧，但我也没闲着，原先考虑的<a href="388">.NET还是PHP？</a>问题基本被消灭掉了，灾要救，其余的工作也要继续，不是么？</p>

<p>这个项目我最终选择了用PHP来作，原因不再说了，正确性让时间去证明吧。工作内容大体分两部分，一个比较简单的子系统和另外一个大一点，逻辑关系和计算规则比较复杂，专业性也较强的子系统。之所以说是子系统，这次开发的内容仍然要和原来.NET的系统一起使用，换个说法就是只升级了一部分，而原来的系统就是.NET和Java混合着用的，现在.NET、Java、PHP全到齐了:-)。</p>

<p>因为只是子系统开发、升级，所以用户管理、验证部分仍然使用原系统中的，省去了这部分的工作量，但需要作一些焊接的工作。</p>

<p>数据库方面，原系统仍然使用Sybase，新系统换到mysql库，为此专门搞了一个单向同步数据的模块，放到cron中每隔5分钟执行一次，效果还可以接受，同步过来的数据也算是对原Sybase的一个备份。不过库结构的命名是全新的，并且除字典表以外，主键全面从identity转向uuid。自定义的uuid按时间排序，还分配了可自定义部分，目前感觉使用效果应该比identity要好，还是需要时间证明了。uuid的调试是麻烦些，需要一点小技巧和烂笔头，还有phpMyAdmin这个好工具。</p>

<p>时间上，大概是从4月初开始的，刚开始连我4个人，其中1个PHP还没学会，另外2个是今年的应届毕业生（项目过程中，5月底左右，才完成论文答辩，领了毕业证）。我除了项目还有其它工作，刚开始帮他们起了个头，中间一直到5月中下旬才全面投入项目。PHP还没学会的这个后来主攻文档和测试、项目协调。</p>

<p>一开始花了大概10天的时间构建系统框架、连入adodb，smarty等类库，以及非常重要的开发规范制定。然后开始作那个比较小的子系统，一来可以不断完善系统框架，二来也算是锻炼队伍。原计划4月底完成，拖到了5月10号左右。</p>

<p>然后开始较复杂的子系统，由于时间太紧迫，又请了两位外援，一位是几乎全能的老手，除了专业业务不熟悉，别的前、后台都没问题，另外一位是一年经验的PHP开发者，速度虽然略慢但代码质量还可接受。</p>

<p>从5月15号开始，几乎是封闭式开发了，每天除了吃饭睡觉和大概一个小时的休息（乒乓球）时间，每天都工作到24点以后。原计划5月底开始测试（并非完成），跳票到了6月10号，还算是在可接受范围之内吧，只是一些非重点非必要的辅助功能都被我们留在以后作了。</p>

<p>项目基本上就是这些情况吧，谈几点感受：</p>

<ul>
<li>石家庄这种鬼地方，一半用户是微软的盲目崇拜者，一半用户是Java的盲目信仰者，PHP及其它开源技术的土壤简直就是盐碱地。</li>
<li>在较成熟的PHP应用环境下，或者开发团队中有PHP熟练者的情况下，即使是.NET和Java的高手也是可以快速熟悉起来产生生产力的。</li>
<li>不要信仰工具，不管是用什么开发工具，没有我们后来请的两位外援，再有2月也拿不出东西来。</li>
<li>工作经验的确很重要，不仅仅是工作质量的差别，毕业生和有工作经验的人相比，工作精神、压力承受程度、解决问题的思维方式都有很大差别的。好在我们的团队成员在工作态度上还都是一流的，这一点我得感谢他们。</li>
<li>欠缺的知识：在开发工作量测量、开发时间测量上还没有太好的方式，代码质量也没有很好的检查方法。需求表达、结构设计基本上靠文字描述和口头讲解（当然也有时间的原因），没有趁手的case工具。数据库结构设计和维护从原来的PowerDesigner又回归到了原始的sql文件+维护版sql文件，感觉用起来虽然不太方便，效率也不低，多服务器的环境下尤其好用。</li>
<li>花一些时间搭建高仿真的测试环境很重要，我们的测试环境已经运行了3年多，系统和数据都是和生产环境一样的，对开发起到了很好的作用。</li>
<li>拍脑门定工期的方式真的是后患无穷，但也没有更有说服力和科学依据的更好方式，头疼，系统分析这块当年没学好，就是学好了这么多年的发展也用不得了。</li>
</ul>

<p>小结：很辛苦，但有所得，也很快乐，按照葛优的话说就是即完成了任务，又锻炼了队伍，呵呵。</p>

<p>与所有默默开垦盐碱地的同志们同勉，并对给予我默默支持的家人和同事致以无限感激。</p>

	Tags: <a href="http://www.fwolf.com/blog/post/tag/net" title=".net" rel="tag">.net</a>, <a href="http://www.fwolf.com/blog/post/tag/adodb" title="adodb" rel="tag">adodb</a>, <a href="http://www.fwolf.com/blog/post/tag/java" title="java" rel="tag">java</a>, <a href="http://www.fwolf.com/blog/post/tag/mysql" title="mysql" rel="tag">mysql</a>, <a href="http://www.fwolf.com/blog/post/tag/php" title="PHP" rel="tag">PHP</a>, <a href="http://www.fwolf.com/blog/post/tag/project" title="project" rel="tag">project</a>, <a href="http://www.fwolf.com/blog/post/tag/smarty" title="Smarty" rel="tag">Smarty</a>, <a href="http://www.fwolf.com/blog/post/tag/sybase" title="sybase" rel="tag">sybase</a>, <a href="http://www.fwolf.com/blog/post/tag/think" title="think" rel="tag">think</a>, <a href="http://www.fwolf.com/blog/post/tag/uuid" title="uuid" rel="tag">uuid</a><br />

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.fwolf.com/blog/post/388" title=".NET还是PHP？ (2008-03-17)">.NET还是PHP？</a> (6)</li>
	<li><a href="http://www.fwolf.com/blog/post/427" title="Intrepid中的php-sybase凑合能用了 (2009-01-04)">Intrepid中的php-sybase凑合能用了</a> (0)</li>
	<li><a href="http://www.fwolf.com/blog/post/391" title="adodb5连接sybase的一个错误 (2008-03-25)">adodb5连接sybase的一个错误</a> (0)</li>
	<li><a href="http://www.fwolf.com/blog/post/400" title="选择Eclipse PHP Development Tools(PDT)作为PHP开发工具 (2008-05-03)">选择Eclipse PHP Development Tools(PDT)作为PHP开发工具</a> (8)</li>
	<li><a href="http://www.fwolf.com/blog/post/403" title="Ubuntu从Gutsy升级到Hardy，php5-sybase又掉链子 (2008-06-12)">Ubuntu从Gutsy升级到Hardy，php5-sybase又掉链子</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.fwolf.com/blog/post/404/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Openoffice连接mysql数据库的具体方法</title>
		<link>http://www.fwolf.com/blog/post/368</link>
		<comments>http://www.fwolf.com/blog/post/368#comments</comments>
		<pubDate>Mon, 12 Nov 2007 10:38:59 +0000</pubDate>
		<dc:creator>Fwolf</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[connect]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ooo]]></category>

		<guid isPermaLink="false">http://www.fwolf.com/blog/post/368</guid>
		<description><![CDATA[作用就相当与ms office里面的access，不过功能应该更强大一些，因为可以连接外部数据源直接进行操作。其他的form、query、report之类的功能应该大体类似。 设置其实不难（难的是连接上以后如何利用好功能），但对于不熟悉java的人（包括我）来说就未必了，所以记录在这里分享。系统环境：Ubuntu 7.10 Gutsy, Openoffice.org 2.3.0, Mysql 5.0.45-1ubuntu3。 首先要在openoffice.org中启用java，菜单Tools->Options，Openoffice.org组的最后一项，ooo应该自动监测出了系统中已有的jre环境，如图： 选中合适的jre环境，比如我选择的1.6.0_03，然后点旁边的Class Path按钮，设置类路径，由于要使用到JDBC Driver for MySQL (Connector/J)，所以下载解压之后，在这里把jar文件路径设置进来，ooo在需要的时候会自动调用，如图： 然后就可以新建数据库文件了，File->New->Database，注意其实ooo创建的只是一个数据库的“控制”文档。打开数据库创建向导之后，首选选择JDBC连接，然后继续： 然后输入数据源地址和java类名称，针对使用JDBC Driver for MySQL (Connector/J)连接mysql数据库的情况，数据源地址格式为： jdbc:mysql://[host][,failoverhost...][:port]/[database] [?propertyName1][=propertyValue1][&#38;propertyName2][=propertyValue2]... 所以我连本机mysql库就是：jdbc: mysql://localhost/db_name，端口默认为3306。JDBC driver class要填com.mysql.jdbc.Driver，可以用Test Class测试一下类是否加载正常。 再下一步就是设置用户名以及密码了，可以点Test Connection测试是否能够正常连接，如果不正常可以检查一下mysql的监听地址、端口以及用户名/密码是否正确。 最终确认，保存，就可以在ooo中看到mysql库中所有的table，以及进行下一步操作了。 如果要更改数据库连接信息，使用Edit->Database菜单就可以了。 参考 连接OpenOffice.org和MySQL就是这么简单 把OpenOffice连接到MySQL Tags: connect, java, mysql, ooo Related posts 忙碌的5月 (10) Ubuntu 升级到 10.04 lucid (0) 在无线网络中使用RADIUS服务器+mysql进行用户认证 (0) 升级到Ubuntu Intrepid后感觉到的一些变化 (0) [...]]]></description>
			<content:encoded><![CDATA[<p>作用就相当与ms office里面的access，不过功能应该更强大一些，因为可以连接外部数据源直接进行操作。其他的form、query、report之类的功能应该大体类似。</p>

<p>设置其实不难（难的是连接上以后如何利用好功能），但对于不熟悉java的人（包括我）来说就未必了，所以记录在这里分享。系统环境：Ubuntu 7.10 Gutsy, Openoffice.org 2.3.0, Mysql 5.0.45-1ubuntu3。</p>

<p>首先要在openoffice.org中启用java，菜单Tools->Options，Openoffice.org组的最后一项，ooo应该自动监测出了系统中已有的jre环境，如图：</p>

<p><a href="http://img86.imageshack.us/my.php?image=20071112181511918x444scaq0.png" target="_blank"><img src="http://img86.imageshack.us/img86/3342/20071112181511918x444scaq0.th.png" border="0" alt="Free Image Hosting at www.ImageShack.us" /></a></p>

<p>选中合适的jre环境，比如我选择的1.6.0_03，然后点旁边的<code>Class Path</code>按钮，设置类路径，由于要使用到<a href="http://www.mysql.com/products/connector/">JDBC Driver for MySQL (Connector/J)</a>，所以下载解压之后，在这里把jar文件路径设置进来，ooo在需要的时候会自动调用，如图：</p>

<p><a href="http://img111.imageshack.us/my.php?image=20071112182054604x255sctf2.png" target="_blank"><img src="http://img111.imageshack.us/img111/9270/20071112182054604x255sctf2.th.png" border="0" alt="Free Image Hosting at www.ImageShack.us" /></a></p>

<p>然后就可以新建数据库文件了，File->New->Database，注意其实ooo创建的只是一个数据库的“控制”文档。打开数据库创建向导之后，首选选择JDBC连接，然后继续：</p>

<p><a href="http://img252.imageshack.us/my.php?image=20071112182513777x464scxu1.png" target="_blank"><img src="http://img252.imageshack.us/img252/1483/20071112182513777x464scxu1.th.png" border="0" alt="Free Image Hosting at www.ImageShack.us" /></a></p>

<p>然后输入数据源地址和java类名称，针对使用<a href="http://www.mysql.com/products/connector/">JDBC Driver for MySQL (Connector/J)</a>连接mysql数据库的情况，数据源地址格式为：</p>

<pre><code>jdbc:mysql://[host][,failoverhost...][:port]/[database] [?propertyName1][=propertyValue1][&amp;propertyName2][=propertyValue2]...
</code></pre>

<p>所以我连本机mysql库就是：<code>jdbc: mysql://localhost/db_name</code>，端口默认为3306。JDBC driver class要填<code>com.mysql.jdbc.Driver</code>，可以用<code>Test Class</code>测试一下类是否加载正常。</p>

<p><a href="http://img88.imageshack.us/my.php?image=20071112183406777x464scqo1.png" target="_blank"><img src="http://img88.imageshack.us/img88/1926/20071112183406777x464scqo1.th.png" border="0" alt="Free Image Hosting at www.ImageShack.us" /></a></p>

<p>再下一步就是设置用户名以及密码了，可以点<code>Test Connection</code>测试是否能够正常连接，如果不正常可以检查一下mysql的监听地址、端口以及用户名/密码是否正确。</p>

<p><a href="http://img266.imageshack.us/my.php?image=20071112183308777x464sceo3.png" target="_blank"><img src="http://img266.imageshack.us/img266/3319/20071112183308777x464sceo3.th.png" border="0" alt="Free Image Hosting at www.ImageShack.us" /></a></p>

<p>最终确认，保存，就可以在ooo中看到mysql库中所有的table，以及进行下一步操作了。</p>

<p><a href="http://img140.imageshack.us/my.php?image=20071112183632930x905scfy9.png" target="_blank"><img src="http://img140.imageshack.us/img140/1936/20071112183632930x905scfy9.th.png" border="0" alt="Free Image Hosting at www.ImageShack.us" /></a></p>

<p>如果要更改数据库连接信息，使用Edit->Database菜单就可以了。</p>

<h4>参考</h4>

<ul>
<li><a href="http://soft.zdnet.com.cn/software_zone/2007/0328/383579.shtml">连接OpenOffice.org和MySQL就是这么简单</a></li>
<li><a href="http://www.linux-ren.org/modules/newbb/viewtopic.php?topic_id=2948">把OpenOffice连接到MySQL</a></li>
</ul>

	Tags: <a href="http://www.fwolf.com/blog/post/tag/connect" title="connect" rel="tag">connect</a>, <a href="http://www.fwolf.com/blog/post/tag/java" title="java" rel="tag">java</a>, <a href="http://www.fwolf.com/blog/post/tag/mysql" title="mysql" rel="tag">mysql</a>, <a href="http://www.fwolf.com/blog/post/tag/ooo" title="ooo" rel="tag">ooo</a><br />

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.fwolf.com/blog/post/404" title="忙碌的5月 (2008-06-13)">忙碌的5月</a> (10)</li>
	<li><a href="http://www.fwolf.com/blog/post/5" title="Ubuntu 升级到 10.04 lucid (2010-07-07)">Ubuntu 升级到 10.04 lucid</a> (0)</li>
	<li><a href="http://www.fwolf.com/blog/post/369" title="在无线网络中使用RADIUS服务器+mysql进行用户认证 (2007-11-15)">在无线网络中使用RADIUS服务器+mysql进行用户认证</a> (0)</li>
	<li><a href="http://www.fwolf.com/blog/post/428" title="升级到Ubuntu Intrepid后感觉到的一些变化 (2009-01-06)">升级到Ubuntu Intrepid后感觉到的一些变化</a> (0)</li>
	<li><a href="http://www.fwolf.com/blog/post/383" title="[MediaTemple]虚拟主机内存优化的一点心得 (2008-02-19)">[MediaTemple]虚拟主机内存优化的一点心得</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.fwolf.com/blog/post/368/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
