Time of Update: 2018-12-07
現在我們來學習HTML的結構(我們只討論嚴格型的,也包括XHTML)。 首先給出一份嚴格的HTML的一些常見的規則:1. 網頁總以一個DOCTYPE開始,緊接著,<html>元素必須出現在網頁的開頭和結尾。2. 只有<head>、<body>元素可以直接包含於<html>中,其他任何元素都必須包含於<head>或<body>中。3.
Time of Update: 2018-12-07
首先介紹一下SSL, SSL 的英文全稱是 "Secure Sockets Layer" ,中文名為 "安全套接層協議層 ",它是網景( Netscape )公司提出的基於 WEB 應用的安全性通訊協定。SSL協議可分為兩層: SSL記錄協議(SSL Record Protocol):它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供資料封裝、壓縮、加密等準系統的支援。SSL是Security Socket
Time of Update: 2018-12-07
1.學習目標 通過進一步學習nhibernate,瞭解二級緩衝在nhiernate中的工作機制以及使用方法2.開發環境和必要準備 開發環境為:windows 2003,Visual studio .Net 2005,Sql server 2005 developer edition 必要準備:學習前五篇nhibernate學習系列Nhibernate學習之起步篇-1 ,Nhibernate學習起步之many-to-one篇 ,Nhibernate學習之many-to-many篇
Time of Update: 2018-12-07
Hashtable不知是不是你的常客,在我的程式中她的靚影在各處閃現;她是你的過客還是情人,在我的程式中她是永恒的女主角。 說到如何充分的利用Hashtable,我會在我的另一篇文章《解耦利器:Hashtable》中詳細闡述,這裡就介紹一下她是怎樣撒嬌的吧。 大家都知道Hashtable說白了就是索引值對,當然她的一些hash函數美妙無語,但如果我們使用.NET或Java進行開發時對於常用的類,jdk中hashCode函數已經重寫好了,不用我們勞神,所以大概明白Hashtab
Time of Update: 2018-12-07
不從 System.Object 繼承之後 Written by Allen Lee 上一篇文章說到 IL 允許建立一個不繼承自 System.Object 的類,這打破了我們已有的一些認識。到了這個份上,我們自然會追問,為什麼要允許這種類型存在呢?考察如下 C++/CLI 代碼: 1using namespace System; 2 3public ref class Person 4{ 5public: 6 Person(String^ name) 7 { 8 m_
Time of Update: 2018-12-07
在C++中,令程式員最頭疼的是對記憶體的分配和管理。在.net下,事情容易多了。.net引用了記憶體回收(GC)功能,它替代了程式員對於清除無用對象的工作。雖然在大多數情況下,記憶體的回收我們不用再去理會,但如果能夠在程式中適時地添加一些記憶體管理的工作,可以使程式更加的最佳化。由於CLR(通用語言執行平台)可以知道在系統中的所有對象引用,因此在運行時,GC可以擷取對象是否被引用的資訊。如果一個對象不再被引用,則通過GC進行自動回收。不過GC回收的條件是,當特定資源不夠用時才執行。如果我們希望自
Time of Update: 2018-12-07
System.Object 是 .NET 中所有類型的根嗎? Written by Allen Lee 這不是廢話嗎?每個人一接觸 .NET 就會被提醒任何類型都是直接或者間接繼承自 System.Object 的,即使 MSDN 也記錄著類似的話。事實果真如此嗎?如果你在命令列介面輸入 ilasm /?,將會發現這樣一個參數:/NOAUTOINHERIT Disable inheriting from System.Object by
Time of Update: 2018-12-07
1.學習目標 通過幾天來大家對Nhiberate的反映,很多人對它的效能非常的擔心,本文便著手從最直觀的角度和方法中逐步改善nhiberate的效能。改善效能是需要做出很多分析和測試的,本文試圖從最表層的對象入手,以後逐漸增加其他方面的效能分析。希望各位看官莫要著急。 2. 分析: ISession和ISessionFactory對象的產生,使用,和銷毀對效能的影響。
Time of Update: 2018-12-07
Time of Update: 2018-12-07
經過Asp.net設計思想的研究,我們對HttpApplication的管線已經有了一個本質的瞭解。所謂管線,實際上就是生產流水線,由一系列的步驟所組成,而HttpContext,就是這條流水線上待加工的產品。現在,我們來對這條生產流水線進行更進一步的瞭解。 首先請看ApplicationStepManager.BuildSteps方法。
Time of Update: 2018-12-07
(4)繼續最佳化――用空間換取時間現在對每一個字元,都要用get_Item(object key)方法過一遍,可這個乖乖方法那麼長,肯定太耗時間了,能不能用更簡單的手段呢?改Hashtable?哇,那代碼,叫一個看不懂。仔細琢磨琢磨,有了,直接用數組!每一個漢字對應一個Int16,以該值為索引,數組中在那個位置的值為值,這樣最快速了。就是占點空間,記憶體便宜嘛。反正這東西只初始化一次,占不了多少k。新程式如下: 1public class QuickChineseConvert 2{ 3
Time of Update: 2018-12-07
Asp.Net2.0為我們提供了Sitemap功能,並提供了一個預設的實現即XmlSitemapProvider。2.0版的XmlSitemapProvider有一個問題,即對Cookiless Sessions的支援不是很好,究其原因,是因為在Cookiless
Time of Update: 2018-12-07
最新重構源碼下載:打造0代碼全自動GridView-天具神力 您在使用GridView的時候是不是每次都要處理分頁事件OnPageIndexChanging,面對成千上萬的頁面,您是否在頁面中都有這樣的代碼: this.PageIndex =
Time of Update: 2018-12-07
使用Vs.Net 的一些小技巧 1、注釋或重複代碼片斷
Time of Update: 2018-12-07
近一段時間測試過幾個程式,有一些心得。具體步驟如下:(1)寫出測試程式(2)測試原程式,記錄已耗用時間,作為最佳化的基礎。要在Release下測試。(3)檢查演算法,是不是最有效演算法。尤其是現在記憶體便宜,看有沒有能夠用空間換取時間的方法(4)用Reflector查看類庫,看你使用的方法是不是最有效率的方法(5)對於運行次數多,效能關鍵的地方,不要直接調用類庫。類庫是為通用目的設計的,用Reflector可以發現,針對特殊的問題,內庫裡面有很多冗餘代碼測試程式是很關鍵的,dotnet下用Dat
Time of Update: 2018-12-07
在WinForm開發中,經常會遇到開發雙語版本的問題,利用Resource功能,很容易實現。而前不久,我就遇到了一個難題——枚舉的雙語顯示問題,問題如下:這裡先定義一個枚舉:enum Sex{ Male, Female}然後,我們在WinForm一個視窗中放入一個ComboBox(命名為cbxSex),並把它的資料來源綁定到Sex枚舉,代碼如下:cbxSex.DataSource = enum.GetValues(typeof(Sex));此時,介面顯示如下:但是,此時要做中文版時,
Time of Update: 2018-12-07
1.學習目標 通過學習nhibernate基礎知識,瞭解nhibernate對組合屬性的用法。2.開發環境和必要準備 開發環境為:windows 2003,Visual studio .Net 2005,Sql server 2005 developer edition 必要準備:學習前六篇nhibernate學習系列Nhibernate學習之起步篇-1 ,Nhibernate學習起步之many-to-one篇 ,Nhibernate學習之many-to-many篇
Time of Update: 2018-12-07
首先先說一句不好意思,昨天的Post裡面忘了給大家介紹一個基本的前提:那個object o 裡面的資料我可以確保它是string類型,也只可能是string類型。這一個研究並不是完全沒有意義的,雖然在我實驗之前確實也認為應該是強制轉換的速度快,但是沒有實際的比較問題還是比較難以說明的。也許有人就會問了,你憑什麼認為object
Time of Update: 2018-12-07
我們在前幾天對xml web service的安全性提出了一些建議,大家可以通過以下地址訪問: 構建安全的Xml Web Service系列之初探使用Soap頭 構建安全的Xml Web Service系列之如何察看SoapMessage 構建安全的Xml Web
Time of Update: 2018-12-07
前兩天給別人解答裝箱問題時,有人問如何在保留裝箱對象的前提下修改值?回頭想了想,趁今天一會閑暇實現了出來,牽出來溜溜。情境:object obj = 100;Console.WriteLine("original object value: " + obj.ToString()); // when debug, make obj's ID: 1#//TODO: modify obj value here (to 1000, for