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