ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久国产精华,欧美成人一区二区,中文字幕中文字幕在线中文字幕三区http://www.aygfsteel.com/bluoy/记录工作中的技术点æ»ß_¼Œå¿ƒå¾—zh-cnSat, 07 Jun 2025 10:38:53 GMTSat, 07 Jun 2025 10:38:53 GMT60用Vmware workstation 8.0+Windows2008+Sqlserver2008+starwind¾Ÿ¤é›†¼‚ç›˜ 搭徏故障转移集群环境http://www.aygfsteel.com/bluoy/archive/2012/06/21/381232.htmlbluoybluoyThu, 21 Jun 2012 01:23:00 GMThttp://www.aygfsteel.com/bluoy/archive/2012/06/21/381232.htmlhttp://www.aygfsteel.com/bluoy/comments/381232.htmlhttp://www.aygfsteel.com/bluoy/archive/2012/06/21/381232.html#Feedback0http://www.aygfsteel.com/bluoy/comments/commentRss/381232.htmlhttp://www.aygfsteel.com/bluoy/services/trackbacks/381232.html1. è™šæ‹Ÿæœø™ÊYä»¶Vmware 8.0 WorkstationåQŒWindows 2008 Enterprise Server, Sql Server 2008 R2ã€?br />2. 俩个节点òq›_°ç‰ˆæœ¬å¿…须一è‡ß_¼Œéƒ½äؓ企业版ã€?br />3. 与构建Windows 2003¾Ÿ¤é›†ä¸åŒåQŒä¸èƒ½ä‹É用vmware的共享磁盘机制。Windows 2008集群对存储要求很高,不支持SCSI¼‹¬ç›˜åšé›†¾Ÿ¤ã€?br />    本次使用starwind 5.4代替vmware的共享磁盘实现群集存储ã€?br />4. 搭徏Windows集群需è¦?台虚拟机åQ?个节ç‚?1台存储ã€?br />5. 搭徏SqlServer 2008集群需è¦?替虚拟机åQ?个节ç‚?1台DC+1台存储ã€?br />
搭徏™åºåº:
1. 安装DC+DNS服务器ã€?br />2. 安装集群节点, é…ç½®åŒç½‘卡,域登录ã€?br />3. 安装¾Ÿ¤é›†¼‚ç›˜æœåŠ¡å™?br />4. 在集¾Ÿ¤èŠ‚ç‚¹ä¸Šé…ç½®iSCSI发è“vã€?br />5. 在集¾Ÿ¤èŠ‚ç‚¹ä¸Šå®‰è£…“故障转移¾Ÿ¤é›†”功能ã€?br />6. ˜q›è¡Œæ•…障转移¾Ÿ¤é›†éªŒè¯å’Œåˆ›å»ºã€?br />7. è‡Ïx­¤åQŒWindows集群环境安装完毕ã€?br />8. 在集¾Ÿ¤èŠ‚ç‚¹ä¸ŠæŒ‰ç¾¤é›†æ–¹å¼å®‰è£…SqlServer 2008ã€?br />9. SqlServer 2008集群环境构徏完毕ã€?br />
参考文档:
Windows Server 2008的故障è{¿Uȝ¾¤é›†å…¥é—? http://os.51cto.com/art/201007/210286.htm
windows server2008虚拟æœ?¾Ÿ¤é›†: http://wenku.baidu.com/view/5e5b2be8e009581b6bd9eb1a.html
Windows2008+sqlserver2008集群安装åQšhttp://wenku.baidu.com/view/601dc74d2b160b4e767fcf46.html


bluoy 2012-06-21 09:23 发表评论
]]>
ProxyDroid, A proxy software for your android device.http://www.aygfsteel.com/bluoy/archive/2011/09/28/359707.htmlbluoybluoyWed, 28 Sep 2011 07:55:00 GMThttp://www.aygfsteel.com/bluoy/archive/2011/09/28/359707.htmlhttp://www.aygfsteel.com/bluoy/comments/359707.htmlhttp://www.aygfsteel.com/bluoy/archive/2011/09/28/359707.html#Feedback0http://www.aygfsteel.com/bluoy/comments/commentRss/359707.htmlhttp://www.aygfsteel.com/bluoy/services/trackbacks/359707.html
¼œžä¸€æ ïLš„软äšgåQŒè†œæ‹œing...
˜qžæˆ‘˜q™å¤©ç”Ÿkernel iptable有缺é™ïLš„都能用ã€?br />
当前版本åQ?.04.
˜q˜æ˜¯ä¸ªOpen Source的,改天一定要好好观摩一番的ã€?/div>


bluoy 2011-09-28 15:55 发表评论
]]>
64-BIT ENVIRONMENT REQUIRED WHEN CHECKING BUILD TOOL VERSIONS(转脓)http://www.aygfsteel.com/bluoy/archive/2011/01/07/342490.htmlbluoybluoyFri, 07 Jan 2011 02:54:00 GMThttp://www.aygfsteel.com/bluoy/archive/2011/01/07/342490.htmlhttp://www.aygfsteel.com/bluoy/comments/342490.htmlhttp://www.aygfsteel.com/bluoy/archive/2011/01/07/342490.html#Feedback0http://www.aygfsteel.com/bluoy/comments/commentRss/342490.htmlhttp://www.aygfsteel.com/bluoy/services/trackbacks/342490.html

If you meet following errors below when you try to build your source code:

 

Checking build tools versions...

build/core/main.mk:72:

************************************************************

build/core/main.mk:73: You are attempting to build on a 32-bit system.

build/core/main.mk:74: Only 64-bit build environments are supported beyond froyo/2.2.

build/core/main.mk:75:

************************************************************

Don’t panic, just change the code:

build/core/main.mk

ifeq ($(BUILD_OS),linux)

build_arch := $(shell uname -m) 

---ifneq (64,$(findstring 64,$(build_arch))) 

+++ifneq (i686,$(findstring i686,$(build_arch)))

 

and change the code in four mk files below from “+=-m64” to “+=-m32”


external/clearsilver/cgi/Android.mk

external/clearsilver/java-jni/Android.mk

external/clearsilver/util/Android.mk

external/clearsilver/cs/Android.mk


LOCAL_CFLAGS += -m32

LOCAL_LDFLAGS += -m32

end.



bluoy 2011-01-07 10:54 发表评论
]]>
memo -- Nokia PcSuite for Linux with ObexTool(ZT)http://www.aygfsteel.com/bluoy/archive/2009/04/23/267179.htmlbluoybluoyThu, 23 Apr 2009 08:30:00 GMThttp://www.aygfsteel.com/bluoy/archive/2009/04/23/267179.htmlhttp://www.aygfsteel.com/bluoy/comments/267179.htmlhttp://www.aygfsteel.com/bluoy/archive/2009/04/23/267179.html#Feedback0http://www.aygfsteel.com/bluoy/comments/commentRss/267179.htmlhttp://www.aygfsteel.com/bluoy/services/trackbacks/267179.htmlI got this idea when i was surfing the web in search of a tool similar to the Nokia Pc Suite for my Linux

This How-To  works with many NOKIA Mobile Phone, especially for Nokia 3230, 6670, 6680, 6682 e 7610, 6120, Sony Ericsson Z1010, LG U8110/8120.

First of all, we have to grant access for Mobile Phone to “dialout” group.

sudo gedit /etc/udev/rules.d/40-permissions.rules

Now we have to add to the end of file:

# NOKIA 6120
BUS==”usb”, SYSFS{idVendor}==”0421″, SYSFS{idProduct}==”002f”, GROUP=”dialout”

where 0421 and 002f could be different depending on your Mobile Phone.
To check your idVendor and idProduct, we have to type on terminal

lsusb
Bus 003 Device 009: ID 0421:002f Nokia Mobile Phones

Now, we have to reload udev permission file:

sudo /etc/init.d/udev restart

We have to add our username on group “dialout”

gpasswd -a username dialout

All basics configurations for USB Data Cable are completed. We can start installation of obexftp and obextool GUI. Obextool GUI is written for tk graphic library, so GUI not have a good design as GTK.

sudo apt-get install openobex-apps libopenobex1 obexftp obextool

If you want start obextool from terminal we have to type for the first time:

export OBEXCMD=”obexftp -t /dev/ttyACM0 -u 1″
obextool

or, we can start it simply by typing:

obextool –obexcmd “obexftp -t /dev/ttyACM0 -u 1″

When we start Obextool we can see this error message:

It seems, that your device does not support the memory status feature.
Memory status will be disabled

To solve this problem we have to set some values on obextool.cfg:

sudo gedit /etc/obextool.cfg

set ObexConfig(config,memstatus) 0
set ObexConfig(config,filemove) 0

Another error message that we can see is:

FIle ‘/FileName/’ could not be uploaded to ‘E:/Path’!
Please check your file permissions.

To solve it:

sudo gedit /etc/obextool.cfg

set ObexConfig(config,dir_slash) 1

Good Job! Now your Mobile Phone works well in Ubuntu Gutsy with ObexTool.
If we want add it as Desktop Entry:

sudo gedit /usr/share/applications/obextool.desktop

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Exec=/usr/bin/obextool –obexcmd “obexftp -t /dev/ttyACM0 -u 1″
Icon=/usr/share/icons/gnome/scalable/devices/phone.svg
Terminal=false
Name=Obextool
GenericName=
Comment=Browser your Mobile Phone
Categories=Application;Utility;

So, you can find it in your Gnome Panel over: “Applications” -> “Accessories” -> Obextool



bluoy 2009-04-23 16:30 发表评论
]]>
再次理解Oracleçš„connect by语法http://www.aygfsteel.com/bluoy/archive/2009/04/01/263399.htmlbluoybluoyWed, 01 Apr 2009 09:02:00 GMThttp://www.aygfsteel.com/bluoy/archive/2009/04/01/263399.htmlhttp://www.aygfsteel.com/bluoy/comments/263399.htmlhttp://www.aygfsteel.com/bluoy/archive/2009/04/01/263399.html#Feedback1http://www.aygfsteel.com/bluoy/comments/commentRss/263399.htmlhttp://www.aygfsteel.com/bluoy/services/trackbacks/263399.html 下面的例子实现把一个整数的各个位上的数字相åŠ?通过˜q™ä¸ªä¾‹å­æˆ‘们再次理解 connect by.

create or replace function f_digit_add(innum integer) return number
is
outnum integer;
begin
if innum<0 then
return 0;
end if;
select sum(nm) into outnum from(
select substr(innum,rownum,1) nm from dual connect by
rownum<length(innum)
);
return outnum;
end f_digit_add;
/

select f_digit_add(123456) from dual;

bluoy 2009-04-01 17:02 发表评论
]]>
Shift_JIS, MS932 and Unicode(收藏自网¾l?http://www.aygfsteel.com/bluoy/archive/2009/02/03/253114.htmlbluoybluoyTue, 03 Feb 2009 08:52:00 GMThttp://www.aygfsteel.com/bluoy/archive/2009/02/03/253114.htmlhttp://www.aygfsteel.com/bluoy/comments/253114.htmlhttp://www.aygfsteel.com/bluoy/archive/2009/02/03/253114.html#Feedback0http://www.aygfsteel.com/bluoy/comments/commentRss/253114.htmlhttp://www.aygfsteel.com/bluoy/services/trackbacks/253114.html¾lˆäºŽæžæ˜Žç™½äº†å›°æƒ‘很久的问题,¾|ªé­¼œ”R¦–˜q˜æ˜¯jdk啊。天杀的ã€?br /> 以下内容转自¾|‘络åQ?

‹¹‹è¯•环境åQšWin2K Pro日文版,SUN J2SDK 1.5.0-beta2

¾lè¿‡‹¹‹è¯•åQŒå‘现Shift_JISå’ŒMS932¾~–码的全角æ‡L‹¹ªçº¿åQ?#8220;ï½?#8221;åQ‰çš„¾~–码都是 0x8160åQ?6˜q›åˆ¶åQŒä¸¤ä¸ªå­—节,高位在前åQ‰ã€‚通过sun.io.ByteToCharMS932转换后得到Unicode字符'\uFF5E'åQŒè€Œé€šè¿‡sun.io.ByteToCharSJIS转换后则得到Unicode字符'\u301C'ã€?/p>

反之åQŒUnicode字符'\uFF5E'通过sun.io.CharToByteMS932转换后会得到MS932¾~–码的本地字½W?x8160åQ?6˜q›åˆ¶åQŒä¸¤ä¸ªå­—节,高位在前åQ‰ï¼Œè€ŒUnicode字符'\u301C'通过 sun.io.CharToByteSJIS转换后也会得到Shift_JIS¾~–码的本地字½W?x8160åQ?6˜q›åˆ¶åQŒä¸¤ä¸ªå­—节,高位在前åQ‰ï¼Œä¸¤è€…的转换¾l“果相同ã€?/p>

¾l“论åQšåœ¨WinNT/2K/XP上,MS932å’ŒShift_JIS˜q™ä¸¤¿Uæœ¬åœ°å­—½W¦é›†å®Œå…¨ç›¸åŒåQŒåªæ˜¯åˆ†åˆ«é‡‡ç”¨JDKçš„sun.io.ByteToCharMS932å’Œsun.io.ByteToCharSJIS对个别特ŒDŠçš„æœ¬åœ°å­—符˜q›è¡Œè½¬æ¢åŽæ‰€å¾—到çš?Unicode字符òq¶ä¸ä¸€æ —÷€‚实际上åQŒMS932ž®±æ˜¯WinNT/2K/XP上的Shift_JISåQŒåªæ˜¯ä¸Žæ ‡å‡†ç‰ˆçš„Shift_JIS字符集相比,MS932收录了更多的字符åQŒæ¯”如NECå’ŒIBM对Shift_JIS的扩展(如日文中çš?#8220;㊤㊥㊦㊧㊨①..â‘?..”½{‰ç­‰åQ‰ï¼›ç„¶è€Œï¼ŒJDK中的 ByteToCharSJIS及CharToByteSJIS却ä‹É用了标准的Shift_JIS字符集,所以部分扩展字½W¦åœ¨ä»Žbyte转换成char或是从char转换成byte时会出现ä¹Þq åQŒè¿™çš„确是JDK让äh非常˜qähƒ‘的一处ã€?br />

参考资æ–?åQˆæ—¥æ–‡ï¼‰åQšhttp://www.asahi-net.or.jp/~ez3k-msym/charsets/jis2ucs.htm



bluoy 2009-02-03 16:52 发表评论
]]>
一些自己搞混了的概å¿?/title><link>http://www.aygfsteel.com/bluoy/archive/2008/12/28/248716.html</link><dc:creator>bluoy</dc:creator><author>bluoy</author><pubDate>Sun, 28 Dec 2008 02:54:00 GMT</pubDate><guid>http://www.aygfsteel.com/bluoy/archive/2008/12/28/248716.html</guid><wfw:comment>http://www.aygfsteel.com/bluoy/comments/248716.html</wfw:comment><comments>http://www.aygfsteel.com/bluoy/archive/2008/12/28/248716.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/bluoy/comments/commentRss/248716.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/bluoy/services/trackbacks/248716.html</trackback:ping><description><![CDATA[<div>1. 函数的overwrite实现æ—Óž¼Œå‡½æ•°å‚æ•°¾cÕdž‹å¿…须严格一致。与overload不同åQŒåƈ不遵守参æ•îC¼˜å…ˆåŒ¹é…çš„原则ã€?br /> 所以,不能用子¾c»ï¼Œæˆ–这接口的实现类来妄囑־—到overwrite的目的ã€?br /> 2. 使用反射手法æ—Óž¼ŒgetMethod()的调用,参数¾cÕdž‹å¿…须与要得到的函数类型严æ ég¸€è‡´ã€‚与overload不同åQŒåƈ不遵守参æ•îC¼˜å…ˆåŒ¹é…çš„原则ã€?br /> 3内部¾c»ï¼Œè¦å®žä¾‹åŒ–æ—¶å¿…™å»é¦–先实例化包含¾c…R€‚å¯ä»¥ç†è§£äØ“å†…éƒ¨¾cÕdªæ˜¯åŒ…含类的数据成å‘?br /> 4非public¾c»ï¼Œéžjavabean规范的BeanåQŒå†…部类BeanUtil¾cÀL— æ³•进行操作,比如clone()½{‰ç­‰ã€?</div> <img src ="http://www.aygfsteel.com/bluoy/aggbug/248716.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/bluoy/" target="_blank">bluoy</a> 2008-12-28 10:54 <a href="http://www.aygfsteel.com/bluoy/archive/2008/12/28/248716.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一¿UäçR入既有框æžÓž¼Œæˆ–者改变既有框架行为的实现模式ã€?/title><link>http://www.aygfsteel.com/bluoy/archive/2008/12/28/248714.html</link><dc:creator>bluoy</dc:creator><author>bluoy</author><pubDate>Sun, 28 Dec 2008 02:40:00 GMT</pubDate><guid>http://www.aygfsteel.com/bluoy/archive/2008/12/28/248714.html</guid><wfw:comment>http://www.aygfsteel.com/bluoy/comments/248714.html</wfw:comment><comments>http://www.aygfsteel.com/bluoy/archive/2008/12/28/248714.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/bluoy/comments/commentRss/248714.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/bluoy/services/trackbacks/248714.html</trackback:ping><description><![CDATA[<div>虽然java没有提供函数指针的操作,而是必须通过对象来曲¾U¿æ•‘国ã€?br /> 不过延äŽ×一下这个思èµ\åQŒå…¶å®žä¹Ÿæœªå¿…不是件好事。从某种意义上来è¯ß_¼Œæ•´ä¸ªjava¾pȝ»ŸåQŒæˆ–者对象系¾lŸï¼Œå…¶å®žž®±æ˜¯ä¸è®¡å…¶æ•°çš„钩子组成的¾pȝ»Ÿã€‚因为,参数传递的˜q‡ç¨‹ä¸­å®Œå…¨ä¾èµ–着对象åQŒä¸€¿Uè¡Œä¸ºå’Œæ•°æ®çš„结合体。这里,关键词是参数传递和对象的行为,当然¼›ÖM¸å¼€å¤šæ€ã€?br />         æ”¹å˜æ—¢æœ‰ä»£ç çš„行为步骤:<br />         1. ‹z„¡”Ÿå‚æ•°¾cÕd¾—到新的子¾c…R€?br />         2. åœ¨å­¾cÖM¸­è¦†å†™(overwrite)父类既有æ–ÒŽ³•ã€?br />         3. ž®†å­¾cȝš„å®žä¾‹ä½œäØ“å‚æ•°ä¼ é€’ã€?br />         ˜q™æ ·åQŒå°±å¾—到了改变父¾c»è¡Œä¸ºçš„目的ã€?br />  å¯¹äºŽæ—¢æœ‰æ¡†æž¶è‡ªä½œä¸Õd¼ çš„封装,é˜È¢è‡ªå·±çš„目的的时候,˜q™ä¸ªåšæ³•往往能独辟蹊径ã€?br /> <br /> </div> <img src ="http://www.aygfsteel.com/bluoy/aggbug/248714.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/bluoy/" target="_blank">bluoy</a> 2008-12-28 10:40 <a href="http://www.aygfsteel.com/bluoy/archive/2008/12/28/248714.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring Framework 的理解以及可¾l´æŠ¤æ€§æ˜¯å¦å¾—以改善的思è€?/title><link>http://www.aygfsteel.com/bluoy/archive/2008/07/06/212820.html</link><dc:creator>bluoy</dc:creator><author>bluoy</author><pubDate>Sun, 06 Jul 2008 02:21:00 GMT</pubDate><guid>http://www.aygfsteel.com/bluoy/archive/2008/07/06/212820.html</guid><wfw:comment>http://www.aygfsteel.com/bluoy/comments/212820.html</wfw:comment><comments>http://www.aygfsteel.com/bluoy/archive/2008/07/06/212820.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/bluoy/comments/commentRss/212820.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/bluoy/services/trackbacks/212820.html</trackback:ping><description><![CDATA[<p>Spring Framework 的理解以及可¾l´æŠ¤æ€§æ˜¯å¦å¾—以改善的思è€?/p> <p>Spring的特性:<br /> 1. 提供了一¿Uç®¡ç†å¯¹è±¡çš„æ–ÒŽ³•åQŒå¯ä»¥æŠŠä¸­é—´å±‚对象有效地¾l„织èµäh¥ã€‚一个完¾ŸŽçš„æ¡†æž¶“黏合å‰?#8221;ã€?br /> 2. 采用了分层结构,可以增量引入到项目中ã€?br /> 3. 有利于面向接口编½E‹ä¹ æƒ¯çš„å…ÀLˆã€?br /> 4. ç›®çš„ä¹‹ä¸€æ˜¯äØ“äº†å†™å‡ºæ˜“äºŽæµ‹è¯•çš„ä»£ç ã€?br /> 5. 非äçR入性,应用½E‹åºå¯¹Spring API的依赖可以减è‡Ïxœ€ž®é™åº¦ã€?br /> 6. 一致的数据讉K—®ä»‹é¢ã€?br /> 6. 一个轻量çñ”的架构解å†Ïx–¹æ¡ˆã€?/p> <p>对Spring的理è§?br /> Spring致力于ä‹É用POJOs来构建应用程序。由框架提供应用½E‹åºçš„基¼‹€è®¾æ–½åQŒå°†åªå«æœ‰ä¸šåŠ¡é€»è¾‘çš„POJOsä½œäØ“¾l„äšg来管理。从而在应用½E‹åºä¸­åŞ成两条相对独立发展的òqŒ™¡Œ¾U¿ï¼Œòq¶ä¸”在各自的抽象层面上åšg长了各自的生命周期ã€?/p> <p>Spring的工作基¼‹€æ˜¯Ioc。Iocž®†åˆ›å»ºå¯¹è±¡çš„职责从应用程序代码剥¼›Õdˆ°äº†æ¡†æž¶ä¸­åQŒé€šå¸¸2中注入方式:setter å’?ctor参数ã€?br /> 每个Bean定义被当作一个POJOåQˆé€šè¿‡¾cÕdå’ŒJavaBean的初始属性或构造方法参æ•îC¸¤¿Uæ–¹å¼å®šä¹‰çš„BeanåQ‰ã€?br /> Spring的核心在org.springframework.beansåQŒæ›´é«˜æŠ½è±¡å±‚面是BeanFactory. BeanFactory是一个非常轻量çñ”的容器ã€?/p> <p>关于可维护性的思è€?br /> Spring之类的技术确实带来了应用¾pȝ»Ÿçš„可¾l´æŠ¤æ€§çš„æé«˜å—?<br /> IocåQ?AOP之类的技术,本质上都是将原本位于应用½E‹åºä»£ç ä¸?¼‹¬ç¼–ç ?逻辑åQŒå‰¥¼›Õd‡ºæ¥æ”¾åˆîCº†é…ç½®æ–‡äšg中(或者其他åŞ式)。主‹¹å£°éŸ³éƒ½æ˜¯è®¤ä¸ºæé«˜äº†åº”用½E‹åºçš„可¾l´æŠ¤æ€§ã€?/p> <p>但如果从以下斚w¢è§‚察åQŒç»“合项目实际经验,个äh感觉˜q™äº›æŠ€æœ¯çš„应用大大降低了应用程序的可维护性,ž®¤å…¶æ˜¯é¢å¯¹ä¸€ä¸ªé™Œç”Ÿçš„¾pȝ»ŸåQŒæˆ–者项目äh员变动频¾Jçš„æ—¶å€™ã€?br /> 1. 中断了应用程序的逻辑åQŒä‹É代码变得不完æ•ß_¼Œä¸ç›´è§‚。此时单从Source无法完全把握应用的所有行为ã€?br /> 2. ž®†åŽŸæœ¬åº”è¯¥ä»£ç åŒ–çš„é€»è¾‘é…ç½®åŒ–ï¼Œå¢žåŠ äº†å‡ºé”™çš„æœÞZ¼šä»¥åŠé¢å¤–的负担ã€?br /> 3. 时光倒退åQŒå¤±åŽÖMº†IDE的支持。在目前IDE功能日益强大的时代,以往代码重构½{‰è®©äººå¤´ç—›çš„丑֊¨­‘Šæ¥­‘Šå®¹æ˜“。而且IDE˜q˜æä¾›äº†è¯¸å¤šå¼ºå¤§çš„辅助功能,使得¾~–程的门槛降低很多。通常来说åQŒç»´æŠ¤ä»£ç è¦æ¯”维护配¾|®æ–‡ä»Óž¼Œæˆ–者配¾|®æ–‡ä»Óž¼‹ä»£ç çš„æØœåˆä½“要容易的多ã€?br /> 4. 调试阶段不直观,后期的bug对应阶段åQŒä¸å®ÒŽ˜“判断问题所在ã€?br /> 5. 性能问题。虽说硬件性能日新月异åQŒä½†æ˜¯æ€§èƒ½ä¹Ÿæ˜¯åœ¨ä¸¾læ„é—´ä¸€ç‚¹ä¸€ç‚¹åœ°‹¹å¤±çš„。从汇编到高¾U§è¯­­a€åQŒåˆ°é¢å‘对象åQŒåˆ°è™šæ‹Ÿæœºï¼Œä¸€ç›´å¤„于这æ ïLš„发展­‘‹åŠ¿ã€?/p> <img src ="http://www.aygfsteel.com/bluoy/aggbug/212820.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/bluoy/" target="_blank">bluoy</a> 2008-07-06 10:21 <a href="http://www.aygfsteel.com/bluoy/archive/2008/07/06/212820.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个jdbc(setTimestamp())çš„bugåQ?/title><link>http://www.aygfsteel.com/bluoy/archive/2008/03/26/188799.html</link><dc:creator>bluoy</dc:creator><author>bluoy</author><pubDate>Wed, 26 Mar 2008 09:17:00 GMT</pubDate><guid>http://www.aygfsteel.com/bluoy/archive/2008/03/26/188799.html</guid><wfw:comment>http://www.aygfsteel.com/bluoy/comments/188799.html</wfw:comment><comments>http://www.aygfsteel.com/bluoy/archive/2008/03/26/188799.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/bluoy/comments/commentRss/188799.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/bluoy/services/trackbacks/188799.html</trackback:ping><description><![CDATA[™å¹ç›®ä¸­ç»„员偶然写了一ŒDµåžƒåœ„¡š„sql语句åQŒä¸æƒ›_´è¯¯æ‰“误撞的发çŽîCº†ä¸€ä¸ªjdbcçš„bugåQŒåŒ…括Oracle 10g附带的版本ã€?br /> <br /> 详细描述可以参考如下代码: <br />    public static void testSetTimestampBug() throws Exception{ <br />         Calendar calendar = new GregorianCalendar(); <br />         Date d = calendar.getTime(); <br />          <br />         String sql = "select 1+1 from dual where ?-sysdate<1";         //error sql <br />         String sql1 = "select ?-sysdate from dual";                          //no error sql <br />         String sql2 = "select 1+1 from dual where ?-1<sysdate";       //no error sql <br />         PreparedStatement pst = cn.prepareStatement(sql); <br />         //pst.setDate(1, new java.sql.Date(d.getTime()));                 //no  error <br />         pst.setTimestamp(1, new java.sql.Timestamp(d.getTime()));   //bug!!!, throw SQLException: ORA-00932 <br />     }<br /> 三种sql的写法中åQŒç¬¬ä¸€¿Uå†™æ³•在使用setTimestamp()时会出错åQŒå…¶ä»–ä¿©¿Uå´ä¸ä¼šæœ‰é—®é¢˜ã€?br /> åÏx­£å¸¸è°ƒç”¨PreparedStatement.setTimestamp()æ–ÒŽ³•åQŒé‡åˆ°æŸäº›ç‰¹ŒDŠå†™æ³•çš„sql语句却会出错ã€?br /> 本例中,抛出如下例外åQ?br /> java.sql.SQLException: ORA-00932: inconsistent datatypes: expected NUMBER got INTERVAL.<br /> 然而,如果使用setDate()æ–ÒŽ³•åQŒåˆ™ä¸€åˆ‡æ­£å¸¸ï¼Œä¸‰ç§å†™æ³•都没有问题ã€?br /> <br /> å› äØ“æœ‰è¿™ä¸ªé—®é¢˜ï¼Œå¦‚æžœåœ¨æŒä¹…å±‚ä½¿ç”¨äº†å…¶ä»–çš„ä¸­é—´ä»Óž¼Œåˆ™è¿™ä¸ªé—®é¢˜å¯èƒ½å˜çš„æ›´åŠ éšè”½ï¼Œæ¯”å¦‚iBatis中的处理是这æ ïLš„åQ?br /> java.util.Date ---> ibatis.DateTypeHandler----->PreparedStatement.setTimestamp()  <br /> java.sql.Date ---> ibatis.SqlDateTypeHandler----->PreparedStatement.setDate()<br /> 如果不注意输入参数类型的话,ž®×ƒ¼šé‡åˆ°ä¸Šè¿°é—®é¢˜ã€‚我ž®±å› æ­¤è´¹äº†ä¸ž®‘周折ã€?br /> 对于iBatisçš„ä‹É用徏议,保证入口参数¾cÕdž‹å§‹ç»ˆä¸ºjava.sql.Date卛_¯ã€?br /> <br /> <img src ="http://www.aygfsteel.com/bluoy/aggbug/188799.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/bluoy/" target="_blank">bluoy</a> 2008-03-26 17:17 <a href="http://www.aygfsteel.com/bluoy/archive/2008/03/26/188799.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> Ö÷Õ¾Ö©Öë³ØÄ£°å£º <a href="http://" target="_blank">½­¶¼ÊÐ</a>| <a href="http://" target="_blank">Ãñ·áÏØ</a>| <a href="http://" target="_blank">¸ß±®µêÊÐ</a>| <a href="http://" target="_blank">Ç­Î÷</a>| <a href="http://" target="_blank">ÆÜϼÊÐ</a>| <a href="http://" target="_blank">»¯µÂÏØ</a>| <a href="http://" target="_blank">ÎèÑôÏØ</a>| <a href="http://" target="_blank">Á«»¨ÏØ</a>| <a href="http://" target="_blank">¸ßÇå</a>| <a href="http://" target="_blank">ÌïÑôÏØ</a>| <a href="http://" target="_blank">ƽÄÏÏØ</a>| <a href="http://" target="_blank">ÈýÃÅÏØ</a>| <a href="http://" target="_blank">ÃÀ¹ÃÏØ</a>| <a href="http://" target="_blank">½Á¼ÏØ</a>| <a href="http://" target="_blank">¼ªÁÖÊ¡</a>| <a href="http://" target="_blank">ÇúÂéÀ³ÏØ</a>| <a href="http://" target="_blank">¶î¶û¹ÅÄÉÊÐ</a>| <a href="http://" target="_blank">ÎͰ²ÏØ</a>| <a href="http://" target="_blank">³²ºþÊÐ</a>| <a href="http://" target="_blank">ÉÌË®ÏØ</a>| <a href="http://" target="_blank">µÂÇåÏØ</a>| <a href="http://" target="_blank">°²ÔóÏØ</a>| <a href="http://" target="_blank">ÆÕÀ¼µêÊÐ</a>| <a href="http://" target="_blank">ÎÚÉóÆì</a>| <a href="http://" target="_blank">ÓÑÒêÏØ</a>| <a href="http://" target="_blank">¶õÎÂ</a>| <a href="http://" target="_blank">¾°¶«</a>| <a href="http://" target="_blank">ÈøåÈÏØ</a>| <a href="http://" target="_blank">ÐÂÔ´ÏØ</a>| <a href="http://" target="_blank">¿ªÑôÏØ</a>| <a href="http://" target="_blank">ÀÈ·»ÊÐ</a>| <a href="http://" target="_blank">µÂ°²ÏØ</a>| <a href="http://" target="_blank">ÑŽ­ÏØ</a>| <a href="http://" target="_blank">°²¶àÏØ</a>| <a href="http://" target="_blank">ÑôË·ÏØ</a>| <a href="http://" target="_blank">ÄÏľÁÖÏØ</a>| <a href="http://" target="_blank">ÏçÄþÏØ</a>| <a href="http://" target="_blank">½ðËþÏØ</a>| <a href="http://" target="_blank">³¤°×</a>| <a href="http://" target="_blank">³¤ÖÎÏØ</a>| <a href="http://" target="_blank">³£ÖÝÊÐ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>