實測 CF 開機 RiDATA 8GB 233X Fixed mode 開箱

首先為什麼要使用 CF 開機,因為主基板上有個 CF IDE 插槽,又加上 SATA 只有兩組不足夠裝 光碟機 和 資料硬碟,所以只好使用 CF 介面當作 系統磁碟,好處是省電不易壞 ( MLC 理論上壽命較長 ),壞處是讀寫速度讓人暈倒,下面有實測數據可供參考。

想說隨便買一個 CF 插入就可以使用,所以購買了 TOPRAM 8GB 400X 便宜又划算,而且還是 400X 理論上可以到每秒 60MB,比中古硬碟執行還快。


  2013-01-28      ez      開箱
名詞解释 | 什麽是CSS、HTML?

記得剛開始的時候,真的稿不太懂什麽是CSS?什麽是HTML?不都是網頁原始碼,兩者有什麼不同??

身為一個認真的企劃,我們當然都會去Google一下,然後…


CSS,層疊樣式表(Cascading Style Sheets,簡寫CSS) 又稱串樣式列表,一種用來為結構化文件(如HTML文件或XML應用)添加樣式(字型、間距和顏色等)的電腦語言,由W3C定義和維護。目前最新版本是CSS2.1,為W3C的候選推薦標準。CSS3現在已被大部分現代瀏覽器支援,而下一版的CSS4仍在開發過程中。
HTML,超文件標示語言(HyperText Markup Language,簡寫HTML) 是為「網頁建立和其它可在網頁瀏覽器中看到的訊息」設計的一種標示語言。HTML被用來結構化訊息——例如標題、段落和列表等等,也可用來在一定程度上描述文件的外觀和語意。1982年由蒂姆·伯納斯-李建立,由IETF用簡化的SGML(標準通用標示語言)語法進行進一步發展的HTML,後來成為國際標準,由全球資訊網協會(W3C)維護。 HTML檔案最常用的副檔名(副檔名)是.html,但是像DOS這樣的舊作業系統限制副檔名為最多3個字元,所以.htm副檔名也允許使用。現在.htm副檔名使用的比較少一些了,但是仍舊受到支援。編者可以用任何文字編輯器或所見即所得的HTML編輯器來編輯HTML檔案。 早期的HTML語法規則定義較為鬆散,這有助於不熟悉網路出版的人採用。網頁瀏覽器接受了這個事實,使之可以顯示語法不嚴格的網頁。隨著時間的流逝,官方標準漸漸趨於嚴格的語法,但是瀏覽器繼續顯示一些遠稱不上合乎標準的HTML。使用XML的嚴格規則的XHTML(可延伸超文件標示語言)是W3C計劃中的HTML的接替者。雖然很多人認為它已經成為當前的HTML標準,但是它實際上是一個獨立的、和HTML平行發展的標準。W3C目前建議使用XHTML 1.1、XHTML 1.0或者HTML 4.01標準編寫網頁,但已有不少網頁轉用較新的 HTML5 編碼撰寫(如Google)。 (以上資料來源︰維基百科)

 

天啊~~這到底在說什麼!可以說國語嗎???  ◢▆▅▄▃崩╰(〒皿〒)╯潰▃▄▅▇◣


  2013-01-27      ez   
.Net C# 利用 VisualBasic 簡體 繁體 大小寫 轉換

之前有一篇 簡體 繁體 轉換,現在多了大小寫轉換,方式差不多,依樣是呼叫 Microsoft.VisualBasic 即可達成。

程式碼如下:

using System;
using System.Text;
using Microsoft.VisualBasic;
namespace StrConv
{
    public partial class Default : System.Web.UI.Page
    {
        public StringBuilder SB = new StringBuilder();
        protected string TestStr = "測試文字abcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()_+~`-=[]\\{}:\";'<>?,./|";
        protected void Page_Load(object sender, EventArgs e)
        {
            ConvertStrConv();
        }
        private void ConvertStrConv()
        {
            //不執行轉換
            DisplayList(VbStrConv.None.ToString(), Strings.StrConv(TestStr, VbStrConv.None));
            //將字串轉換為大寫字元。
            DisplayList(VbStrConv.Uppercase.ToString(), Strings.StrConv(TestStr, VbStrConv.Uppercase));
            //將字串轉換為小寫字元。
            DisplayList(VbStrConv.Lowercase.ToString(), Strings.StrConv(TestStr, VbStrConv.Lowercase));
            //將字串中每個單字的第一個字母轉換為大寫。     
            DisplayList(VbStrConv.ProperCase.ToString(), Strings.StrConv(TestStr, VbStrConv.ProperCase));
            //將字串中的半形字元轉換成全形字元。
            DisplayList(VbStrConv.Wide.ToString(), Strings.StrConv(TestStr, VbStrConv.Wide).Replace("\\", "\"));
            //將字串中的全形字元轉換成半形字元。
            DisplayList(VbStrConv.Narrow.ToString(), Strings.StrConv(TestStr, VbStrConv.Narrow));
            
            //將繁體中文字元轉換成簡體中文。
            DisplayList(VbStrConv.SimplifiedChinese.ToString(), Strings.StrConv(TestStr, VbStrConv.SimplifiedChinese, 2052));
            //將簡體中文字元轉換成繁體中文。
            DisplayList(VbStrConv.TraditionalChinese.ToString(), Strings.StrConv(TestStr, VbStrConv.TraditionalChinese, 1028));
        }
        private void DisplayList(string strVbStrConvName, string strInValue)
        {
            SB.AppendLine(String.Format("VbStrConv:{0} 轉換後 {1} <BR/><BR/>", strVbStrConvName, strInValue));
        }
    
    }
}

  2013-01-25      ez      .NET
MongoDB 管理軟體 rock mongo

可以透過 rock mongo 進行 MongoDB 管理,有點類似 phpMyAdmin。

官方網站:http://code.google.com/p/rock-php/wiki/rock_mongo

※如果已經有PHP伺服器,就只需要下載 rockmongo-1.1.5,如果沒有PHP又使用Windows可以下載 rockmongo-on-windows-v0.0.4,只要執行程式就會啟動PHP伺服器功能了。

如果採用 rockmongo-on-windows-v0.0.4 解壓縮完畢,如果需要改變 PORT,只需要修改 rockstart.bat 中的 ROCK_NGINX_PORT 即可。預設 PORT 為 7788


  2016-11-02      ez      NO-SQL
MongoDB MS-SQL 效能測試

為了清楚的了解NO-SQL和SQL的效能差異,所以進行了寫入及讀取的效能測試,測試用的電腦則為我的筆電,規格如下:

CPU:Intel Core i7-2630QM

RAM:8GB

OS:Windows 7 Home Premium

HD:Memoright SSD 240G

測試結果可以發現差異非常大喔!MongoDB比MS-SQL速度快上10倍,不過還是需要看個人需求選擇適當的資料庫,以下提供參考。

MongoDB 測試結果:


  2013-01-25      ez      .NET 、   NO-SQL
.Net 檔案名稱 資料夾名稱 包含特殊字元去除

前一篇已經寫過,使用Path.InvalidPathChars即可達到效果,此篇加強了一些功能,程式如下:

        static void Main(string[] args)
        {
            string FileName = "a:\\abc//~!@#$%^&*()_+}{\":?><|.txt...";
            Console.WriteLine(MakeFilenameValid(FileName));
            string FolderName = @"c:\aaa\bbb\ccc\aaa:abc//~!@#$%^&*()_+}{:?><|....";
            Console.WriteLine(MakeFoldernameValid(FolderName));
            Console.Read();
        }
        static string MakeFilenameValid(string FN)
        {
            if (FN == null) throw new ArgumentNullException();
            if (FN.EndsWith(".")) FN = Regex.Replace(FN, @"\.+$", "");
            if (FN.Length == 0) throw new ArgumentException();
            if (FN.Length > 245) throw new PathTooLongException();
            foreach (char c in System.IO.Path.GetInvalidFileNameChars()) FN = FN.Replace(c, '_');
            return FN;
        }
        static string MakeFoldernameValid(string FN)
        {
            if (String.IsNullOrEmpty(FN)) throw new ArgumentNullException();
            if (FN.EndsWith(".")) FN = Regex.Replace(FN, @"\.+$", "");
            if (FN.Length == 0) throw new ArgumentException();
            if (FN.Length > 245) throw new PathTooLongException();
            foreach (char c in System.IO.Path.GetInvalidPathChars()) FN = FN.Replace(c, '_');
            return FN.Replace("/", @"\");
        }

  2013-01-25      ez      .NET
.Net 利用 DotNetZipLib 壓縮檔案 列出壓縮檔

需先下載 DotNetZipLib

官方網站:http://dotnetzip.codeplex.com/

本地下載:DotNetZipLib-DevKit-v1.9

//壓縮檔案
using (ZipFile zip = new ZipFile("壓縮檔案路徑 c:\a.zip"))
{
    //壓縮進度顯示
    zip.SaveProgress += new EventHandler<SaveProgressEventArgs>((s, e) =>
    {
        double Total = e.TotalBytesToTransfer, Now = e.BytesTransferred;
        Console.WriteLine("壓縮進度... ( " + String.Format("{0:0.00}", Math.Round(Now / Total * 100, 2)) + "% )");
    });
    zip.Comment = "壓縮檔註解";
    zip.Password = "壓縮檔密碼";
    zip.CompressionLevel = Ionic.Zlib.CompressionLevel.Level9; //壓縮等級
    zip.MaxOutputSegmentSize = SegmentSize; //壓縮檔分割大小 最多只能分成100個
    zip.AddFile("需壓縮的檔案路徑 c:\aaa.txt", String.Empty);
    zip.Save();
}
//列出壓縮檔
using (ZipFile zip = new ZipFile("壓縮檔案路徑 c:\a.zip"))
{
    foreach (ZipEntry detail in zip) 
    {
        Console.WriteLine(detail.FileName);
    }
}

  2013-01-25      ez      .NET
.Net 的 HttpRuntime.Cache 進階運用 CacheDependency

當使用Cache常會發現,不知道何時要清除快取的窘境,太快清除就無法達到Cache效果,太慢又無法即時更新資訊! 本篇利用CacheDependency偵測檔案變更時,自動清除Cache,達到隨時都是最新資訊。

以下方式即可偵測檔案XXX.dat,如果檔案變更了,就會自動清除Cache:

CacheDependency CD = new CacheDependency(Server.MapPath("~/XXX.dat"));
HttpRuntime.Cache.Add("cache key", "cache body", CD, DateTime.MaxValue, System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.High, null);

如果要釋放快取時呼叫指定Function,並且超過20秒未使用也會釋放,如下:

HttpRuntime.Cache.Add("cache key", "cache body", CD, DateTime.Now.AddSeconds(20), TimeSpan.Zero, CacheItemPriority.High, RemovedCallback);
public void RemovedCallback(String k, Object v, CacheItemRemovedReason r)
{
          var key = k;
          var value = v;
}

  2013-01-25      ez      .NET