#
When you create a html table and apply a border using CSS, then the
empty cells do not have a border. So you pull out your CSS book and
find
empty-cells:show; and think your problems are solved but
empty-cells is unsupported in IE…go figure. But I have found a combination of styles that work. Try this…apply the
border-collapse:collapse; and
empty-cells:show; to the table level and IE will display borders around empty cells.
Spring數(shù)據(jù)訪問(wèn)的根異常是DataAccessException,所有的Spring的數(shù)據(jù)訪問(wèn)異常都繼承DataAccessException。
DataAccessException的nestedRuntimeException子類(lèi)中,已經(jīng)將所有的異常棧都進(jìn)行了記錄。
CleanupFailureDataAccessException:清除失敗異常
DataAccessResourceFailureException:資源訪問(wèn)異常
DataIntegrityViolationException:完整性約束異常
DataRetrievalFailureException:數(shù)據(jù)獲取異常
DeadlockLoserDataAccessException:死鎖訪問(wèn)異常
IncorrectUpdateSemanticsDataAccessException:更新出錯(cuò)異常
InvalidDataAccessApiUsageException:無(wú)效數(shù)據(jù)訪問(wèn)API使用異常
InvalidDataAccessResourceUsageException:無(wú)效數(shù)據(jù)訪問(wèn)資源使用異常
OptimisticLockingFailureException:樂(lè)觀鎖失敗異常
TypeMismatchDataAccessException:類(lèi)型匹配失敗異常
UncategorizedDataAccessException:其他原因異常
搞了一天mylyn也沒(méi)搞定,郁悶透頂了。今天偶爾翻日志,才發(fā)現(xiàn)原來(lái)是springide惹得貨,似乎跟mylyn存在沖突。唉,這個(gè)破爛
myeclipse,沒(méi)有sping可以,沒(méi)有mylyn可是很難生存的啊。 于是對(duì)springide痛下殺手,終于搞定了。。呵呵
不過(guò)今天發(fā)現(xiàn)了一個(gè)不錯(cuò)的xml編輯器,有語(yǔ)法提示功能,省了好多腦細(xì)胞。。。
名字是Rinzo XML Editor, URL: http://editorxml.sourceforge.net/
在為數(shù)不少得公司中,都會(huì)存在一些一看就不合理的但卻依然長(zhǎng)久存在的問(wèn)題。每每有人對(duì)此提出異議,總是被人如得了尚方寶劍般毋庸置疑的貼上“歷史問(wèn)題”的標(biāo)簽,似乎這樣就可以蓋棺定論,無(wú)需再議了。
但是任何人都知道,歷史是向前發(fā)展的。沒(méi)道理事情曾經(jīng)是這樣就要一直這樣下去。“歷史問(wèn)題”的標(biāo)簽如果真那么牢不可破,人們恐怕還住在北京或云南某山洞里吧。
有次看電視講到,美國(guó)小朋友都寫(xiě)過(guò)得一篇作文叫做“世界因我而變”,小朋友看到這個(gè)題目,都抓耳撓腮,覺(jué)得自己不能改變世界。這時(shí)老師解釋道:“今天我早起,準(zhǔn)時(shí)到達(dá)學(xué)校,給了你們一堂生動(dòng)得課,于是世界就這樣改變了”。深層一點(diǎn)講,這是向孩子們幼小的心靈里注入了一種極為積極的人生態(tài)度。改變世界不需要做什么驚天動(dòng)地的大事,只需要承擔(dān)自己的責(zé)任,改變力所能及的不合理便可。
客觀一點(diǎn)說(shuō),中國(guó)人是消極思維很重的,要不也不會(huì)對(duì)“歷史問(wèn)題”如此推崇備至。黃老之學(xué)恐怕就是這種思想的理論根據(jù)了吧,悠久的歷史其實(shí)是一個(gè)沉重的包袱,它壓的中華民族不敢大步走路呢。。。
對(duì)于QQ、MSN這類(lèi)聊天工具,大家應(yīng)該是再熟悉不過(guò)了,那么在Unix系統(tǒng)中能否進(jìn)行此類(lèi)的聊天操作呢?答案當(dāng)然是肯定的。Unix提供了多種方式讓用戶相互通信,它允許以文本的方式給某個(gè)用戶或所有用戶傳遞信息,而信息來(lái)源可以是文本文件或直接由鍵盤(pán)輸入的內(nèi)容。
(1)使用write發(fā)送消息
使用write命令可以向任何已登錄同一系統(tǒng)的另一位用戶發(fā)送消息,這時(shí)在對(duì)方用戶終端上就會(huì)自動(dòng)顯示出信息,而對(duì)方也同樣可以使用write 命令來(lái)回復(fù)消息,這樣雙方之間就能互相通信了。
write命令的格式如下:
write user-name
此處user-name是將要與之通信的用戶名,可以使用who
命令來(lái)查看系統(tǒng)中已登陸的用戶名。輸入write命令后,即可進(jìn)入發(fā)送消息狀態(tài),這時(shí)就可以通過(guò)鍵盤(pán)輸入消息,回車(chē)即可向?qū)Ψ桨l(fā)送此條消息了。要想退出發(fā)
送消息狀態(tài),可以使用“Ctrl + d”退出write 命令回到shell。
(2)使用talk進(jìn)行雙方對(duì)話
talk命令允許雙方實(shí)現(xiàn)類(lèi)似于MSN、QQ這樣的實(shí)時(shí)對(duì)話,其命令格式如下:
talk user-name
當(dāng)用戶向另一用戶發(fā)送對(duì)話請(qǐng)求,只有在對(duì)方同意接受對(duì)話請(qǐng)求,即對(duì)方也使用talk命令后,雙方的對(duì)話才會(huì)建立。這時(shí)雙方終端上都會(huì)顯示
“[connect
established]”,這樣雙方就可以從鍵盤(pán)輸入文字,talk會(huì)把這些輸入顯示在對(duì)方的屏幕上,若任意一方按鍵就會(huì)退出對(duì)話狀態(tài)。
(3)使用wall進(jìn)行廣播式消息傳送
使用wall命令可以向所有用戶廣播通知信息,而所有登錄系統(tǒng)的用戶都可收到該消息。wall命令有以下幾種格式:
wall
wall filename
wall “send a message to all the people!”
(4)使用mesg允許或拒絕接收消息
當(dāng)一位用戶正在全身心的投入某項(xiàng)工作的時(shí)候,可能會(huì)不想被另外一位用戶用上述方式突然發(fā)送來(lái)的消息打斷思路,那么就可使用mesg命令來(lái)設(shè)置是否允許接收由其它用戶發(fā)來(lái)的信息。
mesg命令的格式如下:
mesg –n
或
mesg -y
其中,y表示允許接收信息,n 表示拒絕接收信息。如果mesg后面沒(méi)有跟參數(shù),則報(bào)告當(dāng)前的許可狀態(tài)。
1、PL/SQL Developer記住登陸密碼
在使用PL/SQL Developer時(shí),為了工作方便希望PL/SQL Developer記住登錄Oracle的用戶名和密碼;
設(shè)置方法:PL/SQL Developer 7.1.2
->tools->Preferences->Oracle->Logon History , “Store
history”是默認(rèn)勾選的,勾上“Store with password” 即可,重新登錄在輸入一次密碼則記住了。
2、執(zhí)行單條SQL語(yǔ)句
在使用PL/SQL Developer的SQL Window時(shí),按F8鍵,PL/SQL Developer默認(rèn)是執(zhí)行該窗口的所有SQL語(yǔ)句,需要設(shè)置為鼠標(biāo)所在的那條SQL語(yǔ)句,即執(zhí)行當(dāng)前SQL語(yǔ)句;
設(shè)置方法:PL/SQL Developer 7.1.2 -->tools->Preferences-->Window types ,勾上“AutoSelect Statement” 即可。
3、格式化SQL語(yǔ)句
在使用PL/SQL Developer的SQL Window時(shí),有時(shí)候輸入的SQL語(yǔ)句太長(zhǎng)或太亂,希望能用比較通用的寫(xiě)法格式話一下,這樣看起來(lái)會(huì)好看些,也好分析;
使用方法:選中需要格式化的SQL語(yǔ)句,然后點(diǎn)擊工具欄的PL/SQL beautifier按鈕即可.
4、查看執(zhí)行計(jì)劃
在使用PL/SQL Developer的SQL Window時(shí),有時(shí)候輸入的SQL語(yǔ)句執(zhí)行的效率,分析下表結(jié)構(gòu),如何可以提高查詢(xún)的效率,可以通過(guò)查看Oracle提供的執(zhí)行計(jì)劃;
使用方法:選中需要分析的SQL語(yǔ)句,然后點(diǎn)擊工具欄的Explain plan按鈕(即執(zhí)行計(jì)劃),或者直接按F5即可。
5、調(diào)試存儲(chǔ)過(guò)程
在使用PL/SQL Developer操作Oracle時(shí),有時(shí)候調(diào)用某些存儲(chǔ)過(guò)程,或者調(diào)試存儲(chǔ)過(guò)程;
調(diào)用存儲(chǔ)過(guò)程的方法:首先,在PL/SQL
Developer左邊的Browser中選擇Procedures,查找需要調(diào)用的存儲(chǔ)過(guò)程;然后,選中調(diào)試的存儲(chǔ)過(guò)程,點(diǎn)擊右鍵,選擇Test,在彈
出來(lái)的Test scrīpt窗口中,對(duì)于定義為in類(lèi)型的參數(shù),需要給該參數(shù)的Value輸入值;最后點(diǎn)擊上面的條數(shù)按鈕:Start
debugger 或者按F9;最后點(diǎn)擊:RUN 或者Ctrl+R
6.左下角顯示window list
點(diǎn)擊菜單 tools -> window list,將彈出的小窗口拖到左下角合適位置,然后點(diǎn)擊菜單 window->save layout
7.防止登錄超時(shí)
tools->Preferences-->Oracle->Connection 選擇 "check connection"
8.不備份sql文件
tools->Preferences->Files->backup,頁(yè)面中backup files中選擇 disabled
系統(tǒng)要求進(jìn)行SQL優(yōu)化,對(duì)效率比較低的SQL進(jìn)行優(yōu)化,使其運(yùn)行效率更高,其中要求對(duì)SQL中的部分in/not in修改為exists/not exists
修改方法如下:
in的SQL語(yǔ)句
SELECT id, category_id, htmlfile, title, convert(varchar(20),begintime,112) as pubtime
FROM tab_oa_pub WHERE is_check=1 and
category_id in (select id from tab_oa_pub_cate where no='1')
order by begintime desc
修改為exists的SQL語(yǔ)句
SELECT id, category_id, htmlfile, title, convert(varchar(20),begintime,112) as pubtime
FROM tab_oa_pub WHERE is_check=1 and
exists (select id from tab_oa_pub_cate where tab_oa_pub.category_id=convert(int,no) and no='1')
order by begintime desc
分析一下exists真的就比in的效率高嗎?
我們先討論IN和EXISTS。
select * from t1 where x in ( select y from t2 )
事實(shí)上可以理解為:
select *
from t1, ( select distinct y from t2 ) t2
where t1.x = t2.y;
——如果你有一定的SQL優(yōu)化經(jīng)驗(yàn),從這句很自然的可以想到t2絕對(duì)不能是個(gè)大表,因?yàn)樾枰獙?duì)t2進(jìn)行全表的“唯一排序”,如果t2很大這個(gè)排序的性能是
不可忍受的。但是t1可以很大,為什么呢?最通俗的理解就是因?yàn)閠1.x=t2.y可以走索引。但這并不是一個(gè)很好的解釋。試想,如果t1.x和t2.y
都有索引,我們知道索引是種有序的結(jié)構(gòu),因此t1和t2之間最佳的方案是走merge
join。另外,如果t2.y上有索引,對(duì)t2的排序性能也有很大提高。
select * from t1 where exists ( select null from t2 where y = x )
可以理解為:
for x in ( select * from t1 )
loop
if ( exists ( select null from t2 where y = x.x )
then
OUTPUT THE RECORD!
end if
end loop
——這個(gè)更容易理解,t1永遠(yuǎn)是個(gè)表掃描!因此t1絕對(duì)不能是個(gè)大表,而t2可以很大,因?yàn)閥=x.x可以走t2.y的索引。
綜合以上對(duì)IN/EXISTS的討論,我們可以得出一個(gè)基本通用的結(jié)論:IN適合于外表大而內(nèi)表小的情況;EXISTS適合于外表小而內(nèi)表大的情況。
我們要根據(jù)實(shí)際的情況做相應(yīng)的優(yōu)化,不能絕對(duì)的說(shuō)誰(shuí)的效率高誰(shuí)的效率低,所有的事都是相對(duì)的
not in 和not exists
如果查詢(xún)語(yǔ)句使用了not in 那么內(nèi)外表都進(jìn)行全表掃描,沒(méi)有用到索引;
而not extsts 的子查詢(xún)依然能用到表上的索引。
所以無(wú)論那個(gè)表大,用not exists都比not in要快。
原文:http://blog.csdn.net/jwisdom/archive/2007/09/27/1803577.aspx
死了都要try!
不catch我不痛快!
程序毀滅throw還在!
把每天,
當(dāng)作是程序來(lái)更改,
一改一天,
累到淚水都掉下來(lái),
不理會(huì),
老板是好還是壞,
只要有工資,
來(lái)還貸.
改,不是需求做的太壞,
那是sb客戶想要什么,
自己都不明白.
忍受現(xiàn)在,
自己一生還不完的貸,
很多模塊,
不能完成,
我還得改.
死了都要try!
不catch我不痛快!
程序毀滅throw還在!
Xubuntu中只有一個(gè)選單叫做應(yīng)用程序(Application),這個(gè)選單是Xfce menu模塊,使用者只要在選單上按右鍵選擇編輯之后,有可能會(huì)造成選單消失的狀況。在Ubtw社群論壇中許多使用者都提出了這問(wèn)題,暫時(shí)性解決方法如下:
Xfce menu的設(shè)定檔叫作menu.xml,所有的選單內(nèi)容會(huì)存在這個(gè)檔案內(nèi),預(yù)設(shè)的使用者設(shè)定文件位置在
~/.config/xfce4/Desktop
之下,使用者修改過(guò)的內(nèi)容也會(huì)存在這里。而Xubuntu內(nèi)還有一套完整的初始menu.xml跟當(dāng)?shù)鼗?/span>locale)的檔案,位置在
/etc/xdg/xfce4/desktop
將里面的menu.xml拷貝到使用者設(shè)定文件位置
sudo
cp /etc/xdg/xfce4/desktop/menu.xml ~/.config/xfce4/Desktop
接著請(qǐng)把檔案權(quán)限修改為只能讀取不能修改,這樣不管你是不是有使用選單編輯器(menu editor)都無(wú)法影響。因?yàn)槲矣糜⑽陌嫠钥截惖氖?/span>menu.xml,如果是使用中文版的朋友應(yīng)該是要把menu.xml.zh這個(gè)檔案拷貝過(guò)去之后修改成menu.xml。怕又出問(wèn)題的人(因?yàn)槲覄傉业椒椒y(cè)試了一下,亂按亂改menu editor之后都沒(méi)問(wèn)題),記得備份一下你的選單檔案。
--
Update: 直接砍掉
~/.config/xfce4/Desktop/menu.xml 也可以
時(shí)常碰到系統(tǒng)需要導(dǎo)出大量數(shù)據(jù)的情況。每次碰到,當(dāng)事人無(wú)不抓耳撓腮,痛苦非常。
大量數(shù)據(jù)的在線導(dǎo)出除了耗費(fèi)大量?jī)?nèi)存,造成服務(wù)器的沉重負(fù)擔(dān)。甚至?xí)斐捎脩羲罊C(jī),所以一直是個(gè)頭疼的問(wèn)題。
近日夜觀天象,忽見(jiàn)紫氣東來(lái),猛然想到,前臺(tái)不行,就后臺(tái)做嘛。
說(shuō)道后臺(tái)任務(wù)調(diào)度,無(wú)疑會(huì)想到quartz,它的SimpleTrigger正好可以做這個(gè)事情。
思路如下:
用戶導(dǎo)出時(shí),提示用戶輸入郵件地址,然后后臺(tái)建立一個(gè)quartz任務(wù),任務(wù)中,將數(shù)據(jù)導(dǎo)出到文件中。
任務(wù)結(jié)束時(shí),將文件的鏈接發(fā)到用戶填寫(xiě)的郵箱地址中,這樣用戶就可以根據(jù)這個(gè)地址,去下載導(dǎo)出的
文件了。