--沉浸在技術之中,如同喝高度白酒,比較麻醉人。
工作中,遇到比較復雜的SQL語句,也挺費時間的。今天有時間就研究一下,找到如下幾個資源鏈(比較懶,也懶得COPY,避嫌抄襲)
http://www.51one.net/study/Oracle/list1.htm
學習兩個關鍵字的用法,intersect(取交集),minus(取差集)
(select?a.name from a) intersect (select b.name from b)
(select?a.name from a)?minus (select b.name from b)
{重學高等數學,全還給老師了,現在自己去要回來,上Google:)
并集:A和B相加的全部;交集:A和B相交疊的部分;差集:并集-交集;補集:如果集合B是集合I的子集,我們把I看作全集,那么I與B的差集I-B,叫做B在I中的補集}
SQL語句優化技術分析
http://www.pconline.com.cn/pcjob/other/data/oracle/0501/536463.html
避免用
?避免使用 |
?替代方法 |
field?in(a,b,c) |
?field=a or field = b or field=c |
field?is null /is not null |
?field > ' ' 、field > 0 |
?select * from a???
?union
?select * from b
先取兩表,再合并
|
?select * from a
?union all
?select * from b
簡單的將兩個結果合并后就返回
|
? |
? |
1kg?
1kg代表什么?
一公斤么?對!
一公斤什么?
#¥%@&×。
這里(http://www.1kg.cn)有一個答案,一公斤的書籍文具。
這是一項民間發起的公益旅游活動,它通過傳遞-交流-分享三個簡單的步驟帶給旅游者豐富的旅游體驗,受惠的是每一位參與者的心,更多的是千萬雙渴望知識的眼睛。
早上剛發現的國產Ajax實現,現在版本是1.2,其網址是:http://www.amowa.net/buffalo。
當下buffalo-1.2.zip 4,770KB ,
解開,發現項目配置文件是eclipse(切喜!eclipse,my love。),
導入eclipse中,紅色的報錯:三個類庫變量沒找到,是web服務要的三個包servlet-api.jar、jsp-api.jar、jasper-runtime.jar,在tomcat對應目錄可以找到。其實還有第四個類庫變量--junit.jar,只不過eclipse中自帶的有,如果不用eclipse,找到這四個jar包引入。
項目是以java文件為主的,有一個war目錄是演示用的web應用代碼目錄,web應用項目得自己建,這個感覺不爽,雖然它有一個build.xml文件可以打web應用包,但想調試跟蹤,還是缺一步(我站在研究的角度,如果應用的話,加入那幾個包,看看使用方法就可以了)。
首先研究了一下ApplicationServlet.java
1.這個Servlet初始化時,創建/獲取了一個服務倉庫(ServiceRepository);
2.所有的請求、響應都封裝成一個自定義的請求上下文本(RequestContext);
3.根據請求的路徑調用不同的RequestWorker;(這一點好,又不好)
4.剩下的就是worker開始工作了,初始化、校驗、處理。
重要的也是“處理”,現在看看worker的結構。
接口類:interface RequestWorker 定義三個基本方法。
抽象類:abstract class AbstractRequestWorker 實現初始化和校驗這兩個基本方法,另實現一些其它方法。
具體實現類:ViewWorker、BuffaloWorker、UploadWorker 當然,你也可以寫自己的worker
當的項目源碼中,ViewWorker、UploadWorker的處理方法中都是拋出UnsupportedOperationException,想處理的話,你也可以加。現在重要的講講BuffaloWorker的處理。
1.通過封裝的請求上下文件(RequestContext),獲取服務倉庫(ServiceRepository);
2.通過請求的相對路徑(此方法感覺欠妥),獲取相應的服務;
3.有了“業務處理方法”、“業務請求”后,就是調用“粗麻布調用(BurlapInvoker)”處理余下的工作了。
前面寫的是一些流程,沒什么復雜的東西,這最后的 invoker,是比較核心,也很經典的處理。在這里,我也不多寫了,再寫下去,大家也一路的看下去,沒什么感覺。相信看完了 invoker的實現,一定能學到不少東西。
下次看看前端是怎么實現的,今天到此為止,休息一會!
一、下載
下載網站:http://freshmeat.net/projects/json-rpc-java/?branch_id=49217&release_id=214415
下載地址:http://freshmeat.net/redir/json-rpc-java/49217/url_zip/json-rpc-java-1.0rc2.zip (版本1.0rc2)
解壓后有三個文件夾、三個文件:
src jsonrpc的核心代碼
test 演示用的java代碼
webapps 演示用的web代碼
build.xml ant文件
jsonrpc.jar 編譯好的jsonrpc核心包
jsonrpc.war 編譯好的演示web包
二、安裝運行
1、如果不想用javaIDE編譯發布,配置好ant 和tomcat,用ant運行解壓后的build.xml,把jsonrpc的demo發布到tomcat中,啟動tomcat,打開http://127.0.0.1:8080/jsonrpc/ 就可以看到演示了。
不過,build.xml文件要做一點適應的改動,
<property name="tomcat" location="../jakarta-tomcat-5.0.19"/>中的location值要設置為tomcat的安裝目錄
如
<property name="tomcat" location="D:\java\Tomcat5.0"/>
2、用javaIDE的話,我是用eclipse 3.01+myeclipse 3.84
新建一個空的web項目,
web root folder=webapps,
context root url =jsonrpc,OK。
(這兩個值可以用默認設置,但用默認設置后面改動比較多,所以就迎合它自己的口味)
把解開的src和test目錄放到新建項目的根目錄中,webapps/jsonrpc目錄下的內容拷貝到項目webapps目錄中,eclipse自動編譯,會報一些錯誤,是因為test/src中有一部分java源碼未作為java文件編譯,鼠標右鍵點擊項目圖標->屬性->Java編譯路徑->資源->添加test/src目錄到資源中,確定OK。
jsp文件沒有因java文件的重新編譯而更新所以還會顯示一些紅色的錯誤,就得手工讓它再編譯一次,鼠標右鍵點擊項目中webapps目錄->myeclipse->運行校驗,OK,剩下的是一些警告信息,如果你不想看到它們,可以去程序中一個個的去掉。
在eclipse中發布jsonrpc、啟動tomcat服務,大功告成。
簡單的看了一下它的設計實現過,明天接著寫。
近日忽有興致想讀錢鐘書的《圍城》,一時沒時間去買書,就在網上搜了一下,果有電子版的。
先看前言,說得多的是第幾次印刷,又改了幾個錯漏--對于這一點,象他們那一輩人給我們的印象都是這樣,事不分巨細,都特別認真,再一次感受到他們的這種精神,也增加我接著往下看的興趣。當讀到第一章時,就發現有幾個字明顯是打詞組時帶出來的,很簡單就能處理的事情,就留它一個結疤在這兒,讀得很不順暢,有幾處的用詞,意思上差不多可以說過去,但感覺很繞口,為增加讀下去的興致,就自己給自己找借口:錢老那時的白話文跟現在的有差別。不過,讀到第三節時,實在沒有興致了。累呀!
前兩天網上有關于張海迪的提案事件,事情也是沸沸揚揚的,實情是什么樣子的我不知道,但大部分人應是認同張海迪的為人。事件中就提到新聞報到提用人名,要經當事人同意這一點,我想,如果是一個認真的人,這件事情是應該去做的,人云亦云的轉抄不去實究更是不該做的事情。
現在的人難道都這么浮躁么!
剛看了《Jboss創始人Marc Fleury:我要為開放源代碼辯護》的文章,第一反應就是要為Marc Fleury鼓掌!
我不是計算機專業科班出身,對計算機知識的理解都是基于興趣愛好--我喜歡,我就做。記得上大學前填報志愿時,好多同學都是沒有考慮第一志愿就填的計算機專業(因為他們都喜歡,甚至癡狂),我也非常喜歡計算機,也想跟他們一樣,但瞬間的冷靜一想,基于計算機會是每一個人的基本工具,懂計算機是必然的事,就報了其它專業。雖然不是學計算機,但課余時間幾乎都是在學計算機知識上面,還經常去旁聽計算機專業的課。我學習編程,都是看著寫好的例子一句句的琢磨,最后就知道怎么用那些方法,關鍵字,雖然是很原始的學習方法,但還是比較有效的--這也許就是我支持開放源碼的“第一”原因吧。
爾后,也接觸到很多軟件,對那些軟件,或多或少有自己的想法,希望能去完善它們,但大部分是編譯過的,想完善它們只能是隔靴撓癢的事。有一部分軟件也提供二次開發的接口,也有相應的開發接口文檔,但發現問題是在它原有程序里的,就沒辦法。為此,有一段時間特別熱中于反編譯,覺得那是僅次于做黑客的事情,隨后,無奈的知道這是觸犯一些商人權利的事(現階段這些商人創造社會財富,也給制定法律的政府交稅,個人還是無法超越在法律之外的)。對此,只有噴墻。
后來,發現開源軟件不僅免費使用,更重要的是它的源碼是對所有人開放的,這無疑點亮了我學習開源軟件中的編程精華、設計思想的光明之路,也促使我更偏愛使用開源軟件。
在google上查到兩款java的開源ETL工具
Kettle(
http://www.kettle.be/)和
Octopus(
http://www.enhydra.org/tech/octopus/index.html)
先看Kettle
下載kettle的源碼(也可以下載BIN的),在eclipse中啟動,出現配置Repository的小窗口,在這小窗口中配置的Repository,輸入口令后老報口令錯誤(可能是沒配置好),就直接點No Repository進入主窗口,這就開始ETL工作了。
待繼。。。
媒婆=政府
女方=企業
男方=IT公司
現在,男方擺出什么家當來,可以讓媒婆一上門,女方就高興的嫁過來呢?
第一眼,感覺有很大的空間,可show的東西很多,隨便挑一個都成,但要確定一個具體的東西時,張開口不知說哪一個了。
企業信息化?這個題目還是太大。
ERP?是大火過后的冷靜,廣大中小企業一直也是作避上觀。
SCM?政府對企業這方面的東西好象沒說話的實質內容。
CRM?政府做的工作是招商引資,投資環境,切實的工作還是得企業自己搬磚砌墻,牽強的說有點表親關系。
換個思路,現在的女方最看中的是什么呢?看她關注什么。
企業價值最大化,是任何一個企業追求的目標,怎么樣才能實現企業價值最大化呢?
提高生產效率、提高產品質量、提高服務質量、提高管理執行力、提高企業競爭力;
擴展市場、提高市場占有率、維系老客戶,發展新客戶、提升企業品牌價值;
控制成本、減少不必要的支出;
怎么就感覺這些都是站在書堆里說的話呢!
企業公共關系?
寫程序也有幾個年頭了,對程序中變量、方法、目錄之類的東西命名,總要花點時間--讀書的時候不認真,對不起在上面講課的老師。對一些命名規則也了解一些,也努力那去做,不過,表意的關鍵字就沒有什么規則好參照,只有自己找資料根據業務找最接近的單詞來表述,每每這個時間,就想要努力學習英語。
今天看了幾個政府的網站,點到其中的鏈接,看了半天,愣是沒看明白那鏈接中路徑表達的是什么意思,英語太差,慚愧!后來看到網站中欄目分類的名稱,一個個的對一下,原來是每個漢字的拼音首字母的組合,一個字,累!爾后看到網站上還標明“中文簡體版”、“中文繁體版”、“英文版”。點進繁體版看看,繁簡轉換得不錯,但鏈接的路徑描述還是那樣,看來是技術處理的不錯;點進英文版瞧瞧,內容跟中文版的完全不一樣,是另做的一套網站內容,這時的鏈接路徑描述還可以看出是什么意思來。
今天這事,我想到以前接觸的一些項目,其中的表意命名也是這么處理,甚至數據庫的字段名也按這個“規則”處理,我想他們工作的時候也是煞費了一番苦心呀。以前還看到一個牛人寫的程序,程序中的命名全是漢字,在他的那個編輯器中,還一點問題沒有,而且也能跑起來,但把代碼一移到其他人的編輯器中,就“萬里江山一片紅”--漢字命名的全報錯,后來那GG一拍屁股走人,他的代碼沒人能接過來,只有“咔嚓”,項目頭頭無奈、老板心底流血。
如果在程序中用漢字作變量不出問題的話,估計漢字命名會很風靡。但電腦是洋人發明的,它認識它媽媽的語言很親切,對于漢字,它也經常頭痛,怎么辦呢?要用它,就得遷就它--這是我們中國程序員的無奈。
計算機是死的,人是活的,說不定哪天,中國出了一牛人,讓計算機認識漢字跟認識英文一樣暢通無阻,那時中國程序員就有福了!這只是個期望,現在還沒有出現這種情況,我們還沒能改變計算機,只有改變自己--跟兩個人談朋友一樣,總得有一個人改變,讓兩個人相處的更和諧!
經過eclipse的好幾個發布版本,最先用順手的是2.1,之后就一直用它。
記得第一次聽同事介紹eclipse時,說了很多eclipse的優勢,但沒體會,自己也是抱著試試的心態拷了一個備份玩玩。
Eclipse 2.1 整個文件包才20多MB,比當時使用的Jbuilder9來說,Jbuilder真是龐然大物。只要把ZIP包解壓就就可以運行,不用復雜的安裝。做完相關配置后,看到如期的界面了,接近windows界面的顏色比Jbuilder的那種界面顏色更易接受。做了一些簡單的應用,操作功能跟Jbuilder差不多,但系統配套的代碼開發,eclipse依賴于相關的插件,插件化是一個好的idea,但eclipse這方面的插件還沒有一個能達到Jbuilder的那種高度的效果。問題是eclipse是免費的,也不能太高要求,想要高質量的服務,可以花點錢去買個插件MyEclipse裝上,使用起來還不錯。
時間長了后,Jbuilder快從記憶中消去了(這幾天看到Borland要出賣它的IDE部門,甚是為Jbuilder擔憂,畢競是一套不錯的產品,也留下過美好的回憶),這期間,eclipse也更新了好幾個版本,從2字頭的到3字頭的,體積變化比較顯著,基于eclipse3.01使用比較習慣了,也接受它變得“豐滿”。但后面幾個版本還是保持在肥胖的狀況,而且使用方面,新版本的取向在編輯功能,程序調試的性能大不如前,對此情況,我保持止步不前了。寄希望
版本號 |
發布日期 |
文件大小 |
備注 |
3.11 |
2005-9-29 |
103.41MB |
|
3.1 |
2005-6-27 |
105.47MB |
|
3.01 |
2004-9-16 |
88.50MB |
|
2.1 |
|
|
|
1.0 |
|
19.32MB |
|