摘要:
如果只是玩玩,采用 BitNami 安裝包應該是最簡單直接的方式,不過實際部署到生產環境,服務器上已經安裝有 xampp,所以記錄一下 手工安裝的過程。其實基本步驟和官方文檔完全是一樣的,貢獻給不喜歡英文的朋友們吧。== 安裝 Ruby ==這里選擇的 Ruby 1.9.3,試過 Ruby 1.8.7 但是確實性能比 1.9.3 要差很多。下載地址 http://cdn.rubyinstaller.org/archives/1.9.3-p327/ruby-1.9.3-p327-i386-mingw32.7z沒試過 MSI 安裝包,不過個人比較喜歡這種解壓即用的方式。解壓到 c:\ruby-1.
閱讀全文
摘要:
問題起因是因為在線程中申請了讀寫鎖,如果一個線程被殺掉沒有機會釋放鎖,那么殺掉線程就是一個很危險的操作,可能導致其他線程申請鎖時被死鎖。因此實驗了一下。結論是即使線程被殺,try-cache-finally 依然有效,因為實際上拋出了線程終止異常ThreadAbortException,不多廢話,看結果。 [TestFixture] private class Test { ReaderWriterLockSlim _lock = new ReaderWriterLockSlim(); class Locke...
閱讀全文
摘要:
Oracle雖然很強大,但是遇到在20-100億條原始話單記錄中根據電話號碼以及日期進行記錄檢索這樣簡單的查詢需求時,依然由于數據量巨大而不得不退居二線了。當然在這個應用場景中,顯然都不是Oracle等傳統關系數據庫的強項——數據量數十億條以上,每天增量數TB,數據都是百萬條為單位導入而不是一條條插入,不需要對數據進行任何的修改,數據完整性、事務性需求基本沒有,而這些,恰恰是 InfoBright 這種列數據庫的強項。以前應用采用的ORACLE方案,在2億條記錄的情況下,即使數據分表再分區的情況下,要檢索一個電話號碼也需要十秒的查詢時間,在驗證了把前臺遷移到InfoBright的可行性以后,看
閱讀全文
摘要:
關于Hibernate 悲觀鎖和樂觀的論述,G一下大把,來源大多一致,示例代碼好像差不多,據說樂觀鎖不使用數據庫鎖機制,并且都貼出一段樂觀鎖代碼,啟動兩個事務修改同一條記錄,據說將拋出異常,然而我突然就覺得很不可思議,如果不使用數據庫鎖機制,也沒有內部鎖機制,兩個事務如果先后提交的話,數據庫貌似不一定會提交失敗吧。下面是抄來的代碼,據說會拋出異常:public void update(){ //開啟事務tx1 Session session1 = HibernateUtil.getSession(); Transaction tx1 = sessio...
閱讀全文
摘要:
前些天由于搜索一個小工具,結果搜到了自己若干年前在 GoogleCode 上創建一個項目 leo4net,當時這個項目創建不久后就不記得是什么原因擱下了,后來就再沒繼續過,漸漸的也就遺忘了。事隔多年,從克先生提出文學化編程的概念,到現在已經將近20年了,上 Google 搜搜,這個名詞仍然是個新鮮玩意,被提及的地方寥寥無幾。然而再回想當時要做這個項目的初衷,即解決設計、文檔、代碼這幾者之間相互配合...
閱讀全文
摘要:
雖然NuGet解決了一個項目的包依賴問題,但在一個解決方案中,如果項目之間存在依賴(最常見的就是單元測試工程和被測工程之間的依賴關系啦),NuGet還是不能像Maven那么方便。這點還真是讓我覺得很納悶,既然我的工程 A 引用了B,為啥 包括VS、包括NuGet都不幫助我將B的引用加進來呢? 不管是MS的疏忽也好還是什么也好,事情總規還是要做的,再將原來的包一個一個加一遍那太老土了,好在MS這次終...
閱讀全文
摘要:
單元測試本身就是一個不小的話題,就算積累了一些單元測試最佳實踐,要進行數據庫相關的單元測試也一直不是一件容易的事情。 單元測試的原則之一是上下文無關和可重復性,而數據庫相關的測試則往往依賴數據庫的狀態,因此,如果不能在每個測試用例開始時 保證數據庫處于一個已知的狀態,那么單元測試的可重復性就很難保證,一個測試用例如果失敗了,你如何斷言是代碼的問題,還是因為數據問題導致的呢? 反模式:在共享數據...
閱讀全文
摘要:
參照語義版本規范 2.0.0-rc.1 標準,終于搞清楚那些個xxxx.xxxx.xxxx版本號到底是啥意思,也自己參照著定一個擴展版 …… 軟件發布時,每個發布版本由 x.y.z.r 即主版本號、次版本號、修訂號、構建號,四個部分組成。 構建號是構建版本時對應的 SVN 版本號,這是一個持續遞增的編號,從來不會歸零。 0.y.z.r 這樣的版本號通常用于在項目開始階段項目組內部使用或發布給...
閱讀全文
摘要:
做了一個星期的基礎框架了,結果發現這一個星期數據庫訪問層基本沒怎么動靜,基本都在忙活所謂基礎框架的基礎組件的東東上面了。姑且總結一下,再做基礎組件,就該知道先要有些什么了。 因為在單元測試的時候發現不論MSTest還是XUnit,都只是基礎測試框架,要高效的寫單元測試的代碼,還是需要引入很多自己的擴展以及第三方的擴展,因此首先搞了個單元測試的擴展包CommonsTesting,包括神馬自動裝配、...
閱讀全文
摘要:
原本以為是很容易的事情,因為在本機以及安裝好了一個,下載上傳都沒什么問題,沒想到服務器上是 IIS 6,這玩意問題一大堆,折騰了一個晚上。 NuGetServer 網站編譯打包就不多說了,Google一下有很多教程,實際上就是從 NuGet Gally 下載 Nuget.Server 包編譯一下就可以了。 但是問題也就在這里出現了,部署到 IIS 6 上以后,可以瀏覽到服務器上的包,但是 ……...
閱讀全文