【技術開發焦點】C#多線程學習(六) 互斥對象
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
緣起 每次有新技術發布時,我們總能感受到兩種截然不同的情緒:一種是恐懼和抵抗,伴隨著這種情緒的還有諸如"C# 2.0用的挺好的,為什么要在C# 3.0搞到那么復雜?"或者"我還在使用C#1.0呢?"等言辭;...
軟件工程是一門獨特的工程藝術,需要解決的是不斷改變的需求變化。而對于WCF,對于SOA,由于涉及的是對多個系統之間的交互問題,如何有效地解決不斷改變的需求所帶來的問題就顯得更為重要:Service端...
在本篇文章上一部分Order Processing的例子中,我們看到原本已Collection形式定義的DetailList屬性(public IList<TDetail> DetailList),在Data Contract中卻以Array的方式體現(public OrderDetai...
通過第一部分的介紹,我們可以體會到,WCF 的Data Contract在CLR Type和Neutral Contract之間搭建了一座橋梁,彌合了.NET世界和廠商中立世界的差異。通過WCF Data Contract我們將CLR Data Type暴...
|
前段時間在工作機上裝了Mac OS X,這主要是因為我最近需要開發iPhone應用程序。雖然Xcode,Objective C一定是開發iOS應用程序的主流,但是經過一番考慮,我還是決定嘗試一下使用MonoTouch進行開發。 MonoTou...
在近日舉辦的Modern .NET DDD Conference會議上,Chris Hardy在他的演講中展示了如何基于.NET/C#,開發面向Windows Phone 7,iPhone及Android三個平臺的應用程序,以及其中的注意事項。 首先Chris列舉了三個平臺...
一、數據并發帶來的各種情況 ①臟讀:事務A讀到事務B尚未提交的數據,并基于這個數據進行后續操作 ②不可重復讀:事務A讀取數據后,被事務B修改或刪除,事務A再次讀取時前后兩次讀取的數據不一致 ③幻像讀:...
Jabob Nielsen提出的10個可用性原則中有一個原則-防止出錯(Error Prevention)。官網中有對這一原則的具體解釋,這里不再復述。筆者認為還有一個防止出錯的方法就是讓用戶選擇而不是輸入。在這里用戶不需要思考...
緩存是在內存存儲數據的一項技術,也是ASP.NET中提供的重要特性之一。例如你可以在復雜查詢的時候緩存數據,這樣后來的請求就不需要從數據庫中取數據,而是直接從緩存中獲取。通過使用緩存可以提高應用程序的性能...
之前寫過一篇如果你也是.NET程序員,收到不少留言,各種意見都有,之前的說話方式不夠友好,特此向因看過而心生郁悶的人道歉。 問題在于我為什么不停的提面向對象呢。說來我并不是面向對象圣徒,我真正想說的是&l...
前言 在上篇寫了篇 實戰系列之天氣預報實時采集 ,有個別同志認為沒技術含量,也許正如所說。只是人各有看法,當我寫出一篇文章時,我只是希望:
1:如果你還不懂,請看寫法,了解想法。
2:如果你已懂,略過寫法,請看想法。...
一直以來都存在代碼注釋的作用的討論。很多人認為注釋是不必要的,寫注釋那是因為代碼可讀性太差了。我也同意這個原則。如果必須添加注釋,我覺得可以添加一些解釋代碼為什么,而不是做什么的注釋。下面我舉個例...
1.Chirpy Zippy:Chirpy Zippy是一個Visual Studio插件,它可以混合,縮小和驗證JavaScript,樣式表和帶點文件,它還能夠自動更新T4MVC和其它T4模板。 下載地址:http://down.51cto.com/data/136754 過去,在將JavaS...
在上篇文章中我們看過了如何創建Task,本篇文章就各種類型Task的使用進行說明。 Task Continuations 首先我們來看看延續的Task,所謂的延續的Task就是在第一個Task完成后自動啟動下一個Task。我們通過Con...
做一個WEB程序,能夠在盡量修改極少程序代碼的情況下,輕松制定皮膚以及切換皮膚,應該都是需要的,誰也不想,在網站界面想要改版的時候,要改一大片邏輯代碼。 一個合格的皮膚機制體系的實現,應該要做到以下幾點:->頁...
ASP.NET MVC 3 Beta中除了推出一種新的視圖引擎Razor。還推出了幾種新的HtmlHelper。我比較關注的是WebGrid,這篇文章將介紹一下WebGrid的使用。WebGrid提供了分頁和排序的功能,在此之前在MVC中分頁和排序時需...
作為Web設計師,你的網站在各種瀏覽器中有完全一樣的表現是很多人的目標,然而這是一個永遠無法真正實現的目標,很多人認為,完美的跨瀏覽器兼容并不必要,這樣說雖然沒錯,但在很多情形,一種近似的兼容還是很容易實現的...
在前一篇文章:ASP.NET MVC 3 Beta初體驗之超酷的Chart中介紹了Chart的使用,但是沒有介紹到3D效果。這篇文章將介紹一下Chart的3D效果的展示。聲明一點的是:這個Chart控件可能沒有一些開源或者不開源,收費或者不...
Asp.net MVC 3 Beta中提供了非常實用發送郵件的組件:WebMail。我試用了一下,和System.Web.Mail類似。這篇文章將簡單介紹一下這個組件的使用。通過分成不帶附件的郵件發送和帶附件的郵件發送兩種情況進行講解...
摘要
本文論述了在算法分析領域一個重要問題——時間復雜度分析的基礎內容。本文將首先明確時間復雜度的意義,而后以形式化方式論述其在數學上的定義及相關推導。從而幫助大家從本質上認清這...
終于談到這個話題了,首先聲明我不是匯編優化的高手,甚至于我知道的所有關于匯編優化的內容,僅僅來自于學校的課程、書本及當年做過的一些簡單練習。換句話說,我了解的東西只能算是一些原則,甚至也有一些“陳...
在前兩篇文章里,我們討論了程序性能的兩個方面,一是算法(廣義的算法,即解決問題的方法),二是編譯器。通過這兩個方面,我想表達的意思是,一段程序的執行效率,是很難從表面現象得出結論的,至少從一些簡單的層面,如代碼的...
關于算法的選擇,我談到其理論上的復雜度,并不直接反映出效率。因為在實際運用時,數據的規模,特征等等都會涉及到算法的實際效果。一個時間復雜度低的算法并不代表任何情況下的效率都高。這是“實際”...
本系列文章將從實例出發,以實例結尾。由淺入深講解在我們項目中如何使用WCF和WF。我們會發現使用WCF+WF將造就出其他技術無法達到的高度。最后我會將程序架到云端。 微軟.net的3W(WPF、WCF、WF)戰略如下圖。...
前一段時間在博客園里看到這樣一篇文章,那位兄弟談到程序效率的關鍵是“簡短”。他說,“程序越簡短,其可執行代碼就越少,就越有效率”,而在編寫程序的時候,“要盡量改進我們的算法,而改進...
1. 從依賴倒置說起 首先,我們來看下《敏捷軟件開發》中對依賴倒置的說明: a. 高層模塊不應該依賴于低層模塊,二者都應該依賴于抽象。 b. 抽象不應該依賴于細節,細節應該依賴于抽象。 我們先拋開第二...
在一個基于ASP.NET的Web應用程序中,我們通常使用SessionState保存基于某個客戶端的狀態信息。但是這種單純使用SessionState的編程方式具有很多局限,比如Session Item的Key值沖突,比如沒有一個有效的SessionSta...
Jeremy Keith在 Fronteers 2010 上的主題演講 下載PPT(PDF) 觀看視頻 今天我想跟大家談一談HTML5的設計。主要分兩個方面:一方面,當然了,就是HTML5。我可以站在這兒只講HTML5,但我并不打算這樣做,因為如果...
許多年輕有才華的程序員正不斷的尋找新的項目和解決不同的問題,以此來增加經驗。然而,很少有一個單一的環境能夠提供這樣的條件。如果基于遺留系統代碼(維護原有系統),架構方面沒有多大的想象空間。因此,許多程序...