2012年11月2日 星期五

換了 SSD 之後,一切都順多了

image

如上圖。這是我從公司內部網路複製大檔案時的狀況。注意到瓶頸應該是網卡,所以右方的 Network 到達了 98%。

而檔案的複製速度(左方)應該是維持水平。這樣才是正常的。

在換 SSD 之前,瓶頸竟然是 Disk??

討論見 http://www.plurk.com/p/he6xm9 

建議有相同問題的苦主都應該去換換。

SNAGHTML37aafde

在 同一SSD 間複製大檔案,也應該有不錯的寫入速度。

2012年10月26日 星期五

Stat Counter


http://gs.statcounter.com/ 列出了我們軟體業界常常在問的趨勢。

例如 「行動裝置」比一般電腦使用率更高了嗎?結果是還差的很遠http://gs.statcounter.com/#mobile_vs_desktop-ww-monthly-201109-201209

Windows 7 很普及了嗎?是
http://gs.statcounter.com/#os-ww-monthly-201109-201209

甚至可以看到台灣區的瀏覽器版本。(IE 6.0 只剩1.06% 的使用率)
http://gs.statcounter.com/#browser_version-TW-monthly-201109-201209

是一個不錯的網站

2012年10月15日 星期一

ASP.NET MVC unobtrusive Cheat Sheet

需要一個 client side 的 JavaScript validation library. 而使用 ASP.NET MVC 當然最好使用 jQuery.validate.unobtrusive.js,雖然還是有一點不好用啦!
然而每次都要到 google 找資料也是很累,不如自己做一個清單好了。

    值 說明
  data-val true, false 是否要驗證
長度限制 data-val-length 字串 字串長度不符合時的錯誤訊息
  data-val-length-max 整數 字串最大長度
  data-val-length-min 整數 字串最小長度
必填 data-val-required 字串 未填入時的錯誤訊息
RegEx data-val-regex 字串 錯誤訊息
  data-val-regex-pattern 字串 regex
數字 data-val-digits 字串 錯誤訊息。只接受數字字元。
  data-val-number 字串 錯誤訊息。只接受數字(正負)
日期 data-val-date 日期 錯誤訊息。只接受日期。
Email data-val-email 字串 錯誤訊息
Url data-val-url 字串 錯誤訊息
範圍 data-val-range 字串 錯誤訊息
  data-val-range-min 整數  
  data-val-range-max 整數  
比較 data-val-equalto 字串 錯誤訊息
  data-val-equalto-other 驗證項目的name  
驗證訊息 data-valmsg-for 驗證項目的name 驗證訊息
附檔名限制 data-val-accept 字串 錯誤訊息
  data-val-accept-exts 字串 Ex: “jpg|gif|png”

範例見黑大的 使用jQuery.validate.unobtrusive.js

動態驗證的 JavaScript

self.save = function() {
        var form = $('#editForm');
        form.removeData("validator");
        $.validator.unobtrusive.parse(form); 
        form.validate();
        if (form.valid()) {
          var url = form.attr('action');
          var postData = form.serialize()
            + "&field1=" + self.field1();
          $.post(url, postData, function(data) {
            if (data.IsOk) {
              alert("已儲存");
            } else {
              alert(data.Message);
            }
          });
        }
      };

2012年10月11日 星期四

[Knockout] 解決 radio checked binding,radio button 老是要按兩次才能選取的的問題

這次問題的過程比較難以描述。

初始問題

問題 sample 如下

http://jsfiddle.net/CharlesLin/X2a5P/

當點選 radio button 時,一開始會點不順利,直到每點過一次以才會正常.

image

checked 只能 binding 到  string

查詢http://knockoutjs.com/documentation/checked-binding.html 中有提到下面這一段敘述

•For radio buttons, KO will set the element to be checked if and only if the parameter value equals the radio button node’s value attribute. So, your parameter value should be a string

意思是:當使用 checked 繫結時,必須是 string 才有用.

所以,就有了第二個版本:把 Id 改成 string

http://jsfiddle.net/CharlesLin/X2a5P/3/

image

這樣子就正常了.

我的解法

然而,將 Id 改型別是不合常理的。通常這些資料都是從伺服器端來的,並非我們能控制。最好在 client 能夠正常運作。
最後,只能修改 binding

http://jsfiddle.net/CharlesLin/X2a5P/4/

image

將 value 改成字串。改正 one-way binding 不影響此處值的顯示。

如此就符合我的需求了

2012年10月8日 星期一

Knockout.js

這是一個關於 Knockout.js 的 sample code 及 投影片。

個人對於 knockout.js 的未來潛力相當看好,是一個可以與 jQuery 爭輝的 JavaScript Library。

Sample Code 及投影片可以到這裡下載。

2012年9月11日 星期二

@Scripts.Render("~/bundles/jqueryval") 引用次數要剛剛好一次

在執行 ASP.NET MVC ajax 新增資料時,發生了重覆 insert的事情。

為什麼呢?原來是重複引用了 @Scripts.Render("~/bundles/jqueryval"). (在 View 中用了一次,在 layout page 中又一次 )

產生的 html code 如下

<script src="/App/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
<script src="/App/Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="/App/Scripts/jquery.validate.unobtrusive.js" type="text/javascript"></script>

兩次會有什麼效果呢?就是執行一次Request,結果會出現2次的 Request. 如下圖所示。

SNAGHTML4eedc9

如果該引用這些 js 而忘了引用呢?不會發生 javascript error, 反而像是沒有 client side validation 一般,只出現 server side 的 validation。

這種現象好奇怪,在開發時很難想到是js 引用次數的問題。

2012年7月3日 星期二

五個雲端計算解決方案的本質

現在常常看到廣告都說自己是「雲端」了,連一般的網站都說自己已經雲端化了。到底一般的網站與雲端有什麼不同呢?

今天看了一段話,覺得應該是個較貼切的解答。

five “essential” characteristics of cloud computing solutions, including on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service. These attributes enable the agility and cost savings expected from cloud solutions.

以下是自己不成才的翻譯與註解

五個雲端計算解決方案的本質

  1. 自助式服務:自己要多少個,只要自己線上操作,就可以增加多少。不必等!(如果還需要填申請表,就不是雲端)
  2. 網路存取:寬頻且容易存取 ,透過標準網路通訊的方式提供給各平台使用。
  3. 資源集區:與容錯能力有關 。大量可自由分配運用的實體或虛擬的資源。
  4. 快速彈性:能快速反應。例如增加一個 Web Server,應該在很短的時間內(如5分鐘)就可以取得。
  5. 量化的服務:計算費用的。 可量測的使用量。

Share with Facebook