2011年12月26日 星期一

心得 ASP.net 網站本地部屬

主要是使用 visual stdio 2010 來將編譯後的asp.net 檔案直接部屬到伺服器。 在這裡以本機IIS為例。





 圖一, 專案上右鍵,發行專案






圖二,選擇目標位置,也就是發行後的URL



 圖三,這裡可以看到四種選項,這裡選擇本機IIS, 在站台上新增一個別名,在設定匯出的資料夾,匯出成功的話可以在這裡看到編譯後的檔案。





參考:

*. ASP.NET 網站部署可考慮使用 Web Deployment Project , The Will Will Web

2011年12月23日 星期五

轉貼 Captcha in Asp.net Csharp

要在 Asp.net 上 實現 圖形驗證碼 Captcha 除了有簡單 的 reCAPTCHA 的API 可以使用[1](不過我覺得樣式不是很好看得說)。
  也可以利用 C# 繪圖的方式產生出來,可以參考 [2]  或 [3] 的作法。



參考:
[1].  reCAPTCHA
[2].   如何用 ASP.NET 實做簡單的圖片驗證機制(Captcha),The Will Will Web
[3].   [ASP.net WebForm] 圖形驗證碼(C#) + 前端驗證 - 懶人Code, The blog of typewriter職人(旧Shadow與愉快的程式碼伙伴)

2011年12月22日 星期四

心得 Asp.net C Sharp 多國語言 定義在Master page


雖然Google 一下  "Asp.net C Sharp 多國語言" 就可以找到很多參考資訊,不過若要放在 Master Page 中定義,就必須改寫 InitializeCulture, 詳細可以參考一下  Code Project, Developing an ASP.NET page with MasterPage and Localization  的作法。


參考:
*  Code Project, Developing an ASP.NET page with MasterPage and Localization

2011年12月13日 星期二

心得 MongoDB CSharp Driver


以下是參考 官方網站所提供的 CSharp sample 教學的心得。


  • 為了說明方便,先在mongoDB 中的test資料庫上建一個Table : "Employee",如下圖(RockMongo的介面)


內容是一個JSON 的物件,包含 id,name,age 等屬性



接者一件很重要的是就是下載libary.(官方網站上有link,在Download 項目下,連結見*) 不論是下載安裝版還是編譯版,之後記得將 MongoDB.Bson.dll 和 MongoDB.Driver.dll 記得引用


以下是相關的功能:

1. 連結資料庫: 以下是本機且沒有設帳密
//在code 中
 using MongoDB.Driver;
 using MongoDB.Driver.Builders;
 MongoServer Server;
 MongoDatabase test;
Server = MongoServer.Create(); // connect to localhost test = Server.GetDatabase("test");

   

2. 取得所有項目
MongoCollection<BsonDocument> employees = test.GetCollection<BsonDocument>("Employee");
var query = new QueryDocument(); // 查詢內容為空,可以想像是Sql 中的 select *
string _result = "";
foreach (BsonDocument _employee in employees.Find(query)){
_result += _employee.ToJson() +"/n";
}




3. 查詢特定項目
MongoCollection<BsonDocument> employees = test.GetCollection<BsonDocument>("Employee");
var query = Query.GT("age", "20"); // 查詢 age 大於 20, 其他等於是eq 還有很多請參照文件的說明*
string _result = "";
foreach (BsonDocument _employee in employees.Find(query)){
_result += _employee.ToJson() + "/n";
}



4. 查詢特定項目並存到物件中
要先定義好物件,且變數要和資料庫中的JSON一致才能轉換,先定義TEmployee
public class TEmployee{
public MongoDB.Bson.ObjectId Id { get; private set; } // Id 的屬性使用Mongodb的 objectId
public string name { get; set; }
public string age { get; set; }
}
接下來一樣搜尋age大於20的物件,不過先將物件存到 TEmployee中
MongoCollection<temployee> ee = test.GetCollection<temployee>("Employee");

var query = Query.GT("age", "20");
string _result = "";
foreach (TEmployee _employee in ee.Find(query)){
_result += _employee.name + "/n";
}



5. 新增項目
新增一個BsonDocument物件,再Insert到資料庫 MongoCollection<temployee> ee = test.GetCollection<temployee>("Employee");
BsonDocument newEmployee = new BsonDocument { { "name", "Dannie" }, { "age", "47" } };
employees.Insert(newEmployee);





參考:
* CSharp Driver Serialization Tutorial

2011年12月12日 星期一

心得 MongoDB 圖形管理工具

MongoDB 在官網有提供了不少工具,下面是我試用其中幾個的心得。


1. JMongoBrowser
         有安裝 java 就可以啟動,介面簡單,不過要輸入查詢的指令都要用輸入的方式,比較麻煩一點

2. MongoVUE
    介面操作都不錯,不過試用版只有10多天,要使用的話還要額外購買。

3. RockMongo
     以PHP5 開發的,此外若用windows 系統的話也有提供一包的執行檔直接執行網站。

所以我個人目前是傾向使用RockMongo, 還有其他4,5個工具,功能基本上大同小異,可以直接參考官方網站(*),要使用哪個就看使用者的習慣和喜好了。





參考:* MongoDB Tool

2011年12月6日 星期二

心得 Mongo DB 安裝

Mongo DB 是 NoSQL 中 適合處理大量文件的資料庫,適合儲存大量的資料,如Log[1].
此外他也支援大部分的程式語言,C | C# | C++ | C# & .NET | ColdFusion | Erlang | Haskell | Factor | Java | Javascript | PHP | Python | Ruby | Perl | More... [2].

至於安裝說明,可以從官網[2],中點選 Quick Start 就有相對應的教學。

這裡針對Windows 環境作簡單的敘述:

1. 下載檔案。
2. 將下載的檔案解壓縮。
3. 移動檔案,像我下載的版本是 mongodb-win32-i386-2.0.1, 由於是在Dos 下測試,不妨將檔案傳新命名如mongodb.並移動在上層的目錄,如C:\mongodb 。
4. 建立資料庫資料夾,mongodb設定都會在 \data\db 資料夾下讀取,若剛剛是放在c槽,路徑就是
C:\data\db,若放在D槽就是D:\data\db, 以此類推。
5.進入DOS ,開始->執行->cmd
6. 進入mongodb 的bin資料夾,如 C:\mongodb\bin. 輸入  mongod 開啟伺服器服務
7. 若上一步成功的話可以在開一個cmd, 輸入 如範例的 3+3 測試性能

其他有關NoSQL 的介紹,可以參考[3],這裡根據特性將NoSQL分成四類,不過其他的地方是三類,所以大約瞭解一下就好。



參考:
[1]. Use Case-MongoDB
[2]. MongoDB Home
[3]. NoSQL解決資料庫暴量的新方法

2011年12月5日 星期一

轉貼 favicon

favicon.cc 這個網站可以幫助我們在網路上將圖片轉成 favicon.ico ,也就是網頁上面的小圖示。
此外也可以google 一下 "Favicon", 可以找到很多相關的文章.





2011年12月2日 星期五

分享 Google MarkerClusterer

這裡分享一個Google Map 的 library. 簡單的說 就是在地圖上顯示多少個節點。

如下圖,到Google Map API 的範例就可以找到[2].

要使用的話記得引用 markerclusterer.js 定義要匯入的JSON,這些在範例都找得到。











更多範例 [3], 在[1]裡面找一下就有,不過為了方便先列出來。

 參考:

[1]: google-maps-utility-library-v3
[2]: Google Map API Sample, MarkerClusterer
[3]:MarkerClusterer v3 Examples