工具箱
輕鬆裝載 Wiki、Scott Hanselman 的部落格,以及畫面的擷取
Scott Mitchell

目錄
裝載 Wiki
Wiki 是一種 Web 應用程式,其內容會由使用者以共同作業的方式新增、更新及組織。與部落格和其他內容管理系統一樣,Wiki 的內容也可以透過網頁介面進行編輯。但是 Wiki 與部落格和傳統內容管理系統不同的地方,在於 Wiki 基本上是沒有組織的。網站的使用者只會建立內容、定義關係,以及建立網頁之間的連結。最知名的 Wiki 應該就是
Wikipedia.org。
Wiki 非常適用於建立知識管理入口網站。開發人員團隊可以在公司內部建立一個 Wiki,在其中提供進行中開發專案的相關資訊和狀態,甚至提供程式碼撰寫慣例,以及為新進人員提供如何設定基本開發環境的教學課程。
如果是提供客戶技術支援的網站,其中就可以包含一個 Wiki,讓受信任的技術支援人員主動建立與管理常見問題集的答案。此外,許多以社群導向的網站也有 Wiki,好讓成員更新網站內容,或是為知識庫提供新內容。例如,裝載於
CodePlex.com 的開放原始碼專案,就是以 Wiki 的方式在管理。
市面上有許多商業性和開放原始碼的 Wiki 平台可供選用。其中一個使用 ASP.NET 和 C# 建立的開放原始碼 Wiki,就是 ScrewTurn Wiki 2.0 版。根據預設,ScrewTurn Wiki 的頁面、修改歷程以及使用者帳戶,都會儲存在 Web 伺服器的檔案系統上,亦即此 Wiki 不需要資料庫。因此,在 Web 伺服器上部署 ScrewTurn Wiki 就像複製與貼上一樣簡單。
然而,Wiki 的儲存系統是以提供者模型為基礎,所以您可以外掛替代的提供者,將系統資訊存放在其他位置。ScrewTurn Wiki 網站上就有提供 SQL Server® 和 MySQL 的儲存提供者。
首次安裝時,ScrewTurn Wiki 會允許任何人建立帳戶,以及任何通過驗證的使用者建立、編輯或刪除內容。這些存取層次可以透過 Wiki 的管理頁面來設限。
在其中可以禁止造訪者註冊,或需要管理員的許可才能登入。而且管理員可以限制使用者可採取的動作;例如,網站可以設定為允許使用者建立與編輯頁面,但是不能刪除頁面。當然,與其他 Wiki 一樣,ScrewTurn Wiki 也會維護一份各頁面的完整修改歷程,還有工具可用來比較不同的版本。管理員可以將頁面復原成先前的版本。
ScrewTurn Wiki 可以讓使用者使用多重語言建立與顯示內容,包括英文、法文、西班牙文、德文,還有其他語言。
價格:免費,開放原始碼。
開放原始碼的 ScrewTurn Wiki (按一下影像以放大圖片)
值得推薦的部落格
閱讀其他開發人員的原始碼,是為自己提升程式設計技能的妙招,因為這樣可以接觸到以不同技巧完成相同作業的資訊。這樣的觀點亦受到 Scott Hanselman 的認同,他是 Microsoft 資深專案經理暨部落格達人,他閱讀原始程式碼時,有如一般人閱讀報紙一樣輕鬆。他在一系列部落格文章中分享最有趣的程式碼以及他的評論,該部落格稱為 "The Weekly Source Code"。
除了 "The Weekly Source Code" 以外,每一位開發人員都應該詳閱 Scott 的 Ultimate Developer and Power Users Tool List (
hanselman.com/tools) -- 這是一個 Scott 經常使用之工具和公用程式的寶貴清單。其中有數百個以主題分類的建議,從如何使用 XML 到如何提高 Visual Studio
® 生產力,甚至如何有效管理電子郵件收件匣以及如何充分運用網頁瀏覽器,應有盡有。Ultimate Developer and Power Users Tool List 是在 2003 年上線的,而且每年都有進行更新。
Scott 除了會定期張貼新的部落格文章,他每週還有主持一個 "Hanselminutes" 的播客錄音節目。在該節目中,Scott 會評論各項開發人員工具,提供程式設計建議,以及分享戰爭故事。有時候他還會訪問知名的 Microsoft 員工以及 Microsoft® .NET Framework 開發人員社群的成員。這些播客內容非常適合在通勤途中收聽,因為每一集的長度都是 30 分鐘左右。
捕捉、編輯及分享擷取畫面
我每天在工作上經常會捕捉十幾個擷取畫面。雖然大部分都是用於我的部落格、文章或書籍,有時候我也會傳送擷取畫面給同事或客戶。
一般而言,傳送有問題 UI 的擷取畫面給對方,會比嘗試在電子郵件中敘述問題還要有效。在 Windows® 中,PRINT SCREEN 鍵會複製目前的畫面,而 ALT+PRINT SCREEN 則僅會複製作用中的視窗。複製之後,您就可以將擷取的畫面貼到電子郵件訊息、影像編輯程式或 Microsoft Office Word 文件中。
我最近決定要從 PRINT SCREEN 方法晉升到更高階的螢幕捕捉技巧,於是我選擇了 TechSmith 的 SnagIt 8.2 版,我們曾經在 2003 年 7 月首次介紹此工具。自從 2003 年以來,此工具已經加入許多新功能。如今 SnagIt 有更新的使用者介面、更多的影像編輯工具,以及可以將資料儲存為更多種檔案格式。
SnagIt 可以根據使用者定義的區域、指定的視窗,或整個螢幕,來擷取畫面。而且在擷取捲動的視窗時,SnagIt 可以設定為自動捲動文件,使整個內容可以被擷取到單一個影像中。這對於擷取長度較長的網頁而言非常好用。
擷取視窗或所選取區域之後,SnagIt 會將擷取畫面載入功能強大的編輯與共用工具中。只要按幾下滑鼠按鈕,即可加入文字、繪製圖案、裁剪與移動範圍、反白顯示區域、定義邊界色彩和寬度,以及加入圖說文字。您也可以藉由修剪、調整大小或旋轉擷取影像,來進一步微調擷取畫面的尺寸。
另外還有更進階的作業和效果可以運用,例如浮水印效果、聚光燈效果、重要區域的放大,以及快速連結的加入等。最棒的是,SnagIt 很單純且容易使用,您不需要數位影像處理的專業經驗。
擷取畫面編輯完成之後,只要一下指,即可進行共用與分享。按一下滑鼠按鈕即可針對擷取畫面執行下列選項:儲存成影像、複製到剪貼簿、列印、透過電子郵件傳送、透過 FTP 傳送、透過即時訊息傳送,以及載入至 Microsoft Office Excel®、Word 或 PowerPoint® 檔案。
此外,擷取畫面也可以儲存成各式各樣的檔案格式。除了標準的影像格式 (例如 BMP、JPG 及 PNG),SnagIt 也可以將您捕捉的擷取畫面儲存為 PDF 文件、網頁封存檔案 (.MHT) 或 Adobe Flash 檔案,這些也是此版本中的新增功能。
價格:單一使用者授權為 $49.95 美元。
SnagIt 有更新的使用者介面 (按一下影像以放大圖片)
出版品介紹
資料的查詢是程式設計師最常面對的作業之一。然而,若要與不同的資料型別互動,就需要學習各種獨特的語法和語意;而且若要查詢外部資料來源 (例如 XML 檔案和資料庫),通常還需要序列化查詢建構至字串。
由於編譯器無法向剖析程式碼一樣地剖析字串常值,所以像是 IntelliSense® 功能和編譯時期的型別檢查功能,就無法使用。為了要解決此問題,Microsoft 建立了 LINQ,以提供開發人員統一的資料查詢語法。LINQ 延伸了 C# 和 Visual Basic® 程式設計語言,其中包含功能豐富且類似 SQL 的語法,可以用來查詢物件、XML 文件、資料庫...等等的集合。
多項新語言增強功能和 .NET Framework 中新增的命名空間和類別,都是成就 LINQ 的因素。由於此主題涉及的範圍又廣又深,若要真正學好 LINQ,絕非閱讀幾篇線上文章就能一蹴可幾。有一本 LINQ 的書籍值得參考,其中會透過多元化的範例逐步說明 LINQ 的各層面,書名為 LINQ in Action,作者包括 Fabrice Marguerie、Steve Eichert 以及 Jim Wooley。
LINQ in Action 對於 LINQ 的介紹,是我閱讀過最棒的介紹之一,其中會逐步為讀者說明其目的和設計目標,以及 C# 和 Visual Basic 中的語言增強功能,如何造就了 LINQ。接著書中一一介紹 LINQ to Objects、LINQ to SQL 以及 LINQ to XML,這些都是可以讓 LINQ 查詢物件、關聯式資料以及 XML 資料的程式庫。書中的最後兩個章節,則探索如何進一步延伸 LINQ 以查詢替代資料來源 (例如 Web 服務),以及如何在應用程式架構的不同階層中,最佳化 LINQ 的運用。
我最欣賞 LINQ in Action 的地方,是作者在每一個章節的開頭,都使用直截了當、容易理解的範例,來強調最重要的功能。然後作者就會深入探討 LINQ 查詢和功能的實際實作方法。
基礎打好之後,作者便開始介紹進階的功能和案例。例如,談論 LINQ to SQL 的章節一開始會先設定物件的對應,以及使用 DataContext 類別來讀取與更新資料。接著作者便探討 LINQ 的查詢語法如何轉譯成 T-SQL。最後作者則介紹進階 LINQ to SQL 功能,例如並行存取控制、如何使用預存程序,以及使用者定義函式...等等。
價格: $44.99 美元。