推薦製作精良的筆記軟體Wire Note 應用鍵盤鉤子技術擷取即時資料 資料查閱的好工具 建立程式碼片段資料庫

來源:互聯網
上載者:User

記得我在《知識管理系統Data Solution研發日記之一 情境設計與需求列出》中提到的一個需求,使用者先選擇一段文本,然後調用快速鍵,也叫熱鍵(Hot Key),資料與資料就自動儲存到我的筆記庫中。Data Loader已經完美的實現了這個功能,協助你儲存筆記資料。

開啟Data Loader程式,到Setting中進行初試設定,請看圖

Wire Shortcust是熱鍵,直接敲鍵盤,它會記錄到你正在按的鍵。如果有對它進行修改,請重啟動Data Loader以讓Key Hook應用新的設定;另一個開關是Clear Clipboard after fetch its data,當您選中一段文字,用Ctrl+C拷貝到剪貼簿中後,再按Ctrl+Q,也就是你設定的Wire Shortcust,它就會自動從剪貼簿中的資料產生一個筆記項,同時如果這裡有打勾,則清空剪貼簿。這個選項可以避免重複的增加相同的項到筆記庫中。

在MS Word中選擇一段文本,Ctrl+C拷貝到剪貼簿中,再按Ctrl+Q,這時,可以看到介面的效果是這樣的

在MS Word選擇的文檔,自動被添加到Wire Note的筆記庫中,同時在右下角有彈出提示。

同樣的情況,你也可以嘗試從Notepad,Visual Studio中拷貝文字,它的效果也相當不錯,請看

這樣,如果你在看其它同事的代碼,如果你想收集裡面寫的好的代碼,不妨用這個功能試一下,可以協助你節省很多整理代碼的時間。所以我在標題中提到的,建立程式碼片段資料庫,也就是這個意思。開啟你的Visual Studio,瀏覽你需要的代碼,Ctrl+C放到剪貼簿,再發送Ctrl+Q建立一個筆記項。

 

再推薦另一個用途,在網頁中瀏覽新聞或是查閱資料時,通常會碰到一些重要的,或是有價值的資料。那麼,你也可這樣,先選擇你需要的資料,拷貝到剪貼簿中,再按Ctrl+Q,以增加到筆記庫中。請看這個

這是我在MSN頭條新聞中看到的內容《金融大鱷索羅斯秘會開發商 伺機抄底中國樓市_樓市_理財_MSN中文網》,於是我把它拷貝到剪貼簿中,再按Ctrl+Q,這條新聞的主要內容,就被自動添加到筆記庫中,是不是很方便?

 

這可以改變我以前搜集網頁的習慣。以前看到好的有價值的網頁,會把它存在html檔案,但是html會包含圖片,增加大量的沒有用的檔案(圖片和css),這很惱火; IE6之後,預設的儲存格式變成mht檔案,方便了很多,把圖片和網頁內容存到一個mht檔案中,但是,開啟這個檔案通常很慢,而且會有無法清除的help protect提示,用了很多辦法不讓它提示也沒有成功,最主要的,mht格式要用瀏覽器開啟,很慢不方便,也沒有開源的程式碼程式庫對它進行讀取。

我做了一個改善,使用Site Rebuild應用程式,把網頁存成doc文檔,方便編輯和儲存,請參考文章《分享製作精良的知識管理系統 部落格備份程式 Site Rebuild》以體驗這種方法。

 

思考產生進步。把一整篇網頁存成MS Word文檔,有很多地方是不需要的,但是它也儲存到WORD檔案中,比如

這篇網頁中,我用紅色文字放寬圈起來的部分,是不需要的,我只想看它的主要新聞內容。所以,我一直在想,如何抓取我需要的資料,一種辦法是使用Rule Editor編輯規則,來抓取指定的資料,需要熟悉Regex,另一種辦法就是我這裡實現的Wire Note。您選擇您需要的資料內容,再發送一個Hot Key,Wire Note把它作為新的筆記內容。

 

繼續瞭解Wire Note中其它的功能,請看,在筆記項中點右鍵,彈出context menu,它的內容如下

一共有六個功能表項目,它們的含義請看下面的表格

Remove Selected Item 刪除當前選擇的筆記項
Copy to Clipboard 把當前的筆記項拷貝到剪貼簿中
Copy as new note 拷貝當前的筆記項,產生一個與它相同的筆記
Make it as document 根據當前的筆記項,
Remove all records 刪除所有的筆記項,僅僅是清空介面
Clear All Note 刪除所有的筆記項,清空介面,同時也清空資料庫

 

解釋一下Make it as document,當選擇一項筆記,點擊這個菜單後,再到Document Explorer中看到,已經根據那篇筆記項,產生了一篇文檔(document),請看下面的兩張圖,選擇原筆記項內容

再到Document Explorer中瀏覽內容,請看

筆記項正確的轉化為了文檔,你可以繼續對文檔進行分類,編輯整理工作。

Document Explorer採用了Sql Cache Dependency查詢跟蹤技術,所以無需要重新整理它的介面,當有把筆記Make it as document時,Document Explorer中會正確顯示更新後的文檔內容,增加了方便性。基於這個原因,你需要SQL Server 2005或以上的資料庫,以保證查詢跟蹤技術可以正常工作。如果開啟Document Explorer表單時有提示錯誤

No permission,please run sql script first,請先運行下面的指令碼(可以在Document.sql中找到)。

--enalbe sql server 2005 cache dependencyDECLARE @dbname NVARCHAR(100)SET @dbname=DB_NAME()EXECUTE('ALTER DATABASE '+ @dbname + ' SET NEW_BROKER WITH ROLLBACK IMMEDIATE' )GO    DECLARE @dbname NVARCHAR(100)SET @dbname=DB_NAME()EXECUTE(' ALTER DATABASE '+ @dbname + ' SET ENABLE_BROKER')GO

 

關於Wire Note,有幾點需要說明一下

1.  把筆記項存到SQL Server中去是一項敗筆。這個觀點基本正確。使用者不太可能為了記一下筆記,還需要裝一個龐大的SQL Server,這顯然不合理。Access不支援x64,首先排除,SqlLite資料庫移動檔案而不影響使用,Db4o也是綠色版的資料庫,這兩者是優先考慮的。資料庫遷移,搬家很方便,這是主要的要求。現在Wire Note還在技術評估階段,如果你有好的資料庫方案,歡迎推薦給我。

2.  EverNote,OneNote是市面上流行的筆記軟體。OneNote會把一個個的筆記項當成一個物理檔案,這個feature我不喜歡。搬動檔案的時候麻煩,不過是出自微軟,又是Office套件中的一個,與Office系列產品的整合性相當高,方便靈活。EverNote則是小巧好用的筆記軟體,綠色版,一共才10M左右,基本的功能都有,從畢業到現在一直都是有這個軟體搜集資料。不過,沒有信心保證,有一天我放到它裡面的資料會能讀出來。筆記放得越多就越有點擔心,有一天它的筆記資料庫崩潰了我該怎麼辦,這麼多年的技術,人文的積累資料都讀取不到了,好像一下子回到零一樣,這種情況你不希望發生,我也一樣。把作業系統升級到Windows 7,許多軟體如果沒有更新,則或多或少的都有些問題。比如著名的Microsoft Visual C++ 6.0,居然在Windows 7上面無法安裝。而我的Wire Data,所有的筆記以RTF格式存到SQL Server資料庫中,你不會擔心我以後不維護Data Loader了,你的筆記資料就無法使用,你完全可以自己寫一個閱讀工具,讀取存放在SQL Server中的筆記資料,而且通常只要這麼幾行代碼就可以

System.Windows.Forms.RichTextBox rtfBox = new System.Windows.Forms.RichTextBox();string note=GetNoteFromDatabase(1020);rtfBox.Rtf = note;

甚至你可以寫一個匯出工具,把所有存在SQL Server中的筆記項匯出為RTF文檔,這也只需要幾行代碼就搞定

// create a writer and open the fileTextWriter tw = new StreamWriter("ISL.rtf");// write a line of text to the filestring note=GetNoteFromDatabase(1020);tw.Write(note);tw.Close();

通過對比你看到了,我的優勢是,格式開放。採用開放的RTF格式作為筆記項的格式,你可以找到大量的軟體,工具,第三方類庫對筆記內容進行讀寫,二次開發,再加工處理。

 

3.  考慮整合性。在Office 文檔中增加Add-in,可以把Office文檔轉化為Wire Note的筆記項。在常見的文文書處理工具中增加Add-in,把當前正在處理的文字轉化為筆記項。這樣會方便很多。

4.  考慮把Wire Note作為一個單一個的應用程式運行,而不應該混合在Data Loader應用程式集合中,以方便資料搬家。通常搬動資料,也是連軟體一起複製的,軟體只有幾MB,而資料常常會有幾個GB,軟體搭配著資料移動,換電腦或是換系統了,還是可以運行。

5.  EverNote用的雲端運算的筆記同步技術,在任何地方都可以上傳自己的筆記,以方便在任何地方可以下載同步筆記。Data Loader 沒有這個實力做到這項功能。雲端運算是商人操作的概念股票,就好比當初的Web 2.0一樣,不適合我們做程式員的。

 

請到epn.codeplex.com(http://epn.codeplex.com/releases/view/68647)中下載最新版的Data Loader。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.