Time of Update: 2018-12-05
前言本小節是NetworkSocket系列的第10小節,在閱讀本小節之前,您可能需要先閱讀前面的使用FastTcpServerEx構建伺服器,否則覺得本文內容跳轉比較大。描述FastTcpServerEx是從TcpServerEx派生,使用的協議和TcpServerEx完成相同,FastTcpServerEx充分結合C#強大的反射功能,大大地簡化了伺服器編程難度,從使用FastTcpServerEx構建伺服器看出中,只要定義服務介面,實現介面,就完成了伺服器,這是因為利用了反射。下面是使用Fas
Time of Update: 2018-12-05
前言本小節是NetworkSocket系列的第9小節,在閱讀本小節之前,您可能需要先閱讀前面的幾個小節,否則可能覺得內容跳轉比較大。描述TcpServerBase<TDataEvenArgs>是所有Tcp伺服器對象的基礎類,它將固有的用戶端串連監聽、線上用戶端對象維護、用戶端串連斷開、關閉用戶端串連這些操作已經封裝好,對於具體協議的伺服器,只要派生於此類,編寫協議描述就可以了。類圖設計思路效能:TcpServerBase<TDataEventArgs>使用SocketAs
Time of Update: 2018-12-05
前言前面給出了幾個例子如何使用NetworkSocket構建服務和用戶端,但沒有詳細說明過NetworkSocket裡的設計思路,以及幾個重要對象的說明,本節將解說NetworkSocket裡的最基礎最重要的SocketAsync<TDataEventArgs>類。類圖設計思路效能:伺服器一個重要的參考點就是拼效能,SocketAsync也使用了SocketAsyncEventArgs對象作發送和接收資料,為了防止緩衝區記憶體片段化,我們需要把該對象的緩衝區統一放到一塊連續的記憶體地
Time of Update: 2018-12-05
有時候我們經常為我們的sql語句執行效率低下發愁,反覆最佳化後,可還是得不到提高 那麼你就用這條語句找出你sql到底是在哪裡慢了 樣本: SET STATISTICS io ON SET STATISTICS time ON go ---你要測試的sql語句 select top 100 * from TBL_Cot_RecStaticList go
Time of Update: 2018-12-05
一、思路:1、在sessionState為InProc時,每次新開一個IE視窗,都產生一個新的Session對象,每個Session的ID是唯一的(StateServer維持一個Session,不能利用SessionID);2、以SessionID為鍵,登入的使用者ID為索引值,將使用者的登入資訊添加進索引值對集合,然後儲存到Application中;3、每次登入時,在使用者ID和密碼驗證成功後,檢查登入的使用者ID是否已存在於集合中,是則取出對應的鍵,在後面將該鍵的值置為空白;4、二、具體實施
Time of Update: 2018-12-05
設計一個應用系統似乎並不難,但是要想使系統達到最佳化的效能並不是一件容易的事。在開發工具、資料 庫設計、應用程式的結構、查詢設計、介面選擇等方面有多種選擇,這取決於特定的應用需求以及開發隊伍的技能。本文以SQLServer為例,從後台資料庫 的角度討論應用程式效能最佳化技巧,並且給出了一些有益的建議。 1 資料庫設計 要在良好的Server方案中實現最優的效能,最關鍵的是要有1個很好的資料庫設計方案。在實際工作中,許多SQL
Time of Update: 2018-12-05
最近研究網上的各種面經,看到有很多公司的面試題都是關於動態規劃的,所以想總結一下自己對於動態規劃的理解。我一直非常仰慕那些參加過ACM/ICPC的牛人,他們往往能夠很快就能對題目做出分析,並給出應對的演算法。筆者曾經做過一些ACM的題目,裡面動態規劃的題目也不在少數,而且ACM的題目有個特點:很多時候你認為是一道圖論題的時候他恰恰是一道要用動態規劃來解答的題目,就像東野圭吾的小說「嫌疑犯X的獻身」中數學家石神出的數學題一樣,表面上是幾何問題其實是函數問題。蛋有點扯遠了,我只想告訴大家,相比背誦問
Time of Update: 2018-12-05
一維數組:public class SingleDimensionArray {public static void main(String[] args) {//數組的靜態初始化int [] arr0 = {12,23,34};//數組格式一:int[] arr1 = null;arr1 = new int[3];//數組格式二:int[] arr2 = new int[3];//假如取出的內容超過下表,程式會提示:ArrayIndexOutOfBoundsException/*聲明一個數組,
Time of Update: 2018-12-05
本版修複了大量issue,爭取俱樂部活動之前搞出2套來發獎。撲克背面: 大小王: 黑桃: 紅桃: 草花: 方片: 臭蟲(新加花色,當然也可以美其名曰“蝴蝶”): 2009.10.28 最後一次大的改動,一些嚴重bug已經修複,統一字型,統一了圖片和文字的位置和大小。李永京要修改簡介,不予理睬。其他人都改好了。
Time of Update: 2018-12-05
好久沒寫部落格了,今天在部落格園建立了一個「程式人生」文章分類,準備記錄一下生活和工作的點滴,畢竟已經踏入社會,洒家也已然不在青澀,對於未來,只希望“努力工作,女朋友什麼的會有的”
Time of Update: 2018-12-05
畢業了,工作了~想發奮圖強好好寫博~ 在github上用jekyll搭了個新的部落格,把cnblogs上寫的部落格搬過去了(其實在部落格園也沒寫過幾篇...直接粘過去了...叫“搬家”真是慚愧..) 看了下自己部落格園的首頁,已經有一年的園齡..只有可憐的6篇隨筆,還有幾篇是醬油文:( 不過還是感謝部落格園和部落格園的園友,在這裡我學到了很多東西.... 話說,園子裡我還有6個fans呢~括弧笑~ 好吧...新部落格的地址...
Time of Update: 2018-12-05
Dejan Cancarevic是一名優秀的網頁設計者和開發人員,他精選了30個他經常使用的Firefox外掛程式,這些外掛程式都能很好的協助網頁設計者和開發人員,簡化工作量,或是增加設計應用功能等等。1. CSSMate - 線上的CSS編輯器擴充外掛程式2. ViewSourceWith - 讓你查看頁面資源的Firefox擴充應用3. PicLens - 變換你的瀏覽器為一個三維的瀏覽環境來查看網頁圖片的Firefox擴充外掛程式4. FireShot -強大的網頁/截屏外掛程式5.
Time of Update: 2018-12-05
最近在複習C語言,感覺自己以前對C的學習和認識簡直是shit。今天看到有關結構體中成員儲存分配的資料對齊問題,想和大家分享一下,也談不上心得,就是想總結一下而已。有關資料對齊有兩種,一種為自然對齊,一種為強制對齊。1.先看自然對齊,有如下程式: #include <stdio.h> typedef struct {char c1;long l;char c2;double d; }a; typedef struct {char c1;char c2
Time of Update: 2018-12-05
1.根據餘數進行分散:離散度高,但是增加或者移除伺服器的時候,緩衝充足的代價非常大。添加伺服器後,餘數就會產生巨變,這樣就無法擷取與儲存時相同的伺服器,從而音像緩衝的命中率。2.Consistent
Time of Update: 2018-12-05
每次都要用到表單驗證的時候,就在到處找東西,而網上的很多都不見的好用。自己終於累計了這些方法,在自己的程式中使用了的一些方法,肯定是好用的,主要使用了簡單的Regex進行判斷。如果有bug,歡迎提出來。//下面驗證的是長度 function checkTextLen(textId){var len = 0; var checkField=document.getElementById(textId); var inputstring =
Time of Update: 2018-12-05
瀏覽器物件模型 瀏覽器所建立的對象層次 文件物件模型(DOM)屬於VBScript用戶端擴充功能部分,在文件物件模型中提供了大量的對象,這些對象應用於瀏覽器上,這些對象在我們編寫指令碼時發揮著重要的作用。
Time of Update: 2018-12-05
曾今無數次的被那些無私奉獻的人而感動,就拿我一年前開始自學.net來說吧,先有于海濤的《北大青鳥asp.net32講》,有陳廣老師的《C#視頻參考》,有田洪川的《vs2005視頻》,有楚廣明的《C#簡明教程》,有langsin網的視頻,有眾志教程網的視頻,有風不平的視頻,有李炎恢老師XHTML視頻教程,等等。。。還有其它類別的視頻教程,多著呢,數都數不清… 這些人都是在技術上有一定成就的人…可是他們不忘奉獻,抽出自己寶貴的時間,把自己的所學錄製成教學視頻,免費發放,這不是炫耀,
Time of Update: 2018-12-05
大規模服務: 可擴充,負載平衡,保證冗餘,低營運成本,開發人數和開發方法的變化 資料處理: 磁碟—>記憶體—>緩衝—>CPU 障礙: 持續增長的服務,”無法在記憶體中計算“(記憶體要比磁碟快10^5~10^6倍) Linux的頁面緩衝: 先把磁碟內容讀入記憶體 ——>建立頁面 建立好的頁面不會釋放而是儲存下來 ——>頁面緩衝 除了例外情況,頁面緩衝會透明地作用在所有I/O上
Time of Update: 2018-12-05
Memcached的特點: 協議簡單 基於libevent的事件處理 內建記憶體儲存方式 memcached不互相通訊的分布式 1.協議簡單: 使用簡單的基於文本的協議,因而通過telnet也能在memcached上儲存資料、取得資料 2.基於libevent: 將Linux等作業系統事件處理功能封裝成統一的介面,能在Linux、BSD等作業系統上發揮其高效能 3.內建記憶體儲存方式:
Time of Update: 2018-12-05
前言: 從開博到現在,一直想寫點東西,可是看了幾天書,發現新東西很難深入,但又不想讓部落格荒蕪,遂決定,總結之前所學,以文字記之。一方面看自己學習中遺漏了什麼,便於查漏補缺;另一方面則是鍛煉一下自己的表達能力,看自己是不是真正的理解透徹了,能不能將自己的知識、自己的經驗分享給他人,從而融入一個團隊,更好地學習與交流。準備工作: