【技術(shù)開發(fā)焦點】C#多線程學(xué)習(xí)(六) 互斥對象
系列文章導(dǎo)航:C#多線程學(xué)習(xí)(一) 多線程的相關(guān)概念C#多線程學(xué)習(xí)(二) 如何操縱一個線程C#多線程學(xué)習(xí)(三) 生產(chǎn)者和消費者C#多線程學(xué)習(xí)(四) 多線程的自動管理(線程池)C#多線程學(xué)習(xí)(五) 多線程的... [詳細]
系列文章導(dǎo)航:C#多線程學(xué)習(xí)(一) 多線程的相關(guān)概念C#多線程學(xué)習(xí)(二) 如何操縱一個線程C#多線程學(xué)習(xí)(三) 生產(chǎn)者和消費者C#多線程學(xué)習(xí)(四) 多線程的自動管理(線程池)C#多線程學(xué)習(xí)(五) 多線程的... [詳細]
系列文章導(dǎo)航:C#多線程學(xué)習(xí)(一) 多線程的相關(guān)概念C#多線程學(xué)習(xí)(二) 如何操縱一個線程C#多線程學(xué)習(xí)(三) 生產(chǎn)者和消費者C#多線程學(xué)習(xí)(四) 多線程的自動管理(線程池)C#多線程學(xué)習(xí)(五) 多線程的... [詳細]
系列文章導(dǎo)航:C#多線程學(xué)習(xí)(一) 多線程的相關(guān)概念C#多線程學(xué)習(xí)(二) 如何操縱一個線程C#多線程學(xué)習(xí)(三) 生產(chǎn)者和消費者C#多線程學(xué)習(xí)(四) 多線程的自動管理(線程池)C#多線程學(xué)習(xí)(五) 多線程的... [詳細]
系列文章導(dǎo)航:C#多線程學(xué)習(xí)(一) 多線程的相關(guān)概念C#多線程學(xué)習(xí)(二) 如何操縱一個線程C#多線程學(xué)習(xí)(三) 生產(chǎn)者和消費者C#多線程學(xué)習(xí)(四) 多線程的自動管理(線程池)C#多線程學(xué)習(xí)(五) 多線程的... [詳細]
緣起 每次有新技術(shù)發(fā)布時,我們總能感受到兩種截然不同的情緒:一種是恐懼和抵抗,伴隨著這種情緒的還有諸如"C# 2.0用的挺好的,為什么要在C# 3.0搞到那么復(fù)雜?"或者"我還在使用C#1.0呢?"等言辭;...
軟件工程是一門獨特的工程藝術(shù),需要解決的是不斷改變的需求變化。而對于WCF,對于SOA,由于涉及的是對多個系統(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暴...
|
前我們討論了系統(tǒng)主題以及如何通過鼠標(biāo)使用Expression Blend來設(shè)置系統(tǒng)值。今天,我們來看看另一個可以用Expression Blend輕松實現(xiàn)的主題。如果你看到在各個地方比如YouTube(或我的個人網(wǎng)站,Blankensoft)展示...
前幾天與同事激烈討論了一下,有一點收獲,記錄起來。 首先給出MSDN的定義: lock 關(guān)鍵字可以用來確保代碼塊完成運行,而不會被其他線程中斷。這是通過在代碼塊運行期間為給定對象獲取互斥鎖來實現(xiàn)的。 先...
記得最開始學(xué)習(xí)ASP.NET的時候,我們就被告知:Page_Load方法里面可以寫頁面加載的代碼。 于是我們就懵懵懂懂寫了很長時間的Page_Load方法。最近回過頭思考,為什么一個普通的方法,能被自動調(diào)用呢?于是就得知了Au...
這篇來講如何利用memcached實現(xiàn)一級緩存,以及如何讓一級緩存組件支持在企業(yè)庫,memcached或者其它第三方實施方案之間的切換。memcached本人并沒有太多經(jīng)驗,如果文中有說的不對的地方,還希望批評指出,且文中關(guān)于...
David Wheeler有一句名言:“計算機科學(xué)中的大多數(shù)問題都可以通過增加一層間接性來解決。”間接代表著迂回。世間沒有哪一條道路是完全筆直的。蜿蜒曲折的道路并非出于美的靈感,不過是因為我們需要繞...
抽象建立的這層間接性,解除了調(diào)用者與實現(xiàn)類之間的具體依賴,使得實現(xiàn)類可以單獨變化,而不會影響到調(diào)用者。例如,當(dāng)我們需要為元數(shù)據(jù)的讀取操作定義對象時,好的編碼習(xí)慣是為其定義一個接口:public interface Metada...
軟件工程中,涉及如下主要階段:立項、需求、設(shè)計、編碼開發(fā)、測試、發(fā)布、培訓(xùn)上線維護等,其中,編碼開發(fā)如同整座軟件大樓的磚瓦用料,將直接影響產(chǎn)品的功用、質(zhì)量、性能。 編碼開發(fā)過程中,往往是多人參與,團隊作...
監(jiān)控前言 上一節(jié)我們提到了MSSQL的基于SQL Event的監(jiān)控,但是有些時候我們需要更加詳細、適用于調(diào)優(yōu)排錯的監(jiān)控。SQL Server內(nèi)部運行的可見性是的查詢調(diào)整、優(yōu)化和綜合排查成為可能!這一節(jié)主要和大家說說SQL S...
2001年,我使用C#中的WebBrowser ActiveX控件編寫了我的第一個應(yīng)用程序,點此閱讀,Kapil Sony寫了一篇文章介紹了C# 2.0中的WebBrowser控件,每一次.NET新版本發(fā)布,控件和功能都會發(fā)生一些變化,現(xiàn)在,WebBrowser控件已...
英文原文:Why I Love Reading Other People’s Code And You Should Too 編者按:原文作者Alan Skorkin是一名軟件開發(fā)人員,他在博客中分享對軟件開發(fā)相關(guān)的心得,其中有很多優(yōu)秀的文章,本文是其中的另一篇...
上一篇簡單的說明了為什么要使用NoSQL。接下來我們看下如何把NoSQL引入到我們的項目中,我們到底要不要把NoSQL引入到項目中。 在過去,我們只需要學(xué)習(xí)和使用一種數(shù)據(jù)庫技術(shù),就能做幾乎所有的數(shù)據(jù)庫應(yīng)用開發(fā)...
我們開發(fā)一個系統(tǒng)必須與數(shù)據(jù)庫打交道,需要寫N個SQL、存儲過程、自定義函數(shù)、視圖等,那么能否使用Visual Studio 2008進行數(shù)據(jù)庫測試嗎?當(dāng)然是可以的,下面我就以一個簡單的為例子,介紹如何利用Visual Studio 2008...
從事企業(yè)系統(tǒng)開發(fā)很多年了,在系統(tǒng)的工作流分析中,少不了要分析sql語句,當(dāng)系統(tǒng)積累到一定規(guī)模后,所涉及的數(shù)據(jù)庫表會以幾何數(shù)增長,因此會經(jīng)常碰到很長的sql語句,涉及到的表會達到幾十張之多,當(dāng)你拿到這樣一段sql時,需...
本文是從 Programming Innocence 這篇文章翻譯而來。 我已經(jīng)干編程很久了。當(dāng)我最初開始編程時,幾乎能把所有的時間花在計算機上寫程序。的確,我的程序?qū)懙暮軤€,但我充滿了樂趣,我學(xué)到了很多。隨著時間的推...
SharePoint 2010可以與Silverlight實現(xiàn)緊密集成。不管是在瀏覽器中運行的Silverlight程序還是單獨的一個Silverlight程序,都能與SharePoint 2010實現(xiàn)很好的整合。本文中我們將實現(xiàn)一個Silverlight和SharePoin...
本文是從 On Improving When Your Friends Aren’t 這篇文章翻譯而來。 剛好看到一位讀者在 “Having Your Own Ethics is Lonely” 這篇文章上的評論。他問了一個在成功路上最困難的問...
Sinatra是Blake Mizerany在2007年9月開發(fā)的Ruby語言的Web框架。它最突出的特點就是輕量、快速。更難能可貴的是,Sinatra的源代碼只有一千多行。 在第一次接觸到Sinatra的時候,我便被它深深地吸引住了。隨后...
理解POCO(Plain Old CLR Object)先要理解POJO。 1、什么是POJO? POJO的名稱有多種,pure old java object 、plain ordinary java object 等。
按照Martin Fowler的解釋是“Plain Old Java Obj...
當(dāng)在服務(wù)器上部署 ASP.NET MVC3 的應(yīng)用的時候,可能會看到如下的錯誤信息: 這表示你的服務(wù)器上沒有安裝 ASP.NET MVC3。 解決這個問題的方法有兩種: 第一,當(dāng)然是在服務(wù)器上安裝 ASP.NET MVC3 了。不過,如...
本系列博文將使用微軟RIA技術(shù)解決方案Silverlight以及擴展性管理框架Managed Extensibility Framework(MEF),以插件式架構(gòu)設(shè)計為導(dǎo)線,分享本人在從事基于微軟Silverlight技術(shù)構(gòu)建的RIA系統(tǒng)中實施插件式系統(tǒng)架構(gòu)...
架構(gòu)設(shè)計并不是項簡單的工作,架構(gòu)設(shè)計最終的產(chǎn)物則是由不同的框架組件構(gòu)成一套高擴展、穩(wěn)定、安全、通用的開發(fā)框架平臺。或許一提到架構(gòu)設(shè)計,很多朋友都聯(lián)想到了常用的框架組件:數(shù)據(jù)訪問組件、日志組件、事務(wù)...
作為DBA,不僅僅是幫助開發(fā)人員寫優(yōu)秀的查詢腳本、高效的數(shù)據(jù)存儲架構(gòu)。其實更多時候都是在運維,大部分工作時間都不算飽和的,可是為什么有些DBA如此忙碌、狼狽不抗甚至等到客戶或者乙方公司抱怨呢,那很多原因...
使用JDBC API時,很多操作都要聲明拋出java.sql.SQLException異常,通常情況下是要制定異常處理策略。而Spring的JDBC模塊為我們提供了一套異常處理機制,這套異常系統(tǒng)的基類是DataAccessException,它是RuntimeExce...
我覺得,基本上可以說每個程序員都很熟悉“Hello World!”程序。依照慣例,它是學(xué)習(xí)編程語言、編譯并運行你的首個程序的一種快速方法。然而,除此之外,它的價值不大。下面是我認為Hello World的十個問題...
這個問題來源于Apworks應(yīng)用開發(fā)框架的設(shè)計。由于命令與查詢職責(zé)的分離,使得基于CQRS體系結(jié)構(gòu)風(fēng)格的應(yīng)用系統(tǒng)的外部存儲系統(tǒng)的結(jié)構(gòu)變得簡單起來:在“命令”部分,簡單地說,只需要 Event Store和Snapshot...