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