Time of Update: 2018-12-03
前面關於webform的博文談到了Webform的優缺點,但主要集中在效能和易操作性方面.雖然Webform是一次偉大的嘗試,但總體上來講,我覺得不是很成功.除了前面文章所提到的缺陷外,其實從架構和軟體工程的角度來說,也是有其不足,甚至可以說是有些倒退的.我們知道,Webform還是基於BS基本架構:HTTP+HTML+JAVASCRIPT+CSS等技術,用戶端的呈現是基於伺服器端傳來的指令碼來解釋執行的,是一種虛擬機器架構風格(解釋和基於規則),因此在系統可修改性,可動態升級,
Time of Update: 2018-12-03
200個原子很神奇,世界也很奇妙,因為這200W個原子可能是無機物到有機物到生命的開始.200個原子在空間上的某些組合就構成了可以自我複製的病毒,這其實也是生命的開始.因為生命的基因的基本單位大小也是200W數量級的原子,也可以看作是某種病毒(實際上行為也就是病毒).而這些病毒經過神奇的組合形成了基因片段,再由片段構成染色體,而兩條染色體就構成了人(包括很多生物)最核心的東西.而一個成年人的基因重量不過幾十克,這難道就是生命的靈魂?無機物到有機物之間,是病毒形態,而病毒,談之色變的病毒卻是我們瞭
Time of Update: 2018-12-03
Link:http://hi.baidu.com/reversefish/blog/item/7e2ddb1e4f11a11740341716.html 四種進程或線程同步互斥的控制方法 1、臨界區:通過對多線程的序列化來訪問公用資源或一段代碼,速度快,適合控制資料訪問。 2、互斥量:為協調共同對一個共用資源的單獨訪問而設計的。 3、訊號量:為控制一個具有有限數量使用者資源而設計。 4、事 件:用來通知線程有一些事件已發生,從而啟動後繼任務的開始。 臨界區(Critical
Time of Update: 2018-12-03
3)視圖模型層DynamicDataViewModel .csusing System;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Ink;using System.Windows.Input;using System.Windows.Media;using
Time of Update: 2018-12-03
Link: http://blog.csdn.net/colinchan/archive/2006/05/08/712773.aspx一:基本術語防火牆防火牆限制了私網與公網的通訊,它主要是將(防火牆)認為未經授權的的包丟棄,防火牆只是檢驗包的資料,並不修改資料包中的IP地址和TCP/UDP連接埠資訊。網路位址轉譯(NAT)當有資料包通過時,網路位址轉譯器不僅檢查包的資訊,還要將包頭中的IP地址和連接埠資訊進行修改。以使得處於NAT之後的機器共用幾個僅有的公網IP地址(通常是一個)。網路位址轉
Time of Update: 2018-12-03
1)服務代理層 這裡的代碼都是系統自動產生的,主要負責代理服務端得方法執行,沒什麼特別可說的.2)用戶端模型層DynamicDataSource.csusing System;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Ink;using System.Windows.Input;using
Time of Update: 2018-12-03
今天著手解決一個現有程式的記憶體泄露問題,以前從沒用過相關檢測的工具、手段! 搜了幾篇文章,感覺還不錯: 主要的偵查工具是debuger和crt堆除錯函數: http://bbs.17testing.com/viewthread.php?tid=8516 掃盲——記憶體流失的有關知識 http://leoman95.spaces.live.com/blog/cns!87f442ce8fa434b1!131.entry VC++6.0中記憶體流失檢測 http://www.360doc.com/
Time of Update: 2018-12-03
1)微分:dy=A.dx,含義:對於函數y=f(x),在x的增量dx足夠小時,函數值y的增量dy可以近似等於A.dx,其中A是一個與dx無關的常數.2)f(x)在點x0處可微的充分必要條件是函數f(x)在x0處可導;3)導數又稱為微商:導數公式dy/dx=f'(x) ==>
Time of Update: 2018-12-03
在命令模式中有4個角色:調用者,命令,接收者和用戶端,調用者的責任是發送命令請求,命令負責對當前的命令接收者處理過程的調用(傳達作用)。而接收者負責具體的命令執行,也就是負責命令的具體處理邏輯。用戶端的作用就是根據一定的參數,建立具體的命令和接收者,並決定命令由誰(接收者)來執行(請求和處理配對)。需要注意的是調用者可以處在Client端,也可以不處在用戶端(比如遠程命令請求),因此就整個模式來講,用戶端角色對調用者的依賴就不是必須的了。也因為此,在命令模式的UML圖中,是沒有Client對調用
Time of Update: 2018-12-03
這兩層實際上就是大多數Entity Framework所處的層次,在這兩個層次方面,大家可以參考動軟的方式,當然,也可以自己構建,也可以利用現有的成熟的Entity Framework。但對於大型項目或者產品型項目,最好還是不要使用那些複雜的Entity
Time of Update: 2018-12-03
3)資料行DynamicDataRow.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace MEntities{ [Serializable] public partial class DynamicDataRow { public List<DynamicDataField> DataFields { get;
Time of Update: 2018-12-03
Imagine you want to enumerate (enlist) all rows (DataGridRow) of Silverlight Grid (DataGrid). By design this is not very simple tasks.For example, you want to do something like this: foreach (DataGridRow rowItem in grid.Rows)
Time of Update: 2018-12-03
在進行TCP編程時,通常要用到select來管理socket,比如,設定recv接收資料逾時時間,對方是否已經非正常關閉串連等。 select 函數原型: int select ( int nfds, //用來與Berkely socket相容, 通常寫0 fd_set* readfds, //檢查可讀性的socket集合 fd_set*
Time of Update: 2018-12-03
今天空了一下自己,沒有去學技術,但不是因為知道在中國學技術不重要,學厚黑才是王道的緣故,而是需要去陪陪家人,技術是學不完的,錢也是賺不完的,而生活是實實在在的。在中國,我這把年紀還在寫代碼,而且代碼量還如此巨大的,估計很少了,但這也不能怨社會,畢竟我們是有優越性的。別的國家人民都是水深火熱,只有我們生活在幸福中,雖也有些不和諧的事情,但那畢竟是一小撮,是的,一小撮,在這個無處不被的時代,你還有什麼可以不知足呢?敢不滿?那讓你去金太陽哪裡照一下?當然不敢,都是做技術的,混點飯吃,有技術可做,豈有不
Time of Update: 2018-12-03
STUN(Simple Traversal of User Datagram Protocol through Network Address Translators (NATs),NAT的UDP簡單穿越)是一種網路通訊協定,它允許位於NAT(或多重NAT)後的用戶端找出自己的公網地址,查出自己位於哪種類型的NAT之後以及NAT為某一個本地連接埠所綁定的Internet端連接埠。這些資訊被用來在兩個同時處於NAT 路由器之後的主機之間建立UDP通訊。該協議由RFC
Time of Update: 2018-12-03
有不小的慾望,也有點小聰明,見識比較多,雖然很多都不是一手的,出入的場所和工作環境看起來都不錯,至少比一線工人或者是日晒雨淋的農民工要強些,因為工作主要用腦,也符合勞心者條件,但雖是勞心者,但並不治人,而恰恰相反,這個群體是治於人。不團結,愛面子是這個群體的典型性格,而且大多不喜歡政治,也不太關心政治,以為這就是道德,因此這個群體的利益很容易被剝奪,還不會起民怨:自以為是的普遍性格,加上流動性很大和辦公室政治,是不太可能產生真正的同事之誼,而這個群體比較封閉,也缺少與其他同類階層的交流,往往還看
Time of Update: 2018-12-03
這兩天碰到一個問題,給定一個範圍[1..n], 以及任意數m(1<m<=n), 統計給定域內與m互質的自然數的個數.我們知道判斷兩個數互質充分必要條件是,兩個數最大公約數=1, 這樣,我們只需枚舉i(1<=i<=n), 求gcd(i,m)即可,輾轉相除求gcd(i, m) 時間複雜度為logm+logi, 加上枚舉時間,複雜度就為為
Time of Update: 2018-12-03
http://blog.sina.com.cn/u/1497047894http://blog.sina.com.cn/liujunluo 中國前30年是造船為主流,所以原創很多,即使是山寨也很有水準,近30年是租船論為主流,以賣為主,現在弊端已顯露無遺。但一個國家的強大最終要靠人才和技術,不是靠造房子和造GDP就可以的。所以個人看好CSDN上的這個群體。
Time of Update: 2018-12-03
只要是採用物件導向編程,類層次是必然的(包括介面),雖然物件導向編程有一個原則就是多用介面少用繼承的原則,但這並不是說不要用繼承,畢竟繼承可以實現代碼的複用,有其好處。對於自己的類層次,當然是越少越好,但不管多少最少是2兩層,那麼2-3層應該很正常,4-5層有點多,6層及以上,對於一般的應用體系就多了。我一般設計的應用體系中類層次是:第一層,頂層,一般為非範型,用於該類的基本規範和約束,第2層分標準功能和使用者自訂兩個分支。標準功能採用範型,這樣程式員在葉子類使用時語義更加明確,不用逆向轉換,使
Time of Update: 2018-12-03
昨天看到一個文章,詢問二叉樹遍曆問題,還不錯!貼來: 題目:遍曆n個節點的二叉樹 (每個節點有parent, left, right 資訊 ) 要求: 1)不可以修改二叉樹,即便是臨時的。 2)時間 O(n) 3) 除了二叉樹本身,只使用常數個空間。( 常數不依賴n ) My Answer:首先這個題目,肯定不能遞迴,或者用隊列什麼的,否則空間不滿足要求, 因為有pare資訊,所以,在遍曆時,只要記錄訪問當前節點時,上一次訪問的地方,就可以了: 簡單給個代碼,簡單範例通過,但沒有充分測試: