Time of Update: 2017-01-13
一:c語言版本#include <stdio.h>void swap(int x,int y);void swap_p(int *px,int *py);#define swap_m(x,y,t) ((t)=(x),(x)=(y),(y)=(t)) int main(void){int a,b,temp;a=1;b=10;printf("a=%d,b=%d\n",a,b);//swap_p(&a,&b);swap_m(a,b,temp)
Time of Update: 2017-01-13
1、服務端,根據參數擷取資料資料 引用dll:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services;using NPOI.HSSF.UserModel;using NPOI.HPSF;using NPOI.POIFS.FileSystem;using NPOI.SS.UserModel;using
Time of Update: 2017-01-13
Delegate 是一種用於封裝命名或匿名方法的應用類型。委託用於將方法作為參數傳遞給其他方法。.net framework 中關於委託的編碼規範:1 委託類型的名稱都應該以 EventHandler 結束。2 委託類型的原型定義:有一個void傳回值,接受兩個參數: 一個 object ,第二個 EventArgs(或繼承自它)3 事件的命名 為 委託去掉 EventHandler 剩餘部分4 繼承自 EventHandler 的類型應該以 EventArgs 結尾 C#
Time of Update: 2017-01-13
虛函數為了重載和多態的需要,在基類中是由定義的,即便定義是空,所以子類中可以重寫也可以不寫基類中的函數!純虛函數在基類中是沒有定義的,必須在子類中加以實現,很像java中的介面函數!多態是C++的重要特性,通過基類指標來訪問衍生類別的函數。虛函數就是為了實現這功能而定義的函數,虛函數可以在定義時實現也可以不實現,定義了虛函數的類可以執行個體化。純虛函數更多的是表示介面的含義,純虛函數定義時不能實現,需要在派生的子類中實現且必須實現,含有純虛函數的類不能執行個體化。虛解構函式與虛函要成對出現,以便
Time of Update: 2017-01-13
思路負載平衡伺服器最出名的當數 Nginx了。Nginx伺服器通過非同步方式把串連轉寄給內網和N個伺服器,用來分解單台應用伺服器的壓力,瞭解了原理及情境後,用C#來實現一個。思路如下:1. 使用一個網站的 Application_BeginRequest 來接收串連,轉寄串連。2. 對各類靜態資源做單獨處理,(可轉可不轉)3. 可以轉寄Get,Post,非同步轉寄。4. 對指定的請求,轉寄到同一台伺服器,保持使用者的登入狀態。實現Vs2015建一個Mvc建站:
Time of Update: 2017-01-13
在代碼進行最佳化的時候,發現了switch case太長,有的竟然長達30個遠遠超過一屏這樣在代碼的可讀性來說很差。特別在我們看代碼的時候要拉下拉框我個人覺得這是不合理的。但是我不建議有 switch就進行反射或委託來解決。看實際的情況比喻10個以為還是可以接受的。因為switch看起來更加的直接而且效率相對來說是最好的。那下面就用代碼來一點點進行解釋1:傳統的用法1.1:現在我們有一個需求通過傳遞參數來擷取相關的資訊。首先我們先看方法public class SwitchMethod
Time of Update: 2017-01-13
IL DASM反編譯工具使用C#的猿人或多或少都會對微軟的IL反編譯工具(ildasm.exe)有所認識。我最早接觸到這工具是公司同事使用他反編譯exe程式,進行研讀和修改。感覺他還是很強大。IL是微軟平台上的一門中繼語言,我們常寫的C#代碼在編譯器中都會自動轉換成IL,然後在由即時編譯器(JIT
Time of Update: 2017-01-13
用戶端的校正一般由js來完成,本文主要介紹利用特性完成伺服器端的資料校正。什麼是特性?超市中有各種各樣的商品,商品上貼有標籤。標籤上可能有商品的名稱,價格,種類等資訊。我們要購買一樣東西前,一般先會看標籤,瞭解更多的資訊。當然主要是價格,萬一錢沒帶夠呢?:)如果把類當做商品,那麼特性就是貼在商品上的標籤。特性給我們提供了更多類相關的資訊。[Serializable]
Time of Update: 2017-01-13
總結了一下介面的小優勢,可以便於新手理解為什麼要用介面,用介面有什麼好處。1.介面的定義:關鍵字:interface,介面名一般大寫I開頭,介面中定義方法,但是不實現方法interface IBark{ void Bark();} 2.實現介面:父類名在前,介面名在後,只能繼承一個父類,可以實現多個interface IBark{ void Bark();//介面中欄位和方法預設為public}class Dog:
Time of Update: 2017-01-13
背景假設使用MongoDB的GridFS做Distributed File System,同樣的檔案在檔案系統中只存一份,那麼在存入檔案時就需要判斷檔案是否已經存在,在GridFS中每個檔案都有唯一的md5雜湊值,只需要用檔案的md5值判斷是否在GridFS中已經存在就可以了,所謂的秒傳功能就是用的該原理。技術棧C#、VS2013、MongoDB、GridFS實現1 . 首先根據檔案流得到md5值,代碼如下: 代碼如下複製代碼 //計算檔案的MD5碼
Time of Update: 2017-01-13
標準庫為每一種標準容器(包括vector)定義了一種迭代器類型。迭代器類型提供了比下標操作更一般化的方法:所有的標準庫容器都定義了相應的迭代器類型,而只有少數的容器支援下標操作。因為迭代器對所有的容器都適用,現代C++程式更傾向於使用迭代器而不是下標操作訪問容器元素,即使對支援下標操作的vector類型也這樣。1、迭代器現代的C++程式應盡量使用vector以及迭代器類型,避免使用低級的數組和指標迭代器應用樣本:普通寫法://reset all elements in ivec to 0for
Time of Update: 2017-01-13
C#分布式緩衝Couchbase使用一、Couchbase簡介目前C#業界使用得最多的 Cache 系統主要是 Memcached和 Redis。 這兩個 Cache 系統可以說是比較成熟的解決方案,也是很多系統當然的選擇。 Memcache基本上已經是開發的標配,但是對於Memcache叢集,很多線上部署仍然是很單薄的。幾個存在的問題:不健壯、資料不安全、配置變更可能導致存取異常、後備資料的一致性、Memcached 不支援持久化。鑒於存在以上問題,Memcache的Team
Time of Update: 2017-01-13
分布式服務註冊和發現consul 簡要介紹Consul是HashiCorp公司推出的開源工具,用於實現分布式系統的服務發現與配置。與其他分布式服務註冊與發現的方案,Consul的方案更"一站式",內建了服務註冊與發現框 架、分布一致性協議實現、健全狀態檢查、Key/Value儲存、多資料中心方案,不再需要依賴其他工具(比如ZooKeeper等)。使用起來也較 為簡單。Consul用Golang實現,因此具有天然可移植性(支援Linux、windows和Mac OS
Time of Update: 2017-01-13
什麼是NamedPipeNamed Pipe(具名管道)是一種有名字的, 建立在pipe server和一個(或多個)pipe client之間的單向或雙向的通訊管道. 一個具名管道的所有執行個體都會共用一個相同的pipe name, 但是每個執行個體都有他自己的緩衝區和控制代碼(handle), 並且為用戶端/伺服器的通訊提供一個單獨的導管. 這種對執行個體的使用使得多個pipe client同時地使用相同的named pipe成為可能.任何進程都可以訪問具名管道, 都可以接受安全檢查,
Time of Update: 2017-01-13
通過這個簡單的例子引出我所出現的問題:int j;j = 1;int k;k = j;k = 2;Console.WriteLine(string.Format("i={0},k={1}", j, k));代碼很簡單,輸出的結果也很容易看出來,結果當然輸入的是:i=1,k=2這樣的輸出結果當然無需置疑,那麼我們現在按照這個邏輯進入下面的代碼,結果除非人的意料。 首先是
Time of Update: 2017-01-13
Lookup類介紹Dictionary<Tkey,TValue>只為每個鍵支援一個值.新類Lookup<Tkey,TValue>是.NET3.5中新增的,它類似與Dictionary<Tkey,TElement>,但把鍵映射帶一個值集上.這個類在程式及System.Core中實現,用System,Linq命名空間定義.Lookup<Tkey,TElement>的方法和屬性如下表:屬性名稱或者方法名說明Count
Time of Update: 2017-01-13
經緯度計算距離原理經緯度互換度(DDD):E 108.90593度 N 34.21630度 如何將度(DDD):: 108.90593度換算成度分秒(DMS)東經E 108度54分22.2秒?轉換方法是將108.90593整數位不變取108(度),用0.90593*60=54.3558,取整數位54(分),0.3558*60=21.348再取整數位21(秒),故轉化為108度54分21秒.
Time of Update: 2017-01-13
C#操作XML初步(8) 第四章:通用的XML處理方法(2) 上一篇,我們提供了一個類,用來操作XML檔案,這裡提供一個應用的例子,來源於無聊時候寫的一個XML留言本中對留言資料的處理 代碼如下: using System; using System.IO; using System.Data; using System.Diagnostics;
Time of Update: 2017-01-13
2月20日訊息,中國電信今日公布運營資料,截止到2009年1月31日,中國電信本地電話使用者1月淨減97萬戶,累計使用者為2.07億。 中國電信去年10月份接手C網後手機使用者數變化情況 截至到1月31日,中國電信行動電話使用者總數為2893萬,淨增使用者102萬,這是自中國電信接手C網之後首次出現正增長。 中國電信最近13個月寬頻使用者數變化情況 截至到1月31日,中國電信寬頻使用者數4503萬,當月淨增7
Time of Update: 2017-01-13
centos7中某次升級後,發現許多軟體無法播放聲音了。為解決問題,在終端開啟firefox,播放網頁中聲音時,出現提示:ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave感覺是pulseaudio的問題,重新安裝pulseaudio,問題依舊。用rpm -qa | grep alsa檢查,發現只有這三個包:alsa-lib-1.0.27.2-3.el7.x86_64alsa-tools-firmware-1.0.2